Shadowsocks
Shadowsocks は軽量な socks5 プロキシです。
目次
インストール
shadowsocks-libev(C)/shadowsocks(Python) パッケージをインストールしてください。shadowsocks-libevがおすすめ。
設定
Shadowsocks の設定は JSON フォーマットのファイルを使って行うことができます。パッケージには以下のサンプル設定が含まれています:
/etc/shadowsocks/example.json
{
"server":"my_server_ip",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"chacha20-ietf-poly1305",
"fast_open": false,
"workers": 1
}
| 名前 | 説明 |
|---|---|
| server | サーバーが listen するアドレス |
| server_port | サーバーのポート |
| local_address | ローカルマシンが listen するアドレス |
| local_port | ローカルマシンのポート |
| password | 暗号化に使用するパスワード |
| timeout | 秒数 |
| method | デフォルト: "chacha20-ietf-poly1305"。Stream Ciphers/AEAD Ciphers を参照。 |
| fast_open | TCP-Fast-Open を使用するかどうか (true / false) |
| workers | ワーカーの数 |
ログ出力レベルを調整したい場合、"verbose": value オプションを追加します。以下の値のどれかを使ってください:
- 2: 全てをログ出力
- 1: デバッグ
- 0: デフォルト
- -1: 警告
- -2: エラー
クライアント
コマンドラインから使う
ss-local コマンドを使うことでクライアントを起動できます。設定ファイル /etc/shadowsocks/config.json を使って起動するには:
$ ss-local -c /etc/shadowsocks/config.json
または、コマンドで設定を直接指定することも可能です:
$ ss-local -s server_address -p server_port -l local_port -k password -m encryption_method
systemd を使う
Shadowsocks クライアントは shadowsocks-libev@.service のインスタンスを使って制御することができます。
例えば、設定ファイル /etc/shadowsocks/config.json を使ってサービスを起動・有効化する場合、shadowsocks-libev@config.service サービスを使ってください。
GUI クライアント
shadowsocks-qt5 をインストールしてください。
サーバー
コマンドラインから使う
サーバーは ss-server コマンドで起動します。
設定ファイル /etc/shadowsocks/config.json を使ってフォアグラウンドでサーバーを起動するには:
$ ss-server -c /etc/shadowsocks/config.json
バックグラウンドで実行するには:
$ ss-server -c /etc/shadowsocks/config.json -d start $ ss-server -c /etc/shadowsocks/config.json -d stop
systemd を使う
Shadowsocks サーバーは shadowsocks-libev-server@.service のインスタンスを使って制御することができます。
例えば、設定ファイル /etc/shadowsocks/config.json を使ってサービスを起動・有効化する場合、shadowsocks-libev-server@config.service サービスを使ってください。
Shadowsocks で特権ポート (1024 以下) を使うには、root でサーバーを起動する必要があります:
/etc/systemd/system/shadowsocks-libev-server@.service.d/start-as-root.conf
[Service] User=root
暗号化
python2-m2crypto パッケージをインストールすると暗号化が少しだけ高速になります。
Salsa20 や ChaCha20 暗号を使いたい場合は libsodium パッケージをインストールしてください。
参照
- Shadowsocks ウェブサイト
- Python パッケージ
- GitHub wiki
- Backup GitHub project (the original project has been "removed according to regulations" in August 2015)