Переименование проекта: RKNboost → SenBoost
Затрагивает не только видимые строки, но и системные идентификаторы: appId (com.senboost.app), служба Windows (senboost-zapret) и её каталог в %ProgramData%, LaunchDaemon и pf-якорь на macOS (com.senboost.zapret, com.apple/senboost), каталог /run/senboost и таблица nftables на Linux, маркер стратегии в strategy.cfg (--comment=senboost:<id>:<hash>), а также каталог userData, который Electron выводит из имени приложения.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
# на Windows (`sc config start=`, тоже не трогает работающую службу).
|
||||
set -eu
|
||||
|
||||
PLIST=/Library/LaunchDaemons/com.rknboost.zapret.plist
|
||||
PLIST=/Library/LaunchDaemons/com.senboost.zapret.plist
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo 'autostart.sh: ожидается 1 аргумент (0 или 1)' >&2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Супервизор обхода — то, что реально запускает launchd (com.rknboost.zapret.plist.in,
|
||||
# Супервизор обхода — то, что реально запускает launchd (com.senboost.zapret.plist.in,
|
||||
# ProgramArguments). Живёт под root, пока LaunchDaemon загружен; KeepAlive/SuccessfulExit
|
||||
# в plist перезапускает этот скрипт заново при любом его завершении — поэтому определение
|
||||
# интерфейса/MAC шлюза выполняется здесь при каждом старте (в том числе после смены сети),
|
||||
@@ -7,15 +7,15 @@
|
||||
# (MIT) — та же логика с utunws через utun+BPF, свои идентификаторы (см. install.sh).
|
||||
set -eu
|
||||
|
||||
DEST='/Library/Application Support/RKNboost/zapret'
|
||||
ANCHOR=com.apple/rknboost
|
||||
DEST='/Library/Application Support/SenBoost/zapret'
|
||||
ANCHOR=com.apple/senboost
|
||||
UTUN_UNIT=61
|
||||
UTUN_IFACE=utun60
|
||||
UTUN_LOCAL=10.78.0.1
|
||||
UTUN_REMOTE=10.78.0.2
|
||||
PIDFILE=/var/run/rknboost-zapret.pid
|
||||
TOKEN_FILE=/var/run/rknboost-zapret.pf-token
|
||||
ROUTE6_FILE=/var/run/rknboost-zapret.route6
|
||||
PIDFILE=/var/run/senboost-zapret.pid
|
||||
TOKEN_FILE=/var/run/senboost-zapret.pf-token
|
||||
ROUTE6_FILE=/var/run/senboost-zapret.route6
|
||||
ENGINE_PID=
|
||||
WATCHDOG_PID=
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Привилегированная установка обхода блокировок на macOS — единственное, что RKNboost
|
||||
# Привилегированная установка обхода блокировок на macOS — единственное, что SenBoost
|
||||
# запускает через osascript "with administrator privileges" (см. elevate.darwin.ts) для
|
||||
# включения обхода. Не редактировать под bash-специфику: этот файл исполняется как
|
||||
# /bin/sh — на macOS это тот же путь, что и на Linux, но лучше не полагаться на bashisms.
|
||||
@@ -9,10 +9,10 @@
|
||||
#
|
||||
# Аргументы (все уже подготовлены и провалидированы на стороне приложения — сюда попадают
|
||||
# только готовые пути и провалидированные строки портов, тот же принцип, что у Linux-
|
||||
# помощника resources/linux-helper/rknboost-helper.sh):
|
||||
# помощника resources/linux-helper/senboost-helper.sh):
|
||||
# 1: utunws_src — путь к бинарнику utunws в resources/zapret/darwin (ещё не установлен)
|
||||
# 2: fakes_src — каталог с fake-пакетами (resources/zapret/fakes)
|
||||
# 3: config_src — уже отрендеренный strategy.cfg (маркер --comment=rknboost:<id>:<hash>
|
||||
# 3: config_src — уже отрендеренный strategy.cfg (маркер --comment=senboost:<id>:<hash>
|
||||
# первой строкой, пути {LISTS}/{FAKES} уже резолвлены — см. strategies.ts)
|
||||
# 4: tcp_ports — список портов TCP для pf, формат "80,443,8443" (уже проверен регуляркой
|
||||
# в packetEngineConfig())
|
||||
@@ -22,13 +22,13 @@
|
||||
set -eu
|
||||
|
||||
HELPER_DIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
|
||||
DEST='/Library/Application Support/RKNboost/zapret'
|
||||
LABEL=com.rknboost.zapret
|
||||
DEST='/Library/Application Support/SenBoost/zapret'
|
||||
LABEL=com.senboost.zapret
|
||||
PLIST=/Library/LaunchDaemons/$LABEL.plist
|
||||
ANCHOR=com.apple/rknboost
|
||||
PIDFILE=/var/run/rknboost-zapret.pid
|
||||
TOKEN_FILE=/var/run/rknboost-zapret.pf-token
|
||||
KEEPINIT_FILE=/var/db/rknboost-zapret.keepinit
|
||||
ANCHOR=com.apple/senboost
|
||||
PIDFILE=/var/run/senboost-zapret.pid
|
||||
TOKEN_FILE=/var/run/senboost-zapret.pf-token
|
||||
KEEPINIT_FILE=/var/db/senboost-zapret.keepinit
|
||||
|
||||
if [ "$#" -ne 6 ]; then
|
||||
echo 'install.sh: ожидается 6 аргументов' >&2
|
||||
@@ -45,7 +45,7 @@ RUN_AT_LOAD=$6
|
||||
[ -d "$FAKES_SRC" ] || { echo 'install.sh: не найден каталог fake-пакетов' >&2; exit 1; }
|
||||
[ -f "$CONFIG_SRC" ] || { echo 'install.sh: не найден strategy.cfg' >&2; exit 1; }
|
||||
# Формат уже проверен регуляркой в packetEngineConfig()/utunwsConfig() — здесь просто не
|
||||
# доверяем слепо тому, что дошло до root, тот же приём, что в rknboost-helper.sh на Linux.
|
||||
# доверяем слепо тому, что дошло до root, тот же приём, что в senboost-helper.sh на Linux.
|
||||
# ':' — не опечатка: utunwsConfig() переводит диапазоны в синтаксис pf (19294-19344 →
|
||||
# 19294:19344, см. toPfPortRanges() в strategies.ts), дефисов в этих строках уже нет.
|
||||
case ",$TCP_PORTS," in *[!0-9,:]*) echo 'install.sh: странный формат tcp-портов' >&2; exit 1 ;; esac
|
||||
@@ -57,7 +57,7 @@ case "$RUN_AT_LOAD" in
|
||||
esac
|
||||
|
||||
# Сносим прошлую установку — самолечение на случай аварийно прерванной прошлой сессии,
|
||||
# тот же приём, что cmd_stop() в rknboost-helper.sh на Linux делает первым шагом start.
|
||||
# тот же приём, что cmd_stop() в senboost-helper.sh на Linux делает первым шагом start.
|
||||
/bin/launchctl bootout system/"$LABEL" >/dev/null 2>&1 || true
|
||||
/sbin/pfctl -a "$ANCHOR" -F all >/dev/null 2>&1 || true
|
||||
# Матчим процесс по полному пути НАШЕЙ установки, а не по имени: "utunws" называется так
|
||||
@@ -96,7 +96,7 @@ printf '%s\n%s\n' "$TCP_PORTS" "$UDP_PORTS" > "$DEST/ports.conf"
|
||||
-e "s|@LABEL@|$LABEL|g" \
|
||||
-e "s|@DEST@|$DEST|g" \
|
||||
-e "s|@RUNATLOAD@|$RUNATLOAD|g" \
|
||||
"$HELPER_DIR/com.rknboost.zapret.plist.in" > "$PLIST"
|
||||
"$HELPER_DIR/com.senboost.zapret.plist.in" > "$PLIST"
|
||||
/usr/sbin/chown root:wheel "$PLIST"
|
||||
/bin/chmod 644 "$PLIST"
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
# применяется заново при следующем включении (см. engine.darwin.ts).
|
||||
set -eu
|
||||
|
||||
LABEL=com.rknboost.zapret
|
||||
ANCHOR=com.apple/rknboost
|
||||
DEST='/Library/Application Support/RKNboost/zapret'
|
||||
LABEL=com.senboost.zapret
|
||||
ANCHOR=com.apple/senboost
|
||||
DEST='/Library/Application Support/SenBoost/zapret'
|
||||
PLIST=/Library/LaunchDaemons/$LABEL.plist
|
||||
PIDFILE=/var/run/rknboost-zapret.pid
|
||||
TOKEN_FILE=/var/run/rknboost-zapret.pf-token
|
||||
KEEPINIT_FILE=/var/db/rknboost-zapret.keepinit
|
||||
PIDFILE=/var/run/senboost-zapret.pid
|
||||
TOKEN_FILE=/var/run/senboost-zapret.pf-token
|
||||
KEEPINIT_FILE=/var/db/senboost-zapret.keepinit
|
||||
|
||||
/bin/launchctl disable system/"$LABEL" >/dev/null 2>&1 || true
|
||||
/bin/launchctl bootout system/"$LABEL" >/dev/null 2>&1 || true
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
# watchdog.sh форка Flowseal/zapret-mac-discord-youtube (MIT) без изменений логики.
|
||||
SUPERVISOR_PID=$1
|
||||
ENGINE_PID=$2
|
||||
ANCHOR=com.apple/rknboost
|
||||
TOKEN_FILE=/var/run/rknboost-zapret.pf-token
|
||||
ANCHOR=com.apple/senboost
|
||||
TOKEN_FILE=/var/run/senboost-zapret.pf-token
|
||||
|
||||
while kill -0 "$SUPERVISOR_PID" 2>/dev/null && kill -0 "$ENGINE_PID" 2>/dev/null; do
|
||||
sleep 0.2
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Привилегированный помощник обхода блокировок на Linux — единственное, что RKNboost
|
||||
# Привилегированный помощник обхода блокировок на Linux — единственное, что SenBoost
|
||||
# запускает через `pkexec`. Не редактировать под bash-специфику: /bin/sh на Debian/Ubuntu —
|
||||
# это dash, а не bash.
|
||||
#
|
||||
@@ -17,18 +17,18 @@
|
||||
# команда не найдена) при разборе результата на стороне приложения.
|
||||
set -eu
|
||||
|
||||
RUN_DIR=/run/rknboost
|
||||
RUN_DIR=/run/senboost
|
||||
PIDFILE="$RUN_DIR/nfqws.pid"
|
||||
CONFIG="$RUN_DIR/strategy.cfg"
|
||||
ERRLOG="$RUN_DIR/nfqws.err"
|
||||
TABLE_FAMILY=inet
|
||||
TABLE_NAME=rknboost
|
||||
TABLE_NAME=senboost
|
||||
# Держать в синхроне с NFQUEUE_NUM в nfqws.linux.ts (используется там же для --dry-run).
|
||||
QUEUE_NUM=220
|
||||
FW_MARK=0x40000000
|
||||
|
||||
log() {
|
||||
echo "rknboost-helper: $*" >&2
|
||||
echo "senboost-helper: $*" >&2
|
||||
}
|
||||
|
||||
# pkexec запускает с урезанным PATH (санирует окружение) — sbin, где обычно лежит nft,
|
||||
@@ -107,7 +107,7 @@ cmd_start() {
|
||||
chmod 0755 "$RUN_DIR"
|
||||
|
||||
# strategy.cfg в /run — источник маркера стратегии для LinuxEngine.sync(): читается без
|
||||
# root (0644), первая строка — тот же --comment=rknboost:<id>:<hash>, что и на Windows.
|
||||
# root (0644), первая строка — тот же --comment=senboost:<id>:<hash>, что и на Windows.
|
||||
cp "$config_src" "$CONFIG"
|
||||
chmod 0644 "$CONFIG"
|
||||
|
||||
Reference in New Issue
Block a user