再一次,由于不想在服务器上安装php,决定自己用Go语言写一个Opera Mini的代理服务器,也算是练手吧~项目地址在https://github.com/chon219/opm-server-golang

编译 & 运行 

go build server.go
./server &

设置iptables作为socket代理

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 9003 -j DNAT --to-destination 141.0.11.253:1080
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 9003 -j SNAT --to-source YOUR-SERVER-IP

服务器端就算是设置完成了

这里附上Opera Mini for Android的代理服务器修改方法:

下载operamini.apk(可能需要翻墙)

wget http://m.opera.com/android/Ow7Good/operamini.apk

解包(需要apktool

apktool d operamini.apk

修改服务器(假设服务器的地址为opera.example.com)

sed -i 's/"http:\/\/"/"http:\/\/opera.example.com:8080\/"/g' `find operamini -name '*.smali'`
sed -i 's/"socket:\/\/"/"socket:\/\/opera.example.com:9003\/"/g' `find operamini -name '*.smali'`

打包

apktool b operamini

对apk包进行签名

java -jar signapk.jar testkey.x509.pem testkey.pk8 operamini/dist/operamini.apk operamini_mod.apk

Enjoy~