---
title: "AnyTLS"
description: "Potatso が対応する AnyTLS の TLS 設定、リンク、機能。"
---

> 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.

# AnyTLS

AnyTLS サーバは、**パスワード**と**TLS 設定**で表されます。AnyTLS は TLS の中で動作し、通信にパディングを加えるため、接続は通常の HTTPS アクセスのように見え、TLS の中にプロキシがあることを示す通常の兆候が現れません。Potatso は、サーバの TLS 設定に対応していれば、そのサーバに接続します。プロバイダが示す設定、またはサーバの `anytls://` リンクを見ながら、以下の表でサーバの設定を確認してください。

AnyTLS サーバは、手動、[`anytls://` リンク](#links)、または次のものからの読み込みで追加できます。

- Clash または Mihomo のサブスクリプション、
- Surge の構成。

Potatso は、sing-box の構成からの AnyTLS サーバの読み込みにはまだ対応していません。代わりに、サーバの `anytls://` リンクを使ってください。

## TLS {#tls}

| 設定 | Clash のキー | リンクのパラメータ | 対応 |
| --- | --- | --- | --- |
| サーバ名（SNI） | `sni` | `sni` | ✅ 指定がない場合、Potatso はサーバのアドレスを使います。 |
| ALPN | `alpn` | `alpn` | ✅ 指定がない場合、Clash と同様に Potatso は何も送りません。 |
| 証明書の検証をスキップ | `skip-cert-verify` | `insecure` | ✅ |
| 証明書のピン留め（SHA-256） | `fingerprint` | `hpkp` | ✅ |
| ブラウザフィンガープリント | `client-fingerprint` | `fp` | ✅ `chrome`、`firefox`、`safari`、`ios`、`android`、`edge`、`random`。それ以外の名前は、デフォルトのハンドシェイクで接続します。 |
| [REALITY](#reality) | `reality-opts` | | ✅ |
| Encrypted Client Hello（ECH） | `ech-opts` | | ✅ サブスクリプション内の ECH 構成を使うか、DNS で取得します |
| カスタム CA 証明書 | | | ❌ |
| TLS クライアント証明書 | `certificate`、`private-key` | | ❌ |

証明書の検証をオフにすると、あなたとサーバの間にいる誰でも、通信内容を読めてしまいます。サーバが自己署名証明書を使っている場合は、代わりにサーバの証明書をピン留めしてください。証明書のピンに、その証明書の SHA-256 を設定します。

ブラウザフィンガープリントを指定すると、接続の TLS ハンドシェイクがそのブラウザのものに見えます。サーバが対応していなければならない内容は変わりません。

Potatso は、TLS クライアント証明書が必要なサーバを読み込みません。サーバが接続を拒否するためです。

### REALITY {#reality}

REALITY サーバは、別の Web サイトの TLS 証明書を借りるため、自前の証明書が不要です。sing-box のサーバでは、REALITY を使った AnyTLS を提供できます。サーバの **Reality 公開鍵**と **Reality ショート ID** をプロバイダの指定どおりに設定し、サーバ名にはサーバが借りている Web サイトを設定します。REALITY にはブラウザフィンガープリント（`chrome` など）が必要です。

## 接続 {#connections}

AnyTLS は TLS 接続を再利用します。Web サイトへの接続が終わると、次の接続は新しく開くのではなく、同じ TLS 接続を使います。1 つの TLS 接続が同時に運ぶ接続は 1 つなので、複数を同時に使うと複数の TLS 接続が開かれ、あとで再利用されます。

| 設定 | Clash のキー | 対応 |
| --- | --- | --- |
| アイドル状態の接続を確認する頻度 | `idle-session-check-interval` | ✅ 秒単位。デフォルトは 30 |
| アイドル状態の接続を開いたままにする時間 | `idle-session-timeout` | ✅ 秒単位。デフォルトは 60 |
| 開いたままにするアイドル状態の接続の数 | `min-idle-session` | ✅ デフォルトは 1 |

5 秒以下の値は、Clash と同様に 30 として扱われます。これらの設定は Clash のサブスクリプションから取得されます。手動またはリンクで追加したサーバには、Potatso はデフォルト値を使います。

Surge 構成の `reuse=false` は適用されません。AnyTLS の仕様と同様に、Potatso は常に接続を再利用します。Potatso はサーバを読み込み、警告を表示します。

## パディング {#padding}

AnyTLS は、プロキシの存在を示してしまう通信サイズを隠すため、すべての接続の先頭にパディングを加えます。サーバは独自のパディング方式を送ってくることがあり、Potatso は AnyTLS の定義どおり、次の TLS 接続からそれを使います。デバイス側で設定する項目はありません。

## UDP {#udp}

AnyTLS は、TLS 接続の中で UDP を運びます（UDP over TCP）。Clash と同様に、UDP はデフォルトでオフです。サーバが UDP を中継する場合は、サーバの設定で UDP リレーをオンにしてください。Clash のサブスクリプションでは `udp: true` でオンになり、Surge の構成では常にオンになります。

## 機能の対応状況 {#features}

| 機能 | 対応 |
| --- | --- |
| [AnyTLS プロトコル](https://github.com/anytls/anytls-go/blob/main/docs/protocol.md) v2：パスワード、パディング、接続の再利用 | ✅ |
| サーバから送られるパディング方式 | ✅ |
| UDP over TCP | ✅ |
| [アイドル状態の接続の設定](#connections) | ✅ |
| REALITY、ECH | ✅ |
| 証明書のピン留め、ブラウザフィンガープリント | ✅ |
| カスタム CA、TLS クライアント証明書 | ❌ |
| `anytls://` リンク | ✅ |

対応しているすべての機能は、実際の AnyTLS サーバ（[anytls-go](https://github.com/anytls/anytls-go)、[sing-box](https://sing-box.sagernet.org/)、[mihomo](https://wiki.metacubex.one/)）のうち、少なくとも 1 つに対してテスト済みです。

パスワードが間違っていると、サーバは接続を閉じます。AnyTLS サーバにまったく接続できない場合は、まずパスワードを確認してください。

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

`anytls://` リンクは、1 行にサーバ全体の情報をまとめたものです。

```text
anytls://password@host:port/?parameters#name
```

| 部分 | 説明 |
| --- | --- |
| `password` | パスワード（パーセントエンコード）。 |
| `host` | サーバのアドレス。IPv6 アドレスは `[2001:db8::1]` のように角括弧で囲みます。 |
| `port` | サーバのポート。省略した場合、Potatso は 443 を使います。 |
| `name` | 任意。Potatso でのサーバ名。 |

パラメータは [anytls-go の形式](https://github.com/anytls/anytls-go/blob/main/docs/uri_scheme.md)に従い、一部のアプリが追加するものも加わります。

| パラメータ | 説明 |
| --- | --- |
| `sni` | TLS のサーバ名。 |
| `insecure` | `1` で証明書の検証をオフにします。 |
| `alpn` | ALPN のリスト。カンマ区切りで、パーセントエンコードします。 |
| `fp` | ブラウザフィンガープリント。 |
| `hpkp` | サーバの証明書の SHA-256。 |

Potatso が AnyTLS サーバを共有するときは、同じパラメータを持つ `anytls://` リンクを提供します。

### 例 {#link-examples}

各例は、読み込むリンクを示しています。パスワードは `secret` です。

基本的なサーバ：

```text
anytls://secret@anytls.example.com:443/?sni=anytls.example.com#Basic
```

自己署名証明書で、検証なし：

```text
anytls://secret@203.0.113.7/?insecure=1#Self-signed
```

Chrome フィンガープリント、ALPN のリスト、ピン留めした証明書：

```text
anytls://secret@anytls.example.com:443/?sni=anytls.example.com&alpn=h2%2Chttp%2F1.1&fp=chrome&hpkp=abababababababababababababababababababababababababababababababab#Shaped
```

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