防 DNS 投毒不影响国内 CDN 加速的智能 SOCKS5 软件

2014-07-30 12:16:08 +08:00
 vkx222
0. 提供SOCKS5代理和仅支持CONNECT的HTTP代理功能.
1. 防止墙的投毒功能(需要开启或添加一个位于墙外的Other dns)
2. 软件本身现在还没有科学上网功能,需要指定后端代理(配置界面的Proxy backend)才可能有智能科学上网功能.
3. 如果没有指定后端代理那么本软件就是一个普通的SOCKS5代理,最早是用来这样(宿舍IPv6 <---> IPv6实验室 <---> 外网)免费上外网的,具有IPv4和IPv6的相互转发功能
4. 内存和CPU占用率很低,IOCP模型,绑定非127.0.0.1时可以供一定规模的用户使用.

注意: 某些地区可能由于线路问题开启位于墙外的DNS后可能解析速度变慢, 如果有后端代理可以关闭所有Other dns仍能正常工作.

具体配置说明参考图片。
http://autorouteproxy.tk/dlfiles/1.png
http://autorouteproxy.tk/dlfiles/2.png
7598 次点击
所在节点    DNS
44 条回复
yexiaoxing
2014-07-30 23:52:43 +08:00
@vkx222 其实就是一套自动化的代理。
apn 主要是给 iPhone 用的,生成对应运营商的 mobileconfig 文件,使得蜂窝网络下也可翻墙。
jerryjhou
2014-07-31 01:04:29 +08:00
@vkx222 本质上就是HTTP CONNECT代理,但是必须在墙内(在墙外会被重置),就是国内中转。你这个运行在一台公网可访问的墙内机器上,然后配置手机的APN设置中的"代理"和"端口"即可(全局代理到境内机器,再在这台机器上分流境内外流量或被墙未被墙流量)

有些手机支持用PAC在手机上分流
vkx222
2014-07-31 08:33:36 +08:00
@jerryjhou 多谢普及

@yexiaoxing 还没用过iphone呢 sigh
chztv
2014-07-31 08:44:05 +08:00
@vkx222 windows 版的啊?木有 MAC?
vkx222
2014-07-31 09:17:00 +08:00
@chztv 木有mac,不过考虑将来弄一个openwrt上的
vkx222
2014-07-31 12:36:15 +08:00
忍不住上来说一下,使用transport模式后端接开启transport = 1的goagent,能感觉速度快了一些。DNS的解析方式还是不完美,有些影响速度,也可能是我的ISP提供的dns有问题,争取下个版本解决这个问题吧。
renzhn
2014-07-31 14:48:53 +08:00
@vkx222 winserver 2008 r2 ...
vkx222
2014-07-31 15:46:15 +08:00
@renzhn 又有过崩溃么,日志里面出现过包含shutdown字样的记录么
wohan
2014-07-31 18:17:03 +08:00
@vkx222 和goagent配合很好,后端是shadowsoskcs的时候工作不正常。

另外,两种情况的后端,永远是can't resolve youtube.com. 但后端是goa的时候能打开网页

[16:16:13] proxy\socks_test.c(81): dns_req_fini
[16:16:13] proxy\socks_test.c(84): dns_fini (null)
[16:16:13] proxy\socks_test.c(51): log_udp_fini
[16:16:13] proxy\socks_test.c(43): sock_fini
[16:16:13] proxy\socks_test.c(32): log_fini
[16:16:13] proxy\socks_test.c(29): log_init
[16:16:13] proxy\socks_test.c(39): sock_init
[16:16:13] proxy\socks_test.c(60): v4_isp: 202.103.44.150
[16:16:13] proxy\socks_test.c(77): DnsCachePath: (null)
[16:16:13] proxy\socks_test.c(107): WWWRoot.Listen: html, 127.0.0.1:7088
[16:16:13] proxy\socks_test.c(140): proxy_init: AutoDetect
[16:16:13] proxy\socks_test.c(90): set_priority: true
[16:16:13] gfw new 44 1 fb-nosuch-aq23xamz9sd1lx37d 218.30.64.194
[16:16:17] Can't resolve <youtube.com>
[16:16:17] Can't resolve <www.youtube.com>
[16:16:18] Can't resolve <youtube.com>
vkx222
2014-07-31 18:58:39 +08:00
@wohan 无法解析的域名有可能是因为dns投毒,程序丢弃了错误的结果,直接用后端连接了,不用管它。我用shadowsocks-libev试验了一下,确实不能工作,以前只是试验过ssh和plink的socks5代理。问题是我把socks5的版本请求和连接请求拼包发送了(为了加快速度),ssh和plink能够区分这种情况。
如下代码的 173 行开始往后
https://github.com/madeye/shadowsocks-libev/blob/master/src/local.c
ssize_t r = recv(server->fd, buf, BUF_SIZE, 0); 直接接收了一大块数据
然后到 325 行
else if (server->stage == 0)
{
struct method_select_response response;
response.ver = SVERSION;
response.method = 0;
char *send_buf = (char *)&response;
send(server->fd, send_buf, sizeof(response), 0);
server->stage = 1;
return;
}
发送个响应就没有下文了,按道理应该继续处理包里面的剩余数据。
不知道他为什么没有处理“TCP粘包”的情况。
我考虑修正一下吧,希望能联系一下这个作者。
vkx222
2014-07-31 20:35:14 +08:00
@wohan 已经给shadowsocks-libev作者提交patch了,不知道会不会合并
https://gist.github.com/anonymous/97551b8d9509f4829ef4
renzhn
2014-07-31 22:50:02 +08:00
@vkx222 目前win8.1用着还行,崩过一次,只是托盘图标菜单点了经常出现CreateProcess什么的
vkx222
2014-08-01 04:27:02 +08:00
@renzhn 这次崩溃有dmp和日志么?出现CreateProcess是因为没有正确配置好浏览器路径导致的,参考第一张图片的最后面那部分的说明。看来这部分有必要做成初始化时自动查找浏览器路径。
vkx222
2014-08-01 08:47:06 +08:00
新版本发布
http://www.autorouteproxy.tk/dlfiles/asproxy-r3958.zip

增加对shadowsocks的支持,确切的说是socks5的严格版本,以前由于拼包发送导致shadowsocks-libev不能正确处理。
如果不想改配置文件可以在后端代理那加上一条 shadowsocks;dst:127.0.0.1:1080

保存的缓存dns记录不兼容以前的版本了,程序能自行处理,但无法载入旧的记录了

dns部分改进,如果以前由于dns服务器慢导致体验差,这次改进应该非常明显。
renzhn
2014-08-01 09:29:06 +08:00
@vkx222 还有个dump记不清什么什么原因导致的,发给你了
vkx222
2014-08-01 10:53:56 +08:00
@renzhn 那个pdb文件没有存调试不了,你能看下这个时间的日志么 2014-07-31 21:47:02
pi1ot
2014-08-15 12:50:14 +08:00
比较好奇是如何拿到浏览器的访问记录和检测每个网站的状态的
vkx222
2014-08-15 16:54:00 +08:00
@pi1ot 哈哈,神奇吧
pi1ot
2014-08-15 21:31:40 +08:00
TossPig
2014-08-27 03:05:31 +08:00
cannot load http://c.autorouteproxy.tk/json_info?1. No 'Access-Control-Allow-Origin' header is present on the requested resource.
这是要去拿啥东西?跨域有问题,,,给屏蔽了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125242

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX