From ff1a9824cd26f381e2e189f3debb7fd0793b2f62 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Tue, 4 Aug 2020 02:40:35 +0800 Subject: [PATCH] luci-app-zerotier: restart service when network changed --- package/lean/luci-app-zerotier/Makefile | 2 +- package/lean/luci-app-zerotier/root/etc/init.d/zerotier | 7 +++++++ package/lean/luci-app-zerotier/root/etc/zerotier.start | 9 +-------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package/lean/luci-app-zerotier/Makefile b/package/lean/luci-app-zerotier/Makefile index 6275fce41a..0b71fb662a 100644 --- a/package/lean/luci-app-zerotier/Makefile +++ b/package/lean/luci-app-zerotier/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=LuCI for Zerotier LUCI_DEPENDS:=+zerotier LUCI_PKGARCH:=all PKG_VERSION:=1.0 -PKG_RELEASE:=19 +PKG_RELEASE:=20 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/package/lean/luci-app-zerotier/root/etc/init.d/zerotier b/package/lean/luci-app-zerotier/root/etc/init.d/zerotier index 00dd5c811a..666d67533a 100755 --- a/package/lean/luci-app-zerotier/root/etc/init.d/zerotier +++ b/package/lean/luci-app-zerotier/root/etc/init.d/zerotier @@ -7,6 +7,11 @@ USE_PROCD=1 PROG=/usr/bin/zerotier-one CONFIG_PATH=/var/lib/zerotier-one +service_triggers() { + procd_add_reload_trigger "zerotier" + procd_add_interface_trigger "interface.*.up" wan /etc/init.d/zerotier restart +} + section_enabled() { config_get_bool enabled "$1" 'enabled' 0 [ $enabled -gt 0 ] @@ -90,6 +95,8 @@ stop_instance() { rm -f /tmp/zero.log local cfg="$1" + /etc/zerotier.stop > /tmp/zero.log 2>&1 & + # Remove existing link or folder rm -f $CONFIG_PATH/networks.d/*.conf rm -rf $CONFIG_PATH diff --git a/package/lean/luci-app-zerotier/root/etc/zerotier.start b/package/lean/luci-app-zerotier/root/etc/zerotier.start index a694e79737..6af1931cae 100755 --- a/package/lean/luci-app-zerotier/root/etc/zerotier.start +++ b/package/lean/luci-app-zerotier/root/etc/zerotier.start @@ -5,7 +5,7 @@ zero_enable="$(uci get zerotier.sample_config.enabled)" [ "${zero_enable}" -ne "1" ] && exit 0 [ -f "/tmp/zero.log" ] && { - while [ "$(ifconfig | grep 'zt' | awk '{print $1}')" = "" ] + while [ "$(ifconfig | grep 'zt' | awk '{print $1}')" = "" ] do sleep 1 done @@ -15,13 +15,6 @@ nat_enable="$(uci get zerotier.sample_config.nat)" zt0="$(ifconfig | grep 'zt' | awk '{print $1}')" echo "${zt0}" > "/tmp/zt.nif" -for i in ${zt0} -do - iptables -D FORWARD -i "$i" -j ACCEPT 2>/dev/null - iptables -D FORWARD -o "$i" -j ACCEPT 2>/dev/null - iptables -t nat -D POSTROUTING -o "$i" -j MASQUERADE 2>/dev/null -done - [ "${nat_enable}" -eq "1" ] && { for i in ${zt0} do