5 changed files with 91 additions and 15 deletions

No files matched your search

+12
View File
@@ -1,3 +1,15 @@
## 4.68.2-r3s.1 — 27.10.2026
- Установщик, модуль AmneziaWG и исходники для пересборки опубликованы в публичном GitHub-форке Wenil925/Zapret-Manager.
- Установка модуля использует фиксированный GitHub-тег; обновление панели и команда zmw получают ветку friendlywrt-r3s этого форка.
- Бинарник модуля и логика установки сохранены из подтверждённой владельцем версии 4.68.1.
## 4.68.1-r3s.1 — 27.10.2026
- Адаптация установки AmneziaWG 3.1 для NanoPi R3S / R3S LTS на FriendlyWrt-2026-10-13 с реальным ядром 6.1.141; основана на исходной панели 4.68.
- Владелец R3S подтвердил успешную работу. Релиз закрепляет уже опубликованный установщик 4.68.1 и тот же модуль; исполняемый код с момента проверки не менялся.
- Добавлены полная команда установки с закреплённого тега, границы совместимости и решение удержания пакета DoH зависимостью BigRedButton при переходе на Forkozz.
## 4.68 — 27.10.2026
### 🦊 Forkozz
+5 -5
View File
@@ -1,6 +1,6 @@
#!/bin/sh
read -r _ _ ZM_NEW_VER <<'ZM_VERSION_EOF'
# Version: 4.68.1
# Version: 4.68.2
ZM_VERSION_EOF
set -e
@@ -129,7 +129,7 @@ fi
CONF="/etc/config/zapret"
ZM_VERSION="@ZM_VERSION@"
ZM_SCRIPT_URL="https://gitea.bvrdo.online/wenil/Zapret-Manager/raw/branch/main/ZapretManager_LuCI.sh"
ZM_SCRIPT_URL="https://raw.githubusercontent.com/Wenil925/Zapret-Manager/friendlywrt-r3s/ZapretManager_LuCI.sh"
GH_RAW="https://raw.githubusercontent.com"
GH_MAIN="https://github.com"
MT_URL_ITDOG="${GH_RAW}/StressOzz/Zapret-Manager/refs/heads/main/files/MagiTrickle/configAD.yaml"
@@ -13956,7 +13956,7 @@ _awg_fetch() {
AWG_KMOD_MANUAL="/etc/zm-awg/kmod-manual"
AWG_VENDOR_INIT="/etc/init.d/zm-awg-r3s"
AWG_VENDOR_SHA="1cb1ee6eeb9fd90223e03d2287962ae759e9d82a1195fe3bc1ce9a39712ceff6"
AWG_VENDOR_URL="https://gitea.bvrdo.online/wenil/Zapret-Manager/raw/tag/awg-r3s-3.1.20260906-fw20261013/vendor/awg/r3s-fw20261013/amneziawg.ko"
AWG_VENDOR_URL="https://raw.githubusercontent.com/Wenil925/Zapret-Manager/v4.68.2-r3s.1/vendor/awg/r3s-fw20261013/amneziawg.ko"
_awg_vendor_managed() { grep -q ' r3s-fw20261013$' "$AWG_KMOD_MANUAL" 2>/dev/null; }
_awg_vendor_profile() {
[ "$PKG" = apk ] && [ "$(uname -r)" = 6.1.141 ] || return 1
@@ -13984,7 +13984,7 @@ _awg_vendor_install() {
_rb_say "Скачиваем модуль AWG 3.1 для родного ядра FriendlyWrt 6.1.141"
if ! _rb_fetch_pkg "$AWG_VENDOR_URL" "$d/amneziawg.ko" ||
! printf '%s\n' "$AWG_VENDOR_SHA $d/amneziawg.ko" | sha256sum -c -; then
echo "ОШИБКА: модуль из Gitea не скачан или его SHA256 не совпал — установка остановлена"
echo "ОШИБКА: модуль из GitHub не скачан или его SHA256 не совпал — установка остановлена"
rm -rf "$d"; return 1
fi
for f in ko marker init; do
@@ -55432,7 +55432,7 @@ for _zm_c in "zms Zapret-Manager.sh" "zmw ZapretManager_LuCI.sh"; do
#!/bin/sh
u="https://raw.githubusercontent.com/StressOzz/Zapret-Manager/main/${_zm_c#* }"
ZM_GET_EOF
[ "${_zm_c%% *}" != zmw ] || printf '%s\n' 'u="https://gitea.bvrdo.online/wenil/Zapret-Manager/raw/branch/main/ZapretManager_LuCI.sh"' >> "/usr/bin/zmw"
[ "${_zm_c%% *}" != zmw ] || printf '%s\n' 'u="https://raw.githubusercontent.com/Wenil925/Zapret-Manager/friendlywrt-r3s/ZapretManager_LuCI.sh"' >> "/usr/bin/zmw"
cat >> "/usr/bin/${_zm_c%% *}" <<'ZM_GET_EOF'
t="/tmp/zm-get.$$.sh"
get() { rm -f "$t"; if command -v curl >/dev/null 2>&1; then curl -fsSL --connect-timeout 10 --max-time 120 -o "$t" "$1"; else wget -q -O "$t" "$1"; fi && [ -s "$t" ] && ! head -c 512 "$t" | grep -qiE '<(!doctype|html)'; }
+49 -7
View File
@@ -1,6 +1,8 @@
# AmneziaWG 3.1 на NanoPi R3S с FriendlyWrt
Эта адаптация основана на [StressOzz/Zapret-Manager](https://github.com/StressOzz/Zapret-Manager), commit `46eb923f414f5ac2b5bba1f79519696ea57f3b9a`, версия панели 4.68. Версия адаптации — 4.68.1. Изменена установка AWG в LuCI/Web; остальные компоненты продолжают использовать прежние источники.
Эта адаптация основана на [StressOzz/Zapret-Manager](https://github.com/StressOzz/Zapret-Manager), commit `46eb923f414f5ac2b5bba1f79519696ea57f3b9a`, версия панели 4.68. Версия адаптации — 4.68.2. Изменена установка AWG в LuCI/Web; остальные компоненты продолжают использовать прежние источники.
**Проверка на устройстве:** 27.10.2026 владелец NanoPi R3S сообщил, что адаптация работает как надо, и разрешил опубликовать результат для других владельцев. Это подтверждение владельца одного устройства; отдельные журналы handshake, проверки после перезагрузки и замеры скорости/температуры не собирались. Публикация закреплена тегом [v4.68.2-r3s.1](https://github.com/Wenil925/Zapret-Manager/releases/tag/v4.68.2-r3s.1). В версии 4.68.2 изменены адреса скачивания и самообновления: все файлы теперь размещены на GitHub. Бинарник модуля и логика установки сохранены из проверенной версии 4.68.1.
## Поддерживаемый образ
@@ -13,16 +15,16 @@
## Установка панели
Сначала сохранить настройки панели её штатной кнопкой резервного копирования. Затем выполнить по SSH:
Сначала сохранить настройки панели её штатной кнопкой резервного копирования. Затем выполнить по SSH две команды по очереди. Скопировать полный URL без сокращения:
```sh
curl -fL -o /tmp/ZapretManager_LuCI.sh https://gitea.bvrdo.online/wenil/Zapret-Manager/raw/branch/main/ZapretManager_LuCI.sh &&
sh /tmp/ZapretManager_LuCI.sh
curl -fL -o /tmp/zmw.sh https://raw.githubusercontent.com/Wenil925/Zapret-Manager/v4.68.2-r3s.1/ZapretManager_LuCI.sh
sh /tmp/zmw.sh
```
После обновления открыть вкладку **AmneziaWG** и нажать установку или переустановку.
Панель скачает только ядровой модуль из фиксированного тега на Gitea и проверит встроенный SHA256. Утилиты `amneziawg-tools`, протокол LuCI, импорт конфигурации и настройка сети проходят через существующий установщик. Зависимость APK удовлетворяется тем же механизмом виртуального `kmod-amneziawg`, который уже был предусмотрен автором панели для вручную установленного модуля.
Панель скачает только ядровой модуль из фиксированного тега на GitHub и проверит встроенный SHA256. Утилиты `amneziawg-tools`, протокол LuCI, импорт конфигурации и настройка сети проходят через существующий установщик. Зависимость APK удовлетворяется тем же механизмом виртуального `kmod-amneziawg`, который уже был предусмотрен автором панели для вручную установленного модуля.
При ошибке загрузки, несовпадении SHA256 или отпечатков прошивки установка прекращается. Перехода к модулю официального ядра 6.12.94 для этого профиля нет. Действующая сборка модуля закреплена: обновление утилит через панель не заменяет её случайным новым kmod.
@@ -32,15 +34,55 @@ sh /tmp/ZapretManager_LuCI.sh
Удаление AmneziaWG через панель удаляет также этот init-скрипт. При неудачной записи файлов или регистрации виртуального пакета прежние файлы восстанавливаются. Штатная резервная копия панели сохраняет настройки, а не всю прошивку или бинарный модуль; при восстановлении установщик должен заново получить подходящий модуль.
Обновления самой панели и команда `zmw` получают адаптированную версию с Gitea, чтобы не потерять эту поддержку при обычном обновлении. Автоматическая синхронизация с GitHub автора не настроена: новые версии автора нужно переносить с сохранением изменений AWG. Старый SSH-менеджер `zms` остаётся исходной версией автора; эта адаптация относится к LuCI/Web.
Обновления самой панели и команда `zmw` получают адаптированную версию из ветки `friendlywrt-r3s` [GitHub-форка Wenil925/Zapret-Manager](https://github.com/Wenil925/Zapret-Manager/tree/friendlywrt-r3s), чтобы не потерять эту поддержку при обычном обновлении. Автоматическая синхронизация с GitHub автора не настроена: новые версии автора нужно переносить с сохранением изменений AWG. Старый SSH-менеджер `zms` остаётся исходной версией автора; эта адаптация относится к LuCI/Web.
После смены прошивки нужна новая проверка совместимости. Установщик не выбирает модуль только по номеру ядра.
## DoH не удаляется перед установкой Forkozz
На проверенном роутере удаление DNS over HTTPS через панель повторялось четыре раза, но пакет оставался. Прямая команда `apk del https-dns-proxy` показала причину:
```text
World updated, but the following packages are not removed due to:
https-dns-proxy: brb
```
`brb` — отдельный пакет BigRedButton, который объявляет `https-dns-proxy` своей зависимостью. Пока установлен `brb`, APK сохраняет DoH. Перезагрузка эту зависимость не устраняет.
Если вы переходите с BigRedButton на Forkozz, сначала посмотрите сведения и план удаления:
```sh
apk info -a brb
apk del --simulate brb https-dns-proxy
```
На проверенном устройстве план включал только `brb`, `https-dns-proxy`, `libcares` и `libev`. На другом устройстве список может отличаться; если он содержит нужные вам компоненты, сначала разберите зависимости.
Для перехода с BigRedButton выполните:
```sh
/etc/init.d/brb stop
/etc/init.d/brb disable
apk del brb https-dns-proxy
/etc/init.d/dnsmasq restart
```
Это удаляет и сам BigRedButton с его функцией автоподбора обхода. Затем проверьте отсутствие пакета и работу локального DNS:
```sh
apk info -e https-dns-proxy
nslookup openwrt.org 127.0.0.1
```
Первая команда при удалённом пакете ничего не выводит. Вторая должна вернуть IP-адреса. После этого обновите страницу панели и повторите установку Forkozz.
При перезапуске dnsmasq сообщение `udhcpc: no lease, failing` само по себе не доказывает сбой интернета: штатный [init-скрипт OpenWrt](https://github.com/openwrt/openwrt/blob/main/package/network/services/dnsmasq/files/dnsmasq.init) использует udhcpc для проверки наличия другого DHCP-сервера. Ориентируйтесь также на результат проверки DNS. Предупреждение `UNTRUSTED signature` о локальном индексе FriendlyWrt в подтверждённом случае не помешало удалению.
## Проверки и ограничения
Модуль AWG `3.1.20260906` собран из официального тега с поправкой совместимости `timer_delete` для vendor-ядра. Совпали vermagic и CRC всех 198 импортируемых символов; конфигурация извлечена из точного образа. Исходники для пересборки, конфигурация, таблица CRC и подробности находятся в `vendor/awg/r3s-fw20261013/`.
На настоящем R3S загрузка, handshake, скорость и температура пока не проверены. Использован GCC 13.3 вместо GCC 11.3 производителя; точное совпадение commit исходников ядра с commit сборки производителя не подтверждено. Проверки CRC не заменяют испытание на устройстве. Первый тест проводить с возможностью локального восстановления роутера.
Владелец R3S подтвердил работу адаптации; результаты отдельных измерений скорости и температуры не заявляются. Использован GCC 13.3 вместо GCC 11.3 производителя; точное совпадение commit исходников ядра с commit сборки производителя не подтверждено. Подтверждение относится к указанному образу и устройству. После замены прошивки или ядра требуется повторная проверка.
Тесты установщика выполняются без роутера и не загружают ядровые модули:
+20 -1
View File
@@ -1,4 +1,23 @@
> **Адаптация FriendlyWrt для NanoPi R3S / R3S LTS:** установка AWG 3.1 под родное ядро 6.1.141 через штатную вкладку LuCI/Web. [Поддерживаемый образ, установка и ограничения](docs/friendlywrt-awg.md). Автор исходного Zapret Manager — [StressOzz](https://github.com/StressOzz/Zapret-Manager). Модуль пока не испытан на настоящем устройстве.
> **FriendlyWrt для NanoPi R3S / R3S LTS:** AWG 3.1 под родное ядро **6.1.141** через вкладку LuCI/Web. 27.10.2026 владелец R3S подтвердил успешную работу адаптации на образе **FriendlyWrt от 13.10.2026**. [Релиз v4.68.2-r3s.1](https://github.com/Wenil925/Zapret-Manager/releases/tag/v4.68.2-r3s.1).
### Установка адаптации для R3S
Поддерживаемый образ: `R3S-Series-FriendlyWrt-25.12.img.gz`, выпуск производителя `FriendlyWrt-2026-10-13`, пользовательская часть OpenWrt 25.12.5. Совместимость проверяется по модели, работающему ядру и отпечаткам штатных модулей.
Сохраните настройки панели её кнопкой резервного копирования. Выполните по SSH две команды по очереди:
```sh
curl -fL -o /tmp/zmw.sh https://raw.githubusercontent.com/Wenil925/Zapret-Manager/v4.68.2-r3s.1/ZapretManager_LuCI.sh
sh /tmp/zmw.sh
```
Затем откройте **AmneziaWG → Установить / Переустановить**. Установщик сам получает подходящий модуль с GitHub и проверяет SHA256. Установщик, модуль и исходники для пересборки размещены на GitHub.
[Подробная инструкция, проверка работы и решение ошибки удаления DoH / BigRedButton](docs/friendlywrt-awg.md).
Автор исходного Zapret Manager — [StressOzz](https://github.com/StressOzz/Zapret-Manager). Ниже сохранена документация исходного проекта. Для установки этого форка используйте команды выше: Windows-установщик и ссылки на установку из GitHub в исходной документации загружают версию автора.
---
<div align="center">
+5 -2
View File
@@ -20,8 +20,11 @@
"libchacha20poly1305": "libchacha20poly1305.ko"
},
"matched_imported_symbol_crcs": 198,
"runtime_tested": false,
"runtime_tested": true,
"runtime_test_evidence": "device owner report",
"runtime_test_date": "2026-10-27",
"runtime_test_note": "The NanoPi R3S owner reports that the adapted installation and operation work as expected. Separate handshake logs, reboot checks, speed and temperature measurements were not collected.",
"build_compiler": "aarch64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0",
"firmware_compiler": "aarch64-linux-gnu-gcc (ctng-1.25.0-119g-FA) 11.3.0",
"limitation": "Config and symbol CRCs come from the exact firmware. Kernel sources use the vendor branch commit; its identity with the firmware build commit is not proven. Loading and VPN operation must be tested on the device."
"limitation": "Config and symbol CRCs come from the exact firmware. Kernel sources use the vendor branch commit; its identity with the firmware build commit is not proven. The owner report applies to the specified firmware on one device, not to other firmware builds."
}