はじめに

Umbra を選ぶ理由

実在サイトによるカモフラージュ、TCP と QUIC の経路分離、既存クライアントとの連携を知り、Umbra が適した用途を確認します。

対象バージョン 1.0.0-alpha翻訳済み

概要

Umbra は、自分でノードを運用するためのオープンソースのプライバシー通信ツールです。サーバーと手元のデバイスで同じバイナリを異なるモードで実行し、アプリはローカルの SOCKS5 入口から接続します。実在サイトによるカモフラージュ、TLS 1.3/TCP、QUIC を一組のクライアントとサーバーにまとめ、ネットワーク環境に応じて接続方法を選べるようにしています。

契約すればすぐに使える VPN サービスではなく、ノードのサブスクリプションも提供しません。インストールしただけでシステム全体の通信を自動的に引き受けることもありません。到達可能なサーバー、両端の設定、SOCKS5 を利用できるアプリまたはプロキシクライアントが必要です。このプロジェクトは、適法なプライバシー保護と開かれたインターネットへのアクセスを目的としています。

Umbra が実際に役立つ点

能動的な探査に対してプロキシの入口を直接さらさない

サーバーはまず接続の認証情報を確認し、認証に通らなかった通信を、プロキシ固有の拒否応答を返すのではなく、設定した実在の宛先サイトへ転送します。単に「通信を暗号化する」だけでなく、外部の観測者が能動的に接続したときに何が見えるかも考慮した構成です。ただし、ノードの IP が遮断されないことを保証するものでも、通信が絶対に識別できないという意味でもありません。

一つの設定で TCP と UDP の両方に対応する

一つのクライアントで TCP 要求を TCP/Vision、UDP 要求を QUIC に振り分けながら、アプリには一つの SOCKS5 入口だけを公開できます。サーバーも一つのインスタンスで TCP と UDP の待ち受けを同時に有効にできます。この二種類の通信のために、ローカルのプロキシノードを二つ維持する必要はありません。

UDP が許可されないネットワークでは、まず TCP を使えます。TCP 接続がリセットによる妨害を受け、UDP が利用できる場合は QUIC を試せます。これは設定で明示的に選ぶもので、自動フェイルオーバーではありません。QUIC の方が速いかどうかはネットワーク経路次第であり、プロトコル名だけでは判断できません。

接続に応じてオーバーヘッドの扱いを選ぶ

TCP の多重化モードでは、複数の要求が外側の接続を共有し、接続を繰り返し確立する必要を減らします。対応する内側の TLS 1.3 通信では、専用 Vision モードが認証付きのネゴシエーション後に暗号化済みのレコードを転送し、二重の暗号化と追加のカプセル化を減らします。それ以外の通信は暗号化を維持します。

両モードには異なるトレードオフがあります。多重化では接続を共有するため、TCP のパケット損失による待ち時間も共有します。Vision は専用接続を使います。現時点では、他のプロキシと同じ条件で行った性能比較がないため、これを根拠に Umbra の方が高速だとは言えません。

使い慣れたプロキシクライアントをそのまま使う

SOCKS5 アウトバウンドに対応する Clash 系クライアントでは、ローカルの Umbra をノードとして利用し、ルール、アプリごとの振り分け、画面操作は引き続き既存クライアントに任せられます。Umbra はリモートへの通信を担当するため、既存のルール体系を組み直す必要はありません。

これは VLESS、VMess、Trojan とのネイティブな互換性を意味しません。リモート側では Umbra サーバーを実行する必要があり、既存プロトコルのノードをそのまま Umbra ノードとしてインポートすることはできません。詳しくはクライアントの接続を参照してください。

どのような用途に向いているか

求めていること推奨する進め方
自分でノードを運用し、実在サイトによるカモフラージュを重視し、コマンドラインを使えるUmbra を試し、まず一つのアプリで接続を確認する
一つの入口から TCP と QUIC 経由の UDP を別々の経路で運ぶ単一インスタンスの混合トランスポート設定を使う
既存の Clash 系クライアントのルールと画面を維持したいローカル SOCKS5 ノードとして Umbra に接続する
既存の VLESS / VMess サブスクリプションをそのまま使いたい対応する既存クライアントを使い続ける。Umbra はプロトコルを置き換えるプラグインではない
成熟した GUI クライアント、利用可能な既成ノード、監査済みの本番向け構成が必要機能一覧だけを理由に現在の alpha 版へ移行しない

違いを知るには、Xray、VMess などとの比較を参照してください。比較は具体的なプロトコルの組み合わせごとに行い、すべてのプロキシを単純な優劣ランキングにはしません。

始める前に知っておくこと

  • 現在のバージョンは 1.0.0-alpha です。プレリリース版の安定性は各自で評価してください。オープンソースであることは、独立したセキュリティ監査の完了を意味しません。
  • インストールページには macOS、Linux、Windows のビルド対象を記載していますが、実際にダウンロードできるファイルは各リリースで確認してください。
  • ローカル SOCKS5 入口にはパスワード認証がありません。127.0.0.1:1080 のループバックへのバインドを維持してください。
  • アプリ層では引き続き HTTPS を使ってください。プロキシ通信は完全な匿名性を提供せず、すでに侵害されたデバイスやブラウザーも保護できません。
  • chrome-latest は現在、過去の Chrome 150 プロファイルを使っています。Chrome 153 のパケットキャプチャ資料は、ブラウザーのフィンガープリント全体が一致することを証明しません。
  • ソースコードは MIT ライセンスで、Umbra のクラウドアカウント登録は不要です。サーバー、ネットワーク、日常の保守は引き続き利用者が担当します。

次のステップ

  1. クライアントとサーバーをインストールする
  2. 鍵を生成して最初の接続を確立する
  3. アプリや Clash 系クライアントを接続する
  4. TCP、Vision、QUIC を選びセキュリティモデルを読む。

このページの内容