diff --git a/README.md b/README.md index 35e728b..9e2366e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/domain-routing-openwr Оставляет туннели, зоны, forwarding. А также stubby и dnscrypt. Они не помешают. Конфиг sing-box будет перезаписан в podkop. -# Установка +# Установка Podkop Пакет работает на всех архитектурах. Будет точно работать только на OpenWrt 23.05. @@ -85,8 +85,9 @@ opkg update && opkg install sing-box - [x] Открытый прокси порт на роутере для браузеров Приоритет 1 -- [ ] Переделать на PROCD и выкинуть ucitrack -- [ ] Нужен дебаг. Restart ucitrack в отдельный скрипт postinst, не отрабатывает. +- [x] Переделать на PROCD и выкинуть ucitrack. +- [x] Нужен дебаг. Restart ucitrack в отдельный скрипт postinst, не отрабатывает. +- [ ] Скрипт установки: проверка установлен ли уже podkop. Если да, то просто предлагать обновится без установки тунелей и прокси. Приоритет 2 - [ ] Кнопка обновления списка доменов и подсетей @@ -109,15 +110,15 @@ Wiki - [ ] Галочка, которая режет доступ к doh серверам Рефактор +- [ ] Handle для sing-box +- [ ] Handle для dnsmasq - [ ] Формирование json для sing-box на уровне jq, а не шаблонов - [ ] Unit тесты (BATS) - [ ] Интеграционые тесты бекенда (OpenWrt rootfs + BATS) - [ ] RU перевод -- [ ] Handle для sing-box -- [ ] Handle для dnsmasq Хз как сделать -- [ ] Добавить label от конфига vless\ss\etc в luci. Хз как +- [ ] Добавить label от конфига vless\ss\etc в luci. # Разработка Есть два варианта: diff --git a/luci-app-podkop/Makefile b/luci-app-podkop/Makefile index 2d7bc3b..ec1ac74 100644 --- a/luci-app-podkop/Makefile +++ b/luci-app-podkop/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-podkop -PKG_VERSION:=0.1.9 +PKG_VERSION:=0.2.0 PKG_RELEASE:=1 LUCI_TITLE:=LuCI podkop app diff --git a/podkop/Makefile b/podkop/Makefile index 381a78f..a2cc7ab 100644 --- a/podkop/Makefile +++ b/podkop/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=podkop -PKG_VERSION:=0.1.9 +PKG_VERSION:=0.2.0 PKG_RELEASE:=1 PKG_MAINTAINER:=ITDog @@ -28,20 +28,6 @@ endef define Build/Compile endef -define Package/podkop/postinst -#!/bin/sh - -if ! uci show ucitrack | grep -q 'podkop'; then - uci add ucitrack podkop - uci set ucitrack.@podkop[-1].init=podkop - uci commit ucitrack - - /etc/init.d/ucitrack restart -fi - -exit 0 -endef - define Package/podkop/prerm #!/bin/sh diff --git a/podkop/files/etc/init.d/podkop b/podkop/files/etc/init.d/podkop index 775f249..88b7777 100755 --- a/podkop/files/etc/init.d/podkop +++ b/podkop/files/etc/init.d/podkop @@ -1,6 +1,7 @@ #!/bin/sh /etc/rc.common START=99 +USE_PROCD=1 script=$(readlink "$initscript") NAME="$(basename ${script:-$initscript})" @@ -13,7 +14,7 @@ EXTRA_HELP=" list_update Updating domain and subnet lists cron_job="0 4 * * * /etc/init.d/podkop list_update" -start() { +start_service() { log "Start podkop" dnsmasqfull @@ -194,7 +195,7 @@ start() { fi } -stop() { +stop_service() { log "Stopping the podkop" rm -f /tmp/dnsmasq.d/podkop* remove_cron_job @@ -232,16 +233,20 @@ stop() { fi } -restart() { +restart_service() { stop start } -reload() { +reload_service() { stop start } +service_triggers() { + procd_add_config_trigger "config.change" "$NAME" "$initscript" reload 'on_config_change' +} + log() { local message="$1" local timestamp=$(date +"%Y-%m-%d %H:%M:%S")