# shadowsocks
換上Mac后,發現shadowsocks居然可以設置全局和自動代理,真實比Windows下方面多了!之前我一直購買的是東哥的服務,一年才50RMB,速度也還可以,720p無壓力。自己另有一臺DigitalOcean VPS,不用也浪費,搭建一個好了。
### Docker安裝Shadowsocks
這是我試過最便捷的方式了,**強烈推薦**。只要下載docker鏡像的速度夠快,搭建真實幾分鐘的事情,命令也就兩三條,咱們來試試:
### 配置docker
如果是DigitalOcean或者國內的阿里云,現在都可以選擇在創建的時候Docker鏡像。這樣開啟vps就能直接使用docker了。服務器一般我會選擇Ubuntu 14.04版本。
如果沒有Docker可選,那么也沒關系,進如vps之后,自己安裝一下即可。
### 安裝shadowsocks
首先通過ssh連接到vps上。因為有了docker之后,就可以下載shadowsocks的鏡像:
~~~
docker pull oddrationale/docker-shadowsocks
~~~
我在國內的阿里云上下載的時候會比較慢,因為不是官方的鏡像(官方的鏡像阿里云都有備份,這點確實做的很體貼)。
### 運行設置shadowsocks
輸入:
~~~
docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k paaassswwword -m aes-256-cfb
~~~
這里的`1984`是服務器端的端口號,`paaassswwword`是密碼, `aes-256-cfb`是加密方式。
運行:
~~~
docker ps
~~~
查看shadowsocks是否運行起來了,沒問題的話就可以`exit`退出vps的登錄了。
### 客戶端設置
客戶端填寫好公網ip,端口,加密方式,即可連接。
### Ubuntu下安裝
首先,建議使用root用戶登錄,或者使用sudo命名,我這里以root用戶為例把。請按順序執行下面操作哦!
### 安裝shadowsocks
第一次裝的時候亂七八雜,也記不起來順序了,反正用到的就是python版本,通過python-pip下載安裝的`shadowsocks`:
~~~
apt-get install python-pip
pip install shadowsocks
~~~
### 配置shadowsocks
配置文件需要自行創建:
~~~
vim /etc/shadowsocks.json
~~~
寫入:
~~~
{
"server":"0.0.0.0", # replace your server IP
"server_port":4762,
"local_port":1080,
"password":"8d779a1ee2db776db8e20adffaa12d0c",
"timeout":300,
"method":"aes-256-cfb"
}
~~~
### 安裝Supervisor
~~~
apt-get update
apt-get install python-pip python-m2crypto supervisor
~~~
### 配置Supervisor
編輯或創建:
~~~
vim /etc/supervisor/conf.d/shadowsocks.conf
~~~
如果端口 < 1024,把上面的 user=nobody 改成 user=root。
### 優化
在 `/etc/default/supervisor` 最后加一行:
~~~
ulimit -n 51200
~~~
### 啟動shadowsocks服務
使用Supervisor后臺運行shadowsocks:
~~~
service supervisor start
supervisorctl reload
~~~
### 查看服務狀態
運行狀態:`supervisorctl status`
如果遇到問題,可以檢查日志:
~~~
supervisorctl tail -f shadowsocks stderr
~~~
### 重啟服務
如果修改了 shadowsocks 配置 /etc/shadowsocks.json, 可以重啟 shadowsocks:`supervisorctl restart shadowsocks`
如果修改了 Supervisor 的配置文件 /etc/supervisor/*, 可以更新 supervisor 配置:`supervisorctl update`
### 可能出現的異常情況
在我第一次安裝的時候,出現過`unable to resolve host`的情況。解決方法就是將其指向127.0.0.1,編輯`/etc/hosts`文件,在`127.0.0.1`后面,添加上自己主機的名稱。
### 參考資料
- [Shadowsocks 使用說明](https://github.com/clowwindy/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)
- [用 Supervisor 運行 Shadowsocks](https://github.com/clowwindy/shadowsocks/wiki/%E7%94%A8-Supervisor-%E8%BF%90%E8%A1%8C-Shadowsocks)
- [在 Linode 上快速搭建 Shadowsocks](https://github.com/clowwindy/shadowsocks/wiki/%E5%9C%A8-Linode-%E4%B8%8A%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BA-Shadowsocks)
- [sudo 出現unable to resolve host 解決方法](http://blog.csdn.net/ichuzhen/article/details/8241847)
- [Docker + DigitalOcean + Shadowsocks 5分鐘科學上網](http://liujin.me/blog/2015/05/27/Docker-DigitalOcean-Shadowsocks-5-%E5%88%86%E9%92%9F%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/)
- 介紹
- 程序員基礎知識
- 字符編碼
- 技術名詞
- 語義化版本
- 命名規范
- 書寫文檔
- 開源協議
- 目錄結構
- 正則表達式
- 平凡之路
- 數據結構與算法
- 堆和棧
- 浮點數類型
- XML和JSON
- 算法學習之路
- 排序算法
- 代碼架構
- 設計模式
- 常用的Javascript設計模式
- 面向對象編程
- 繼承
- 多態
- 封裝
- 面向接口編程
- 代碼評審
- 六種量化你代碼的方式
- 程序員必備的代碼審查(Code Review)清單
- 服務器部署
- AWS簡介
- 網絡知識
- HTTPS, SPDY和 HTTP/2性能的簡單對比
- HTTP狀態碼
- 懂點設計
- 佳作賞析
- 無縫平鋪
- Sketch學習
- 設計與實現的平衡
- 寫點東西
- 使用gitbook
- 合格的PM
- 一個好的產品經理
- 產品經理的技能
- 團隊合作
- 關于招聘
- 培訓新人
- 領導能力
- 獲取知識
- MOOC
- Podcasts
- 英語學習
- 設計學習
- 前端學習
- iOS學習
- 游戲開發
- 關注健康
- 過勞檢測
- 關于睡眠
- 提升效率
- 學會閱讀
- 學會提問
- 善用搜索
- 學會寫作
- 時間管理
- 知識管理
- 文件管理
- 密碼管理
- 制作視頻
- 制作PPT
- 論音樂對效率的影響
- 程序員效率指南
- SOHO
- 創業資源
- Hacker
- 保護隱私
- 關于工作
- 找工作前需要思考的問題
- 原則與技巧
- 關于簡歷
- 其他方面
- 硬件相關
- 常用軟件
- Windows
- 硬件配置
- 系統安裝
- 常用軟件
- Mac
- 通用設置
- 權限問題
- alias設置
- 常用軟件
- 開發環境
- 快捷鍵設置
- 常用終端命令
- dotfiles
- Android
- 常用軟件
- 如何登錄美國區GooglePlay
- 開發工具
- git
- EditorConfig
- node
- shadowsocks
- ST3--Windows篇
- ST3--Mac篇
- gulp
- 字體的選擇
- Emacs
- WebStorm
- tmux
- Sketch
- Sketch中文學習資料
- Trello
- 使用Trello管理項目的經驗
- git進階
- 15分鐘學會使用Git和遠程代碼庫
- GitHub秘籍
- JetBrains
- IDE設置
- 附錄
- 計算機科學與技術
- 網站
- 書籍
- 工具