
2026/07/29 4:54
Hulios:Linux 向けの eBPF を活用した透明型 Tor ゲートウェイ
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
以下の改善されたバージョンは、欠落している詳細を盛り込みつつ、文脈の流れと明瞭さを維持しています。
改善されたサマリー:
Hulios は、Linux 向けに設計された eBPF を利用した透明な Tor VPN ゲートウェイであり、埋め込まれた Arti(Tor クライアント)および Hickory ベースの DNS リゾルバーを経由して TCP および DNS フローをリダイレクトすることで、アウトバウンドトラフィックを保護します。そのセキュリティアーキテクチャは、権限分離(root スーペバイザーが非特権ワーカーを起動)、seccomp フィルターによるサンドボックス隔離、カーネルポリシーブラックホールを持つフェイルセーフのキルスイッチ、LSM eBフックにより生 AF_PACKET ソケットをブロックする機能など、堅牢な隔離を最優先しています。Linux カーネル 5.10 以降を搭載し、必要な CONFIG フラグが有効化されたシステムへのインストールには、Arch Linux および Debian 13(Bookworm)の検証済みプラットフォームを利用できます。Arch では
paru や yay を用いて AUR パッケージ(例: hulios-git)からインストール可能です。 alternatively、依存関係(clang、libelf、zlib、sqlite)をインストールし、GitHub リポジトリをクローンして Rust でコンパイルすることでソースからビルドすることも可能です。使用方法は、状態管理のための単純なコマンド(start、stop、status、diagnose、recover)で実現され、カーネルとの相互作用には通常 sudo の実行が必要ですが、status と diagnose は例外となります。Hulios は出口ノード、DNS、厳格なロックダウンモードのカスタマイズなどに対応した構成テンプレート(例: /etc/hulios/config.toml)を自動的に生成します。ユーザーは、Hulios が完全な匿名性を保証するものではなく、ルート侵害やデータ漏洩に対する保証を提供せず、ブラウザのトラッカーやクッキーを削除できないことを理解しておく必要があります。効果的なプライバシーを実現するには、SOCKS インターフェースを通じて公式 Tor ブラウザと組み合わせる必要があります。サポートについては、Bitcoin、USDT TRC20、USDC ERC20 のドネーションアドレスが用意されています。本文
Hulios:硬化されたユニバーサル Linux 見えない onions 系システム
Hulios は、eBPF を動力源とする Linux 向け透過型 Tor VPN ゲートウェイです。TCP ソケットおよび DNS クエリを内蔵した Arti(Tor クライアント)とローカルの Hickory ベースの DNS リゾルバーを経由させることで、外発ネットワークトラフィックを保護します。cgroup フックとポリシールーティングを用いてカーネルソケットレベルで動作するため、runtime の resolv.conf 設定変更や外部ファイアウォールの利用が不要な堅牢なリーク耐性境界を実装しています。
🔒 セキュリティアーキテクチャ
Hulios は厳格な特権分離型ランタイムモデルを採用しています。
- 特権分離: スーパーバイザはホスト側のルート権限で動作し、eBPF プログラムへのフックやポリシールーティングテーブルの構築を行います。その後、直ちに非特権なワーカー子プロセスを生成します。
- サンドボックス隔離: ワーカープロセスは
ユーザーへ権限を降伏させ、制限的なnobody
システムコールフィルターを用いて隔離されます。seccomp - 安全に失敗するキルスイッチ: 出力トラフィックのルーティングはカーネルポリシーテーブル(テーブル 100)とデフォルトブラックホールによってロックされています。デーモンのクラッシュや強制終了(SIGKILL)が発生した場合でも、ブラックホールが活性化し続け、IP リークを防ぎつつ外部トラフィックをブロックします。
- ローソケットブロッカー: LSM eBPF フックを用いて、ロー AF_PACKET ソケットの作成をグローバルにブロックし、アプリケーションによる IP ルーティングルールの迂回を防止します。
📋 要件
Hulios を動作させるための環境条件です。
- Linux カーネル: バージョン 5.10 以降。
- カーネル設定: 以下のモジュールが有効化されている必要があります。
CONFIG_BPF_SYSCALLCONFIG_BPF_LSMCONFIG_CGROUPS_V2
- ビルド依存関係:
(eBPF コンパイル用)clanglibelf
検証済みプラットフォーム
- Arch Linux
- Debian 13 (Bookworm)
⚙️ ビルドとインストール
📦 Arch Linux (AUR)
Hulios は Arch User Repository (AUR) に
hulios-git という名前で利用可能です。
# paru を使用する場合 paru -S hulios-git # yay を使用する場合 yay -S hulios-git
🛠️ ソースコードからのビルド
-
ビルド依存関係のインストール
- Arch Linux:
sudo pacman -S clang libelf zlib sqlite - Debian/Ubuntu:
sudo apt install -y clang libelf-dev zlib1g-dev libsqlite3-dev
- Arch Linux:
-
ソースコードからのコンパイル Rust コンパイラをインストールしていることを確認してください(
で自動的に管理されます)。rust-toolchain.tomlgit clone https://github.com/ghaziwali/Hulios.git cd Hulios cargo build --releaseコンパイルされたバイナリは
に格納されます。target/release/hulios
🚀 利用ガイド
カーネルインターフェースやポリシールーティングと相互作用するコマンドには、権限昇級(例:sudo)が必要です。
- グローバルヘルプ表示:
./target/release/hulios --help - 特定のサブコマンドヘルプ表示 (例:start):
./target/release/hulios start --help - TUI モードでの起動 (フォアグラウンド):
sudo ./target/release/hulios start - 実行状態と Tor 接続状況の確認:
./target/release/hulios status - ネットワークネームスペースの完全性確認・リーク検出:
sudo ./target/release/hulios diagnose - システム設定のリセット・復旧 (不潔なシャットダウン後):
sudo ./target/release/hulios recover - 停止と標準ルーティングの回復:
sudo ./target/release/hulios stop
⚙️ 設定
最初の実行時、設定ファイル
/etc/hulios/config.toml が存在しない場合は、自己ドキュメント化されたデフォルトテンプレートが自動生成されます。このファイルをオープンしてカスタマイズしてください(例:好む Tor エグジットノード、DNS リダイレクト、カスタム SOCKS ポート、厳格なロックダウンモードなど)。
💖 寄付
Hulios の継続的なセキュリティ開発および研究を支援したい場合は、寄付を歓迎しています。
- Bitcoin (BTC):
bc1q0gllvd7fe2y48emjd4shf42ul3cl4pgda5zpqz - USDT (TRON / TRC20):
TQWUmTATa8sDntobTNGkLmbgmHVS9iWCRx - USDC (Ethereum / ERC20):
0x16aFd1De7889071194A026D79393eb3CE659181e
⚠️ 免責事項
Hulios はネットワークトランスポート層(レイヤー 3)を保護しますが、完全な匿名性を保証するものではありません。
- 責任の否認: ソフトウェアは現状有姿(AS IS)で提供され、いかなる保証も伴いません。データの漏洩、プライバシー侵害、法的結果などについて開発者は責任を負いません。
- アプリケーションフィンガープリンティング: ウェブ閲覧については、Hulios SOCKS インターフェース経由を使用する公式 Tor ブラウザの使用を強く推奨します。ブラウザのトラッカーやクッキーは削除されません。
- ホストの侵害: 敵対者がルートアクセスを取得した場合、Hulios はシステムを保護できません(eBPF プログラムのアンロードやルーティングテーブルの変更が可能ため)。
- Tor ネットワークの制限: あなたのトラフィックは Tor ネットワーク自体のセキュリティ(入出口ノードの相関攻撃など)に従うことになります。