好像现在在路由器上用的通明代理,都是基于 Chinadns 来进行分流的,但这样还得自己解决 dns 污染的问题,所以我想问问现在有没有基于域名的透明代理方案,可以直接导入某著名 List 的。
好像现在在路由器上用的通明代理,都是基于 Chinadns 来进行分流的,但这样还得自己解决 dns 污染的问题,所以我想问问现在有没有基于域名的透明代理方案,可以直接导入某著名 List 的。
|
zhaohanqingJan 14, 2019 via Android
1
没有啊,现在很多都是内置了 XX List 的,DNS 也是可以走 tunnel 或者 pcap 的
|
|
lifanxiJan 14, 2019
2
dnsmasq + ipset 是不是就是你要的?
|
|
3
|
|
wdJan 14, 2019 via iPhone
4
看名字 chinadns 不是基于域名的?
|
|
tony1016Jan 14, 2019
5
Chinadns 只能解决目标是对的问题,要解决路径是通的,就得靠隧道。dnsmasq + ipset 是你想要的
|
|
6
clash
|
|
lzvezrJan 14, 2019 via Android
7
v2ray
|
|
hjc4869Jan 14, 2019
8
可以做,不过实现方式有点丑。
|
|
9
https://github.com/Dreamacro/clash clash 开 redir 跑路由器上 开 enhancemode 设置 dns 监听,然后所有 dns 请求走 clash。
clash 就可以从 dns 请求反推域名 然后走正常的域名匹配规则,支持 surge 那样的规则。 |
|
10
|
|
lucifer9Jan 14, 2019
11
v2ray 就可以啊
|
|
zbinlinJan 14, 2019
13
看到“透明代理”,还以为说的是 `transparent proxy` 呢?
|
|
carrionleeJan 14, 2019 via Android
14
楼上不是说了么 dnsmasq + ipset
|
|
lucifer9Jan 14, 2019
15
|
|
sodoraJan 14, 2019
18
v2ray 就可以啊
|
|
luoqengJan 14, 2019
19
|
|
titanium98118Jan 14, 2019 via Android
20
dnsmasq+ipset 就是,list 中的域名走 ss 查询
|
|
21
你这个做不到啊,因为查 DNS 和连接服务器是独立的。
你通过 A 域名(需要代理)查到了一个 ip,通过 B 域名(不需要)也查到了相同的 ip,那么问题来了,这个 ip 要代理嘛? 所以做成路由上的透明代理不太可行。浏览器插件这种能直接拿到域名和接管权可以做到最精准的控制。 |
|
benedict00Jan 14, 2019 via Android
22
clash
|
|
SunmxtJan 14, 2019 via Android
23
dnsmasq+ipset
|
|
25
DNS 方案再次推荐一下 CoreDNS,同时奉上我自用的 Corefile 生成脚本: https://gist.github.com/missdeer/5c7c82b5b67f8afb41cfd43d51b82c2d,国内外分流解析,完全满足楼主需求,国内域名数据来自 felixonmars 的国内域名列表,国内域名用 ISP 或 114 之类的 DNS server 解析,国外域名用 OpenDNS/Cloudflare/Google DNS server 解析。
|
|
26
@ihciah #21 可以的吧,A 域名需要代理查询到了一个 ip,代理软件缓存这个 ip 并且生成一个对应的 fake ip,然后因为代理软件是负责 dns 的,所以可以返回给 client 对应的 fake ip,client 向 fake ip 发送数据,路由把 client 发给 fake ip 的数据转发给代理软件。B 域名(不需要)也查到了相同的 ip,代理软件直接返回真实 ip。
|
|
ihciahJan 14, 2019
27
@ech0x 哦这样感觉可以做。(不过有一点点问题:
1. 你要能抓到所有的 DNS 流量。如果用户自定义了 DNS 或者有的 app 走了 doh,虽然拿到了无污染的结果但还是连不上 2. 恶意域名可以向你的代理列表插数据 |
|
28
|
|
29
@ech0x 不一定要 fake ip 真实即使被污染 ip 也可以 因为翻查匹配规则后是整个 tcp 连接给 proxy 的 surge 用 fake ip 是因为没有修改默认路由
|
|
dszhblxJan 15, 2019 via iPhone
30
想要 fan 的爽肯定要从域名解析处动手:
存在一个域名白名单,在自己实现的 dns 服务器上,对于白名单内的域名(如 gxxglecom )走单独的上级 dns 服务器得到 ip 是 a.b.c.d。但返回给客户端的 dns 回应里把 a.b.c.d 改成 10.x.x.x 并记录下两者的映射关系。当客户端去连接 10.x.x.x 时,根据保存的映射关系用 fanQ 手段练到 a.b.c.d 这样就实现了根据域名白名单进行 fq 但是毕竟麻烦的是一个网站或者 app 通常要用到很多域名,把白名单配全是比较麻烦 |
|
billytomJan 15, 2019
31
有没有啥办法,在 windows 10 上用 Clash 做透明代理? 现在的 Clash for win 只是最基本的 http 代理,ps4 和电视机用不到
|
|
yov123456Jan 15, 2019 via iPhone
32
|
|
q397064399Jan 15, 2019
34
我觉得最好的办法还是 openvpn 走国外 然后 chnroutes 走回来,用 chinadns 分流 目前效果不错
|
|
goodrybJan 15, 2019
37
ss-tproxy 了解一下,dnsmasq + ipset, 客户端网关和 dns 都配置成代理服务器的 IP 即可
|
|
missdeerJan 21, 2019
39
@brMu https://github.com/felixonmars/dnsmasq-china-list 应该包括了大部分人常用的绝大多数国内域名,如果真缺了,你也可以给作者提 issue 或 PR。而且你也可以仅仅自己改 Corefile,把缺的域名加到 except 中。这不是什么大问题。
|
|
brMuJan 21, 2019
40
@missdeer 常用域名是肯定没问题的,可是尴尬的是有时很重要的域名没有包含在内,比如 12306 的某个域名,用的抢票软件显示的 IP 竟然是我的 vps 的,没办法又不好找到底是哪个域名,最后还是换回了 gfwlist 模式,然后手动添加自己需要绕路的域名,也不定是不能不访问的,有时慢的我也加进去,比如微软官网。
|
|
birkhoffleeFeb 9, 2019 via iPhone
41
@billytom Proxifier
|