Friday, November 11, 2016

局域网下免设置路由全局透明代理

如果你不想光为了透明代理而单独买一个可刷OpenWRT固件的路由器, 同时你在局域网内有至少一台linux机器(可虚拟机),那以下内容可以帮助你在不需要设置路由的情况下实现透明代理(当然本质上就是把那台机器当成路由来用)。

首先你需要一台linux机器,ubuntu/debian/centos等均可,能编译ss-libev,使用iptables(于是不能centos7,我不会调教那个firewall)。你可以使用真实机器(如树莓派)或虚拟机。如果使用虚拟机,网络类型需要设置为桥接到物理网络,如果是VMware,不要对“复制物理网络连接状态”打钩。我建议使用虚拟机或性能不差的真实机器,这样网速不会受到性能上的限制。

接下来,安装操作系统、安装编译依赖包、git clone ss-libev、configure、make等这里就不说了,网上说明有很多(虽然大多数是过时了)。

编译好后,如果你clone的是ssr的libev版本,里面自带了一个ssrlink.py,可以通过此脚本快速生成一个客户端使用的配置文件,例如执行:

python ssrlink.py ssr://MTkyLjE2OC4xLjI6MTA4MDphdXRoX2FlczEyOF9tZDU6YWVzLTEyOC1jZmI6dGxzMS4yX3RpY2tldF9hdXRoOk1USXpORFUyLz9vYmZzcGFyYW09ZEdWemRDNWpiMjAmZ3JvdXA9ZEdWemRB > config.json
即可生成一个配置好了的config.json

东西都准备好了,现在开始配置。首先是开启ipv4转发,编辑/etc/sysctl.conf,解除net.ipv4.ip_forward = 1的注释,或直接添加这么一行,保存文件,并执行sysctl -p使修改立即生效。然后,设置IP为静态的,例如你的路由器地址为192.168.0.1,那么你可以设置为192.168.0.2,具体设置方法参考linux文档。设置好以后,在需要全局代理的机器上,把网关地址改为192.168.0.2,测试能不能正常上网(现在还没有通过代理),如果不能,那检查防火墙配置,或尝试重启它再测试。能正常上网后再进行后面的配置。

Monday, November 7, 2016

关于breakwa11的印象精选

在11月1日我发了一个调查,现已收到超过500条回应,以下总结一部分我自己觉得比较有代表性的印象(敏感信息已过滤,如发表人的联系方式)

"妹子做我女票"

"~~肌肉猛男一位~~"

"腐女一枚,学霸一位,吃货一个"

"女装大屌萌妹(>ω<)"

"逗比"

"技术宅,自我中心,成长环境好,有点娇生惯养,喜欢钻研自己入迷的东西,应该还比较漂亮,有点责任感,没有bf……其他想起来有机会再说吧。 另外就是感谢ssr的开发!"

"有 jj 吗"

"印象:还不错;评价:贡献很大;想说:感谢你所做的一切,如果历史是公平的,如果我们现在的普世价值观在后世任被认可,我相信你会受到后人的感谢与尊重的。"

"这个有大唧唧的女孩子为啥还没有被喝茶呢"

"印象还好吧,简单看过之前的争议事件,未了解前后情况,所以不好发表意见。不过能持续维护SSR,是很值得肯定的。
所以不用太在意别人的意见,做自己喜欢的就好,当然不含坏事。"


"之前完全没有听说过( •̀ ω •́ )y因为毕竟 SS 也都是网上随便搜一个脚本就安装了,但是速度实在太慢,后面实在受不了,才又找各种优化方法,才知道了 SSR ,折腾一下,感觉蛮好,速度也不错,以前速度永久了变慢换个机房 IP 就变好了,所以说加了混淆啥的还不错,但是具体的一些纠纷啥的也是后来才有看到,what?以前在 V2EX 居然木有看到,∑( 口 || ,so ,不管怎样,支持下了,继续努力把!!!PS:最新粉色版的 SSR 在我的 Android 手机上耗电量总是排在前几名,是有什么问题嘛??系统版本是 5.1.1 ,Flyme  PPS:听说开发者是一个妹子>.< "

"Breakwa11感觉很神秘,有点小脾气,不是很客观的一个人。但还是很感谢他(她)为我们带来这么好的软件,希望他(她)一直隐身下去直到民主那一天的到来。 THX!Breakwa11!"

"①辛苦写出SSR的天才少女 ②坚称SSR是私人用软件并采取各种方法减少SSR公开度的顽固开发者 ③不求报酬但求匿名的网络幽灵"

"没什么特别印象啦,就觉得很厉害,但是我现在用着原版ss感觉速度和稳定性比ssr强,另外就是希望ssr专心做好fq就好,免流这种千万别沾了,毕竟不被政府盯上是最好的,最后祝ssr越做越好,易用性真的比原版强太多"

"求照片"

"破娃你是D罩杯嘛?"

"上帝一般的存在!!!!非常的感谢破娃给我们带来了更安全更快速的上网方式,希望破娃可以将SSR做的越来越好,希望SSR万古长存!!!!!!我没有太多的编程基础,也没法贡献自己的力量,所以我只能说,发自内心的感谢!"

Thursday, November 3, 2016

ShadowsocksR协议的选择

其实这个要说的少得多,总之就一句话,能用auth_aes128_md5或auth_aes128_sha1的,就直接用这两个,最好不要开启兼容,其它的协议都不建议。但如果要解释的话,这个说来话长,需要一点点说明其它的协议的特性。以下简略说明一下各协议的问题。

首先我们来看原版协议(origin),原版协议有着最少的数据冗余,在没有限制的情况下,必然是原版协议速度最快,这是毫无疑问的。其它的协议的兼容,全是为了兼容原版协议。那既然原版理论上最快为什么不直接用?因为它没有数据完整性校验,无法确认数据是否被篡改,容易被攻击,它也没有做数据包的长度混淆,可以通过数据包长度统计分析检测出来(例如此专利中所说的方案)。当然如果你所在的地区直接使用没有感觉有什么问题,那直接使用就可以了,没有必要考虑后面的。

接着来看原版的OTA协议,这个协议增加了从客户端到服务端单向的完整性校验,于是服务端到客户端的方向还是存在同样的问题,且它也没有做数据包的长度混淆,一样可以通过数据包长度统计分析检测出来。另外此协议并非能抵抗CCA(Chosen ciphertext attack),依然可以通过CCA来确定这是不是OTA协议(通过服务端行为攻击,具体方法这里不说)。