4 Commits

Author SHA1 Message Date
Auto Fix
e6551f8954 feat(autotest): --list-all mode; fix GAME placeholders; fix bin refs; docs: new workflow 2026-05-11 17:38:56 +04:00
OpenCode Agent
c6d843bd23 fix: critical nfqws startup failures + root-check + strategy bugs
Fixed the following critical issues that prevented zapret from working:

1. strategies/*.conf: Remove --dpi-desync-fake-discord/--dpi-desync-fake-stun
   These are Windows winws.exe parameters that do NOT exist in Linux nfqws.
   nfqws immediately exited with 'unrecognized option', causing the
   infamous 'error 0000' / all strategies failing in autotest.

2. run_strategy.sh: Remove 'set -e' that broke on SIGTERM and empty arrays.
   Remove useless service.sh sub-command calls (status_zapret/check_updates/
   load_game_filter/load_user_lists) that did nothing and could fork bomb.
   Add root check with clear 'sudo ' message.

3. autotest.sh: Fix typo '2&1' -> '2>&1' (bash parse error on cleanup).
   Remove redundant 'sudo' when already root. Properly kill strategy wrapper
   PID before cleanup_firewall to avoid nfqws orphan processes.

4. service.sh: Add root check at main() entry. Remove nested 'sudo' inside
   already-root scripts (systemctl cp/daemon-reload/...). Fix recursive
   'bash  remove_services' -> call service_remove directly.

5. lib/functions.sh: Fix stray space before detect_distro(). Add check_root()
   helper for all scripts. Add missing fake-bin warning in check_nfqws().

6. setup.sh / install_nfqws.sh / install.sh: Add root check. Remove nested
   'sudo' inside package manager calls. Fix EUID portability (use id -u fallback).

26 files changed. All 19 strategy configs now produce valid nfqws arguments.
2026-05-10 17:33:30 +04:00
Stitch505
1bca276c7f fix: generate all 19 strategies/*.conf from upstream .bat files
- Add Python converter (convert_bat.py) + PowerShell wrapper generator
- All general*.sh now point to run_strategy.sh <name>
- Normalize filenames: spaces → underscores (FAKE_TLS_AUTO_ALT etc.)
- Fix sync_from_upstream.sh: underscores in names
- Update README: document modular architecture, sync, hosts
2026-05-10 19:57:53 +04:00
Stitch505
7aeb16856d refactor: module-based strategy architecture
- Add sync_from_upstream.sh: clones Flowseal repo, merges lists/hosts, auto-detects new .bat strategies
- Add strategies/*.conf config files (extracted from .bat)
- Rewrite run_strategy.sh: loads .conf, substitutes %BIN%/%LISTS%/%GAME_*% using sed (no envsubst)
- Rewrite update.sh: pipeline is now sync→rebuild→test→install
- Add ensure_wrappers.sh: auto-creates general_*.sh wrappers from .conf
- Fix all 'local outside function' runtime bugs
- install.sh now calls sync_from_upstream.sh first
2026-05-10 19:46:14 +04:00