1
gv0900 2014-12-20 16:44:02 +08:00 via Android
我是小白来学习了
|
2
ifwangs 2014-12-20 16:50:40 +08:00
学习下
|
3
LazyZhu 2014-12-20 16:55:26 +08:00
协议没有哦
|
4
tony1016 2014-12-22 10:26:32 +08:00
不错,继续努力
|
5
mwylaoma 2015-04-02 10:40:55 +08:00
能否编译一下给我?我这边没有编译的环境
|
6
pagxir OP |
8
mwylaoma 2015-04-02 13:33:38 +08:00
@pagxir 我这边会提示出错,
domain go.baidu.com 2d00007f domain li.baidu.com 2e00007f translate blacklist antigfw: 6060808 20 nameserver: 127.0.0.1:53 210.21.196.6:53 nsttl not supported yet! relay server socks5://127.0.0.1:1080 password ( user 'u get target address failure! dynamic-range: 127.0.0.1 127.255.255.255 bind tcp port failure: port=80 Assertion failed: err == 0, file txrelay.cpp, line 1053 This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. |
9
pagxir OP 80端口被占用,或者需要系统管理员身份才能绑定这个端口。你是什么系统的?
|
11
pagxir OP @LazyZhu 修改这个文件 dnstxrelay.conf 就可以了,增加删除端口都可以。如果不是给浏览器用的话,直接把里面的 80 / 443 端口删除。
|
13
pagxir OP 并且由两个特殊的后缀 .int 和 .ext
.int 是域名强转换操作, 比如www.163.com.int 将 返回 转换后 www.163.com 的地址,访问www.163.com.int 就相当于通过 代理连接 www.163.com, 同理 8.8.8.8.int会自动通过代理链接到 8.8.8.8 .ext 则会直接返回没有转换的地址,而直接忽略配置文件。比如 www.google.com.ext 会返回google的没经过代理的地址。 |
14
pagxir OP |
15
LazyZhu 2015-04-15 23:58:15 +08:00
@pagxir openwrt的包:
http://dl.lazyzhu.com/file/openwrt-antigfw/packages/source/txrelay_0.1.tar.gz 可惜现在fakeip失效了 |
17
pagxir OP @LazyZhu 不是的,是直接配置文件加载的。只有fakeip才是通过DNS查询返回的结果。
openwrt可以修改一下: dynamic-range 127.0.0.12 127.255.255.255 为 dynamic-range 100.61.0.12 100.61.255.255 同时增加回环IP,执行命令: ip addr add 100.61.0.1/10 dev lo scope global 同时你可以用iptables把端口转发一下。 |
20
pagxir OP 默认的配置文件中,所有被转换的域名生成的地址都是127.0.x.x (范围在dynamic-range 127.0.0.12 127.255.255.255 中)。所以,当这个程序运行在openwrt中当作dns中继的时候,其他设备将这个openwrt当作路由器时,进行域名解析时候收到的被转换的域名是127.0.x.x, 会被设备当作是本地回环地址,而无法路由出去。
而修改成 dynamic-range 100.61.0.12 100.61.255.255, 设备就会自然的将发包给openwrt进路由。 这一行的功能是: ip addr add 100.61.0.1/10 dev lo scope global 将这个网段的捕获给回环设备,从而交给txrelay处理,这样txrelay就可以成功的将域名的访问透明的转换为socks5的代理方法连接。 之所以用iptables的原因是因为可能默认的80/443端口可能被其他进程用到,所以可以把 100.61.0.1/10 的这个网段的80/443转发成其他端口,让rxrelay在其他端口上监听。 |
21
pagxir OP 关于判断是否域名污染的原理,有个人写过,但是暂时无法找到了。大致是,往境外发一个DNS请求包,目的地址的服务器并非是一个DNS服务器,所以期待的结果是完全没有应答。但是经过GFW的时候,因为GFW认为它是个被墙的域名,所以会伪造一个DNS应答。
也就是说,如果收到GFW的伪造的应答就说明该域名被墙了。 |