{"id":13843989,"url":"https://github.com/lbp0200/PRCDNS","last_synced_at":"2025-07-11T21:32:24.368Z","repository":{"id":62577999,"uuid":"78812044","full_name":"lbp0200/PRCDNS","owner":"lbp0200","description":"准确、CDN友好","archived":false,"fork":false,"pushed_at":"2019-06-05T01:40:07.000Z","size":39,"stargazers_count":117,"open_issues_count":1,"forks_count":20,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-10T01:01:46.129Z","etag":null,"topics":["cdn","dns","dns-over-https"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lbp0200.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-13T03:32:15.000Z","updated_at":"2024-10-25T15:48:22.000Z","dependencies_parsed_at":"2022-11-03T19:41:03.281Z","dependency_job_id":null,"html_url":"https://github.com/lbp0200/PRCDNS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbp0200%2FPRCDNS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbp0200%2FPRCDNS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbp0200%2FPRCDNS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbp0200%2FPRCDNS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lbp0200","download_url":"https://codeload.github.com/lbp0200/PRCDNS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225110575,"owners_count":17422411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdn","dns","dns-over-https"],"created_at":"2024-08-04T17:02:32.147Z","updated_at":"2024-11-21T16:30:21.912Z","avatar_url":"https://github.com/lbp0200.png","language":"Python","funding_links":[],"categories":["Python","Python (1887)"],"sub_categories":[],"readme":"# PRCDNS\n这是一个Google DNS代理   \n不同之处在于CDN友好，根据你的IP返回最优的解析结果\n\n### 原理\n[DNS-over-HTTPS API](https://developers.google.com/speed/public-dns/docs/dns-over-https)   \n它支持edns_client_subnet，把你的IP作为参数提交，它会返回最优的解析结果，所以说它\n是我见过的最完美的DNS解决方案。\n\n### 注意事项：PRCDNS前面一定要放pdnsd或者unbound\n1. PRCDNS**只支持TCP查询** \n2. PRCDNS**没有缓存**    \n\n很多二级运营商为了节省成本，减少外网之间的带宽结算费用，对DNS查询做了重点照顾，\n防止用户使用114、百度、阿里的公共DNS，强制用户将某些流量大的域名指向它的缓存服务器，\n于是UDP成了重灾区，目前TCP没事，114已经支持TCP，百度、阿里还不行。PRCDNS前面放\npdnsd、unbound，即解决了缓存问题，又解决了UDP的问题\n\n### 安装\n基于Python 3.5   \n```bash\nsudo pip3 install PRCDNS\n```\n\n### 使用\n\n1. 如果你把PRCDNS部署到VPS上，和SS做邻居，这样在家、公司都能用\n```python\nPRCDNS\n```\n2. 如果把PRCDNS部署到自己本地的机器或者路由器上，请将SS通过polipo转为http类型，以便于PRCDNS可以访问https://developers.google.com\n```python\nPRCDNS -r http://127.0.0.1:8123\n```\n\n### 参数\n```bash\n--debug 调试模式 选填 默认false\n-l 监听IP 选填 默认0.0.0.0\n-p 监听端口 选填 默认3535\n-r http_proxy 如果PRCDNS可以访问https://developers.google.com就不用填写\n```\n欢迎通过Issue讨论、提问和给予指导    ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbp0200%2FPRCDNS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flbp0200%2FPRCDNS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbp0200%2FPRCDNS/lists"}