shadowSocks

centos:

1,yum install python-setuptools && easy_install pip
pip install shadowsocks
2,ssserver -p 443 -k password -m rc4-md5
後臺運行:
sudo ssserver -p 443 -k password -m rc4-md5 --user nobody -d start
停止:
sudo ssserver -d stop
日誌:
sudo less /var/log/shadowsocks.log
3、AWS EC2設置安全組開放端口
至此,服務器端的 Shadowsocks 安裝和配置完畢。
AWS EC2安全組默認只開放3389端口,如果要使用tomcat,jenkins等web服務的話,需要更改安全組規則,開放入站端口,實現ie等瀏覽器的外部web訪問


安裝Pip之前必須要先安裝setuptools,安裝setuptools之前,必須要安裝了Python,這之間的安裝過程存在依賴關係,缺一不可。因此,整個過程還是比較麻煩的。
1、 檢查Python版本
python –version
CentOS6.5默認安裝的Python版本是2.6.6,返回值爲:Python 2.6.6
2、 安裝setuptools
yum install -y python-setuptools
安裝完畢後,easy_install命令就可以使用了。
3、 安裝pip
easy_install pip
通過easy_install安裝pip是最爲簡單的方法。pip默認安裝到/usr/bin目錄下。
4、 安裝shadowsocks
pip install shadowsocks

Shadowsocks的配置和使用
至於Shadowsocks可以拿來做什麼,這裏就毋須贅述了。直接開始吧。
1、 創建Shadowsocks的配置文件:
CentOS下通過vim創建該配置,運行命令:
vi /etc/shadowsocks.json
內容如下:

{
"server":"0.0.0.0",
"server_port":8989,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"yourpassword",
"timeout":600,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
各字段的含義:
server:服務器 IP (IPv4/IPv6),注意這也將是服務端監聽的 IP 地址
server_port:監聽的服務器端口
local_address:本地監聽的 IP 地址
local_port:本地端端口
password:用來加密的密碼
timeout:超時時間(秒)
method:加密方法,可選擇 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”, 等等。默認是一種不安全的加密,推薦用 “aes-256-cfb”
fast_open:true 或 false。如果你的服務器 Linux 內核在3.7+,可以開啓 fast_open 以降低延遲。開啓方法:

echo 3 > /proc/sys/net/ipv4/tcp_fastopen
開啓之後,將 fast_open 的配置設置爲 true 即可。
works:works數量,默認爲 1

2、 安裝M2Crypto
默認加密方法 table 速度很快,但很不安全。推薦使用 “aes-256-cfb” 或者 “bf-cfb”。請不要使用 “rc4″,它不安全。如果選擇 “table” 之外的加密,需要安裝 M2Crypto。
先安裝依賴包:

yum install -y openssl-devel gcc swig python-devel autoconf libtool
安裝setuptools:

wget --no-check-certificate https://github.com/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py install
再通過pip安裝M2Crypto:
pip install M2Crypto

3、 安裝 gevent
安裝 gevent可以提高 Shadowsocks 的性能。CentOS下安裝gevent依賴libevent和greenlet。
安裝libevent:
yum install -y libevent
安裝greenlet:
pip install greenlet
安裝gevent:
pip install gevent

4、 命令行參數(服務器端啓動命令)
ssserver -c /etc/shadowsocks.json
如果想在後臺一直運行Shadowsocks,啓動命令如下:

nohup ssserver -c /etc/shadowsocks.json > /dev/null 2>&1 &
備註:關於nohup,是可以讓程序在後臺運行的命令。

同時可以用命令行參數覆蓋 /etc/shadowsocks.json 裏的設置:
sslocal -s 服務器地址 -p 服務器端口 -l 本地端端口 -k 密碼 -m 加密方法
ssserver -p 服務器端口 -k 密碼 -m 加密方法

備註:sslocal是客戶端程序;ssserver是服務端程序。

5、 防火牆設置(如有)
編輯防火牆配置文件/etc/sysconfig/iptables,將服務器端口(server_port)放行。
新增一條防火牆規則:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8989 -j ACCEPT
重啓防火牆iptables:
service iptables restart

至此,服務器端的 Shadowsocks 安裝和配置完畢。

6、客戶端配置
Windows客戶端有圖形界面也有命令行,我們這裏以配置圖形化界面的shadowsocks-csharp爲例說明。
下載客戶端shadowsocks-csharp(最新版1.1.2):
https://shadowsocks-csharp.googlecode.com/files/shadowsocks-csharp-1.1.2.zip

解壓至任意目錄下,雙擊shadowsocks-csharp.exe運行程序,各參數選項填入:

Server IP: 服務器 IP (IPv4/IPv6),填入在服務器端設置的IP地址(server)
Server Port: 服務器端口,填入在服務器端設置的端口號(server_port)
Password: 用來加密的密碼,填入在服務器端設置的加密密碼(password)
Proxy Port: 本地端代理的端口,填入在服務器端設置的本地端端口(local_port)
Encryptor: 加密方法,填入在服務器端設置的加密方法(method)

注意:本地客戶端填寫的參數一定要與服務器端設置的一致纔可以。

另有一款客戶端 shadowsocks-gui (推薦)可供選擇,下載地址:
https://sourceforge.net/projects/shadowsocksgui/files/dist/

下面就可以利用瀏覽器插件無障礙瀏覽國外網站了。插件的設置過程這裏略過。
AutoProxy(用於Firefox)、Proxy SwitchySharp(用於Chrome)

參考鏈接:
http://shadowsocks.org/en/download/servers.html(翻
https://pypi.python.org/pypi/shadowsocks

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章