基于 Google 的 DNS-Over-HTTPS。本地有缓存策略,用起来挺舒服的。
项目地址:https://github.com/Chenyao2333/freedns
node.js 不是很熟悉,所代码我写的比较奔放,欢迎 pr。
(为了践行社会主义核心价值观,不接受过于不和谐等的 pr )
我把 dns.google.com 加到本身的缓存里面了。现在clone下来应该能直接用了。
这个是附带的统计信息页面:
1
Chenyao OP |
2
Chenyao OP |
3
geelaw 2017-08-20 04:29:02 +08:00 via iPhone
虽然并不用它,不过也粗略看了一下。
虽然并不是很有耐心看 JS,不过还是粗略地看了一下文字。 有一些比较尴尬的英文……比如 hit 的过去分词是 hit 而不是 hitted,还有 README 有一些语法 / 用词问题😳 |
4
sofs 2017-08-20 06:48:03 +08:00 via Android
看到这样的功能用 node.js 实现,马上没兴趣看了。
|
5
williamx 2017-08-20 09:23:51 +08:00
+1
Node.js 再 +1 |
6
LZRng 2017-08-20 09:30:01 +08:00 via iPhone
教我怎么用……
|
7
firefox12 2017-08-20 10:29:55 +08:00 via iPhone
这不是个鸡蛋问题吗?首先你得找到一个可以翻墙访问的 dns.google.com 的 host,
|
8
jimages 2017-08-20 11:21:35 +08:00 via iPhone
dnscrypt 拥有以上所有功能....
|
9
ztxgeol 2017-08-20 12:24:55 +08:00 via Android
ls 好无情,我来支持一下
|
10
mario85 2017-08-20 12:31:27 +08:00 via Android
这个好,有特殊要求的表示可能比 dnscrypt/tcpdns 要好用
|
12
Chenyao OP @firefox12 现在不用 hosts 了,我给加到 freedns 本身自己的缓存机制里了。直接搞下来就能用
|
13
Chenyao OP @LZRng 先安装 nodejs v8.0 以上版本。接下来运行 readme 里面的命令就行
|
14
firefox12 2017-08-20 13:05:55 +08:00 via iPhone
如果这个 ip 被墙了 怎么办?速度极慢怎么办
|
15
Chenyao OP @firefox12 额……要是被墙的话,可以可以删掉 cache.txt ,然后把没被墙的加入到系统 host 里面。
不过我猜应该不是被墙,你可以先设置下 EDNS_IP (在 index.js 里面)先关掉 freedns,之后删掉 cache.txt 接下来如果发现某个网站解析比较慢你可以看看下 5353 端口的网页里面,in_quest_google 这一个数字是多大。 |
16
firefox12 2017-08-20 15:00:26 +08:00 via iPhone
@Chenyao 关键是如果这个 ip 被墙了 我应该如何找下一个不被墙的 dns google com 这是一个问题。
其次使用 dns google com 的问题主要是太慢 500ms 内很难有反应,这会导致很多应用直接报错,当然你有 cache 会可以解决,但是更多的问题 一般你要用国外 dns 解析的域名 都是已经被和谐的域名。拿到的 ip 也很难直连。 |
17
Chenyao OP @firefox12 我附到 git 的 ip 教育网延迟是 50ms,应该是香港或者台湾的服务器。如果你 ping 起来比较慢,可以把 cache.txt 删掉。
如果这个 ip 真的被墙了,可以翻墙上 dns[dot]google[dot]com 这个网页,填上你本地的 ip ( edns 用),之后获得一些新的 ip 加入 host。 不用太担心速度问题,cache 虽然简陋,但还是很稳的。 |
18
firefox12 2017-08-20 16:24:30 +08:00 via iPhone
|