极路由1S折腾记录
刷机
官方插件已经没什么吸引力,除了迅雷远程下载,其它都是些可有可无的,科学上网也不好搞,索性刷个openwrt,要什么有什么,当然,机子性能为前提。
获取root,刷入breed
极路由可以想官方要root权限的,也就是装个插件,不过root就没保修了。breed这玩意相当于以前的uboot,让小白也能很happy地折腾路由,完全不怕刷错系统,不过,刷入了带uboot的固件就不好说了。
- 申请root,装上开发者插件,就能通过1022端口ssh到路由了
- 到http://www.right.com.cn/forum/thread-161906-1-1.html下载对应机型的breed,终端执行
1 | scp -P 1022 breed本地路径 root@192.168.199.1:~ |
- ssh到路由,执行
1 | mtd -r write /tmp/breed-mt7620-hiwifi-hc5761.bin u-boot |
- 关机,按着reset键重启
下载固件
极1s的openwrt固件很多,中文openwrt网有Pandorabox,基于openwrt14.09改的,集成了很多服务,像ss、迅雷、transmission、aria2等等。不过这网站估计不怎么维护了,固件了opkg源的地址也是错的,如果要刷这个固件,还是修改/etc下的opkg.conf。不过服务集成倒是很多,极1s装上后再集装个syncY同步百度云,加上原来有的各种下载,文件共享Samba,ftp功能,瞬间变身NAS。就是这个固件装完syncY很卡,而且自带的ss不好用,加上官方也不更新了,所以这次就不装它了,装比较新的openwrt 15.05。
- 到github上下载编译好的固件,https://github.com/rssnsj/openwrt-hc5x61/tree/chaos_calmer
- 用网线连接路由,浏览器打开192.168.1.1,可以先备份一下key、固件什么的,后悔时有后悔药吃。
- 选择更新固件,上传刚下载的固件,更新,等进度条读完就可以拔网线,让路由器连外网,别断电,路由器还在写入固件,注意ip段别冲突,这时极1s的网关为192.168.1.1.
- 接着浏览器打开路由管理界面做一些常规设置后开始下一轮折腾
安装shadowsocks
路由ss一直搞不好,不是无法开启就是只能全局,这次的目标是智能分流
卸载机子原来的ss
1 | ssh连接上路由器后运行 |
下载shadowsocks和ChinaDNS
地址
shadowsocks
ChinaDNS
ss的luci界面
ChinaDNS的luci界面
安装
1 | opkg install ChinaDNS_1.3.2-3_ramips_24kec.ipk |
接着到服务里的shadowsocks设置服务器信息,按照下图设置UDP转发和访问控制
打开服务ChinaDNS,配置如下
其中上游服务器的第一个地址填宽带供应商的dns。
再打开网络-DHCP/DNS,在基本设置页设置DNS转发为127.0.0.1#5353,在HOSTS和解析文件页将忽略解析文件和忽略HOSTS文件钩上。
为了能够使用UDP转发,需要安装iptables-mod-tproxy
1 | opkg update |
更新ChinaDNS列表:
1 | wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt |
重启路由生效,注意看看UDP有没在运行
安装Aria2、远程迅雷、百度云同步、ftp
终于轮到这Aria2个神器了,无论是bt还是百度云、115都可以用它下载,而且百度云能跑满速,115如果不是会员还是限制单个文件100k每秒的下载速度。对于115,只能说速度不行,靠量来补了,如果是批量下载,还是能跑一两M每秒的,不能再多了,再多路由就崩了。
先来安装一些USB驱动
虽然这个固件本身也能驱动USB和内存卡,但不能开机自动挂载,内存卡更是坑爹,插卡WiFi就出问题。
内存卡就先不管了,github上已经有人issue,等作者解决就好。先来搞USB自动挂载
1 | 每次装软件都要update |
接着安装配置Aria2
1 | opkg install aria2 |
会自动下载依赖
极1S的openwrt 15.05没能找到合适的luci,一些luci装上去总是有些问题,干脆不装了luci,界面其实也没什么用,关键还是看下载信息的那个web页面。
创建aria2目录,放入session和配置文件
1 | mkdir /etc/aria2 |
写入以下内容,dir为下载目录,根据个人情况修改,换设备的时候可以到web页面改
aria2支持多线程下载,路由器资源有限,还是限制以下比较好,设置最大下载数为10,每个下载最大链接数为10。根据路由情况再改吧
1 | enable-rpc=true |
配置到这为止,运行aria2:
1 | aria2c --conf-path=/etc/aria2/aria2.conf |
1 | opkg update |
现在访问192.168.1.1/aria2,配置连接设置,填上192.168.1.1,保存设置就能管理aria2
添加开机启动,可以到路由管理页面添加启动项,也可以编辑/etc/rc.local,在exit上一行添加
1 | aria2c --conf-path=/etc/aria2/aria2.conf -D |
安装远程迅雷
安装远程迅雷的luci界面
1 | opkg install luci-app-xunlei_0.11-14_all.ipk |
接着道路由管理界面服务中的远程迅雷下载配置,建议不要设置安装路径,默认就好,极1s的Xware版本是mipsel,保存应用后,等菊花转完。
你会惊奇地发现无论怎么刷新,迅雷还是没有启动,因为端口冲突了,这货监听的端口居然也是1080,和ss一样。不过我不会改迅雷的端口,ss随便改,于是把ss改成1081就妥了。到远程迅雷官网绑定下载器,这样就可以随时随地往极路由上添加迅雷下载任务了。我发现这技术还能发展成内网穿透,搞成类似ngrok那样的实现,转发内网某些端口到公网。不过迅雷对这种蝇头小利应该不感兴趣。
安装百度云同步
115说要给API说了几年,云盘倒了一片又一片,估计115也没心思搞什么公开API了。百度云在这方面还是比较靠谱,让路由和一些nas系统也能用上云盘同步。
经过以上折腾,极1s的16M闪存只剩不到3M了,而百度云同步需要安装很多依赖,在15.05中安装百度云需要额外的近8MB内存,所以只能安装到U盘了。
在/etc/opkg.conf中添加
1 | dest usb /tmp/storage/sda1/ #根据实际情况填写路径 |
修改/etc/profile
根据 http://www.syncy.cn/index.php/syncysetup/ 进行以下一些安装
1 | 在openwrt系统必须安装如下包: |
这个python-curl在15.05的源里面已经没有了,到作者百度云盘下载安装即可。
安装完成到路由界面进行相关的绑定配置
作者还写了个守护脚本,添加到开机启动就完成了。
ftp
由于Samba间歇性抽风,装多个ftp备用。
1 | opkg update |
内容如下
1 | background=YES |
免密ssh到路由
生成公钥、私钥
1 | ssh-keygen |
打开id_rsa.pub,复制内容到路由管理界面的系统→管理权,最下方的SSH-密钥,保存应用即可
本地的config文件(没有就创一个)编辑
1 | Host root_server openwrt |
以后ssh到路由就免密了,还可以用别名登录
1 | ssh openwrt |
结语
折腾了几天路由,获益不少,了解了TCP、UDP、DNS这些以前不感兴趣的东西,对网络有了更进一步的了解,也感叹GFW的强大,