diff --git a/Makefile b/Makefile index 5fd83b2..de972d3 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Jian Chang PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) +PKG_BUILD_DEPENDS:=po2lmo/host include $(INCLUDE_DIR)/package.mk @@ -25,11 +26,17 @@ define Package/luci-app-shadowsocks/Default SUBMENU:=3. Applications TITLE:=LuCI Support for shadowsocks-libev PKGARCH:=all - DEPENDS:=+iptables +wget +resolveip $(1) endef -Package/luci-app-shadowsocks = $(call Package/luci-app-shadowsocks/Default,+ipset) -Package/luci-app-shadowsocks-without-ipset = $(call Package/luci-app-shadowsocks/Default) +define Package/luci-app-shadowsocks + $(call Package/luci-app-shadowsocks/Default) + EXTRA_DEPENDS:=iptables, wget, resolveip, ipset +endef + +define Package/luci-app-shadowsocks-without-ipset + $(call Package/luci-app-shadowsocks/Default) + EXTRA_DEPENDS:=iptables, wget, resolveip +endef define Package/luci-app-shadowsocks/description LuCI Support for shadowsocks-libev. diff --git a/files/root/etc/init.d/shadowsocks b/files/root/etc/init.d/shadowsocks index 3eac07d..b7f62d3 100644 --- a/files/root/etc/init.d/shadowsocks +++ b/files/root/etc/init.d/shadowsocks @@ -10,7 +10,11 @@ START=90 STOP=15 USE_PROCD=1 NAME=shadowsocks -EXTRA_COMMANDS="rules" +if type extra_command >/dev/null 2>&1; then + extra_command "rules" "Reload transparent proxy rules" +else + EXTRA_COMMANDS="rules" +fi uci_get_by_name() { local ret=$(uci get $NAME.$1.$2 2>/dev/null) @@ -238,3 +242,9 @@ boot() { (sleep $delay && start >/dev/null 2>&1) & return 0 } + +reload_service() { + stop + sleep 1 + start +} diff --git a/files/root/etc/uci-defaults/luci-shadowsocks b/files/root/etc/uci-defaults/luci-shadowsocks index c1c1e9b..b3dda1e 100644 --- a/files/root/etc/uci-defaults/luci-shadowsocks +++ b/files/root/etc/uci-defaults/luci-shadowsocks @@ -11,14 +11,12 @@ uci get shadowsocks.@access_control[-1] >/dev/null 2>&1 || \ uci add shadowsocks access_control >/dev/null 2>&1 uci commit shadowsocks uci -q batch <<-EOF >/dev/null - delete ucitrack.@shadowsocks[-1] - commit ucitrack delete firewall.shadowsocks set firewall.shadowsocks=include set firewall.shadowsocks.type=script set firewall.shadowsocks.path=/var/etc/shadowsocks.include set firewall.shadowsocks.family=ipv4 - set firewall.shadowsocks.reload=1 + set firewall.shadowsocks.reload=0 commit firewall EOF if [ -f /etc/crontabs/root ]; then diff --git a/files/root/usr/share/rpcd/acl.d/luci-app-shadowsocks.json b/files/root/usr/share/rpcd/acl.d/luci-app-shadowsocks.json index d67cee2..547ca42 100644 --- a/files/root/usr/share/rpcd/acl.d/luci-app-shadowsocks.json +++ b/files/root/usr/share/rpcd/acl.d/luci-app-shadowsocks.json @@ -8,4 +8,4 @@ "uci": [ "shadowsocks" ] } } -} +} \ No newline at end of file