目前有很多Python程式都是可以直接通過Pip來一鍵安裝了,比如眾所周知的Django、Markdown、Shadowsocks等。
簡要介紹一下Pip的用法(以安裝Shadowsocks舉例):
1、安裝package
pip install shadowsocks
2、列出已安裝的packages
pip freeze
3、安裝特定版本的package
pip install shadowsocks=1.3.3′
pip install shadowsocks>1.0,<1.3.3′
4、升級已安裝的package到最新版本
pip install -U shadowsocks
5、卸載已安裝的package
pip uninstall shadowsocks
6、查詢已安裝的package
pip search “shadowsocks”
安裝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
截至目前,通過pip安裝的shadowsocks版本為1.3.3
Shadowsocks的配置和使用
至於Shadowsocks可以拿來做什麼,這裡就毋須贅述了。直接開始吧。
1、 建立Shadowsocks的設定檔:
CentOS下通過vim建立該配置,運行命令:
vi /etc/config.json
內容如下:
{
"server":"my_server_ip",
"server_port":8989,
"local_port":1080,
"password":"teddysun.com",
"timeout":600,
"method":"aes-256-cfb"
}各欄位的含義:
server 伺服器 IP (IPv4/IPv6),注意這也將是服務端監聽的 IP 位址
server_port 伺服器連接埠
local_port 本地端連接埠
password 用來加密的密碼
timeout 逾時時間(秒)
method 加密方法,可選擇 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″, 等等。預設是一種不安全的加密,推薦用 “aes-256-cfb”
建立完畢後,賦予許可權:
chmod 755 /etc/config.json
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://bitbucket.org/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/config.json
如果想在後台一直運行Shadowsocks,啟動命令如下:
nohup ssserver -c /etc/config.json > /dev/null 2>&1 &備忘:關於nohup,是可以讓程式在後台啟動並執行命令,當執行以上命令後,螢幕輸出進程的pid,同時提示:
nohup: ignoring input and redirecting stderr to stdout
此時,再次斷行符號一下,回到shell輸入命令視窗即可。
同時可以用命令列參數覆蓋 config.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)
備忘:本地用戶端填寫的參數一定要與伺服器端設定的一致才可以。
下面就可以利用瀏覽器外掛程式無障礙瀏覽國外網站了。外掛程式的設定過程這裡略過。
AutoProxy(用於Firefox)、Proxy SwitchySharp(用於Chrome)