os-zapret2-restyle — плагин Zapret2 для OPNsense с GUI и автоматическим подбором

Started by Tolian82, Today at 03:45:43 PM

Previous topic - Next topic
Всем привет!

Хочу представить свой проект — os-zapret2-restyle, нативный плагин для OPNsense, предназначенный для управления Zapret2, настройки стратегий обхода DPI и автоматизированного поиска работающих конфигураций.

Проект бесплатный, с открытым исходным кодом. Разработка началась в мае 2026 года и активно продолжается.



Что это такое

os-zapret2-restyle объединяет движок dvtws2 с интерфейсом OPNsense. Можно управлять службой, настраивать стратегии и запускать лабораторные проверки непосредственно из WebGUI, без необходимости вручную редактировать конфигурации.

Одна из главных особенностей — Strategy Lab. Вместо случайного перебора параметров пользователь может указать заблокированный ресурс, а лаборатория выполнит серию проверок стратегий на его собственном интернет-подключении и покажет подтверждённые результаты.

Ключевые возможности

  • Управление Zapret2 — установка движка, выбор и смена upstream-версий, запуск, остановка, перезапуск и контроль состояния службы через WebGUI.
  • Traffic Strategies — гибкие TCP/UDP-профили с нативным синтаксисом dvtws2, поддержкой HOSTLIST, IPSET, пользовательских параметров и исключений доменов.
  • Strategy Lab — автоматический подбор и проверка стратегий. Режимы Standard и Extended; тестирование TLS, HTTP, QUIC/HTTP3 и UDP; проверка стабильности и сохранение результатов.
  • Voice Transmission — отдельная страница с пятью настраиваемыми UDP/STUN-профилями: Telegram, Discord, X (Twitter), SIP (VoIP) и Custom. Функциональность экспериментальная: успешная работа голосовых вызовов пока не гарантируется.
  • Дополнительные Lua/BIN ресурсы — установка и удаление дополнительных Lua-скриптов и бинарных payload-файлов, использование совместимых ресурсов при подборе стратегий.
  • Безопасное применение конфигурации — предварительная проверка параметров, транзакционный Apply, интеграция с IPFW, контроль работоспособности службы и механизмы отката.
  • Локализация — полноценный интерфейс на русском и английском языках, включая настройки, справку и диагностические сообщения.
  • Установка и обновления — собственный репозиторий FreeBSD-пакетов с интеграцией в систему обновлений OPNsense.

Архитектура: Traffic Strategies и Voice Transmission используют общую конфигурацию и один управляемый процесс dvtws2. Strategy Lab запускает изолированные проверки с временными правилами IPFW, после чего восстанавливает исходное состояние службы.

Посмотреть полную схему архитектуры в README.



Активная разработка и планы

Ближайшие задачи — версия v0.6.1:

  • Полноценная поддержка IPv4/IPv6 — для IPSET, стратегий, голосовых профилей, IPFW и лаборатории.
  • Global Exclude IPSet — единый список IPv4/IPv6-адресов и подсетей, исключённых из DPI-обработки во всех профилях.
  • IPv6 в Strategy Lab — отдельный переключатель, независимое тестирование A/AAAA-адресов и адаптация времени проверок.

Часть этих изменений уже реализована в тестовых сборках и проходит проверки на FreeBSD/OPNsense. Полная приёмка на реальном сетевом трафике пока продолжается.

Дальнейшее развитие:

  • Voice/P2P — исследование индивидуальных диапазонов UDP-портов, динамических адресов собеседников, STUN и дополнительных медиапротоколов.
  • Strategy Lab — оптимизация поиска стратегий, развитие диагностики, сохранения заданий, отмены тестов и восстановления после ошибок.
  • Lua/BIN — расширение каталога ресурсов, автоматическое определение их совместимости и улучшение генерации кандидатов.
  • Надёжность — дальнейшая доработка обновлений, мониторинга службы, очистки временных ресурсов и обработки нештатных ситуаций.
  • Производительность — исследование возможностей параллельного тестирования и сокращения времени подбора стратегий.
  • Долгосрочная цель — развитие проекта до v1.0.0 и последующее рассмотрение портирования на pfSense.



Совместимость и установка

Текущий стабильный релиз: v0.6.0
Целевая платформа: OPNsense 26.7 / FreeBSD 15 amd64
Лицензия: MIT

GitHub: https://github.com/Tolian82/os-zapret2-restyle

Скачать стабильный релиз:
https://github.com/Tolian82/os-zapret2-restyle/releases/tag/v0.6.0

Инструкция по установке и настройке:
https://github.com/Tolian82/os-zapret2-restyle#installation-from-the-opnsense-web-gui

План развития:
https://github.com/Tolian82/os-zapret2-restyle/blob/main/docs/ROADMAP.md



Благодарности

Хочу отдельно поблагодарить Umurcan Gorur (ugorur) — автора оригинального os-zapret2.

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

Отдельная огромная благодарность bol-van за создание и развитие Zapret2. Именно его движок и исследования DPI сделали возможной реализацию нашего плагина.



Обратная связь

Проект активно развивается, поэтому буду рад тестированию, замечаниям, предложениям и конструктивной критике.

Если обнаружите ошибку или захотите предложить новую возможность — пишите в этой теме или открывайте Issue на GitHub.

GitHub — os-zapret2-restyle

Если проект окажется полезным, буду благодарен за звёздочку на GitHub — это поможет другим пользователям найти его.

Спасибо сообществу OPNsense!