dns over https by pure python
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dohpp
.gitignore
LICENSE
README.md
requirements.txt

README.md

dohpp

dns over https by pure python

dohpp是什么

dohpp的全名是DNS over HTTPS by Pure Python,它是由Python构建的,依赖于GoogleDNS的DOH服务。目的是为了避免DNS抢答,DNS污染和DNS劫持。

可以使用dohpp作为DNS服务器来维护网络的干净和安全~

如何使用?

1. 下载源码

git clone

git clone https://github.com/JamCh01/dohpp.git

2. 安装依赖

cd dohpp
pip install -r requirements.txt

请注意,因为使用了asyncio,所以仅支持Python3。

3. 更改配置

dohpp提供了默认的config.json,它位于dohpp/dohpp/config.json。请根据实际情况进行修改:

{
    "proxy": {
        "addr": "127.0.0.1",
        "port": 1080,
        "auth": ""
    },
    "google_dns_url": "https://dns.google.com/resolve?{ext}",
    "cache_timeout": 1800,
    "async_https": false,
    "listen": "127.0.0.1",
    "port": 53,
    "local": ""
}

proxy

proxy字段指定了socks5的代理,因为某些特殊的原因使用GoogleDNS需要代理。

cache_timeout

查询后的域名解析记录缓存时间,默认1800s。

async_https

使用异步HTTPS请求来代替同步HTTPS请求,默认false。

listen

dohpp工作的IP,默认为127.0.0.1。

port

dohpp工作的端口,默认为53。

local

edns使用,目的是获得最合理的解析记录,默认为空。请注意,为空时可能会使用socks5服务器的最优查询结果进行返回。

当然这些配置可以不设置,或者丢失部分记录,dohpp会使用默认的配置进行工作。

4. 使用

python /path/to/dohpp/server.py

之后更改本机DNS服务器为127.0.0.1或配置中listen的数值。 It works well!