Skip to content

Hysteria 2

Potatso が対応する Hysteria 2 のオプション、TLS 設定、リンク、機能。

Updated Markdown で表示

Hysteria 2 サーバは、パスワードと TLS 設定で表され、任意で難読化とポートホッピングも使えます。Hysteria 2 は、HTTP/3 の基盤である UDP ベースのプロトコル QUIC の上で動作するため、パケットロスのあるネットワークでも速度を保てます。Potatso は、サーバの設定に対応していれば、そのサーバに接続します。プロバイダが示す設定、またはサーバの hysteria2:// リンクを見ながら、以下の表でサーバの設定を確認してください。

Hysteria 2 サーバは、手動、hysteria2:// または hy2:// リンク、または次のものからの読み込みで追加できます。

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

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

認証

サーバの認証 対応
パスワード(auth.type: password) ✅
ユーザ名とパスワード(auth.type: userpass) ✅ 1 つのパスワードとして name:password の形で入力します
HTTP またはコマンドによる認証 ✅ 認証が期待するパスワードを入力します

パスワードが間違っていると接続できません。多くのサーバは、パスワードを持たない相手には、通常の Web サイト(偽装用のもの)を表示します。

難読化

難読化 Clash のキー リンクのパラメータ 対応
なし ✅
Salamander obfs: salamander、obfs-password obfs=salamander、obfs-password ✅
Gecko obfs: gecko obfs=gecko ❌

Salamander はすべてのパケットをかく乱し、接続が QUIC に見えないようにします。パスワードはサーバのものと一致している必要があります。サーバの設定で Salamander パスワードとして設定してください。難読化のないサーバでは空欄のままにします。

Potatso は、Gecko 難読化を使うサーバには接続できないため、読み込みません。

帯域幅

設定 Clash のキー 対応
ダウンロード帯域幅 down ✅ サーバがこの速度であなたに送信します
アップロード帯域幅 up ❌ Potatso は BBR 輻輳制御でアップロードし、この設定を無視します
輻輳制御 公式クライアントの congestion ❌ 常に BBR

100 Mbps などのダウンロード帯域幅を設定すると、サーバは Hysteria の Brutal 輻輳制御を使い、パケットロスがあっても、その速度で送信します。実際のダウンロード速度に近い値に設定してください。高すぎると、接続は速くならず、かえって遅くなります。空欄にすると、サーバが自分で速度を調整します。

帯域幅は、単位付きの数値(bps、Kbps、Mbps、Gbps)、または単位なしの数値(Mbps とみなされます)で指定します。

ポートホッピング

ポートホッピングを使うサーバは、UDP ポートの範囲で待ち受け、Potatso は一定の間隔でそのポート間を移動します。一定時間がたつと 1 つの UDP ポートの速度を落としたり遮断したりするネットワークで有効です。

設定 Clash のキー 対応
ポート ports ✅ 20000-30000 のような範囲、443,8443 のようなリスト、またはその両方
ホップ間隔 hop-interval ✅ 秒単位。デフォルトは 30、最小は 5。10-30 のような範囲を指定すると、ランダムな間隔が選ばれます。

サーバの設定で、ポートホッピングとホップ間隔として設定します。その場合、サーバのポートは最初の接続にだけ使われます。

TLS

設定 Clash のキー リンクのパラメータ 対応
サーバ名(SNI) sni sni、peer ✅ 指定がない場合、Potatso はサーバのアドレスを使います。
証明書の検証をスキップ skip-cert-verify insecure ✅
証明書のピン留め(SHA-256) fingerprint pinSHA256 ✅
ALPN alpn alpn ✅ h3 のみ(Potatso は常にこれを使います)
カスタム CA 証明書 公式クライアントの ca ❌
TLS クライアント証明書 certificate、private-key ❌
Encrypted Client Hello(ECH) ech-opts ech ❌
別の名前で検証 name-cert-verify ❌

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

上記の未対応の設定が必要なサーバは、Potatso では読み込まれません。その設定なしで接続しても、サーバが応答しないためです。

UDP

