Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
onionjuggler — Управляйте своими Onion Services через CLI или TUI в Unix-подобных операционных системах с POSIX-совместимой оболочкой. | Kitploit
Инструменты/GitHubGitHub/nyxnor/onionjuggler
Инструменты шифрования/дешифрованияАудит конфигурацииСетевая безопасностьКонфиденциальностьУтилиты и фреймворки
GitHubnyxnor/onionjuggler

onionjuggler

Управляйте своими Onion Services через CLI или TUI в Unix-подобных операционных системах с POSIX-совместимой оболочкой.

Репозиторий
3833 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

OnionJuggler

shellcheck CodeFactor GitHub top language License Just works

Многофункциональный менеджер луковых сервисов для UNIX-подобных операционных систем, написанный на POSIX-совместимом скриптовом языке shell

OnionJuggler — это минимально требовательный, переносимый набор скриптов и документации, помогающий оператору сервиса жонглировать (управлять) своими луковыми сервисами.

ВНИМАНИЕ: пока не доверяйте этому репозиторию, сохраняйте резервные копии ключей hs в другом месте. Этот проект ещё не выпущен и должен рассматриваться только как разработочный.

Быстрая ссылка на этот репозиторий: git.io/onionjuggler

Содержание

  • Введение
    • Изображения
    • История
    • Цель
    • Возможности
  • Требования
  • Совместимость
  • Инструкции
    • Клонирование репозитория
    • Установка пользовательских переменных
    • Настройка окружения
    • Использование
  • Отмечен на
  • Участники

Введение

Изображения

tui-dialog tui-whiptail cli

История

Этот проект был начат после того, как я увидел потрясающие скрипты OnionShare CLI на Python, которые позволяют создавать эфемерные луковые сервисы, никогда не касающиеся диска, и которые можно легко запускать на Tails или Whonix. Затем, после знакомства с bash-скриптом для луковых сервисов RaspiBlitz на Raspberry Pi, появилась идея портировать его на любой дистрибутив Debian. По мере развития идеи стало ясно, что использование GNU Bash и Linux является единой точкой отказа 1 2, поэтому окончательной целью стало сделать скрипт POSIX-совместимым, чтобы он работал в любой Unix-подобной системе.

Цель

Цель этого проекта:

  • облегчить управление луковыми сервисами: от активации сервиса до добавления авторизации клиентов, предоставляя все возможности редактирования файлов вручную, но с меньшим количеством набора текста.
  • показать, что управление луковым сервисом — это гораздо больше, чем просто использование веб-сервера со страницами.
  • распространение: от уровня исходного кода (FOSS) до его эффекта, позволяющего любому запускать код на любой операционной системе, в любой оболочке или менеджере сервисов. Устранение единой точки отказа.

Устранение единой точки отказа:

  • Ядро — от преобладающего Linux до BSD и любых других Unix-подобных систем.
  • Оболочка — от преобладающей Bash до любой POSIX-оболочки, такой как ksh, (y,d)ash и Zsh (в режиме эмуляции sh).
  • Менеджер сервисов — от преобладающего Systemd до RC, OpenRC, SysVinit, Runit.

Редактирование файла конфигурации Tor (torrc) несложно, но автоматизация решает проблемы неправильной конфигурации и даёт:

  • меньше времени, затрачиваемого на выполнение одной команды;
  • отсутствие простоев за счёт отклонения недопустимых конфигураций перед их применением;
  • полную единообразность;
  • графический интерфейс, помогающий новичкам.

Возможности

  • Включить сервис — создать каталог, если он не существует (HiddenServiceDir), выбрать версию лукового сервиса (HiddenServiceVersion), тип сокета (unix или tcp), любое количество виртуальных портов, а также целевые адреса (HiddenServicePort).
  • Отключить сервис — удалить конфигурацию сервиса из torrc; сервис перестанет быть доступным, но вы можете снова включить его в любое время. При необходимости можно полностью удалить сервис, стерев его конфигурацию и каталог, что навсегда удалит его ключи.
  • Обновить адрес сервиса — предназначено для приватных луковых сервисов: если вы случайно раскрыли его адрес, можно сменить hostname. Учтите, что все авторизованные клиенты будут отключены, а ключи сервиса будут безвозвратно удалены.
  • Учётные данные — показать hostname, клиентов, блок torrc, QR-код hostname.
  • Аутентификация луковых сервисов — только для луковых сервисов v3. Зависит от конфигурации клиента и сервера и работает на основе пары ключей: клиент хранит секретную часть (либо сгенерированную им (более безопасно), либо полученную от оператора сервиса), а оператор лукового сервиса — публичную часть. Если что-то:
    • Сервер — сгенерировать пару ключей или добавить публичную часть; вывести список имён клиентов и их публичных ключей из <HiddenServiceDir>/authorized_clients/<client>.auth. Если настроен хотя бы один клиент, сервис будет недоступен без аутентификации.
    • Клиент — сгенерировать пару ключей или добавить публичную часть; вывести список ваших <ClientOnionAuthDir>/<SOME_ONION>.auth_private.
  • Onion-Location — для публичных луковых сервисов. Вы можете перенаправить пользователей из обычной сети на ваш луковый сервис с помощью этого руководства для nginx, apache2 и HTML-атрибутов header.
  • OpSec — операционная безопасность.
    • — поддержка включения лукового сервиса через unix-сокет для предотвращения обхода через localhost.

