My last blog talked about how to create a Socks 5 proxy with shadowsocks-nodejs and shadowsocks python version on iPhone, well, they all work perfectly only that the nodejs version costs too much of RAM and python version is a little bit slow, however, thanks to @cyfdecyf , we got golang version of shadowsocks, it has the same speed(maybe better) with nodejs version but cost very little RAM, so i choose the golang version for my daily use and nodejs version as a backup. Okay, let's begin to install google go language and shadowsocks-go on iPhone, i believe i am the first person to do this.
上一篇博客介绍了如何在iPhone上利用shadowsocks-nodejs和Python版创建Socks 5代理,他们运行的很好,只是nodejs版本消耗内存太多而Python版因为缺少gevent而比较慢,还好有人开发了Go版的,它拥有nodejs版的速度,却只用少量的内存,所以我现在主要用Go版的,nodejs版的作为备用。下面就开始在iPhone上安装Google Go 的编译环境和并编译shadowsocks-go for iPhone,我应该是第一个这么做的吧 :)
If you want to be lazy, you can download compiled binary of shadowsocks-go client, it can only run inside jailbreak iPhone, iPad and iPod Touch
如果你想偷懒,可以直接下载我编译好的,只能在越狱的iPhone,iPad,iPod Touch上使用。
Install Google Golang on iPhone
wget http://cydia.radare.org/debs/go_15490_iphoneos-arm.deb
sudo dpkg -i go_15490_iphoneos-arm.deb
sudo apt-get install ldid
sudo ldid -s /var/go/bin/go
sudo ldid -s /var/go/src/cmd/*
sudo ldid -s /var/go/pkg/obj/cmd/*
Config Google Golang on iPhone
mkdir ~/gosrc
sudo apt-get install coreutils
sudo vim /etc/profile.d/coreutils.sh
export GOPATH="/var/mobile/gosrc"
export GOROOT="/var/go"
export PATH="/var/go/bin:$PATH"
source /etc/profile.d/coreutils.sh
Compile Shadowsocks-go on iPhone
wget --no-check-certificate https://github.com/shadowsocks/shadowsocks-go/archive/master.zip
unzip master.zip
mkdir -p ~/gosrc/src/github.com/shadowsocks/shadowsocks-go
cp -r shadowsocks-go-master/shadowsocks ~/gosrc/src/github.com/shadowsocks/shadowsocks-go/
cd shadowsocks-go-master/cmd/shadowsocks-local/
go build
sudo cp shadowsocks-local /usr/bin/
Run Shadowsocks-go on iPhone
cd ~
touch config.json
vim config.json
{
"server":"your server ip or domain name",
"server_port":11111,
"local_port":9090,
"password":"your password, make this password long and complex enough",
"timeout":600,
"method":"rc4"
}
nohup shadowsocks-server -c ~/config.json > /dev/null 2>&1 &
vim ~/.bashrc
alias sgp="nohup shadowsocks-server -c ~/config.json > /dev/null 2>&1 &"
source ~/.bashrc
nohup shadowsocks-local -c ~/config.json > /dev/null 2>&1 &
sudo vim /etc/profile.d/coreutils.sh
alias sgp="nohup shadowsocks-local -c ~/config.json > /dev/null 2>&1 &"
source /etc/profile.d/coreutils.sh
Create PAC file to use shadowsocks-go proxy on iPhone.
from http://catty-house.blogspot.jp/2013/01/install-golang-and-compile-shadowsocks.html
相关帖子:http://briteming.blogspot.com/2016/04/iosssh-tunnelshadowsocks.html
上一篇博客介绍了如何在iPhone上利用shadowsocks-nodejs和Python版创建Socks 5代理,他们运行的很好,只是nodejs版本消耗内存太多而Python版因为缺少gevent而比较慢,还好有人开发了Go版的,它拥有nodejs版的速度,却只用少量的内存,所以我现在主要用Go版的,nodejs版的作为备用。下面就开始在iPhone上安装Google Go 的编译环境和并编译shadowsocks-go for iPhone,我应该是第一个这么做的吧 :)
If you want to be lazy, you can download compiled binary of shadowsocks-go client, it can only run inside jailbreak iPhone, iPad and iPod Touch
如果你想偷懒,可以直接下载我编译好的,只能在越狱的iPhone,iPad,iPod Touch上使用。
Install Google Golang on iPhone
- SSH into iPhone and run the following command:
wget http://cydia.radare.org/debs/go_15490_iphoneos-arm.deb
sudo dpkg -i go_15490_iphoneos-arm.deb
- Now we have go languages installed, thanks +minux ma for porting Golang to iOS, also thanks @trufae for making a working .deb package, they made it easy to install go on iPhone. However @trufae forgot to sign it's package, so we need to sign it after installation,
- SSH into iPhone and run:
sudo apt-get install ldid
sudo ldid -s /var/go/bin/go
sudo ldid -s /var/go/src/cmd/*
sudo ldid -s /var/go/pkg/obj/cmd/*
Config Google Golang on iPhone
- We need to add go to our PATH and also set GOPATH variable, GNU coreutils could help, it can set alias, PATH, export some variable and so.
mkdir ~/gosrc
sudo apt-get install coreutils
- Next, we need to edit /etc/profile.d/coreutils.sh with vim or nano:
sudo vim /etc/profile.d/coreutils.sh
- Add the following codes and save:
export GOPATH="/var/mobile/gosrc"
export GOROOT="/var/go"
export PATH="/var/go/bin:$PATH"
- Now make our settings on the fly:
source /etc/profile.d/coreutils.sh
Compile Shadowsocks-go on iPhone
- Download Shadowsocks-go source code and unzip it:
wget --no-check-certificate https://github.com/shadowsocks/shadowsocks-go/archive/master.zip
unzip master.zip
- We will have a folder called shadowsocks-go-master at the current directory, now still need some trick:
mkdir -p ~/gosrc/src/github.com/shadowsocks/shadowsocks-go
cp -r shadowsocks-go-master/shadowsocks ~/gosrc/src/github.com/shadowsocks/shadowsocks-go/
cd shadowsocks-go-master/cmd/shadowsocks-local/
go build
sudo cp shadowsocks-local /usr/bin/
- If no mistake, now we will have a excutable shadowsocks-go client named shadowsocks-local in /usr/bin, we can run it now, only for iPhone.
Run Shadowsocks-go on iPhone
- First create a config file for shadowsocks-go:
cd ~
touch config.json
vim config.json
- Copy and paste the following code and save
{
"server":"your server ip or domain name",
"server_port":11111,
"local_port":9090,
"password":"your password, make this password long and complex enough",
"timeout":600,
"method":"rc4"
}
- Also copy config.json to server, shadowsocks-go server version can be downloaded here:
- on the server side:
nohup shadowsocks-server -c ~/config.json > /dev/null 2>&1 &
- Or we can set an alias for this long command:
vim ~/.bashrc
alias sgp="nohup shadowsocks-server -c ~/config.json > /dev/null 2>&1 &"
source ~/.bashrc
- on iPhone side:
nohup shadowsocks-local -c ~/config.json > /dev/null 2>&1 &
- Or we can set an alias for this long command:
sudo vim /etc/profile.d/coreutils.sh
alias sgp="nohup shadowsocks-local -c ~/config.json > /dev/null 2>&1 &"
source /etc/profile.d/coreutils.sh
Create PAC file to use shadowsocks-go proxy on iPhone.
from http://catty-house.blogspot.jp/2013/01/install-golang-and-compile-shadowsocks.html
相关帖子:http://briteming.blogspot.com/2016/04/iosssh-tunnelshadowsocks.html