設定リンクは、クライアントに必要なもの(サーバー、鍵、トランスポートの設定)をすべて 1 行にまとめたものです。読み方が分かれば、何を受け取ったのか、そして設定がなぜ失敗するのかが分かります。以下の例はすべてプレースホルダーで、実在のサーバーではありません。
VLESS
vless://[email protected]:443?encryption=none&security=reality&sni=site.example&fp=chrome&pbk=PUBLIC_KEY&sid=SHORT_ID&type=tcp&flow=xtls-rprx-vision#my-config
| 部分 | 意味 |
|---|---|
00000000-… | ユーザー ID(UUID)。これが鍵で、持っている人は誰でもそのサーバーを使えます。 |
server.example:443 | サーバーのアドレスとポート。 |
encryption=none | VLESS 自体は暗号化を行いません。トラフィックはセキュリティ層が保護します。 |
security | none、tls、reality のいずれか。 |
sni | TLS ハンドシェイクで提示されるサーバー名。REALITY では、模倣される実在のサイトです。 |
fp | クライアントが模倣する TLS フィンガープリント。たとえば chrome。 |
pbk、sid | REALITY の公開鍵とショート ID。どちらもサーバーと完全に一致している必要があります。 |
type | トランスポート:tcp、ws(WebSocket)、grpc など。 |
flow | xtls-rprx-vision は Vision フローで、REALITY、または TCP 上の TLS と組み合わせて使います。 |
path、host、serviceName | WebSocket または gRPC トランスポートを使う場合の設定。 |
#my-config | リストに表示されるラベル。 |
VMess
vmess:// リンクは、プレフィックスのあとに、小さな JSON ドキュメントを Base64 にしたものが続く形です。デコードすると次のようになります。
{"v":"2","ps":"my-config","add":"server.example","port":"443","id":"00000000-0000-0000-0000-000000000000","aid":"0","scy":"auto","net":"ws","type":"none","host":"server.example","path":"/path","tls":"tls","sni":"server.example"}
add と port がサーバー、id が UUID、aid が旧式の alter ID(0 であるべきです)、net がトランスポート、host と path は WebSocket 用、tls が TLS を有効にし、ps がラベルです。手作業でデコードするには、vmess:// のあとのテキストを base64 -d に通します。
Shadowsocks
ss://BASE64(method:password)@server.example:8388#my-config
@ の前の部分は暗号方式とパスワードで、Base64 でエンコードされています。AEAD 暗号を使ってください。rc4-md5 や aes-256-cfb のような古いストリーム暗号は弱いものです。古いリンクの中には、代わりに method:password@host:port 全体を Base64 エンコードしているものもあります。
Trojan
trojan://[email protected]:443?security=tls&sni=server.example&type=tcp#my-config
@ の前の部分がパスワードです。Trojan はトラフィックを保護するために TLS を必要とするので、security=tls が含まれているべきです。
サブスクリプション
サブスクリプション URL は、通常は Base64 エンコードされた、1 行に 1 つのリンクのリストを返します。アプリはそれを取得してデコードし、すべてのリンクを追加します。プロバイダーがブロックされたサーバーを入れ替えたときは、サブスクリプションを更新すると新しいサーバーが入ります。
リンクを壊す間違い
リンクデコーダーは、次のようなよくある間違いを検出します。
- 無効な UUID またはポート。
- 公開鍵またはサーバー名のない REALITY。
- TLS のない VLESS または Trojan。
allowInsecureがオンになっていること(証明書の確認がオフになります)。- 古い Shadowsocks の暗号方式。
- 0 以外の VMess alter ID。
pbk や sid の 1 文字が違うだけで、REALITY の設定は何のメッセージもなく失敗します。
接続できても何も読み込まれないことがある理由をご覧ください。
リンクは認証情報
リンクの中の UUID やパスワードは、サーバーへの鍵です。リンクを持っている人は誰でもそれを使えます。共有サーバーでは、あなたの利用枠が削られることもあります。リンクを公開チャットに投稿しないでください。公開されたリンクは、その分ブロックされるのも早くなります。
このサイトのデコーダーはページ内でデコードし、どこにも何も送信しません。リンクをデコードするとき、ページはネットワークリクエストを一切行いません。それでも、リンクを貼り付けるオンラインツールには注意してください。上で示したように、base64 -d を使えばオフラインでデコードできます。