「Shadowsocks」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:プロキシサーバー en:Shadowsocks zh-cn:Shadowsocks [http://shadowsocks.org Shadowsocks] は軽量な socks5 プロキシです。Python で書...」)
 
(関連記事へのリンクを削除)
 
(3人の利用者による、間の19版が非表示)
1行目: 1行目:
 
[[Category:プロキシサーバー]]
 
[[Category:プロキシサーバー]]
 
[[en:Shadowsocks]]
 
[[en:Shadowsocks]]
[[zh-cn:Shadowsocks]]
+
[[zh-hans:Shadowsocks]]
  +
{{Related articles start}}
[http://shadowsocks.org Shadowsocks] は軽量な socks5 プロキシです。Python で書かれています。
 
  +
{{Related|Trojan}}
  +
{{Related articles end}}
  +
[https://shadowsocks.org/ Shadowsocks] は軽量なプロキシです。これは [[wikipedia:SOCKS5|SOCKS5]] プロトコルに基づいていますが、追加で暗号化を使用しており、セキュリティを向上させ、ファイアウォールの回避を支援します。
   
 
== インストール ==
 
== インストール ==
   
{{Pkg|shadowsocks}} パッケージを[[インストール]]してください
+
いくつかの実装が Arch Linux 用にパッケージされています。以下のいずれかを[[インストール]]できます
  +
  +
* {{Pkg|shadowsocks}} — Python で書かれた初期の実装。
  +
* {{Pkg|shadowsocks-rust}} — Rust で書かれた最新の積極的に開発されている実装。
  +
* {{AUR|go-shadowsocks2}}, {{AUR|shadowsocks-go}} — Go で書かれた実装。
  +
* {{AUR|shadowsocks-libev-static}} — C で書かれた実装。現在は開発されておらず、''shadowsocks-rust'' に取って代わられています。
   
 
== 設定 ==
 
== 設定 ==
   
Shadowsocks の設定は JSON フォーマットのファイルを使ってうことができます。パッケージに以下のサンプル設定が含まれています:
+
Shadowsocks の設定は JSON 形式のファイルます。詳細 [https://github.com/shadowsocks/shadowsocks/wiki/Configuration-via-Config-File Configuration via Config File] を参照しくださ
   
  +
{{Tip|
{{hc|/etc/shadowsocks/example.json|{
 
  +
* 複数のサーバー IP を指定するには、以下の構文を使用できます {{ic|"server":["1.1.1.1","2.2.2.2"],}}。
"server":"my_server_ip",
 
  +
* マシン上で最速の方法を見つけるには、スクリプト [https://raw.githubusercontent.com/shadowsocks/shadowsocks-libev/0437e05aa8ec7f36f1eeb8c366dfd2b2b3b0288b/scripts/iperf.sh iperf.sh] を使用してベンチマークできます。}}
"server_port":8388,
 
"local_address": "127.0.0.1",
 
"local_port":1080,
 
"password":"mypassword",
 
"timeout":300,
 
"method":"aes-256-cfb",
 
"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 || デフォルト: "aes-256-cfb"。[https://github.com/shadowsocks/shadowsocks/wiki/Encryption Encryption] を参照。
 
|-
 
| fast_open || [https://github.com/clowwindy/shadowsocks/wiki/TCP-Fast-Open TCP-Fast-Open] を使用するかどうか (true / false)
 
|-
 
| workers || ワーカーの数
 
|}
 
   
  +
{{Warning|{{Pkg|udns}} パッケージは DNS のスタブリゾルバとして使用されます。クライアントアプリケーション(ブラウザなど)の DNS リクエスト漏れを防ぐために、さらにアプリケーションを使用する必要があります。例えば、[[privoxy]] やクライアント上の完全な DNS リゾルバなどです。[https://github.com/shadowsocks/shadowsocks-libev/issues/1542] [https://github.com/shadowsocks/shadowsocks-libev/issues/1641]}}
ログ出力レベルを調整したい場合、{{ic|"verbose": ''value''}} オプションを追加します。以下の値のどれかを使ってください:
 
* 2: 全てをログ出力
 
* 1: デバッグ
 
* 0: デフォルト
 
* -1: 警告
 
* -2: エラー
 
 
=== クライアント ===
 
   
 
==== コマンドラインから使う ====
 
==== コマンドラインから使う ====
   
  +
クライアントは {{ic|ss-local}}(''shadowsocks-libev'') または {{ic|sslocal}}(''shadowsocks'') コマンドで起動します。{{man|1|ss-local}}{{Dead link|2023|04|22}} と {{man|1|sslocal}} を参照してください。
{{ic|sslocal}} コマンドを使うことでクライアントを起動できます。設定ファイル {{ic|/etc/shadowsocks/config.json}} を使って起動するには:
 
$ sslocal -c /etc/shadowsocks/config.json
 
   
  +
sslocal -b 127.0.0.1:1080 --server-url ss://
または、コマンドで設定を直接指定することも可能です:
 
$ sslocal -s ''server_address'' -p ''server_port'' -l ''local_port'' -k ''password'' -m ''encryption_method''
 
   
  +
または設定ファイルを介して:
==== systemd を使う ====
 
   
  +
sslocal -c config.json
Shadowsocks クライアントは {{ic|shadowsocks@.service}} のインスタンスを使って制御することができます。
 
   
  +
{{hc|config.json|<nowiki>
例えば、設定ファイル {{ic|/etc/shadowsocks/config.json}} を使ってサービスを[[起動]]・[[有効化]]する場合、{{ic|shadowsocks@config.service}} サービスを使ってください。
 
  +
{
  +
"remarks": "Server name",
  +
"server": "111.111.111.111",
  +
"server_port": 804,
  +
"local_port": 1080,
  +
"method": "chacha20-ietf-poly1305",
  +
"password": "server_password"
  +
}
  +
</nowiki>}}
   
==== GUI クライア ====
+
==== デーモ管理 ====
   
  +
Shadowsocks クライアントは、{{ic|shadowsocks@.service}}(''shadowsocks'')または {{ic|shadowsocks-libev@.service}}(''shadowsocks-libev'')のインスタンスを使って [[systemctl]] で制御できます。設定ファイル {{ic|/etc/shadowsocks/''config''.json}} を使用するには、{{ic|shadowsocks-libev-server@''config''.service}} または {{ic|shadowsocks-server@''config''.service}} を[[起動]]し、[[有効化]]します。
{{AUR|shadowsocks-qt5}} をインストールしてください。
 
  +
  +
また、ネットワークが立ち上がった後に {{ic|shadowsocks@}} または {{ic|shadowsocks-libev@}} のインスタンスを実行することにも興味があるかもしれません。[[systemd#ネットワークが稼働した後にサービスを実行する|ネットワークが稼働した後にサービスを実行する]]を参照してください。
   
 
=== サーバー ===
 
=== サーバー ===
   
==== コマンドラインから使う ====
+
==== コマンドラインから ====
   
サーバーは {{ic|ssserver}} コマンドで起動します。
+
サーバーは {{ic|ss-server}}(''shadowsocks-libev'') または {{ic|ssserver}}(''shadowsocks'') コマンドで起動します。{{man|1|ss-server}} と {{man|1|ssserver}} を参照してください
   
  +
==== デーモン管理 ====
設定ファイル {{ic|/etc/shadowsocks/config.json}} を使ってフォアグラウンドでサーバーを起動するには:
 
$ ssserver -c /etc/shadowsocks/config.json
 
   
  +
Shadowsocks サーバーは、{{ic|shadowsocks-rust-server@.service}}(''shadowsocks-rust'') または {{ic|shadowsocks-server@.service}}(''shadowsocks'')のインスタンスを使って制御できます。設定ファイル {{ic|/etc/shadowsocks/''config''.json}} を使用するには、{{ic|shadowsocks-rust-server@''config''.service}} または {{ic|shadowsocks-server@''config''.service}} を[[起動]]し、[[有効化]]します。
バックグラウンドで実行するには:
 
{{bc|
 
$ ssserver -c /etc/shadowsocks/config.json -d start
 
$ ssserver -c /etc/shadowsocks/config.json -d stop}}
 
   
  +
Shadowsocks を特権ポート({{ic|1024}} 未満)にバインドするには、サーバーを root ユーザーとして起動する必要があります:
==== systemd を使う ====
 
 
Shadowsocks サーバーは {{ic|shadowsocks-server@.service}} のインスタンスを使って制御することができます。
 
 
例えば、設定ファイル {{ic|/etc/shadowsocks/config.json}} を使ってサービスを[[起動]]・[[有効化]]する場合、{{ic|shadowsocks-server@config.service}} サービスを使ってください。
 
 
Shadowsocks で特権ポート (1024 以下) を使うには、root でサーバーを起動する必要があります:
 
   
 
{{hc|/etc/systemd/system/shadowsocks-server@.service.d/start-as-root.conf|<nowiki>
 
{{hc|/etc/systemd/system/shadowsocks-server@.service.d/start-as-root.conf|<nowiki>
102行目: 73行目:
 
User=root
 
User=root
 
</nowiki>}}
 
</nowiki>}}
  +
  +
== ヒントとコツ ==
  +
  +
=== パフォーマンスの最適化 ===
  +
  +
* {{ic|443}} などの一般的なポートを使用します。[[wikipedia:Great Firewall|グレート・ファイアウォール]] は、負荷を減らすために比較的少ない一般的なポートをチェックします。
  +
* [[sysctl#TCP Fast Open を有効にする|TCP Fast Open を有効にする]]。
  +
* [[sysctl#BBR を有効にする|BBR を有効にする]]。
  +
* ''shadowsocks'' の速度を上げるために {{Pkg|python-gevent}} をインストールします。
  +
* カーネルパラメータを最適化します。詳細は [https://github.com/shadowsocks/shadowsocks/wiki/Optimizing-Shadowsocks Optimizing Shadowsocks] を参照してください。
   
 
=== 暗号化 ===
 
=== 暗号化 ===
   
  +
[https://shadowsocks.org/guide/aead.html AEAD Ciphers]{{Dead link|2023|05|20|status=404}} を参照してください。
{{Pkg|python2-m2crypto}} パッケージをインストールすると暗号化が少しだけ高速になります。
 
   
[https://en.wikipedia.org/wiki/Salsa20 Salsa20] や ''ChaCha20'' 暗号を使いたい場合は {{Pkg|libsodium}} パッケージをインストールしださい
+
{{Pkg|python-m2crypto}} パッケージをインストールすると、暗号化が少なります
  +
  +
[[wikipedia:Salsa20|Salsa20]] または [[wikipedia:ChaCha20|ChaCha20]] 暗号を使用するには、{{Pkg|libsodium}} パッケージをインストールします。
   
 
== 参照 ==
 
== 参照 ==
114行目: 97行目:
 
* [https://pypi.python.org/pypi/shadowsocks Python パッケージ]
 
* [https://pypi.python.org/pypi/shadowsocks Python パッケージ]
 
* [https://github.com/shadowsocks/shadowsocks/wiki GitHub wiki]
 
* [https://github.com/shadowsocks/shadowsocks/wiki GitHub wiki]
* [https://github.com/shadowsocks-backup/shadowsocks Backup GitHub project] (the original project has been "removed according to regulations" in August 2015)
+
* [https://github.com/shadowsocks-backup/shadowsocks Backup GitHub project] (元のプロジェクトは 2015 8 月に「規制に従って削除」されました)
  +
  +
{{TranslationStatus|Shadowsocks|2024-07-05|808135}}

2024年7月5日 (金) 20:40時点における最新版

関連記事

Shadowsocks は軽量なプロキシです。これは SOCKS5 プロトコルに基づいていますが、追加で暗号化を使用しており、セキュリティを向上させ、ファイアウォールの回避を支援します。

インストール

いくつかの実装が Arch Linux 用にパッケージされています。以下のいずれかをインストールできます。

設定

Shadowsocks の設定は JSON 形式のファイルで行います。詳細は Configuration via Config File を参照してください。

ヒント:
  • 複数のサーバー IP を指定するには、以下の構文を使用できます "server":["1.1.1.1","2.2.2.2"],
  • マシン上で最速の方法を見つけるには、スクリプト iperf.sh を使用してベンチマークできます。

使用方法

クライアント

警告: udns パッケージは DNS のスタブリゾルバとして使用されます。クライアントアプリケーション(ブラウザなど)の DNS リクエスト漏れを防ぐために、さらにアプリケーションを使用する必要があります。例えば、privoxy やクライアント上の完全な DNS リゾルバなどです。[1] [2]

コマンドラインから使う

クライアントは ss-localshadowsocks-libev) または sslocalshadowsocks) コマンドで起動します。ss-local(1)[リンク切れ 2023-04-22]sslocal(1) を参照してください。

sslocal -b 127.0.0.1:1080 --server-url ss://

または設定ファイルを介して:

sslocal -c config.json
config.json
{
 "remarks": "Server name",
 "server": "111.111.111.111",
 "server_port": 804,
 "local_port": 1080,
 "method": "chacha20-ietf-poly1305",
 "password": "server_password"
}

デーモン管理

Shadowsocks クライアントは、shadowsocks@.serviceshadowsocks)または shadowsocks-libev@.serviceshadowsocks-libev)のインスタンスを使って systemctl で制御できます。設定ファイル /etc/shadowsocks/config.json を使用するには、shadowsocks-libev-server@config.service または shadowsocks-server@config.service起動し、有効化します。

また、ネットワークが立ち上がった後に shadowsocks@ または shadowsocks-libev@ のインスタンスを実行することにも興味があるかもしれません。ネットワークが稼働した後にサービスを実行するを参照してください。

サーバー

コマンドラインから

サーバーは ss-servershadowsocks-libev) または ssservershadowsocks) コマンドで起動します。ss-server(1)ssserver(1) を参照してください。

デーモン管理

Shadowsocks サーバーは、shadowsocks-rust-server@.serviceshadowsocks-rust) または shadowsocks-server@.serviceshadowsocks)のインスタンスを使って制御できます。設定ファイル /etc/shadowsocks/config.json を使用するには、shadowsocks-rust-server@config.service または shadowsocks-server@config.service起動し、有効化します。

Shadowsocks を特権ポート(1024 未満)にバインドするには、サーバーを root ユーザーとして起動する必要があります:

/etc/systemd/system/shadowsocks-server@.service.d/start-as-root.conf
[Service]
User=root

ヒントとコツ

パフォーマンスの最適化

暗号化

AEAD Ciphers[リンク切れ 2023-05-20] を参照してください。

python-m2crypto パッケージをインストールすると、暗号化が少し速くなります。

Salsa20 または ChaCha20 暗号を使用するには、libsodium パッケージをインストールします。

参照

翻訳ステータス: このページは en:Shadowsocks の翻訳バージョンです。最後の翻訳日は 2024-07-05 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。