我來還文章了,這是第一篇

這麼久終於要迎來第一篇真正意義上的技術貼了。內牛滿面啊TAT

前段時間拿到了一個ss帳號,在win下配置成功,沒有在UBUNTU下嘗試

畢竟我原本有hosts保底,對這個需求不是那麼強烈

事實上,如果對fq只有谷歌搜索的需求,hosts已經夠了

前幾天心血來潮,想着在UBUNTU也設置一個

遇到一些問題,不過最後弄好了,拿出來分享一下

 

好了下面開始正題,先把流程說一遍

執行命令,安裝ss環境

apt-get install python-pip
pip install shadowsocks

連接的方法, 有兩種

一,直接在终端用命令:

sslocal -s 服務器地址 -p 服務器端口  -k 密碼 -t 600 -m aes-256-cfb

也可以把ss启动命令写成shell脚本

二,用配置文件启动: 在/etc新建一個文件,文件名隨意,後綴.json,比如我的是ss.json

添加以下內容

{
"server" : "服務器地址",
"server_port" : 服務器端口,
"local_port" : 本地端口,
"password" : "密碼",
"timeout" : 600,
"method" : "加密方式"
}

启动时使用命令:

sslocal -c /etc/ss.json

以上是前臺運行

後臺運行:

sudo sslocal -s servername -p 443 -k password -t 600 -m rc4-md5 --user 你的用戶名 -d start

使用設定檔的話就是

sudo sslocal -c /etc/ss.json --user Fooooo -d start

然後關閉的時候把start改成stop就可以了

也可以不用關閉,你不用的話十分鐘自動給你退出

检查日志:

sudo less /var/log/shadowsocks.log

到這裏ss就設置好了,接下來只要設置一下瀏覽器代理就好,這裏先賣一下關子

 

輸入sslocal,可以看到以下參數 Proxy options: -c CONFIG path to config file  //調用配置文件 -s SERVER_ADDR server address  //服務器地址 -p SERVER_PORT server port, default: 8388  //服務器端口 -b LOCAL_ADDR local binding address, default: 127.0.0.1  //本機,一般不需要設置 -l LOCAL_PORT local port, default: 1080  //本地端口,一般不需設置 -k PASSWORD password  //你的密碼 -m METHOD encryption method, default: aes-256-cfb  //加密方式 -t TIMEOUT timeout in seconds, default: 300  //斷開超時,即300s後自動離線,一般用600s --fast-open use TCP_FASTOPEN, requires Linux 3.7+  //這個是有侷限的,一般也用不到 General options: -h, --help show this help message and exit  //幫助 -d start/stop/restart daemon mode  //相當於上線,離線,重鏈接 --pid-file PID_FILE pid file for daemon mode  // --log-file LOG_FILE log file for daemon mode  //這兩個都不懂 --user USER username to run as  //後臺運行的時候用的,後面講 -v, -vv verbose mode -q, -qq quiet mode, only show warnings/errors --version show version information `   要說的是,ss有兩個命令,一個是ssserver,另一個是sslocal

網上教程兩個都有,兩個的參數是一樣的,但是並不是兩個都能用

我一開始也在這裏栽了,查了好久才發現兩者使用情況不同

前者是服務器用的,後面的纔是我們個人電腦用的

也就是說,sslocal 是開啓本地ss接口

然後在瀏覽器設置把特定流量轉到這個本地端口,就可以科學上網了

如果你用的是ssserver,會出來錯誤信息,說連不上服務器 [Errno 99] Cannot assign requested address 網上說把服務器改成0.0.0.0就可以了

那就是本機了好嗎你的不是服務器啊親~

所以乖乖用sslocal吧

 

 

關於前臺式的啓動,你的命令沒有關閉,會一直顯示鏈接信息,像你用ping一樣 2015-06-23 20:08:37 INFO connecting www.google.com:443 from 127.0.0.1:37394 2015-06-23 20:08:37 INFO connecting www.google.com:443 from 127.0.0.1:37396 2015-06-23 20:08:37 INFO connecting www.google.com:443 from 127.0.0.1:37398 2015-06-23 20:08:37 INFO connecting www.youtube.com:443 from 127.0.0.1:37404 2015-06-23 20:08:39 INFO connecting i.ytimg.com:443 from 127.0.0.1:37406 2015-06-23 20:08:39 INFO connecting i.ytimg.com:443 from 127.0.0.1:37407 2015-06-23 20:08:39 INFO connecting i.ytimg.com:443 from 127.0.0.1:37412 2015-06-23 20:08:39 INFO connecting i.ytimg.com:443 from 127.0.0.1:37414 2015-06-23 20:08:39 INFO connecting i.ytimg.com:443 from 127.0.0.1:37416 2015-06-23 20:08:39 INFO connecting i.ytimg.com:443 from 127.0.0.1:37417 2015-06-23 20:08:39 INFO connecting yt3.ggpht.com:443 from 127.0.0.1:37420 2015-06-23 20:08:39 INFO connecting yt3.ggpht.com:443 from 127.0.0.1:37422 2015-06-23 20:08:41 INFO connecting gg.google.com:443 from 127.0.0.1:37424 2015-06-23 20:08:42 INFO connecting apis.google.com:443 from 127.0.0.1:37426 2015-06-23 20:08:42 INFO connecting oauth.googleusercontent.com:443 from 127.0.0.1:37427 2015-06-23 20:08:42 INFO connecting content.googleapis.com:443 from 127.0.0.1:37430  

最後是瀏覽器設置,Ubuntu並不能像Win那麼傻瓜化,我們還要進行瀏覽器的設置

據說可以通過系統代理,不過爲了更好的可定製性,還是瀏覽器插件好用

我用的是chrome,就基於chrome說下設置的方法,其他的也類似啦 首先安裝插件SwitchyOmega 裝好後設置代理模式

 

 

要做的很簡單,代理選socks5.把本地代理填進去。就可以實現把特定流量轉到ss的本地端口,實現代理 然後設置自動切換 這樣可以把實現瀏覽牆外網站時自動使用代理,不至於把國內訪問速度拖慢,也不用麻煩地手動切換

 

 

應該挺好理解的,遇到規則內網站使用ss,否則直連

規則地址是http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt

據說是一個閒的蛋疼的人維護的==

如果你想更方便,也可以開啓快速切換,想這樣,點一下或者按一下快捷鍵,開啓自動模式,再按一下,退出

 

其實一直掛着也沒什麼問題,如果你有特殊需要可以這樣設置,僅作一個功能介紹

完結撒花

寫了好久終於完成,設置過程參考了兩個網頁並加上個人的實戰經驗,完結

https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

http://www.zhihu.com/question/26418370

 

如果需要開機啓動,知乎裏有一條命令,我沒試過,不包成功

在/etc/rc.local中添加启动命令。 例如:

sudo vi /etc/rc.local

在exit 0前添加(这里假设你已经在第2步写好shell脚本,并命名为ss_start.sh)

sudo sh /path/to/sslocal/ss_start.sh

如果路径和权限都没问题,在下次开机时就会启动ss了。