Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b512d142bc | ||
|
|
4fd0ca6ab3 |
No files matched your search
@@ -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
|
## 4.68 — 27.10.2026
|
||||||
|
|
||||||
### 🦊 Forkozz
|
### 🦊 Forkozz
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
read -r _ _ ZM_NEW_VER <<'ZM_VERSION_EOF'
|
read -r _ _ ZM_NEW_VER <<'ZM_VERSION_EOF'
|
||||||
# Version: 4.68.1
|
# Version: 4.68.2
|
||||||
ZM_VERSION_EOF
|
ZM_VERSION_EOF
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ fi
|
|||||||
|
|
||||||
CONF="/etc/config/zapret"
|
CONF="/etc/config/zapret"
|
||||||
ZM_VERSION="@ZM_VERSION@"
|
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_RAW="https://raw.githubusercontent.com"
|
||||||
GH_MAIN="https://github.com"
|
GH_MAIN="https://github.com"
|
||||||
MT_URL_ITDOG="${GH_RAW}/StressOzz/Zapret-Manager/refs/heads/main/files/MagiTrickle/configAD.yaml"
|
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_KMOD_MANUAL="/etc/zm-awg/kmod-manual"
|
||||||
AWG_VENDOR_INIT="/etc/init.d/zm-awg-r3s"
|
AWG_VENDOR_INIT="/etc/init.d/zm-awg-r3s"
|
||||||
AWG_VENDOR_SHA="1cb1ee6eeb9fd90223e03d2287962ae759e9d82a1195fe3bc1ce9a39712ceff6"
|
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_managed() { grep -q ' r3s-fw20261013$' "$AWG_KMOD_MANUAL" 2>/dev/null; }
|
||||||
_awg_vendor_profile() {
|
_awg_vendor_profile() {
|
||||||
[ "$PKG" = apk ] && [ "$(uname -r)" = 6.1.141 ] || return 1
|
[ "$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"
|
_rb_say "Скачиваем модуль AWG 3.1 для родного ядра FriendlyWrt 6.1.141"
|
||||||
if ! _rb_fetch_pkg "$AWG_VENDOR_URL" "$d/amneziawg.ko" ||
|
if ! _rb_fetch_pkg "$AWG_VENDOR_URL" "$d/amneziawg.ko" ||
|
||||||
! printf '%s\n' "$AWG_VENDOR_SHA $d/amneziawg.ko" | sha256sum -c -; then
|
! printf '%s\n' "$AWG_VENDOR_SHA $d/amneziawg.ko" | sha256sum -c -; then
|
||||||
echo "ОШИБКА: модуль из Gitea не скачан или его SHA256 не совпал — установка остановлена"
|
echo "ОШИБКА: модуль из GitHub не скачан или его SHA256 не совпал — установка остановлена"
|
||||||
rm -rf "$d"; return 1
|
rm -rf "$d"; return 1
|
||||||
fi
|
fi
|
||||||
for f in ko marker init; do
|
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
|
#!/bin/sh
|
||||||
u="https://raw.githubusercontent.com/StressOzz/Zapret-Manager/main/${_zm_c#* }"
|
u="https://raw.githubusercontent.com/StressOzz/Zapret-Manager/main/${_zm_c#* }"
|
||||||
ZM_GET_EOF
|
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'
|
cat >> "/usr/bin/${_zm_c%% *}" <<'ZM_GET_EOF'
|
||||||
t="/tmp/zm-get.$$.sh"
|
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)'; }
|
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
@@ -1,6 +1,8 @@
|
|||||||
# AmneziaWG 3.1 на NanoPi R3S с FriendlyWrt
|
# 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
|
```sh
|
||||||
curl -fL -o /tmp/ZapretManager_LuCI.sh https://gitea.bvrdo.online/wenil/Zapret-Manager/raw/branch/main/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/ZapretManager_LuCI.sh
|
sh /tmp/zmw.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
После обновления открыть вкладку **AmneziaWG** и нажать установку или переустановку.
|
После обновления открыть вкладку **AmneziaWG** и нажать установку или переустановку.
|
||||||
|
|
||||||
Панель скачает только ядровой модуль из фиксированного тега на Gitea и проверит встроенный SHA256. Утилиты `amneziawg-tools`, протокол LuCI, импорт конфигурации и настройка сети проходят через существующий установщик. Зависимость APK удовлетворяется тем же механизмом виртуального `kmod-amneziawg`, который уже был предусмотрен автором панели для вручную установленного модуля.
|
Панель скачает только ядровой модуль из фиксированного тега на GitHub и проверит встроенный SHA256. Утилиты `amneziawg-tools`, протокол LuCI, импорт конфигурации и настройка сети проходят через существующий установщик. Зависимость APK удовлетворяется тем же механизмом виртуального `kmod-amneziawg`, который уже был предусмотрен автором панели для вручную установленного модуля.
|
||||||
|
|
||||||
При ошибке загрузки, несовпадении SHA256 или отпечатков прошивки установка прекращается. Перехода к модулю официального ядра 6.12.94 для этого профиля нет. Действующая сборка модуля закреплена: обновление утилит через панель не заменяет её случайным новым kmod.
|
При ошибке загрузки, несовпадении SHA256 или отпечатков прошивки установка прекращается. Перехода к модулю официального ядра 6.12.94 для этого профиля нет. Действующая сборка модуля закреплена: обновление утилит через панель не заменяет её случайным новым kmod.
|
||||||
|
|
||||||
@@ -32,15 +34,55 @@ sh /tmp/ZapretManager_LuCI.sh
|
|||||||
|
|
||||||
Удаление AmneziaWG через панель удаляет также этот init-скрипт. При неудачной записи файлов или регистрации виртуального пакета прежние файлы восстанавливаются. Штатная резервная копия панели сохраняет настройки, а не всю прошивку или бинарный модуль; при восстановлении установщик должен заново получить подходящий модуль.
|
Удаление 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/`.
|
Модуль 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 сборки производителя не подтверждено. Подтверждение относится к указанному образу и устройству. После замены прошивки или ядра требуется повторная проверка.
|
||||||
|
|
||||||
Тесты установщика выполняются без роутера и не загружают ядровые модули:
|
Тесты установщика выполняются без роутера и не загружают ядровые модули:
|
||||||
|
|
||||||
|
|||||||
@@ -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">
|
<div align="center">
|
||||||
|
|
||||||
|
|||||||
+5
-2
@@ -20,8 +20,11 @@
|
|||||||
"libchacha20poly1305": "libchacha20poly1305.ko"
|
"libchacha20poly1305": "libchacha20poly1305.ko"
|
||||||
},
|
},
|
||||||
"matched_imported_symbol_crcs": 198,
|
"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",
|
"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",
|
"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."
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user