Shadowsocks

提供: ArchWiki
2023年8月19日 (土) 19:22時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎参照: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

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
}
ヒント: 複数のサーバー IP を指定するときは、"server":["1.1.1.1","2.2.2.2"], と指定してください。
名前 説明
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 パッケージをインストールすると暗号化が少しだけ高速になります。

Salsa20ChaCha20 暗号を使いたい場合は libsodium パッケージをインストールしてください。

参照