「Shadowsocks」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→設定: を使用方法にして、設定を追加) |
Kusanaginoturugi (トーク | 投稿記録) (→使用方法: 警告を追加) |
||
27行目: | 27行目: | ||
== 使用方法 == |
== 使用方法 == |
||
+ | === クライアント === |
||
− | Shadowsocks の設定は JSON フォーマットのファイルを使って行うことができます。パッケージには以下のサンプル設定が含まれています: |
||
+ | {{Warning|{{Pkg|udns}} パッケージは DNS のスタブリゾルバとして使用されます。クライアントアプリケーション(ブラウザなど)の DNS リクエスト漏れを防ぐために、さらにアプリケーションを使用する必要があります。例えば、[[privoxy]] やクライアント上の完全な DNS リゾルバなどです。[https://github.com/shadowsocks/shadowsocks-libev/issues/1542] [https://github.com/shadowsocks/shadowsocks-libev/issues/1641]}} |
||
− | {{hc|/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 |
||
− | } |
||
− | }} |
||
− | |||
− | {{Tip|複数のサーバー IP を指定するときは、{{ic|"server":["1.1.1.1","2.2.2.2"],}} と指定してください。}} |
||
− | |||
− | {| class="wikitable" |
||
− | ! 名前 !! 説明 |
||
− | |- |
||
− | | server || サーバーが listen するアドレス |
||
− | |- |
||
− | | server_port || サーバーのポート |
||
− | |- |
||
− | | local_address || ローカルマシンが listen するアドレス |
||
− | |- |
||
− | | local_port || ローカルマシンのポート |
||
− | |- |
||
− | | password || 暗号化に使用するパスワード |
||
− | |- |
||
− | | timeout || 秒数 |
||
− | |- |
||
− | | method || デフォルト: "chacha20-ietf-poly1305"。[https://shadowsocks.org/en/spec/Stream-Ciphers.html Stream Ciphers]/[https://shadowsocks.org/en/spec/AEAD-Ciphers.html AEAD Ciphers] を参照。 |
||
− | |- |
||
− | | fast_open || [https://github.com/clowwindy/shadowsocks/wiki/TCP-Fast-Open TCP-Fast-Open] を使用するかどうか (true / false) |
||
− | |- |
||
− | | workers || ワーカーの数 |
||
− | |} |
||
− | |||
− | ログ出力レベルを調整したい場合、{{ic|"verbose": ''value''}} オプションを追加します。以下の値のどれかを使ってください: |
||
− | * 2: 全てをログ出力 |
||
− | * 1: デバッグ |
||
− | * 0: デフォルト |
||
− | * -1: 警告 |
||
− | * -2: エラー |
||
− | |||
− | === クライアント === |
||
==== コマンドラインから使う ==== |
==== コマンドラインから使う ==== |
2024年7月5日 (金) 20:24時点における版
Shadowsocks は軽量なプロキシです。これは SOCKS5 プロトコルに基づいていますが、追加で暗号化を使用しており、セキュリティを向上させ、ファイアウォールの回避を支援します。
目次
インストール
いくつかの実装が Arch Linux 用にパッケージされています。以下のいずれかをインストールできます。
- shadowsocks — Python で書かれた初期の実装。
- shadowsocks-rust — Rust で書かれた最新の積極的に開発されている実装。
- go-shadowsocks2AUR, shadowsocks-goAUR — Go で書かれた実装。
- shadowsocks-libev-staticAUR — C で書かれた実装。現在は開発されておらず、shadowsocks-rust に取って代わられています。
設定
Shadowsocks の設定は JSON 形式のファイルで行います。詳細は Configuration via Config File を参照してください。
使用方法
クライアント
コマンドラインから使う
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 パッケージをインストールしてください。
ヒントとコツ
パフォーマンスの最適化
443
などの一般的なポートを使用します。グレート・ファイアウォール は、負荷を減らすために比較的少ない一般的なポートをチェックします。- TCP Fast Open を有効にする。
- BBR を有効にする。
- shadowsocks の速度を上げるために python-gevent をインストールします。
- カーネルパラメータを最適化します。詳細は Optimizing Shadowsocks を参照してください。
暗号化
AEAD Ciphers[リンク切れ 2023-05-20] を参照してください。
python-m2crypto パッケージをインストールすると、暗号化が少し速くなります。
Salsa20 または ChaCha20 暗号を使用するには、libsodium パッケージをインストールします。
参照
- Shadowsocks ウェブサイト
- Python パッケージ
- GitHub wiki
- Backup GitHub project (元のプロジェクトは 2015 年 8 月に「規制に従って削除」されました)