All Projects → lbp0200 → Prcdns

lbp0200 / Prcdns

Licence: unlicense
准确、CDN友好

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Prcdns

Edgedns
A high performance DNS cache designed for Content Delivery Networks
Stars: ✭ 423 (+235.71%)
Mutual labels:  dns, cdn
Sites Using Cloudflare
💔 Archived list of domains using Cloudflare DNS at the time of the CloudBleed announcement.
Stars: ✭ 1,914 (+1419.05%)
Mutual labels:  dns, cdn
Information collection handbook
Handbook of information collection for penetration testing and src
Stars: ✭ 447 (+254.76%)
Mutual labels:  dns, cdn
EdgeAdmin
CDN & WAF集群管理系统。
Stars: ✭ 199 (+57.94%)
Mutual labels:  dns, cdn
Cdn dig
用于在linux 终端快速查询全国 CDN 调度到哪些区域节点的工具
Stars: ✭ 36 (-71.43%)
Mutual labels:  dns, cdn
Jare
Free and Instant Content Delivery Network (CDN)
Stars: ✭ 116 (-7.94%)
Mutual labels:  cdn
Bundy
an authoritative DNS server
Stars: ✭ 121 (-3.97%)
Mutual labels:  dns
Dns Discovery
DNS-Discovery is a multithreaded subdomain bruteforcer.
Stars: ✭ 114 (-9.52%)
Mutual labels:  dns
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1185.71%)
Mutual labels:  dns
Caa helper
Generate a CAA policy
Stars: ✭ 125 (-0.79%)
Mutual labels:  dns
Andiodine
Android VPN over DNS (no root required). Repo moved to gitlab
Stars: ✭ 122 (-3.17%)
Mutual labels:  dns
Hosts Blocklists
Automatically updated, moderated and optimized lists for blocking ads, trackers, malware and other garbage
Stars: ✭ 1,749 (+1288.1%)
Mutual labels:  dns
Ona
OpenNetAdmin IP Address Management (IPAM) system
Stars: ✭ 116 (-7.94%)
Mutual labels:  dns
Pycares
Python interface for c-ares
Stars: ✭ 121 (-3.97%)
Mutual labels:  dns
Gandi Live Dns
DynDNS Updater for Gandi LiveDNS REST API
Stars: ✭ 116 (-7.94%)
Mutual labels:  dns
Esp wifimanager
This is an ESP32 / ESP8266 WiFi Connection Manager with fallback web configuration portal. Use this library for configuring ESP32, ESP8266 modules' WiFi, etc. Credentials at runtime. You can also specify static DNS servers, personalized HostName, fixed or random AP WiFi channel. With examples supporting ArduinoJson 6.0.0+ as well as 5.13.5- .
Stars: ✭ 125 (-0.79%)
Mutual labels:  dns
Glider
glider is a forward proxy with multiple protocols support, and also a dns/dhcp server with ipset management features(like dnsmasq).
Stars: ✭ 1,710 (+1257.14%)
Mutual labels:  dns
Yotter
yotter - bash script that performs recon and then uses dirb to discover directories that might lead to information leakage
Stars: ✭ 118 (-6.35%)
Mutual labels:  dns
Globodns
Api to manage Bind Name Server
Stars: ✭ 122 (-3.17%)
Mutual labels:  dns
Cdn
Content Delivery Network on the top of MongoDb GridFs with on-the-fly image crop/resize
Stars: ✭ 117 (-7.14%)
Mutual labels:  cdn

PRCDNS

这是一个Google DNS代理
不同之处在于CDN友好,根据你的IP返回最优的解析结果

基于Python2.7另外开发了一个prc-dns,新增IPV6、脱离必须使用代理的限制,支持UDP和TCP。

原理

DNS-over-HTTPS API
它支持edns_client_subnet,把你的IP作为参数提交,它会返回最优的解析结果,所以说它 是我见过的最完美的DNS解决方案。

测试

#本人北京联通,对比OPENDNS进行测试,证明PRCDNS是CDN友好的
#23.106.151.177:3535 是我搭建的测试地址,遇到攻击可能会关闭
#seaof-153-125-234-242.jp-tokyo-12.arukascloud.io:31910 部署在日本樱花docker
#208.67.222.222:443  OPENDNS
dig @23.106.151.177 +tcp -p 3535 google.com.hk
dig @208.67.222.222 +tcp -p 443 google.com.hk

dig @23.106.151.177 +tcp -p 3535 img.alicdn.com #123.125.18.108北京联通
dig @seaof-153-125-234-242.jp-tokyo-12.arukascloud.io +tcp -p 31910 img.alicdn.com #123.125.18.108北京联通
dig @208.67.222.222 +tcp -p 443 img.alicdn.com  #69.192.12.15香港

注意事项:PRCDNS前面一定要放pdnsd或者unbound

  1. PRCDNS只支持TCP查询
  2. PRCDNS没有缓存

很多二级运营商为了节省成本,减少外网之间的带宽结算费用,对DNS查询做了重点照顾, 防止用户使用114、百度、阿里的公共DNS,强制用户将某些流量大的域名指向它的缓存服务器, 于是UDP成了重灾区,目前TCP没事,114已经支持TCP,百度、阿里还不行。PRCDNS前面放 pdnsd、unbound,即解决了缓存问题,又解决了UDP的问题

安装

基于Python 3.5

sudo pip3 install PRCDNS

使用

如果你把PRCDNS部署到VPS上,和SS做邻居,这样在家、公司都能用

PRCDNS

如果把PRCDNS部署到自己本地的机器或者路由器上,请将SS通过polipo转为http类型,以便于PRCDNS可以访问https://developers.google.com

PRCDNS -r http://127.0.0.1:8123

请使用Supervisor保证PRCDNS一直运行

参数

--debug 调试模式 选填 默认false
-l 监听IP 选填 默认0.0.0.0
-p 监听端口 选填 默认3535
-r http_proxy 如果PRCDNS可以访问https://developers.google.com就不用填写

欢迎通过Issue讨论、提问和给予指导

更多文档

wiki

docker 方式运行

  1. build: docker build -t prcdns:latest .
  2. run: docker run -p 3535:3535 -d --name prcdns prcdns:latest
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].