SSR と Shadowsocks の設定の違い
ShadowsocksR は旧来の SSR サーバーで使う互換アウトバウンド種別です。クライアントは SSR の難読化、ストリーム暗号、SSR Protocol の順に適用するため、設定には SS の cipher と password 以外の項目も必要です。
既存の SSR ノードでは、サーバーまたは信頼できるサブスクリプションが提供する全フィールドを使用してください。最新の Shadowsocks ノードで単に type だけを変更し、SSR として使うことはできません。
必須の最小フィールド
SSR ノードには、共通のアドレスフィールドに加えて、パスワード、ストリーム暗号方式、難読化方式、SSR Protocol をすべて指定する必要があります。
name必須- ノード名です。現在の設定内で一意にする必要があります。
type必須- 固定値
ssr。 server必須- SSR サーバーのドメインまたは IP です。
port必須- SSR サーバーの待受ポートです。
cipher必須- SSR で使うストリーム暗号方式です。サーバー側と一致させる必要があります。
password必須- SSR ノードのパスワードです。
obfs必須- SSR の難読化名です。接続の外観をどのように処理するかを決めます。
protocol必須- SSR Protocol の名前です。認証とデータのカプセル化方式を決めます。
Cipher、Obfs、Protocol は組み合わせを一致させる
現在の SSR 実装は、対応するストリーム暗号方式を受け付けるほか、 none。none を内部で dummy として処理します。最新の SS AEAD cipher は SSR にはそのまま使用できません。
| フィールド | 役割 | 設定要件 |
|---|---|---|
cipher | SSR のデータストリームを暗号化 | SSR サーバーから指定されたストリーム暗号方式を使います。AEAD 名に置き換えることはできません |
password | 暗号鍵を導出 | 現在の SSR ノードのパスワードと完全に一致させます |
obfs | 接続の外観を処理 | サーバー側が対応する名前を指定する必要があります |
protocol | 認証とパケットのカプセル化を処理 | サーバー側が対応する名前を指定する必要があります |
パラメーター、UDP、共通接続オプション
パラメーターフィールドは、対応するサーバー設定で必要な場合にだけ指定します。サブスクリプションですでに提供されている場合は、省略せず保持し、別の SSR ノードから推測しないでください。
obfs-param必要に応じて指定- SSR 難読化モジュールへ渡すパラメーターです。一般的な内容はサーバー設定によって異なります。
protocol-param必要に応じて指定- SSR Protocol へ渡すパラメーターです。サーバーが求める形式を保持する必要があります。
udp必要に応じて指定- このノードによる UDP の処理を許可します。サーバー、Protocol、ネットワークも対応している必要があります。
ip-version必要に応じて指定- ドメイン形式のサーバーアドレスで、IPv4、IPv6、デュアルスタックのどれを使うかを制御します。
dialer-proxy必要に応じて指定- 別のノードまたはポリシーグループを経由して SSR サーバーへ接続します。
- SSR ノードには、Shadowsocks の
pluginとplugin-optsフィールドがありません。 - SSR ノードには、プロトコルレベルのトップレベル TLS フィールドもありません。次を追加しないでください:
tls: true。 - UDP スイッチでは、cipher、obfs、protocol の誤った組み合わせを修正できません。
SSR ノードの例とトラブルシューティング
この例は、公式設定にある基本フィールドを示しています。サーバーからさらに次が指定されている場合は、 obfs-param または protocol-param同じ階層に追加してください。
- cipher の初期化エラーが発生した場合は、SSR が対応するストリーム暗号方式を使用しているか確認してください。
- 接続できてもデータを転送できない場合は、まず次を確認してください:
protocolとprotocol-param。 - ハンドシェイクの外観が一致しない場合は、次を確認してください:
obfs、obfs-paramならびにサーバーのアドレスとポート。
proxies:
- name: ssr-node
type: ssr
server: server.example.com
port: 443
cipher: chacha20-ietf
password: your-password
protocol: auth_sha1_v4
obfs: tls1.2_ticket_auth