
Hulios v2.0.0-rc.4
Прозрачный Tor-прокси на основе Rust, который маршрутизирует весь системный трафик через сеть Tor: повышенная безопасность, корректная изоляция DNS и совместимость с современными Linux-системами.
Hulios
Укреплённая универсальная система невидимости и луковой маршрутизации для Linux
Hulios — это прозрачный Tor VPN-шлюз для Linux на базе eBPF. Он защищает исходящий сетевой трафик, перенаправляя TCP-сокеты и DNS-запросы через встроенный экземпляр Arti (Tor-клиента) и локальный DNS-резолвер на базе Hickory. Работая на уровне сокетов ядра с помощью cgroup-хуков и политической маршрутизации, Hulios обеспечивает надёжные границы, устойчивые к утечкам, не изменяя конфигурации resolv.conf во время выполнения и не полагаясь на внешние файрвол-демоны.
🔒 Архитектура безопасности
Hulios реализует строгую модель выполнения с разделением привилегий:
- Разделение привилегий: Супервизор точки входа запускается с root-привилегиями хоста для подключения eBPF-программ и построения таблиц политической маршрутизации, после чего немедленно порождает непривилегированный дочерний рабочий процесс.
- Изоляция в песочнице: Рабочий процесс сбрасывает привилегии до
nobodyи изолируется с помощью ограничительного фильтра системных вызововseccomp. - Отказоустойчивый аварийный рубильник (Kill-Switch): Маршрутизация исходящего трафика фиксируется с помощью таблиц политик ядра (
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 (AUR) как hulios-git:
# Using paru
paru -S hulios-git
# Using yay
yay -S hulios-git
🛠️ Сборка из исходного кода
1. Установка зависимостей сборки
- Arch Linux:
sudo pacman -S clang libelf zlib sqlite - Debian/Ubuntu:
sudo apt install -y clang libelf-dev zlib1g-dev libsqlite3-dev
2. Компиляция из исходного кода
Убедитесь, что установлен компилятор Rust (выбор тулчейна и требования к целевой платформе автоматически управляются файлом rust-toolchain.toml):
git clone https://github.com/ghaziwali/Hulios.git
cd Hulios
cargo build --release
Скомпилированный двоичный файл будет находиться по пути target/release/hulios.
🚀 Руководство по использованию
Все команды, взаимодействующие с интерфейсами ядра или политической маршрутизацией, требуют повышенных привилегий:
# View global help and available commands
./target/release/hulios --help
# View help for a specific command (e.g. start)
./target/release/hulios start --help
# Start Hulios in foreground TUI mode
sudo ./target/release/hulios start
# Check current running state and Tor bootstrap progress
./target/release/hulios status
# Verify network namespace integrity and check for leaks
sudo ./target/release/hulios diagnose
# Revert system network settings and recover from unclean shutdowns
sudo ./target/release/hulios recover
# Stop Hulios and restore standard internet routing
sudo ./target/release/hulios stop
⚙️ Конфигурация
При первом запуске Hulios автоматически создаёт самодокументируемый шаблонный файл по умолчанию в /etc/hulios/config.toml, если он ещё не существует. Откройте созданный файл, чтобы настроить переменные (например, предпочтительные выходные узлы Tor, перенаправление DNS, пользовательские SOCKS-порты или строгий режим блокировки (lockdown)).
💖 Пожертвования
Если вы считаете Hulios полезным и хотите поддержать его дальнейшую разработку и исследования в области безопасности, мы будем очень признательны за пожертвования:
- Bitcoin (BTC):
bc1q0gllvd7fe2y48emjd4shf42ul3cl4pgda5zpqz - USDT (TRON / TRC20):
TQWUmTATa8sDntobTNGkLmbgmHVS9iWCRx - USDC (Ethereum / ERC20):
0x16aFd1De7889071194A026D79393eb3CE659181e
⚠️ Отказ от ответственности
Обеспечение безопасности сетевого транспортного уровня (уровень 3) в Hulios не гарантирует полной анонимности.
- Отсутствие ответственности / Ненадлежащее использование: ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. РАЗРАБОТЧИК НЕ НЕСЁТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ИЛИ ОБЯЗАННОСТЕЙ ЗА ЛЮБЫЕ УТЕЧКИ ДАННЫХ, НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ, ЮРИДИЧЕСКИЕ ПОСЛЕДСТВИЯ, НЕСТАБИЛЬНОСТЬ СИСТЕМЫ ИЛИ УЩЕРБ, ВОЗНИКАЮЩИЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ, НЕНАДЛЕЖАЩЕГО ИСПОЛЬЗОВАНИЯ ИЛИ НЕЗАКОННОГО ПРИМЕНЕНИЯ HULIOS.
- Фингерпринтинг приложений: Hulios не удаляет трекеры уровня приложений, файлы cookie или конфигурации фингерпринтинга браузера. Для веб-сёрфинга настоятельно рекомендуется использовать официальный Tor Browser, настроенный на маршрутизацию через SOCKS-интерфейс Hulios.
- Компрометация хоста: Hulios не может защитить вашу систему, если злоумышленник получит root-доступ, поскольку он может выгрузить eBPF-программы и изменить таблицы маршрутизации.
- Ограничения сети Tor: Ваш трафик подвержен безопасности сети Tor, включая возможные корреляционные атаки со стороны лиц, контролирующих одновременно входные и выходные узлы.