Opera Mini Server Mirror with Golang

 Feb. 6, 2013, 4:21 p.m.   7 comments    Golang opera

再一次,由于不想在服务器上安装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~


Chon

Chon March 30, 2013, 4:05 p.m. Reply

消灭零回复


简单

简单 April 2, 2013, 12:22 p.m. Reply

好吧 我来支持一个··


rfq

rfq May 15, 2013, 8:41 p.m. Reply

可否介绍在对服务器的要求,免费空间上可以用吗,如何搭建,

Chon

Chon May 15, 2013, 9:43 p.m. Reply

独立服务器或者VPS都可以,只要能够安装Golang环境就行,免费空间不能使用。


loki

loki June 2, 2013, 11:12 p.m. Reply

按照iptables设置,opera mini 没有接收到VPS传回的数据,不知道什么原因

Chon

Chon June 2, 2013, 11:17 p.m. Reply

代理方式设置为socket的时候iptables的设置才起作用
另外,建议直接用nginx反向代理提供http代理 http://ichon.me/post/1001.html


loki

loki June 2, 2013, 11:17 p.m. Reply

按照iptables设置,opera mini 没有接收到VPS传回的数据,不知道什么原因