- Атомарное применение правил nftables (nft transaction)
- Автоматический rollback в baseline при ошибках
- Блокировка DNS / DoT / DoQ / DoH утечек
- Опциональная блокировка QUIC (UDP/443)
- Защита LAN-клиентов через forward-хук
- ARP-защита от спуфинга
- MSS clamp и опциональный TTL set
- Периодическая верификация правил в ядре
- Нулевые внешние зависимости (CGO_ENABLED=0, статическая сборка)
Совместимо с:
Passwall2 — считывает inet passwall2 psw2_vps (проверено).
Mihomo / OpenClash — source_set none + allowed_mark '<routing-mark>'
(принимаются десятичные метки: 6666).
mwan3 — source_set none + allowed_mark '<value>/<mask>'
(например, 0xff/0xff).
Nikki, sing-box, пользовательские скрипты — source_set none + allowed_mark.
Выбери файл под архитектуру роутера (uname -m):
uname -m |
Файл |
|---|---|
aarch64 |
ksd-arm64 |
x86_64 |
ksd-amd64 |
mips |
ksd-mips |
mipsel |
ksd-mipsle |
Скачай со страницы релиза: https://github.com/Artronah1/KSD/releases/latest
Проверь sha256: sha256sum ksd-arm64
go build -o ksd ./...
Кросс-компиляция под OpenWrt (пример для ARM64):
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o ksd-arm64 ./...
⚠ Держи UART или вторую SSH-сессию открытой. Если ksd заблокирует доступ — восстановишь оттуда.
-
Скачать бинарник под архитектуру роутера (
uname -m):wget https://github.com/Artronah1/KSD/releases/latest/download/ksd-arm64 sha256sum ksd-arm64Хеш должен совпасть с
sha256на странице релиза. -
Скопировать файлы на роутер:
scp ksd-arm64 root@192.168.1.1:/tmp/ksd scp openwrt/killswitch.config root@192.168.1.1:/etc/config/killswitch scp openwrt/ksd root@192.168.1.1:/etc/init.d/ksd scp openwrt/ksd-boot root@192.168.1.1:/etc/init.d/ksd-boot scp openwrt/emergency.nft root@192.168.1.1:/etc/ksd/emergency.nft -
Установить на роутере:
ssh root@192.168.1.1 cp /tmp/ksd /usr/sbin/ksd chmod +x /usr/sbin/ksd /etc/init.d/ksd /etc/init.d/ksd-boot /etc/init.d/ksd-boot enable /etc/init.d/ksd enable -
Проверить конфиг
/etc/config/killswitch:nano /etc/config/killswitchУбедиться, что корректны:
source_set,wan_interface/wan_device,allowed_iface,arp_protectionиarp_gateway_mac. -
Первый запуск:
/usr/sbin/ksd install -config /etc/config/killswitch -
Запустить сервис:
/etc/init.d/ksd start -
Проверка:
/usr/sbin/ksd status -config /etc/config/killswitch /usr/sbin/ksd self-test -config /etc/config/killswitch
Универсальный installer: сам определяет архитектуру, WAN, LAN-бриджи,
шлюз и его MAC, источник VPS, генерирует /etc/config/killswitch,
скачивает подходящий бинарник и устанавливает сервис.
На роутере:
wget -O /tmp/install.sh https://raw.githubusercontent.com/Artronah1/KSD/main/scripts/install.sh
sh /tmp/install.sh
Опции:
sh /tmp/install.sh -v v1.1.4 # конкретная версия
sh /tmp/install.sh -f /tmp/ksd-arm64 # локальный бинарник
Если конфиг /etc/config/killswitch уже существует — installer его
сохранит и не тронет. Проверь значения source_set, wan_device,
arp_gateway вручную.
После установки — restart:
/etc/init.d/ksd restart
- CONFIG.md — описание всех UCI-опций
- BUILD.md — детали сборки
- docs/OPERATOR.md — операторское руководство
- docs/DESCRIPTION.md — описание проекта
木兰公共许可证第 2 版 (Mulan PubL v2) — подробности в LICENSE.
Copyleft с сетевой оговоркой: производные работы, включая предоставление сервисов через сеть, должны распространяться под той же лицензией с открытым исходным кодом.
- v3.5 (shell) — reference implementation, frozen 2026-08-30
- v1.3.x (Go) — current stable release
