Hulios:基于eBPF的透明Tor网关(Linux)

Hacker News Top 工具

摘要

Hulios 是一个基于 eBPF 的透明 Tor VPN 网关,适用于 Linux。它通过嵌入式 Arti Tor 客户端和基于 Hickory 的 DNS 解析器重定向 TCP 和 DNS 流量,从而保护出站流量,并具备内核级泄漏防护。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/07/28 21:29

ghaziwali/Hulios

来源:https://github.com/ghaziwali/Hulios

Hulios

强化通用Linux隐身与洋葱系统

Hulios 是一个基于 eBPF 的透明 Tor VPN 网关,专为 Linux 设计。它通过将出站 TCP 套接字和 DNS 查询重定向至内置的 Arti(Tor 客户端)实例和本地化的 Hickory 驱动 DNS 解析器,从而保障网络流量安全。Hulios 在内核套接字层面,借助 cgroup 挂钩和策略路由,实现了稳固的防泄漏边界,无需修改运行时 resolv.conf 配置,也无需依赖外部防火墙守护进程。

内核 技术 Rust 平台


🔒 安全架构

Hulios 采用严格的权限分离运行时模型:

  • 权限分离: 入口点监控程序以宿主 root 权限运行,用于挂载 eBPF 程序并构建策略路由表,随后立即生成一个非特权的工作子进程。
  • 沙箱隔离: 工作进程将权限降级为 nobody,并通过严格的 seccomp 系统调用过滤器进行隔离。
  • 失效安全截断开关: 出站流量路由通过内核策略表(table 100)和默认黑洞锁定。若守护进程崩溃或被强制终止(SIGKILL),黑洞依然保持活跃,阻止出站流量以防止 IP 泄漏,直至手动恢复。
  • 原始套接字拦截器: 一个 LSM eBPF 挂钩全局阻止创建原始 AF_PACKET 套接字,从而防止应用程序绕过标准 IP 路由规则。

📋 系统要求

  • Linux 内核: 版本 5.10 或更高。
  • 内核配置: 必须启用 CONFIG_BPF_SYSCALL、CONFIG_BPF_LSM 和 CONFIG_CGROUPS_V2。
  • 构建依赖: clang 和 libelf(编译时 eBPF 编译所需)。

已验证平台

已在 Arch Linux 和 Debian 13(Bookworm) 上测试并验证。


⚙️ 构建与安装

📦 Arch Linux(AUR)

Hulios 可在 Arch 用户软件仓库中作为 hulios-git 获取:

``bash

使用 paru

paru -S hulios-git

使用 yay

yay -S hulios-git ``


🛠️ 从源代码构建

1. 安装构建依赖

  • Arch Linux: bash sudo pacman -S clang libelf zlib sqlite
  • Debian/Ubuntu: bash sudo apt install -y clang libelf-dev zlib1g-dev libsqlite3-dev

2. 从源代码编译

确保已安装 Rust 编译器(工具链选择及目标要求由 rust-toolchain.toml 自动管理): bash git clone https://github.com/ghaziwali/Hulios.git cd Hulios cargo build --release 编译后的二进制文件位于 target/release/hulios。


🚀 使用指南

所有涉及内核接口或策略路由的命令都需要提升权限:

``bash

查看全局帮助及可用命令

./target/release/hulios –help

查看特定命令的帮助(例如 start)

./target/release/hulios start –help

以前台 TUI 模式启动 Hulios

sudo ./target/release/hulios start

检查当前运行状态及 Tor 引导进度

./target/release/hulios status

验证网络命名空间完整性并检查泄漏

sudo ./target/release/hulios diagnose

恢复系统网络设置,从不干净的关机中恢复

sudo ./target/release/hulios recover

停止 Hulios 并恢复标准互联网路由

sudo ./target/release/hulios stop ``


⚙️ 配置

Hulios 在首次运行时(若配置文件尚不存在)会自动在 /etc/hulios/config.toml 生成一个默认的自文档化模板文件。打开该生成文件即可自定义变量(如首选 Tor 出口节点、DNS 重定向、自定义 SOCKS 端口或严格锁定模式)。


💖 捐赠

如果您觉得 Hulios 有用,并希望支持其持续的安全开发与研究,欢迎捐赠:

  • 比特币(BTC): bc1q0gllvd7fe2y48emjd4shf42ul3cl4pgda5zpqz
  • USDT(波场 / TRC20): TQWUmTATa8sDntobTNGkLmbgmHVS9iWCRx
  • USDC(以太坊 / ERC20): 0x16aFd1De7889071194A026D79393eb3CE659181e

⚠️ 免责声明

Hulios 保障网络传输层(第三层)安全,但并不能保证完全匿名。

  • 无责任 / 滥用: 本软件按“现状”提供,不附带任何明示或暗示的担保。开发者对因使用、误用或非法应用 Hulios 而导致的任何数据泄漏、隐私受损、法律后果、系统不稳定或损害,不承担任何责任。
  • 应用指纹识别: Hulios 不会移除应用层追踪器、Cookie 或浏览器指纹配置。在网页浏览时,强烈建议使用官方 Tor 浏览器,并配置其通过 Hulios SOCKS 接口路由。
  • 主机被攻陷: 若攻击者获取 root 权限,则 Hulios 无法保护您的系统,因为攻击者可以卸载 eBPF 程序并修改路由表。
  • Tor 网络局限: 您的流量受限于 Tor 网络的安全性,包括可能由同时控制入口和出口节点的实体发起的关联攻击。

相似文章

apernet/hysteria

GitHub Trending (daily)

Hysteria 是一款基于定制 QUIC 协议构建的高性能、抗审查代理工具,支持包括 SOCKS5 和 TCP/UDP 转发在内的多种模式。

pi-hole/pi-hole

GitHub Trending (daily)

# pi-hole/pi-hole 源代码:[https://github.com/pi-hole/pi-hole](https://github.com/pi-hole/pi-hole) <!-- markdownlint-configure-file { "MD004": { "style": "consistent" } } --> <!-- markdownlint-disable MD033 --> <!-- markdownlint-enable MD033 -

p1neappleXpress/OpenFlux

GitHub Trending (daily)

OpenFlux 是一个网络栈研究工具,提供基于可插拔传输的 TCP 隧道,例如 Yandex Docs 和 Max Messenger,用于 SOCKS5 代理设置。