前几天上车,入手了免费的斐讯K2,破解然后刷了原版的Padavan系统。

本人不喜欢别人定制的系统,毕竟这是自己家路由器,自己配置的比较放心,想想路由器后门就可怕。
所以,今天我们来谈谈如何在原版系统上搭建OpenVPN和Mproxy,然后通过修改一些配置文件实现免流。

所需软件
» 装了Padavan的路由器一个 ( 路由器 )
» Mproxy ( 代理服务器 )

总体大致分为5个步骤
» 配置DDNS
» 配置OpenVPN
» 配置Mproxy
» 保存
» 测试

» 配置DDNS
这个不用多说吧,我用的no-ip,注册的ddns.net二级域名。具体看个人喜好了。

» 配置OpenVPN
证书自己随便生成即可,大概要10分钟。点一下Generate,然后等着,千万别乱动或者点第二下。
添加用户需要指定一下ip,10.8.0.2-254均可。
注意红框内的选项,需要跟我的设置一样。
记录一下自己设置的Port的值,默认1194,推荐修改一下。
证书文件在/etc/storage/openvpn/server,出错的话清空再重新生成。

» 配置Mproxy
由于原版Padavan没有内置Mproxy,需要我们手动添加。
首先要连上路由器ssh。然后跟着下面的步骤走。
步骤 1 » 下载Mproxy
此处感谢bigandy编译的Mproxy for Padavan。他的个人软件合集:链接
当然,想自己编译Mproxy也可以,完全开源。作者链接
在ssh下依次输入以下命令
cd /tmp
wget https://coding.net/u/bigandy/p/rt-n56u-ext-bin/git/raw/master/bin/mproxy
mv mproxy /etc/storage
chmod 777 /etc/storage/mproxy

步骤 2 » 设置Firewall
对于打开Firewall的用户,还需要在ssh内输入
iptables -A INPUT -p tcp -m tcp –dport 9999 -j ACCEPT
此处的9999是Mproxy运行时 -l 参数后面跟着的代理服务器端口号。

步骤 3 » 试运行Mproxy
这里的9999是代理服务器的端口,-d代表以demo模式运行,不会因为关闭了ssh窗口而结束进程。
/etc/storage/mproxy -l 9999 -d
此时窗口应该显示mproxy正在运行

至此,该配置的都配好了,可以拿手机来连一下看看。
从路由器下载OpenVPN配置文件,然后加入免流代码。(我从链接这里抄来的电信的做测试。)
最后配置文件大概是如下形式。
其中,test.ddns.net port1是在做OpenVPN设置界面填入的那个port。test.ddns.net port2是运行Mproxy时 -l 参数后面的代理服务器端口号。test.ddns.net改成你的DDNS地址。

client
dev tun
proto tcp-client
remote test.ddns.net port1
resolv-retry infinite
;float
nobind
persist-key
persist-tun
auth SHA256
cipher BF-CBC
comp-lzo adaptive
nice 0
verb 3
mute 10
;ns-cert-type server

remote 4gmv.music.189.cn 80
http-proxy-option EXT1 "GET http://4gmv.music.189.cn / HTTP/1.1"
http-proxy-option EXT1 "X-Online-Host: 4gmv.music.189.cn"
http-proxy-option EXT1 "Host: 4gmv.music.189.cn"
http-proxy-option EXT1 "Host: 4gmv.music.189.cn / HTTP/1.1"
http-proxy test.ddns.net port2

<ca>
此处应该自动填入的有数据
</ca>
<cert>
此处应该自动填入的有数据
</cert>
<key>
此处应该自动填入的有数据
</key>

» 保存
步骤 1 » 保存防火墙配置
修改/etc/storage/post_iptables_script.sh文件(我用的vi编辑器,使用方法百度,命令是vi /etc/storage/post_iptables_script.sh),添加如下一行。
iptables -A INPUT -p tcp -m tcp –dport 9999 -j ACCEPT

步骤 2 » 开机自启Mproxy
修改/etc/storage/started_script.sh文件,添加如下两行。
killall -9 mproxy
/etc/storage/mproxy -l 9999 -d

步骤 3 » 保存
依次输入下面两行命令。
mtd_storage.sh save
nvram commit

» 测试
这个不多说了,在手机上,配置文件用OpenVPN打开,然后可以自动连接的。
如果卡在等待proxy上,记得看看防火墙端口是不是启动Mproxy时填入的端口号。

关于免流,首先,移动的话,Mproxy必须起在80口,这个由于政府封了所有家庭宽带的80口,所以比较难实现。现在有个方法是内网穿透,具体查看这两个链接。链接1链接2
还有,各地免流代码不一,需要自己多多尝试。

实测单客户端4G流量下看斗鱼,路由器CPU使用率在4%-40%之间(MT7620,一般是8%左右,瞬间峰值40%一秒),内存占用率在28-33MB之间。