Open-source project
StressOzz/Zapret-Manager avatar
StressOzz/Zapret-Manager

Zapret Manager for OpenWrt: Installation, Interfaces, and Limits

Универсальный менеджер для обхода блокировок на OpenWrt

2,036 stars92 forksShellLicense varies

At a glance

What is it?
Zapret Manager combines OpenWrt tools for DPI circumvention, DNS over HTTPS, advertising blocking, proxies, and router maintenance in LuCI and a separate web interface. It suits administrators who want one control surface, but the project depends on several external components and router-side packages.
Who is it for?
Adopt Zapret Manager if you administer OpenWrt and want its LuCI, Web UI, and CLI options managed from one panel. Do not choose it if you need Windows support or a documented license.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Shell, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Zapret Manager Changes on an OpenWrt Router

Zapret Manager is intended for people who administer an OpenWrt router and need several network-control functions without assembling separate scripts, packages, and configuration files. Its documented scope includes Zapret, Zapret2, Steer, Forkozz, ByeTube, Mixomo, TG WS Proxy, AmneziaWG, DNS over HTTPS, advertising and tracker blocking, hosts management, and router maintenance.

The panel supports two different approaches to blocked services. Zapret, Zapret2, and ByeTube are presented as local DPI circumvention components that do not send traffic through an external server. Steer, Forkozz, and Mixomo can route selected services through tunnels or servers, which the README positions as an option when local DPI handling cannot solve the problem. This distinction matters. A panel that groups both approaches does not mean they have the same routing, privacy, or failure behavior.

Other functions address the local network rather than one blocked site. DNS over HTTPS encrypts DNS requests for the network, according to the README. Advertising and tracker blocking uses HaGeZi lists in dnsmasq. Hosts provides a separate hosts-related interface, while the System and Terminal sections cover diagnostics, time settings, package mirrors, Flow Offloading fix, and browser access to a command line.

The target user is therefore narrower than the broad list of modules suggests. This is an OpenWrt administration panel, not a general desktop VPN client or a standalone Windows utility. The repository directs Windows users to ZapretOzz instead.

LuCI, Web UI, and Console Paths in Zapret Manager

The project provides a LuCI application and a separate web interface rather than depending on one browser surface. LuCI is integrated into the router's existing web environment. Web UI runs through a separate uhttpd instance on port 7788 and depends on uhttpd-mod-ubus for communication with the backend. Keeping these paths separate is useful when LuCI is unavailable or when an administrator prefers direct access, but it also creates another network service to secure and maintain.

The installer copies a backend, an rpcd plugin, access-control entries, the LuCI menu item, and interface pages. According to the README, the backend performs the work, the rpcd plugin and ACL provide browser access to it, and the menu and pages form the interface. This is a meaningful architectural boundary: UI components do not independently implement each network function, while the backend coordinates installation, configuration, checks, and removal.

Long operations run in the background on the router. The README says the browser tab can be closed and progress will be visible in the output window when the user returns. It also says an installer update checks the downloaded file's header, version, and sh -n syntax before applying it, then preserves component settings. These controls reduce some upgrade risks, although the documentation does not describe signature verification or rollback.

A console version is also available through zms. It launches Zapret-Manager.sh in the terminal, giving administrators a path when a browser session is inconvenient.

Installing Zapret Manager and Reaching Its First Interface

The README gives one SSH installation path. Connect to the OpenWrt router over SSH, then run the installer exactly as published:

