---
title: "ShadowsocksR"
description: "Potatso が対応する ShadowsocksR の暗号方式、プロトコル、難読化方式。"
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ShadowsocksR

ShadowsocksR（SSR）サーバは、**暗号方式**、**プロトコル**、**obfs**（難読化）方式の 3 つの設定で表されます。Potatso は、この 3 つすべてに対応している場合にのみ、サーバに接続します。プロバイダが示す設定、またはサーバの `ssr://` リンクを見ながら、以下の表でサーバの設定を確認してください。

SSR サーバは、手動、[`ssr://` リンク](#links)、または Clash か Mihomo のサブスクリプションで追加できます。Potatso は、`_compatible` 形式を含め、プロバイダが指定するプロトコルと obfs をそのまま保持します。

## 暗号方式 {#ciphers}

| 暗号方式 | 対応 |
| --- | --- |
| `none` | ✅ |
| `aes-128-ctr`、`aes-192-ctr`、`aes-256-ctr` | ✅ |
| `aes-128-cfb`、`aes-192-cfb`、`aes-256-cfb` | ✅ |
| `camellia-128-cfb`、`camellia-192-cfb`、`camellia-256-cfb` | ✅ |
| `chacha20`、`chacha20-ietf` | ✅ |
| `salsa20` | ✅ |
| `bf-cfb` | ✅ |
| `rc4-md5` | ✅ |
| `cast5-cfb`、`des-cfb`、`idea-cfb`、`rc2-cfb`、`seed-cfb` | ✅ |
| `rc4-md5-6`、`table` | ✅ |
| `xchacha20`、`xsalsa20` | ❌ |

`aes-256-gcm` などの AEAD 暗号は、ShadowsocksR ではなく Shadowsocks の暗号方式です。プロバイダが SSR サーバにそれを挙げている場合は、そのサーバが実際には Shadowsocks サーバではないか確認してください。

## プロトコル {#protocols}

| プロトコル | 対応 | マルチユーザ |
| --- | --- | --- |
| `origin` | ✅ | — |
| `verify_deflate` | ✅ | — |
| `auth_sha1`、`auth_sha1_v2` | 非推奨（実サーバでは未テスト） | — |
| `auth_sha1_v4` | ✅ | — |
| `auth_sha1_v4_compatible` | ✅ | — |
| `auth_aes128_md5` | ✅ | ✅ |
| `auth_aes128_sha1` | ✅ | ✅ |
| `auth_chain_a` | ✅ | ✅ |
| `auth_chain_b` | ✅ | ✅ |
| `verify_simple`、`verify_sha1`、`auth_simple` | 非推奨（`origin` として読み込まれます） | — |

**マルチユーザ**サーバは、1 つのポートを複数のユーザで共有します。このようなサーバでは、プロトコルパラメータ（`protocol-param`、`ssr://` リンクでは `protoparam`）に、プロバイダから受け取ったユーザ ID とキーを使って `uid:key` を設定します。

現在の ShadowsocksR サーバは、`auth_sha1` と `auth_sha1_v2` を提供しなくなっています。Potatso はこれらでも接続しますが、実サーバでテストされていないため、プロバイダが別のプロトコルを提供している場合は、そちらを優先してください。

以前のバージョンの Potatso は `verify_simple`、`verify_sha1`、`auth_simple` を一覧に載せていましたが、実際には常に `origin` で接続していました。Potatso は現在もこれらを `origin` として読み込み、その際に警告を表示します。

## Obfs {#obfs}

| Obfs | 対応 |
| --- | --- |
| `plain` | ✅ |
| `http_simple`、`http_simple_compatible` | ✅ |
| `http_post`、`http_post_compatible` | ✅ |
| `tls1.2_ticket_auth`、`tls1.2_ticket_auth_compatible` | ✅ |
| `tls1.2_ticket_fastauth`、`tls1.2_ticket_fastauth_compatible` | ✅ |
| `random_head`、`random_head_compatible` | ✅ 非推奨 |

名前に `_compatible` が付いているのは、難読化を使わないクライアントもサーバが受け付けるという意味です。Potatso は、その名前が示す obfs 方式を使うので、プロバイダが示す名前のままで構いません。

HTTP 方式では、obfs パラメータ（`obfs-param`、`ssr://` リンクでは `obfsparam`）が `Host` ヘッダーを設定します。単一のホスト、カンマ区切りのホストのリスト、またはカスタムヘッダーのブロックを指定できます。空の場合、Potatso はサーバのアドレスを使います。TLS 方式では、TLS ハンドシェイクで送信されるサーバ名を設定します。

## UDP {#udp}

UDP は、対応するすべてのプロトコルで動作し、SSR サーバではデフォルトでオンです。サーバが UDP を中継しない場合は、サーバの設定でオフにしてください。

## `ssr://` リンク {#links}

`ssr://` リンクは、1 行にサーバ全体の情報をまとめたものです。`ssr://` 以降のすべてが Base64 でエンコードされます。

```text
ssr://base64(host:port:protocol:cipher:obfs:base64(password)/?obfsparam=…&protoparam=…&remarks=…)
```

`/?` より前の部分は、コロンで区切られた 6 つのフィールドです。

| フィールド | 説明 |
| --- | --- |
| `host` | サーバのアドレス。IPv6 アドレスは `[2001:db8::1]` のように角括弧で囲みます。 |
| `port` | サーバのポート。 |
| `protocol` | 上記の[プロトコル](#protocols)のいずれか。空の場合、Potatso は `origin` を使います。 |
| `cipher` | 上記の[暗号方式](#ciphers)のいずれか。必須。 |
| `obfs` | 上記の [obfs 方式](#obfs)のいずれか。空の場合、Potatso は `plain` を使います。 |
| `password` | パスワード（Base64 エンコード）。 |

`/?` より後ろの部分は任意です。各値は Base64 でエンコードされます。

| パラメータ | 説明 |
| --- | --- |
| `obfsparam` | obfs パラメータ。`http_simple` の `Host` など。 |
| `protoparam` | プロトコルパラメータ。マルチユーザサーバの `uid:key` など。 |
| `remarks` | Potatso でのサーバ名。 |

Potatso は、`group`、`udpport`、`uot` などのほかのパラメータや、リンク末尾の `#name` を無視します。UDP はリンクには含まれません。デフォルトでオンで、読み込み後にオフにできます。

Potatso は、標準と URL セーフの Base64 を、`=` のパディングの有無を問わず受け付けます。名前は大文字と小文字を区別しないため、`AUTH_CHAIN_A` は `auth_chain_a` と同じように動作します。Potatso がサーバを共有するときは、パディングなしの URL セーフな Base64 で書き出します。

### 例 {#link-examples}

各例では、最初にデコードしたテキストを、続けて読み込むリンクを示しています。すべての例でパスワードは `secret` です。

プロトコルプラグインも難読化もない、基本的なサーバ：

```text
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWM
```

```text
ssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00
```

サーバ名に `cdn.example.com` を使う、TLS 難読化：

```text
ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnM
```

```text
ssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5N
```

マルチユーザサーバ：ユーザ `2173`、キー `userkey`、`none` 暗号方式、HTTP 難読化：

```text
ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcg
```

```text
ssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZw
```

IPv6 アドレスのサーバ：

```text
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ng
```

```text
ssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc
```

Source: https://potatso.com/docs/ja/protocols/shadowsocksr/index.mdx