Требования

  • Общие:

    • Unix-подобная система.
    • привилегии суперпользователя для вызова команд от root и пользователя tor.
  • Обязательные программы:

    • sh — любая POSIX-оболочка: dash 0.5.4+, bash 2.03+, ksh 88+, mksh R28+, yash 2.29+, busybox ash 1.1.3+, zsh 3.1.9+ ( zsh --emulate sh ) и т.д.
    • tor >= 0.3.5.7
    • grep >=0.9
    • sed
    • openssl >= 1.1 (авторизация клиентов — требуется алгоритм x25519, поэтому LibreSSL не подойдёт)
    • basez >= 1.6.2 (авторизация клиентов)
    • git (сборка)
    • dialog/whiptail (TUI)
    • nginx/apache2 (веб-сервер)
  • Необязательные программы:

    • (lib)qrencode >= 4.1.1 (просмотр списка)
  • Программы для разработки:

    • pandoc (документация)
    • shellcheck (проверка)

Совместимость

В основном протестировано на системах Debian, включая Whonix.

Может работать на OpenBSD —

  • auth — если собрать basez из исходников, так как его нет в портах.
  • web — nginx или apache; конфигурация httpd в OpenBSD сложна для чистого удаления блока сервера.

Что касается других операционных систем, смотрите предопределённые конфигурации в etc/onionjuggler. Они не все были протестированы.

Инструкции

Клонирование репозитория

root@kitploit:~
git clone https://github.com/nyxnor/onionjuggler.git
cd onionjuggler

Настройка окружения

Запустите из клонированного репозитория, чтобы создать каталоги tor, страницы руководства и скопировать скрипты в PATH:

root@kitploit:~
./configure.sh --install

Установка пользовательских переменных

Не следует изменять конфигурацию по умолчанию в /etc/onionjuggler/onionjuggler.conf, она будет изменена при каждом обновлении. Ваши локальные конфигурации должны быть в /etc/onionjuggler/conf.d/*.conf; из этой папки они будут обрабатываться в лексическом порядке, и последнее значение заменит значения по умолчанию.

Использование

Каждый конфигурационный файл и скрипт имеет собственную страницу руководства и сообщение справки — это лучший способ полностью изучить onionjuggler.

Перед выполнением скрипта, вносящего изменения, рекомендуется просмотреть текущие настройки. У каждого скрипта есть опция --getconf, которая выводит текущую конфигурацию, используемую onionjuggler:

root@kitploit:~
onionjuggler-cli --getconf

Также можно получить параметры командной строки без внесения изменений — полезно для проверки корректности присваивания:

root@kitploit:~
onionjuggler-cli --getopt --service=example --hs-version=3

Для использования TUI просто запустите:

root@kitploit:~
onionjuggler-tui

Чтобы создать сервис из командной строки:

root@kitploit:~
onionjuggler-cli --on --service=terminator --socket=tcp --hs-version=3 --port="80:127.0.0.1:80"

Можно гораздо больше — читайте страницы руководства.

Отмечен на

  • TorBox >= v.0.5.0

Участники

График участников

Скачать инструмент
Unix-сокет
  • Веб-сервер — обслуживание файлов вашего скрытого сервиса с помощью Nginx или Apache2.
  • Удобство использования — в проекте поддерживаются два диалоговых окна: dialog и whiptail.
  • Массовые операции — некоторые команды могут выполняться массово с аргументом @all, чтобы включить все сервисы или клиентов (в зависимости от опции --service или --client); можно также перечислить сервисы [SERV1,SERV2,...] и клиентов [CLIENT1,CLIENT2,...]. Команда будет перебирать переменные и применять комбинации.
  • Защита от ошибок — скрипт делает всё возможное, чтобы отфильтровать неверные команды и неправильный синтаксис. Команды несложные, но на первый взгляд могут напугать. Не волнуйтесь: если команда неверна, она не выполнится, чтобы избежать сбоя перезагрузки демона tor из-за некорректной конфигурации. Если же неверная команда всё же выполнится, пожалуйста, откройте issue.