OPNsense Forum

English Forums => Development and Code Review => Topic started by: Tolian82 on October 30, 2026, 04:05:19 PM

Title: os-zapret2-restyle — Native Zapret2 Plugin for OPNsense with Strategy Lab, WebGU
Post by: Tolian82 on October 30, 2026, 04:05:19 PM
Hi everyone!

I'd like to introduce os-zapret2-restyle (https://github.com/Tolian82/os-zapret2-restyle), an independent, free, open-source OPNsense plugin that integrates Zapret2 (https://github.com/bol-van/zapret2) with native WebGUI management, flexible DPI bypass strategies, and automated strategy testing.

I've been developing the project since May 2026. It started as a personal experiment and has gradually grown into a much larger project with its own architecture, package repository, and development roadmap.



What is os-zapret2-restyle?

The plugin brings the native dvtws2 engine into OPNsense, allowing users to manage Zapret2, configure traffic profiles, and test DPI bypass strategies directly from the firewall's WebGUI.

One of its main features is Strategy Lab: instead of manually guessing which parameters might work, users can run automated tests against a selected destination using their own ISP connection.

The laboratory verifies candidate strategies and provides results that can be manually transferred to the traffic configuration.

Current Features


Architecture overview

Traffic Strategies and Voice Transmission share a single configuration model, a common Apply/rollback pipeline, managed IPFW rules, and one dvtws2 process.

Strategy Lab uses a separate temporary testing workflow, restores the original service state after testing, and does not automatically modify saved user strategies.

View the architecture diagram in the README (https://github.com/Tolian82/os-zapret2-restyle#architecture-overview)



Active Development and Roadmap

The project is actively developed, with several major improvements underway.

Current development — v0.6.1


The IPv4/IPv6 and Exclude IPSet work has already reached published development builds. Source-level, CI, and selected installed-system tests have passed, but full live WAN/IPv6 validation remains in progress.

Further development and research


Development priorities and implementation details are documented in the repository:

Development Roadmap (https://github.com/Tolian82/os-zapret2-restyle/blob/main/docs/ROADMAP.md)

Architecture and Technical Specifications (https://github.com/Tolian82/os-zapret2-restyle/tree/main/docs/architecture)



Compatibility, Releases and Installation

Latest stable release: v0.6.0
Current testing line: v0.6.1
Target platform: OPNsense 26.7 / FreeBSD 15 amd64
Runtime: bol-van/zapret2 (dvtws2)
License: MIT

Source code:
https://github.com/Tolian82/os-zapret2-restyle

Stable release:
https://github.com/Tolian82/os-zapret2-restyle/releases/tag/v0.6.0

Development/testing releases:
https://github.com/Tolian82/os-zapret2-restyle/releases

Installation instructions:
https://github.com/Tolian82/os-zapret2-restyle#installation-from-the-opnsense-web-gui

The project is currently distributed through an independent, unofficial package repository rather than the official OPNsense plugin repository.

Because it modifies firewall traffic processing and uses privileged services, I recommend reviewing the source code and starting with a test installation.



Acknowledgements

I'd especially like to thank Umurcan Gorur (ugorur) (https://github.com/ugorur), the author of the original os-zapret2 (https://github.com/ugorur/os-zapret2) plugin.

His project inspired me to take my first steps into software development with AI assistance.

Although I've worked in IT for 26 years, my professional background is primarily in systems architecture. Software development is a new chapter for me, and this project has become a valuable learning experience.

What began with his original idea has gradually evolved into an independent project with additional functionality and its own architecture.

I'm sincerely grateful for his work, encouragement, and constructive feedback.

A very special thanks also goes to bol-van (https://github.com/bol-van) for creating and maintaining Zapret2 (https://github.com/bol-van/zapret2).

The original Zapret2 engine and its DPI research form the technological foundation of this project. Without that work, this integration would not exist.



Feedback and Code Review Welcome

This is an actively evolving open-source project, and I'd really appreciate feedback from the OPNsense community.

I'm especially interested in:


If you find an issue or have a suggestion, feel free to reply here or open a GitHub issue.

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

Thanks to the OPNsense community for your time and feedback!

Best regards,
Tolian82