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.