Заменяет tpws на utunws (форк nfqws под utun+BPF из Flowseal/zapret-mac-discord-youtube) на macOS: движок уровня пакетов вместо socks5-прокси даёт macOS те же 22 стратегии Flowseal, что у Windows и Linux, включая fake-пакеты и десинк UDP/QUIC — раньше tpws этого не умел вовсе. Обход теперь ставится как LaunchDaemon (resources/darwin-helper/), пароль администратора спрашивается при каждом включении/выключении, тот же принцип, что pkexec на Linux. Системный прокси и авто-список hostlist-auto больше не нужны и убраны. README: Windows отмечена как гарантированно рабочая, macOS и Linux — как частично.
24 lines
1.3 KiB
Bash
Executable File
24 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
||
# Меняет RunAtLoad уже установленного LaunchDaemon без перезапуска демона и без разрыва
|
||
# pf-правил — root нужен только чтобы переписать защищённый plist в /Library/LaunchDaemons.
|
||
# Отдельный скрипт вместо повторного install.sh: переустановка перечитала бы и
|
||
# перекопировала utunws/fakes/strategy.cfg и пересобрала pf-правила заново — ради смены
|
||
# одного булева поля это лишний риск моргнуть сетью, которого нет у setServiceAutoStart()
|
||
# на Windows (`sc config start=`, тоже не трогает работающую службу).
|
||
set -eu
|
||
|
||
PLIST=/Library/LaunchDaemons/com.rknboost.zapret.plist
|
||
|
||
if [ "$#" -ne 1 ]; then
|
||
echo 'autostart.sh: ожидается 1 аргумент (0 или 1)' >&2
|
||
exit 1
|
||
fi
|
||
case "$1" in
|
||
0) RUNATLOAD=false ;;
|
||
1) RUNATLOAD=true ;;
|
||
*) echo 'autostart.sh: ожидается 0 или 1' >&2; exit 1 ;;
|
||
esac
|
||
|
||
[ -f "$PLIST" ] || { echo 'autostart.sh: демон не установлен' >&2; exit 1; }
|
||
/usr/bin/plutil -replace RunAtLoad -bool "$RUNATLOAD" "$PLIST"
|