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 (собирается)
|
├── bin/ # nfqws + fake .bin (собирается)
|
||||||
@@ -197,13 +229,13 @@ sudo ./install.sh
|
|||||||
│ └── installed_strategy # Какая стратегия в systemd
|
│ └── installed_strategy # Какая стратегия в systemd
|
||||||
├── general*.sh # Обёртки → run_strategy.sh
|
├── general*.sh # Обёртки → run_strategy.sh
|
||||||
├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws
|
├── run_strategy.sh # Движок: читает .conf, подставляет %BIN%/%LISTS%, запускает nfqws
|
||||||
├── sync_from_upstream.sh # <<< НОВОЕ: авто-мердж с Windows-репон
|
├── sync_from_upstream.sh # Авто-мердж с Windows-репон
|
||||||
├── autotest.sh # Автоподбор рабочей стратегии
|
├── autotest.sh # Автоподбор рабочей стратегии
|
||||||
├── install.sh # Полный установщик (setup + build + autotest + systemd)
|
├── install.sh # Полный установщик (setup + build + autotest + systemd)
|
||||||
├── service.sh # Меню управления (аналог service.bat)
|
├── service.sh # Меню управления (аналог service.bat)
|
||||||
├── setup.sh # Зависимости по дистрибутиву
|
├── setup.sh # Зависимости по дистрибутиву
|
||||||
├── install_nfqws.sh # Сборка nfqws из bol-van/zapret
|
├── 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
|
└── update.sh # Полный pipeline: sync → build → test → install
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -306,6 +338,11 @@ sudo ./update.sh --full-auto # форсировать пересборку + п
|
|||||||
sudo ./update.sh --help # справка
|
sudo ./update.sh --help # справка
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Когда использовать `--full-auto`:**
|
||||||
|
- После обновления дистрибутива/ядра (может сломать бинарный совместимость `nfqws`)
|
||||||
|
- Если `nfqws` падает с segfault (пересборка с безопасными флагами)
|
||||||
|
- Если установка новой стратегии не работает
|
||||||
|
|
||||||
**Что делает при обновлении Flowseal:**
|
**Что делает при обновлении Flowseal:**
|
||||||
```
|
```
|
||||||
Step 0: sync_from_upstream.sh
|
Step 0: sync_from_upstream.sh
|
||||||
@@ -401,6 +438,8 @@ sudo ./update.sh --full-auto
|
|||||||
2. **Отсутствуют fake .bin файлы** — пересоберите: `sudo ./install_nfqws.sh`
|
2. **Отсутствуют fake .bin файлы** — пересоберите: `sudo ./install_nfqws.sh`
|
||||||
3. **nfnetlink_queue не загружен** — `sudo modprobe nfnetlink_queue`
|
3. **nfnetlink_queue не загружен** — `sudo modprobe nfnetlink_queue`
|
||||||
4. **iptables/nftables конфликт** — `sudo ./service.sh → 2. Remove Services`, затем `sudo ./general.sh`
|
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 запущен
|
### Если curl-тесты падают, но nfqws запущен
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user