Hysteria 2 は、TCP と同じ接続の上で、QUIC データグラムとして UDP を運びます。UDP はデフォルトでオンです。サーバ側で UDP がオフ(disableUDP)になっている場合にのみ、サーバの設定で UDP リレーをオフにしてください。

Xray サーバ経由では、約 1,100 バイトを超える UDP パケットが壊れて届きます。これは Xray の Hysteria 2 サーバの不具合です。公式サーバ、sing-box、mihomo は、あらゆるサイズを中継できます。

機能の対応状況

機能 対応
Hysteria 2 プロトコル:HTTP/3 認証、TCP ストリーム ✅
QUIC データグラムでの UDP(フラグメントに分割された大きなパケットを含む) ✅
1 つの QUIC 接続での複数の接続 ✅
Salamander 難読化 ✅
Gecko 難読化 ❌
ダウンロード帯域幅(サーバ側の Brutal) ✅
アップロード帯域幅(デバイス側の Brutal) ❌
ポートホッピング ✅
Fast open(接続ごとに 1 往復を省略) ✅ 常にオン
証明書のピン留め、証明書の検証のスキップ ✅
ECH、カスタム CA、TLS クライアント証明書 ❌
Realms(ランデブーサーバ経由の接続) ❌
Fake TCP(mimic) ❌
QUIC のフロー制御ウィンドウのカスタマイズ、cwnd、udp-mtu ❌
hysteria2:// と hy2:// のリンク ✅

対応しているすべての機能は、実際の Hysteria 2 サーバ(公式サーバ、sing-box、mihomo、Xray)のうち、少なくとも 1 つに対してテスト済みです。

公式の Hysteria クライアントの機能の一部は、そのプログラム自体の設定で、Potatso は同じ役割を独自の方法で果たしています。

  • ルーティングと ACL:プロファイルのルールを使ってください。
  • ローカルの SOCKS5 / HTTP サーバ、フォワーディング、TUN モード:Potatso がデバイスの通信を自分で取り込みます。
  • 遅延接続:Potatso は、通信がサーバを必要としたときに接続します。

マスカレードの Web サイト、速度テスト、サーバ自身の帯域幅制限など、サーバ側の設定は、デバイス側では何も必要ありません。

hysteria2:// リンクは、1 行にサーバ全体の情報をまとめたものです。hy2:// は、名前を短くした同じリンクです。

hysteria2://password@host:port/?parameters#name
部分 説明
password パスワード(パーセントエンコード)。ユーザ名とパスワードの場合は name:password と書きます。
host サーバのアドレス。IPv6 アドレスは [2001:db8::1] のように角括弧で囲みます。
port サーバのポート。省略した場合、Potatso は 443 を使います。ポートホッピングでは、443,20000-30000 のように、ここにポートを列挙します。
name 任意。Potatso でのサーバ名。

パラメータは公式の形式に従います。

パラメータ 説明
sni TLS のサーバ名。
insecure 1 で証明書の検証をオフにします。
pinSHA256 サーバの証明書の SHA-256。
obfs、obfs-password salamander とそのパスワード。
mport ポートホッピングのポート。ポートの代わりにこちらに書くアプリもあります。
hop-interval ホップ間隔(秒)。
up、down アップロードとダウンロードの帯域幅。これを書くアプリもあります。

Potatso は、obfs=gecko または ech を含むリンクを読み込みません。hysteria2+realm:// リンクも読み込みません。

Potatso が Hysteria 2 サーバを共有するときは、ホッピングするポートをポート部分または mport に入れた hysteria2:// リンクを提供します。

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

基本的なサーバ:

hysteria2://secret@hy2.example.com:443/?sni=hy2.example.com#Basic

パスワード hidden の Salamander 難読化:

hysteria2://secret@hy2.example.com:443/?obfs=salamander&obfs-password=hidden#Salamander

20000 から 30000 の間でのポートホッピング:

hysteria2://secret@hy2.example.com:443,20000-30000/?sni=hy2.example.com#Hopping

自己署名証明書をピン留め:

hysteria2://secret@203.0.113.7:443/?sni=hy2.example.com&pinSHA256=abababababababababababababababababababababababababababababababab#Pinned
ナビゲーション

Type to search…

↑↓ navigate↵ selectEsc close