docs(README): актуализирована структура и troubleshooting после перехода на strategies/*.conf
- Убраны устаревшие маркеры '<<< НОВОЕ' из дерева проекта - Добавлен пункт troubleshooting: nfqws segfault + решение через --full-auto - В update.sh добавлено пояснение когда использовать --full-auto - Структура приведена в соответствие с текущей архитектурой (strategies/*.conf)
This commit is contained in:
@@ -171,8 +171,40 @@ sudo ./install.sh
|
||||
|
||||
---
|
||||
|
||||
## Структура проекта (новая модульная архитектура)
|
||||
## Структура проекта (модульная архитектура)
|
||||
|
||||
```text
|
||||
.
|
||||
├── bin/ # nfqws + fake .bin (собирается)
|
||||
├── lib/
|
||||
│ └── functions.sh # Общие: firewall, цвета, cleanup
|
||||
├── lists/ # Списки доменов и IP
|
||||
│ ├── list-general.txt # Discord, YouTube, GitHub, Telegram, Steam
|
||||
│ ├── list-google.txt # Google/YouTube
|
||||
│ ├── list-exclude.txt # Исключения (банки, госуслуги)
|
||||
│ ├── ipset-all.txt # IP-диапазоны
|
||||
│ └── ipset-exclude.txt # Локальные подсети
|
||||
├── strategies/ # Модульные стратегии (.conf)
|
||||
│ └── general.conf # Конфиг стратегии (RULE1=... RULE2=...)
|
||||
│ # Другие .conf появляются автоматически через sync_from_upstream.sh
|
||||
├── utils/
|
||||
│ ├── test_zapret.sh # curl-тесты
|
||||
│ └── targets.txt # Цели
|
||||
├── systemd/ # Юниты и таймеры
|
||||
├── .service/
|
||||
│ ├── version.txt # Версия (x.y.z-linux)
|
||||
│ ├── hosts # Статичные IP (GitHub, Telegram)
|
||||
│ └── installed_strategy # Какая стратегия в systemd
|
||||
├── general*.sh # Обёртки → run_strategy.sh
|
||||
├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws
|
||||
├── sync_from_upstream.sh # Авто-мердж с Windows-репон
|
||||
├── autotest.sh # Автоподбор рабочей стратегии
|
||||
├── install.sh # Полный установщик (setup + build + autotest + systemd)
|
||||
├── service.sh # Меню управления (аналог service.bat)
|
||||
├── setup.sh # Зависимости по дистрибутиву
|
||||
├── install_nfqws.sh # Сборка nfqws из bol-van/zapret
|
||||
├── ensure_wrappers.sh # Создаёт general_*.sh из strategies/*.conf
|
||||
└── update.sh # Полный pipeline: sync → build → test → install
|
||||
```
|
||||
.
|
||||
├── bin/ # nfqws + fake .bin (собирается)
|
||||
@@ -197,13 +229,13 @@ sudo ./install.sh
|
||||
│ └── installed_strategy # Какая стратегия в systemd
|
||||
├── general*.sh # Обёртки → run_strategy.sh
|
||||
├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws
|
||||
├── sync_from_upstream.sh # <<< НОВОЕ: авто-мердж с Windows-репон
|
||||
├── sync_from_upstream.sh # Авто-мердж с Windows-репон
|
||||
├── autotest.sh # Автоподбор рабочей стратегии
|
||||
├── install.sh # Полный установщик (setup + build + autotest + systemd)
|
||||
├── service.sh # Меню управления (аналог service.bat)
|
||||
├── setup.sh # Зависимости по дистрибутиву
|
||||
├── install_nfqws.sh # Сборка nfqws из bol-van/zapret
|
||||
├── ensure_wrappers.sh # <<< НОВОЕ: создаёт general_*.sh из strategies/*.conf
|
||||
├── ensure_wrappers.sh # Создаёт general_*.sh из strategies/*.conf
|
||||
└── update.sh # Полный pipeline: sync → build → test → install
|
||||
```
|
||||
|
||||
@@ -306,6 +338,11 @@ sudo ./update.sh --full-auto # форсировать пересборку + п
|
||||
sudo ./update.sh --help # справка
|
||||
```
|
||||
|
||||
**Когда использовать `--full-auto`:**
|
||||
- После обновления дистрибутива/ядра (может сломать бинарный совместимость `nfqws`)
|
||||
- Если `nfqws` падает с segfault (пересборка с безопасными флагами)
|
||||
- Если установка новой стратегии не работает
|
||||
|
||||
**Что делает при обновлении Flowseal:**
|
||||
```
|
||||
Step 0: sync_from_upstream.sh
|
||||
@@ -401,6 +438,8 @@ sudo ./update.sh --full-auto
|
||||
2. **Отсутствуют fake .bin файлы** — пересоберите: `sudo ./install_nfqws.sh`
|
||||
3. **nfnetlink_queue не загружен** — `sudo modprobe nfnetlink_queue`
|
||||
4. **iptables/nftables конфликт** — `sudo ./service.sh → 2. Remove Services`, затем `sudo ./general.sh`
|
||||
5. **nfqws падает с segfault** — пересоберите с безопасными флагами: `sudo ./update.sh --full-auto`
|
||||
- Скрипт автоматически выключит `-flto=auto` и `--gc-sections`, которые вызывают крах на некоторых системах
|
||||
|
||||
### Если curl-тесты падают, но nfqws запущен
|
||||
|
||||
|
||||
Reference in New Issue
Block a user