このプロジェクトについて

AetherはRustで書かれた検閲回避クライアントであり、DPI、プロトコルフィンガープリンティング、UDPスロットリング、エンドポイントブロッキングが一般的な厳しく制限されたネットワークを対象としています。到達可能なエンドポイントを自動的に発見し、暗号化されたトンネルを確立し、アプリケーション向けにローカルSOCKS5プロキシ(デフォルト127.0.0.1:1819)を公開します。 READMEに記載されている主な機能: - エンドツーエンドのデータプレーン検証を伴う自動エンドポイント発見。これにより、ゲートウェイは実際にトラフィックを通過させた後にのみ信頼されます。 - HTTP/3(QUIC)またはHTTP/2(TLS)上のMASQUEトランスポート。HTTP/2ではオプションでTLS ClientHelloフラグメンテーションを利用可能。 - WireGuardトランスポート、およびネストモード: ネストされたWireGuard(`gool`)とネストされたMASQUE(`--mim`)。内側のトンネルを外側のトンネル内からダイヤルし、異なる出口アドレスを取得します。 - ドメイン、アドレス、ポートによるトラフィック難読化とルーティングルール。TLSサーバー名からマッチングするため、tunフロントエンドの背後でもルールが機能し続けます。 - アップストリームプロキシサポート。Aetherは、マシン上で既に動作している別のVPNまたはプロキシを経由してダイヤルアウトできます。 - オプションのTor統合(`tor`フィーチャーでビルド、artiを使用): トンネル経由のTor(`--tor`)、Tor経由のトンネル(`--tor-reverse`)、またはTorのみ(`--tor-only`)。`--tor`では、127.0.0.1:1820上の2番目のプロキシがTor経由で出口します。Torがブロックされている場合、reverse/onlyモードはbridgedbからブリッジを取得し、`pt/`フォルダーに同梱されたプラガブルトランスポートを使用します。 - 自動再接続、および最後に正常動作したゲートウェイへのクイック再接続。 - コマンドラインフラグ、環境変数、または対話式プロンプトによる設定。 プラットフォームとパッケージング: Windows x86_64、macOS(Apple SiliconおよびIntel)、Linux x86_64/arm64/armv7(glibcおよびmusl静的ビルド)、OpenWrtルーター(aarch64、armv7l、x86_64。MIPSは非対応)、およびTermux経由のAndroid向けのビルド済みバイナリ(1行のインストールスクリプト付き)。各アーカイブには対応する`.sha256`ファイルと、統合された`SHA256SUMS.txt`があります。DockerイメージはGHCRで公開されており、実行間で生成されたWARPアイデンティティを永続化するために`/data`ボリュームが推奨されます。 ソースからのビルドにはRust 1.98以降、C/C++コンパイラー、CMakeが必要で、Cloudflareの`quiche`リポジトリーを`aether`ディレクトリーの隣に配置する必要があります。Cargoマニフェストは`aether/Cargo.toml`にあります。 READMEの運用上の注意: SOCKS5プロキシには認証がないため、localhostまたはLANアドレスにバインドし、WANに公開しないでください。OpenWrtでは、設定は`/etc/aether`などの永続ストレージに置く必要があります。また、ルーターが自身のトラフィックをtunフロントエンドにルーティングする場合、`--mark 0xff`を使用するとAetherのソケットがtunをバイパスできます。このプロジェクトはCluvexStudioによって開発されており、そのMASQUEサポートはCloudflareのQuicheライブラリーに基づいて構築されています。