经过漫长的等待,终于从快递手中收到路由器了,之前编译好的三个ipk包感觉已经躺了大半年了。现在终于可以刷进去了。怎么从wndr4300原版刷成op的纯净系统我就不说了,而且我已经让卖家卖给我之前就刷好一个CC版15.05.1的纯净系统,这个系统是我在恩山上找的,这里感谢一下作者xmit0806,该固件的帖子地址:?mod=viewthread&tid=186099
这个固件作者说支持了128M闪存,用dnsmasq-full替换了dnsmasq,添加了opkg软件源等,都是非常实用的。
可是我在用的时候发现如果断电重启,那么所有做过的操作都会清零,就跟恢复出厂设置了一样,挺郁闷,如果有人看见更好地纯净版系统麻烦通知我。
好了言归正传,现在开始安装之前编译好的ipk包了。
首先看一下没安装之前的状态
看起来的确是很纯净,一个“服务”都没装,而且内存的空余很大,从上图可以看出,该机器之前没有安装ss-local服务
然后我通过winscp把编译好的ipk包上传到用户目录/root上去
这里winscp还有一些小坑,首先你的路由器必须设置了登陆密码才能用SSH登陆,SSH的用户名和密码就是路由器的登录名和登陆密码,这个在一进路由器后台就会用黄色的框提示你,直接修改就好,我选的登录名为root,密码为root,所以用户目录就变成了/root
还有winscp必须设置成scp协议,使用Ubuntu支持的sftp协议是登陆不进去的
然后我抱着必错的信念开始用opkg安装
果然不出我所料报错了,不过并不是什么大的问题,缺少两个依赖库,libpcre和libpthread
那怎么装这两个依赖包呢,手头有没有他们的ipk包。但是隐隐记得这个固件的作者添加了软件源,于是我打算拼死一搏
一搏有效,通过更新软件源的命令已经成功更新了base包和luci包,packages包更新太慢停掉就行,重要的是base
于是我根据上面的提示主动去openwrt的官网上去找packages包,找到了libpcre的依赖
还真让我找到了,赶紧下载下来放到路由器上(中间那个libpcre_8.38-1_ar71xx.ipk就是我们要用的)
注:packages包里要用的就它一个了,剩下的都在base包里
好了,解决了一个依赖,让我们先安装这个依赖再继续安装ss吧
哎呦,忘了还有一个依赖,opkg虽然下载的很慢,但是贴心的把这个依赖包的下载地址给打印出来了,那我就直接用迅雷下好放进去得了
放好了,我们开始安装吧
上图显示Openwrt已经成功安装了剩下的一个依赖和ss,看来我们SDK编译还是很成功的
现在让我们运行一下ss-local检验一下是否安装成功
ss-local有反应了,看来安装已经彻底成功了。
下面我们检查一下ss-redir的透明代理功能是不是好用,首先我们编写一个ss服务器的配置文件,监听0.0.0.0:1080(注意不能是127.0.0.1或内网地址,否则iptables无法转发)
然后调用ss-redir去执行该配置文件
看样子是启动成功了,而且最新版的Shadowsocks-libev可以使用-u参数支持udp转发,让我们再用netstat看看1080端口的情况
可以看出来,udp和tcp的1080端口均被ss-redir占用,说明启动成功了,下面只要配合iptables的转发就实现了透明代理了