mirror of
https://github.com/kenzok8/small-package
synced 2025-01-07 07:06:58 +08:00
update 2024-12-20 00:23:31
This commit is contained in:
parent
12d62d662f
commit
a7b6ff9335
@ -5,12 +5,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=dae
|
PKG_NAME:=dae
|
||||||
PKG_VERSION:=0.8.0
|
PKG_VERSION:=0.9.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
|
||||||
PKG_SOURCE_URL:=https://github.com/daeuniverse/dae/releases/download/v$(PKG_VERSION)/dae-full-src.zip?
|
PKG_SOURCE_URL:=https://github.com/daeuniverse/dae/releases/download/v$(PKG_VERSION)/dae-full-src.zip?
|
||||||
PKG_HASH:=c271f085dc720ba2c7e7f1fe2ccdf795c77f2173057f5f07c26361251b99ff7d
|
PKG_HASH:=b631e2cc729f28410f5ccf584de18cf6a839c4a313d694df5e326377f6435ab1
|
||||||
|
|
||||||
PKG_LICENSE:=AGPL-3.0-only
|
PKG_LICENSE:=AGPL-3.0-only
|
||||||
PKG_LICENSE_FILE:=LICENSE
|
PKG_LICENSE_FILE:=LICENSE
|
||||||
@ -21,6 +21,7 @@ PKG_BUILD_PARALLEL:=1
|
|||||||
PKG_BUILD_FLAGS:=no-mips16
|
PKG_BUILD_FLAGS:=no-mips16
|
||||||
|
|
||||||
GO_PKG:=github.com/daeuniverse/dae
|
GO_PKG:=github.com/daeuniverse/dae
|
||||||
|
GO_PKG_EXCLUDES:=control/kern/tests
|
||||||
GO_PKG_LDFLAGS_X:= \
|
GO_PKG_LDFLAGS_X:= \
|
||||||
$(GO_PKG)/cmd.Version=$(PKG_VERSION) \
|
$(GO_PKG)/cmd.Version=$(PKG_VERSION) \
|
||||||
$(GO_PKG)/common/consts.MaxMatchSetLen_=64
|
$(GO_PKG)/common/consts.MaxMatchSetLen_=64
|
||||||
@ -81,7 +82,7 @@ endef
|
|||||||
|
|
||||||
DAE_CFLAGS:= \
|
DAE_CFLAGS:= \
|
||||||
-O2 -Wall -Werror \
|
-O2 -Wall -Werror \
|
||||||
-DMAX_MATCH_SET_LEN=64 \
|
-DMAX_MATCH_SET_LEN=1024 \
|
||||||
-I$(BPF_HEADERS_DIR)/tools/lib \
|
-I$(BPF_HEADERS_DIR)/tools/lib \
|
||||||
-I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/asm/mach-generic
|
-I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/asm/mach-generic
|
||||||
|
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=dnsproxy
|
PKG_NAME:=dnsproxy
|
||||||
PKG_VERSION:=0.73.3
|
PKG_VERSION:=0.73.4
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=9eb2b1e88e74d3a4237b50977aa52cd19ea1bb6c896535e7dd4b2df4d6aa469c
|
PKG_HASH:=8a7779900d2449cdc7e9bf1b311a3317c04d78db24efde4186c169cc8a501a5f
|
||||||
|
|
||||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
@ -10,12 +10,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=haproxy
|
PKG_NAME:=haproxy
|
||||||
PKG_VERSION:=3.0.6
|
PKG_VERSION:=3.0.7
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://www.haproxy.org/download/3.0/src
|
PKG_SOURCE_URL:=https://www.haproxy.org/download/3.0/src
|
||||||
PKG_HASH:=cf1bf58b5bc79c48db7b01667596ffd98343adb29a41096f075f00a8f90a7335
|
PKG_HASH:=5c5c6b66645278435a89cd6e2a0d39f8e7d2546212d847bd0d236511ff996f11
|
||||||
|
|
||||||
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
|
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
|
||||||
Christian Lachner <gladiac@gmail.com>
|
Christian Lachner <gladiac@gmail.com>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
CLONEURL=https://git.haproxy.org/git/haproxy-3.0.git
|
CLONEURL=https://git.haproxy.org/git/haproxy-3.0.git
|
||||||
BASE_TAG=v3.0.6
|
BASE_TAG=v3.0.7
|
||||||
TMP_REPODIR=tmprepo
|
TMP_REPODIR=tmprepo
|
||||||
PATCHESDIR=patches
|
PATCHESDIR=patches
|
||||||
|
|
||||||
|
@ -146,6 +146,11 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
m:set(shunt_node_id, option, value)
|
m:set(shunt_node_id, option, value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local function get_remove(shunt_node_id, option)
|
||||||
|
return function(self, section)
|
||||||
|
m:del(shunt_node_id, option)
|
||||||
|
end
|
||||||
|
end
|
||||||
if #normal_list > 0 then
|
if #normal_list > 0 then
|
||||||
for k, v in pairs(shunt_list) do
|
for k, v in pairs(shunt_list) do
|
||||||
local vid = v.id
|
local vid = v.id
|
||||||
@ -197,6 +202,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
o = s:taboption("Main", ListValue, node_option, string.format('* <a href="%s" target="_blank">%s</a>', api.url("shunt_rules", id), e.remarks))
|
o = s:taboption("Main", ListValue, node_option, string.format('* <a href="%s" target="_blank">%s</a>', api.url("shunt_rules", id), e.remarks))
|
||||||
o.cfgvalue = get_cfgvalue(v.id, id)
|
o.cfgvalue = get_cfgvalue(v.id, id)
|
||||||
o.write = get_write(v.id, id)
|
o.write = get_write(v.id, id)
|
||||||
|
o.remove = get_remove(v.id, id)
|
||||||
o:depends("tcp_node", v.id)
|
o:depends("tcp_node", v.id)
|
||||||
o:value("", translate("Close"))
|
o:value("", translate("Close"))
|
||||||
o:value("_default", translate("Default"))
|
o:value("_default", translate("Default"))
|
||||||
@ -206,6 +212,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
local pt = s:taboption("Main", ListValue, vid .. "-".. id .. "_proxy_tag", string.format('* <a style="color:red">%s</a>', e.remarks .. " " .. translate("Preproxy")))
|
local pt = s:taboption("Main", ListValue, vid .. "-".. id .. "_proxy_tag", string.format('* <a style="color:red">%s</a>', e.remarks .. " " .. translate("Preproxy")))
|
||||||
pt.cfgvalue = get_cfgvalue(v.id, id .. "_proxy_tag")
|
pt.cfgvalue = get_cfgvalue(v.id, id .. "_proxy_tag")
|
||||||
pt.write = get_write(v.id, id .. "_proxy_tag")
|
pt.write = get_write(v.id, id .. "_proxy_tag")
|
||||||
|
pt.remove = get_remove(v.id, id .. "_proxy_tag")
|
||||||
pt:value("", translate("Close"))
|
pt:value("", translate("Close"))
|
||||||
pt:value("main", translate("Preproxy Node"))
|
pt:value("main", translate("Preproxy Node"))
|
||||||
for k1, v1 in pairs(socks_list) do
|
for k1, v1 in pairs(socks_list) do
|
||||||
@ -228,6 +235,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default")))
|
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default")))
|
||||||
o.cfgvalue = get_cfgvalue(v.id, id)
|
o.cfgvalue = get_cfgvalue(v.id, id)
|
||||||
o.write = get_write(v.id, id)
|
o.write = get_write(v.id, id)
|
||||||
|
o.remove = get_remove(v.id, id)
|
||||||
o:depends("tcp_node", v.id)
|
o:depends("tcp_node", v.id)
|
||||||
o:value("_direct", translate("Direct Connection"))
|
o:value("_direct", translate("Direct Connection"))
|
||||||
o:value("_blackhole", translate("Blackhole"))
|
o:value("_blackhole", translate("Blackhole"))
|
||||||
@ -248,6 +256,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default Preproxy")), translate("When using, localhost will connect this node first and then use this node to connect the default node."))
|
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default Preproxy")), translate("When using, localhost will connect this node first and then use this node to connect the default node."))
|
||||||
o.cfgvalue = get_cfgvalue(v.id, id)
|
o.cfgvalue = get_cfgvalue(v.id, id)
|
||||||
o.write = get_write(v.id, id)
|
o.write = get_write(v.id, id)
|
||||||
|
o.remove = get_remove(v.id, id)
|
||||||
o:value("", translate("Close"))
|
o:value("", translate("Close"))
|
||||||
o:value("main", translate("Preproxy Node"))
|
o:value("main", translate("Preproxy Node"))
|
||||||
for k1, v1 in pairs(normal_list) do
|
for k1, v1 in pairs(normal_list) do
|
||||||
|
@ -959,7 +959,7 @@ function gen_config(var)
|
|||||||
rule_outboundTag = "block"
|
rule_outboundTag = "block"
|
||||||
elseif _node_id == "_default" and rule_name ~= "default" then
|
elseif _node_id == "_default" and rule_name ~= "default" then
|
||||||
rule_outboundTag = "default"
|
rule_outboundTag = "default"
|
||||||
elseif _node_id:find("Socks_") then
|
elseif _node_id and _node_id:find("Socks_") then
|
||||||
local socks_id = _node_id:sub(1 + #"Socks_")
|
local socks_id = _node_id:sub(1 + #"Socks_")
|
||||||
local socks_node = uci:get_all(appname, socks_id) or nil
|
local socks_node = uci:get_all(appname, socks_id) or nil
|
||||||
if socks_node then
|
if socks_node then
|
||||||
|
@ -846,7 +846,7 @@ function gen_config(var)
|
|||||||
return "blackhole", nil
|
return "blackhole", nil
|
||||||
elseif _node_id == "_default" then
|
elseif _node_id == "_default" then
|
||||||
return "default", nil
|
return "default", nil
|
||||||
elseif _node_id:find("Socks_") then
|
elseif _node_id and _node_id:find("Socks_") then
|
||||||
local socks_id = _node_id:sub(1 + #"Socks_")
|
local socks_id = _node_id:sub(1 + #"Socks_")
|
||||||
local socks_node = uci:get_all(appname, socks_id) or nil
|
local socks_node = uci:get_all(appname, socks_id) or nil
|
||||||
local socks_tag
|
local socks_tag
|
||||||
|
@ -119,7 +119,6 @@ end
|
|||||||
|
|
||||||
function copy_instance(var)
|
function copy_instance(var)
|
||||||
local LISTEN_PORT = var["-LISTEN_PORT"]
|
local LISTEN_PORT = var["-LISTEN_PORT"]
|
||||||
local DNSMASQ_CONF = var["-DNSMASQ_CONF"]
|
|
||||||
local conf_lines = {}
|
local conf_lines = {}
|
||||||
local DEFAULT_DNSMASQ_CFGID = sys.exec("echo -n $(uci -q show dhcp.@dnsmasq[0] | awk 'NR==1 {split($0, conf, /[.=]/); print conf[2]}')")
|
local DEFAULT_DNSMASQ_CFGID = sys.exec("echo -n $(uci -q show dhcp.@dnsmasq[0] | awk 'NR==1 {split($0, conf, /[.=]/); print conf[2]}')")
|
||||||
for line in io.lines("/tmp/etc/dnsmasq.conf." .. DEFAULT_DNSMASQ_CFGID) do
|
for line in io.lines("/tmp/etc/dnsmasq.conf." .. DEFAULT_DNSMASQ_CFGID) do
|
||||||
@ -135,7 +134,11 @@ function copy_instance(var)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
tinsert(conf_lines, "port=" .. LISTEN_PORT)
|
tinsert(conf_lines, "port=" .. LISTEN_PORT)
|
||||||
|
if var["-return_table"] == "1" then
|
||||||
|
return conf_lines
|
||||||
|
end
|
||||||
if #conf_lines > 0 then
|
if #conf_lines > 0 then
|
||||||
|
local DNSMASQ_CONF = var["-DNSMASQ_CONF"]
|
||||||
local conf_out = io.open(DNSMASQ_CONF, "a")
|
local conf_out = io.open(DNSMASQ_CONF, "a")
|
||||||
conf_out:write(table.concat(conf_lines, "\n"))
|
conf_out:write(table.concat(conf_lines, "\n"))
|
||||||
conf_out:close()
|
conf_out:close()
|
||||||
@ -616,20 +619,7 @@ function add_rule(var)
|
|||||||
local conf_lines = {}
|
local conf_lines = {}
|
||||||
if LISTEN_PORT then
|
if LISTEN_PORT then
|
||||||
--Copy dnsmasq instance
|
--Copy dnsmasq instance
|
||||||
local DEFAULT_DNSMASQ_CFGID = sys.exec("echo -n $(uci -q show dhcp.@dnsmasq[0] | awk 'NR==1 {split($0, conf, /[.=]/); print conf[2]}')")
|
conf_lines = copy_instance({["-LISTEN_PORT"] = LISTEN_PORT, ["-return_table"] = "1"})
|
||||||
for line in io.lines("/tmp/etc/dnsmasq.conf." .. DEFAULT_DNSMASQ_CFGID) do
|
|
||||||
local filter
|
|
||||||
if line:find("passwall") then filter = true end
|
|
||||||
if line:find("ubus") then filter = true end
|
|
||||||
if line:find("dhcp") then filter = true end
|
|
||||||
if line:find("server=") == 1 then filter = true end
|
|
||||||
if line:find("port=") == 1 then filter = true end
|
|
||||||
if line:find("address=") == 1 or (line:find("server=") == 1 and line:find("/")) then filter = nil end
|
|
||||||
if not filter then
|
|
||||||
tinsert(conf_lines, line)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
tinsert(conf_lines, "port=" .. LISTEN_PORT)
|
|
||||||
else
|
else
|
||||||
--Modify the default dnsmasq service
|
--Modify the default dnsmasq service
|
||||||
end
|
end
|
||||||
|
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=luci-app-passwall2
|
PKG_NAME:=luci-app-passwall2
|
||||||
PKG_VERSION:=24.12.19
|
PKG_VERSION:=24.12.19
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
|
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
|
||||||
|
@ -94,6 +94,11 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
m:set(shunt_node_id, option, value)
|
m:set(shunt_node_id, option, value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local function get_remove(shunt_node_id, option)
|
||||||
|
return function(self, section)
|
||||||
|
m:del(shunt_node_id, option)
|
||||||
|
end
|
||||||
|
end
|
||||||
if #normal_list > 0 then
|
if #normal_list > 0 then
|
||||||
for k, v in pairs(shunt_list) do
|
for k, v in pairs(shunt_list) do
|
||||||
local vid = v.id
|
local vid = v.id
|
||||||
@ -148,8 +153,8 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
o = s:taboption("Main", ListValue, node_option, string.format('* <a href="%s" target="_blank">%s</a>', api.url("shunt_rules", id), e.remarks))
|
o = s:taboption("Main", ListValue, node_option, string.format('* <a href="%s" target="_blank">%s</a>', api.url("shunt_rules", id), e.remarks))
|
||||||
o.cfgvalue = get_cfgvalue(v.id, id)
|
o.cfgvalue = get_cfgvalue(v.id, id)
|
||||||
o.write = get_write(v.id, id)
|
o.write = get_write(v.id, id)
|
||||||
|
o.remove = get_remove(v.id, id)
|
||||||
o:depends("node", v.id)
|
o:depends("node", v.id)
|
||||||
o.default = ""
|
|
||||||
o:value("", translate("Close"))
|
o:value("", translate("Close"))
|
||||||
o:value("_default", translate("Default"))
|
o:value("_default", translate("Default"))
|
||||||
o:value("_direct", translate("Direct Connection"))
|
o:value("_direct", translate("Direct Connection"))
|
||||||
@ -158,7 +163,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
local pt = s:taboption("Main", ListValue, vid .. "-".. id .. "_proxy_tag", string.format('* <a style="color:red">%s</a>', e.remarks .. " " .. translate("Preproxy")))
|
local pt = s:taboption("Main", ListValue, vid .. "-".. id .. "_proxy_tag", string.format('* <a style="color:red">%s</a>', e.remarks .. " " .. translate("Preproxy")))
|
||||||
pt.cfgvalue = get_cfgvalue(v.id, id .. "_proxy_tag")
|
pt.cfgvalue = get_cfgvalue(v.id, id .. "_proxy_tag")
|
||||||
pt.write = get_write(v.id, id .. "_proxy_tag")
|
pt.write = get_write(v.id, id .. "_proxy_tag")
|
||||||
pt.default = ""
|
pt.remove = get_remove(v.id, id .. "_proxy_tag")
|
||||||
pt:value("", translate("Close"))
|
pt:value("", translate("Close"))
|
||||||
pt:value("main", translate("Preproxy Node"))
|
pt:value("main", translate("Preproxy Node"))
|
||||||
for k1, v1 in pairs(socks_list) do
|
for k1, v1 in pairs(socks_list) do
|
||||||
@ -181,6 +186,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default")))
|
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default")))
|
||||||
o.cfgvalue = get_cfgvalue(v.id, id)
|
o.cfgvalue = get_cfgvalue(v.id, id)
|
||||||
o.write = get_write(v.id, id)
|
o.write = get_write(v.id, id)
|
||||||
|
o.remove = get_remove(v.id, id)
|
||||||
o:depends("node", v.id)
|
o:depends("node", v.id)
|
||||||
o.default = "_direct"
|
o.default = "_direct"
|
||||||
o:value("_direct", translate("Direct Connection"))
|
o:value("_direct", translate("Direct Connection"))
|
||||||
@ -202,6 +208,7 @@ if (has_singbox or has_xray) and #nodes_table > 0 then
|
|||||||
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default Preproxy")), translate("When using, localhost will connect this node first and then use this node to connect the default node."))
|
o = s:taboption("Main", ListValue, vid .. "-" .. id, string.format('* <a style="color:red">%s</a>', translate("Default Preproxy")), translate("When using, localhost will connect this node first and then use this node to connect the default node."))
|
||||||
o.cfgvalue = get_cfgvalue(v.id, id)
|
o.cfgvalue = get_cfgvalue(v.id, id)
|
||||||
o.write = get_write(v.id, id)
|
o.write = get_write(v.id, id)
|
||||||
|
o.remove = get_remove(v.id, id)
|
||||||
o:value("", translate("Close"))
|
o:value("", translate("Close"))
|
||||||
o:value("main", translate("Preproxy Node"))
|
o:value("main", translate("Preproxy Node"))
|
||||||
for k1, v1 in pairs(normal_list) do
|
for k1, v1 in pairs(normal_list) do
|
||||||
|
@ -950,7 +950,7 @@ function gen_config(var)
|
|||||||
rule_outboundTag = "block"
|
rule_outboundTag = "block"
|
||||||
elseif _node_id == "_default" and rule_name ~= "default" then
|
elseif _node_id == "_default" and rule_name ~= "default" then
|
||||||
rule_outboundTag = "default"
|
rule_outboundTag = "default"
|
||||||
elseif _node_id:find("Socks_") then
|
elseif _node_id and _node_id:find("Socks_") then
|
||||||
local socks_id = _node_id:sub(1 + #"Socks_")
|
local socks_id = _node_id:sub(1 + #"Socks_")
|
||||||
local socks_node = uci:get_all(appname, socks_id) or nil
|
local socks_node = uci:get_all(appname, socks_id) or nil
|
||||||
if socks_node then
|
if socks_node then
|
||||||
|
@ -848,7 +848,7 @@ function gen_config(var)
|
|||||||
return "blackhole", nil
|
return "blackhole", nil
|
||||||
elseif _node_id == "_default" then
|
elseif _node_id == "_default" then
|
||||||
return "default", nil
|
return "default", nil
|
||||||
elseif _node_id:find("Socks_") then
|
elseif _node_id and _node_id:find("Socks_") then
|
||||||
local socks_id = _node_id:sub(1 + #"Socks_")
|
local socks_id = _node_id:sub(1 + #"Socks_")
|
||||||
local socks_node = uci:get_all(appname, socks_id) or nil
|
local socks_node = uci:get_all(appname, socks_id) or nil
|
||||||
local socks_tag
|
local socks_tag
|
||||||
|
Loading…
Reference in New Issue
Block a user