好像现在在路由器上用的通明代理,都是基于 Chinadns 来进行分流的,但这样还得自己解决 dns 污染的问题,所以我想问问现在有没有基于域名的透明代理方案,可以直接导入某著名 List 的。
1
zhaohanqing 2019-01-14 12:34:16 +08:00 via Android
没有啊,现在很多都是内置了 XX List 的,DNS 也是可以走 tunnel 或者 pcap 的
|
2
lifanxi 2019-01-14 12:41:30 +08:00
dnsmasq + ipset 是不是就是你要的?
|
3
yinheli 2019-01-14 12:59:22 +08:00 1
|
4
wd 2019-01-14 13:04:00 +08:00 via iPhone
看名字 chinadns 不是基于域名的?
|
5
tony1016 2019-01-14 13:05:33 +08:00
Chinadns 只能解决目标是对的问题,要解决路径是通的,就得靠隧道。dnsmasq + ipset 是你想要的
|
6
yichengfzu 2019-01-14 13:06:22 +08:00 via iPhone 1
clash
|
7
lzvezr 2019-01-14 14:07:04 +08:00 via Android
v2ray
|
8
hjc4869 2019-01-14 14:09:08 +08:00
可以做,不过实现方式有点丑。
|
9
yov123456 2019-01-14 15:01:42 +08:00 1
https://github.com/Dreamacro/clash clash 开 redir 跑路由器上 开 enhancemode 设置 dns 监听,然后所有 dns 请求走 clash。
clash 就可以从 dns 请求反推域名 然后走正常的域名匹配规则,支持 surge 那样的规则。 |
10
ech0x OP |
11
lucifer9 2019-01-14 15:09:26 +08:00
v2ray 就可以啊
|
12
ech0x OP |
13
zbinlin 2019-01-14 15:19:33 +08:00
看到“透明代理”,还以为说的是 `transparent proxy` 呢?
|
14
carrionlee 2019-01-14 15:28:12 +08:00 via Android
楼上不是说了么 dnsmasq + ipset
|
15
lucifer9 2019-01-14 15:40:03 +08:00
|
18
sodora 2019-01-14 16:48:57 +08:00
v2ray 就可以啊
|
19
luoqeng 2019-01-14 16:55:04 +08:00
|
20
titanium98118 2019-01-14 18:08:53 +08:00 via Android
dnsmasq+ipset 就是,list 中的域名走 ss 查询
|
21
ihciah 2019-01-14 18:37:40 +08:00 1
你这个做不到啊,因为查 DNS 和连接服务器是独立的。
你通过 A 域名(需要代理)查到了一个 ip,通过 B 域名(不需要)也查到了相同的 ip,那么问题来了,这个 ip 要代理嘛? 所以做成路由上的透明代理不太可行。浏览器插件这种能直接拿到域名和接管权可以做到最精准的控制。 |
22
benedict00 2019-01-14 19:54:32 +08:00 via Android
clash
|
23
Sunmxt 2019-01-14 20:05:38 +08:00 via Android
dnsmasq+ipset
|
25
missdeer 2019-01-14 20:44:39 +08:00 1
DNS 方案再次推荐一下 CoreDNS,同时奉上我自用的 Corefile 生成脚本: https://gist.github.com/missdeer/5c7c82b5b67f8afb41cfd43d51b82c2d,国内外分流解析,完全满足楼主需求,国内域名数据来自 felixonmars 的国内域名列表,国内域名用 ISP 或 114 之类的 DNS server 解析,国外域名用 OpenDNS/Cloudflare/Google DNS server 解析。
|
26
ech0x OP @ihciah #21 可以的吧,A 域名需要代理查询到了一个 ip,代理软件缓存这个 ip 并且生成一个对应的 fake ip,然后因为代理软件是负责 dns 的,所以可以返回给 client 对应的 fake ip,client 向 fake ip 发送数据,路由把 client 发给 fake ip 的数据转发给代理软件。B 域名(不需要)也查到了相同的 ip,代理软件直接返回真实 ip。
|
27
ihciah 2019-01-14 22:40:44 +08:00
@ech0x 哦这样感觉可以做。(不过有一点点问题:
1. 你要能抓到所有的 DNS 流量。如果用户自定义了 DNS 或者有的 app 走了 doh,虽然拿到了无污染的结果但还是连不上 2. 恶意域名可以向你的代理列表插数据 |
28
yov123456 2019-01-14 22:45:08 +08:00 via iPhone 1
|
29
yov123456 2019-01-14 22:48:10 +08:00 via iPhone 1
@ech0x 不一定要 fake ip 真实即使被污染 ip 也可以 因为翻查匹配规则后是整个 tcp 连接给 proxy 的 surge 用 fake ip 是因为没有修改默认路由
|
30
dszhblx 2019-01-15 01:14:11 +08:00 via iPhone
想要 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 通常要用到很多域名,把白名单配全是比较麻烦 |
31
billytom 2019-01-15 08:42:52 +08:00
有没有啥办法,在 windows 10 上用 Clash 做透明代理? 现在的 Clash for win 只是最基本的 http 代理,ps4 和电视机用不到
|
32
yov123456 2019-01-15 08:49:56 +08:00 via iPhone
|
34
q397064399 2019-01-15 11:26:39 +08:00
我觉得最好的办法还是 openvpn 走国外 然后 chnroutes 走回来,用 chinadns 分流 目前效果不错
|
37
goodryb 2019-01-15 12:56:44 +08:00
ss-tproxy 了解一下,dnsmasq + ipset, 客户端网关和 dns 都配置成代理服务器的 IP 即可
|
39
missdeer 2019-01-21 13:45:39 +08:00
@brMu https://github.com/felixonmars/dnsmasq-china-list 应该包括了大部分人常用的绝大多数国内域名,如果真缺了,你也可以给作者提 issue 或 PR。而且你也可以仅仅自己改 Corefile,把缺的域名加到 except 中。这不是什么大问题。
|
40
brMu 2019-01-21 15:34:39 +08:00
@missdeer 常用域名是肯定没问题的,可是尴尬的是有时很重要的域名没有包含在内,比如 12306 的某个域名,用的抢票软件显示的 IP 竟然是我的 vps 的,没办法又不好找到底是哪个域名,最后还是换回了 gfwlist 模式,然后手动添加自己需要绕路的域名,也不定是不能不访问的,有时慢的我也加进去,比如微软官网。
|
41
birkhofflee 2019-02-09 16:30:32 +08:00 via iPhone
@billytom Proxifier
|