sh
sh <(wget -qO - https://raw.githubusercontent.com/StressOzz/Zapret-Manager/refs/heads/main/ZapretManager_LuCI.sh)

The installer stops an existing panel before replacing files, installs the backend and interface files, and adds curl, unzip, and uhttpd-mod-ubus when they are missing. It also configures Web UI on port 7788 and installs the zms command. If an earlier panel operation is still running, the README says the installer asks the administrator to wait rather than interrupting it.

After installation, the console displays the Web UI address. The README gives this example:

text
http://192.168.1.1:7788

The actual address comes from the router installation rather than from a fixed public hostname. Opening that address is the first documented use: it should lead to the separately hosted Zapret Manager Web UI, while the LuCI menu provides access from the router's established interface.

The console entry is also documented:

bash
zms

This starts the console version of Zapret-Manager.sh. The README does not provide a shorter first-use recipe such as selecting a specific strategy from a named menu path. That omission is worth noting. Installation reaches the management interfaces, but choosing and validating a working configuration still depends on the service, its compatibility constraints, and the available component documentation.

Local DPI Tools Versus Tunnel-Based Components

The clearest design choice is the separation between local DPI handling and tunnel-based access. Zapret, Zapret2, and ByeTube sit in the local-processing group. Steer, Forkozz, and Mixomo represent the alternative of sending selected traffic through a tunnel or server. The panel lets administrators choose between categories in one place, but it cannot remove the operational difference between them.

A local component changes how traffic is handled at the router without forwarding it to an external service, as stated by the README. That avoids a dependency on a remote processing server, but it does not mean every blocked resource will work. IP-based blocking, service unavailability, or a filtering condition that the selected strategy does not handle can still prevent access. The README explicitly presents tunneling as useful where local DPI circumvention is insufficient.

The opposite trade-off appears with Steer, Forkozz, and Mixomo. Tunneling can address access problems that cannot be handled locally, but it introduces server availability, configuration, and routing considerations. Zapret Manager documents these modules as choices, not as interchangeable implementations. Its maintenance dashboard also names Forkozz and proxy services among components handled by the watchdog, which shows that the panel manages operational recovery rather than only generating configuration.

Some computer-side Zapret strategies need TCP timestamps enabled. The README supplies separate commands for Windows and Linux:

bash
netsh int tcp set global timestamps=enabled
bash
sysctl -w net.ipv4.tcp_timestamps=1

This is a concrete boundary on the claim that everything can be handled from the router. A selected strategy may also require a setting on each client computer.

Web UI Port 7788, Background Work, and Router Dependencies

Web UI depends on a separate uhttpd configuration and port 7788. That arrangement keeps the panel independent from LuCI, but it means the router must be able to expose the extra service to the administrator's network. The README does not describe authentication requirements, access restrictions, certificate handling, or behavior when port 7788 is already occupied. Those points need checking in the actual router configuration before production use.

The backend also relies on rpcd and ACL entries for browser access. Packages used by the installer include curl for downloads and unzip for archive checks. These are not optional implementation details. If package installation cannot complete, the Web UI path may fail even when files have been copied into the system.

Long-running work is handled asynchronously on the router. Closing the browser does not stop the operation, according to the documentation. This is convenient for package downloads and component setup, but it also means the router remains responsible for execution while the administrator is disconnected. The output window is the documented way to inspect progress after returning.

The watchdog is added to cron to run every two minutes. The README says it can restore rpcd, Forkozz, a proxy, and the advertising list after failures or reboot. That covers selected components rather than every module. The project does not state that the watchdog validates all component health or replaces application-specific monitoring.

ZapretOzz and Separate OpenWrt Scripts as Alternatives

The repository names ZapretOzz as the Windows alternative. That is a platform difference, not a feature-for-feature description. The README says to use ZapretOzz for Windows, while this project is centered on LuCI and a standalone OpenWrt Web UI. Engineers working on router infrastructure should keep those installation paths separate.

The other practical alternative is to install and configure the individual OpenWrt scripts, packages, and services directly. Zapret Manager's value in that comparison is coordination: one panel presents multiple tools, installation and removal controls, diagnostics, background output, and a watchdog. The trade-off is an additional management layer. The panel must retrieve components, maintain its own files and services, and remain compatible with the selected underlying projects.

The README says downloaded material comes from official sources, including authors' GitHub projects and OpenWrt repositories. It does not publish checksums for every downloaded component, describe pinned versions, or explain rollback after a component-level failure. A direct-script setup gives the administrator fewer panel dependencies, but loses the single management surface. Zapret Manager is more appropriate when that surface has operational value; direct configuration is less attractive when several router-wide functions need frequent control.

Release Activity and License Boundaries in Zapret Manager

The repository is not archived, and its last push was on 2026-10-14. The documented releases include ZapretManager_LuCI+WEB 2026-10-08, ZapretOzz-v0.6 2026-07-05, and ZapretOzz-v0.5 2026-05-06. These dates show recent project activity, although the release list alone does not establish the stability of every bundled component.

Upgrade handling is one of the documented maintenance features. The dashboard checks for a new panel version, and the update control verifies the downloaded installer's header, version, and shell syntax before installation. Component settings are reported as preserved during updates. The README does not document a rollback command, configuration backup file, version pinning, or a migration policy for a failed update.

The repository metadata supplied with the project lists the license as unknown. No LICENSE identifier can be confirmed from the information available. The documentation's claims about official upstream sources do not settle licensing, and the separate upstream projects may have their own terms. Organizations considering deployment need to verify the repository's actual license file and the licenses of every bundled or downloaded component before redistribution or managed use.

Editorial conclusion

Adopt Zapret Manager if you administer OpenWrt and want its LuCI, Web UI, and CLI options managed from one panel. Do not choose it if you need Windows support or a documented license. Verify SSH access, port 7788, required packages, component compatibility, and whether a local DPI strategy or a tunnel fits the target service before changing production settings.

Frequently asked questions

How do I install Zapret Manager on OpenWrt?

Connect to the router over SSH and run the published ZapretManager_LuCI.sh command. The installer copies the panel files, adds required packages, configures Web UI on port 7788, and installs the zms command.

Does Zapret Manager provide a Windows interface?

No. The repository describes Zapret Manager as a LuCI and separate Web UI application for OpenWrt. It directs Windows users to the ZapretOzz project.

Can I keep the browser tab closed while Zapret Manager installs a component?

The README states that long operations continue in the background on the router. Progress can be seen in the output window after the administrator returns.

Why might a Zapret strategy fail even after installing Zapret Manager?

Some strategies require TCP timestamps to be enabled on a connected computer. Zapret Manager can install and configure the router panel, but it does not remove this client-side requirement.

What license applies to Zapret Manager?

The repository information identifies the license as unknown, and no confirmed license identifier is available. Check the repository's license files and the terms of its upstream components before redistribution.

Official sources

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. StressOzz/Zapret-Manager on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/stressozz-zapret-manager.svg)](https://hysenlabs.com/projects/stressozz-zapret-manager)

Was this useful?