(转)[AC56U/AC68U/AC87U] Redsocks2自动配置,科xx学xx上网脚本

#---------------------------------------------------------------------------------------------------------------
# 前言 # 申明:使用此脚本请阅读本贴使用教程,若由此脚本带来的风险请自己承担
# 本脚本会指导你在你的路由器上配置redsocks2程序
# 如果配置成功,你的路由器z局域网内都能达到透明出墙效果
# 本脚本在刷merlin固件后的华硕“RT-AC68U”上测试通
# 理论上适用于刷过merlin固件的RT-AC56U,RT-AC68U,RT-AC87U和刷了merlin固件的R7000
# 感谢redsocks2源码作者semigodking的工作(https://github.com/semigodking/redsocks
# 特别感谢小宝(mailto:[email protected])对脚本带来的改进,并且在我写此脚本中给我很多宝贵的意见。
#---------------------------------------------------------------------------------------------------------------
# version 1.0: 20150506
# 特色
# 可使用单个redsocks2程序实现防DNS污染,转发代理流量,不需要shadowsocks程序,只需要提供shadowsocks账号
# 使用redsocks2自动判断机制来判断网站是否被墙,如果被墙则会自动将流量导向shadowsocks,实现透明上网,不需要ss-local
# 会根据判断结果建立本地被墙ip地址缓存,最大的好处在于不需要维护被墙网站黑名单
# Shadowsocks账号支持UDP转发功能的,会利用redsocks2内置redudp功能进行udp转发,不需要再运行ss-tunnel
# 不支持UDP转发的,将利用Pndsd通过TCP请求google DNS服务器获得无污染ip
# version 2.0: 20150509
# 去除1.0中由pdnsd通过TCP请求googleD NS功能
# 增加dnscrypt-proxy,通过dnscrypt-proxy加密请求opendns,解决DNS污染
# 现在支持UDP转发的账号,选择yes后会配置两个DNS server(redudp + dnscrypt-proxy)
# 不支持UDP转发的账号,选择no后配置单个dnscrypt-proxy
# 两种方式都能获得24小时内的毫秒级DNS解析(由pdnsd实现)
# 现在运行完脚本后,脚本会自动删除,以免重新下载脚本到相同目录后使用到旧的脚本# 当然,还修复了V1中的一系列问题~
# 2015年5月10日00:52:53,修复了部分用户启动服务后不会加载nat rules的bug
# ---------------------------------------------------------------------------------------------------------------
# 大家使用后有什么问题请在帖子后面反馈,最好是贴上系统日志,我会及时作出回应。
# V2脚本在本人的AC68U上测试通过。
# 我会不断完善这个脚本,让大家都能运行完就能达到直接出墙的效果,也欢迎大神对我的脚本提出意
# PS:如果大家在用koolshare小宝的固件,那么请在使用本脚本前在web内禁用ss
# ---------------------------------------------------------------------------------------------------------------
工作原理:(下图)(V2版本)# 调整了V1版本的DNS方案,去除pdnsd的tcp请求google DNS功能

工作原理:(下图)(V1版本)
# 蓝色线条① 支持UDP转发的,DNS请求将通过redsocks2内置redudp(功能同ss-tunnel)对DNS进行转发
# 橙色线条② 不支持UDP转发的,利用Pndsd通过TCP请求google DNS服务器获得无污染ip
# iptables将对80,443端口的TCP链接请求全部转发到redsocks2的1088端口
# redsocks2的判断机制是基于相应时间,如果某个ip,比216.58.221.100:443在3秒内(这个时间可以自己定义)没有返回数据
# 那么redsocks2就会自动尝试将216.58.221.100:443转发到shadowsock,从而实现**(图中红色流量)
# 同时216.58.221.100:443这个ip和端口会被记录到redsocks生成的一个ip缓存文件中去(/jffs/redsocks2/ipcache.txt)
# 在下一次访问216.58.221.100:443这个地址的时候,redsocks2就不会先尝试本地网络,而是直接将流量转发到shadowsocks
# 所以第一次访问墙外网站会有些许慢,不过以后都是非常顺畅的
#---------------------------------------------------------------------------------------------------------------
教程:准备:shadowsocks账号一枚;ssh或telnet登录软件(windows CMD也行)
step1:
用telnet或者ssh登录到你的路由器,按顺序输入以下内容

wget http://www.mjy211.com:81/redsocks2_v2.sh
chmod +x redsocks2_v2.sh
sh redsocks2_v2.sh

如果你没有开启JFFS分区和Enable JFFS custom scripts and configs,那么脚本会帮你开启,并提示你重启,重启后再运行以上命令就行

step2:
按照提示输入你的shadowsocks账号信息,如果密码部分太复杂,建议用将密码粘贴进去,以免出错
如果出错,可以随时用 Ctrl+C终止脚本,然后重新运行脚本再重新输入
加密方式,请输入小写

输入好了以后还会出来一个确认页面,如果你没输错就输入yes
然后脚本会自动把redsocks2执行文件下载下来
并进行相关配置

step3:
如果你的账号支持udp转发,输入yes,如果不支持,输入no,如果你不确定你的账号是否支持udp转发,你可以问销售账号的或者就选no也行不过还是推荐支持udp转发的,输入yes
选择yes会配置redudp + dnscrypt-proxy 双dnsserver
选择no则用dnscrypt-proxy

输入后,脚本会自动下载pdnsd程序和pdnsd配置文件,dnscrypt-proxy相关文件
然后开启相关服务。

到此为止,安装翻wall环境就已经结束
建议windows用户在测试**之前先清空电脑的DNS缓存,在CMD中输入以下内容

ipconfig /flushdns

稍等片刻后
如果一切正常,那么你现在应该就能出墙了
如果不能上,请多次刷新下系统DNS缓存和浏览器页面,并耐心等待片刻
记住,第一次进的被墙网站,速度会比较慢,因为redsocks2会有一个3秒的判断机制,不过之后就会很快了。
#--------------------------------------------教程完-------------------------------------------------------------------
PS:
此脚本会生成三个文件,stop.sh   start.sh    uninstall.sh,意思大家看字面应该就懂了
如果你想暂时不**:那么在telent中运行以下,这停止个脚本会自动帮你关掉**相关程序,重启dnsmasq,清空iptables规则,重启防火墙,然后你就能回到大中华局域网了,不需要重启路由

sh /jffs/redsocks2/stop.sh

如果你又想**了,那么运行一下就ok,同样不用重路由器,记得运行后清空下电脑的DNS缓存。

sh /jffs/redsocks2/start.sh

如果你不想用本程序,那么卸载掉就行,卸载是很干净的,也不需要重启

sh /jffs/redsocks2/uninstall.sh

运行卸载脚本后,相关的进程,iptables规则,nat-start内的相关内容,相关的文件和文件夹都会清理,就像你从来没装过这个软件一样

#--------------------------------------------------------------------------------------------------------------
测试24小时毫秒级DNS解析

由于pdnsd的缓存,dns请求相当快

猜你喜欢

转载自blog.csdn.net/zyb418/article/details/84672686
ac