mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-01 07:13:56 +08:00
update 2026-08-19 16:30:12
This commit is contained in:
1 parent
98910716ab
commit
ef8926d781
9 files changed
+39
-38
No files matched your search
@@ -7,7 +7,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-passwall
|
PKG_NAME:=luci-app-passwall
|
||||||
PKG_VERSION:=26.8.12
|
PKG_VERSION:=26.8.19
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_PO_VERSION:=$(PKG_VERSION)
|
PKG_PO_VERSION:=$(PKG_VERSION)
|
||||||
|
|
||||||
|
|||||||
@@ -389,12 +389,12 @@ function socks_status()
|
|||||||
local index = http.formvalue("index")
|
local index = http.formvalue("index")
|
||||||
local id = http.formvalue("id")
|
local id = http.formvalue("id")
|
||||||
e.index = index
|
e.index = index
|
||||||
e.socks_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '%s' > /dev/null", appname, id)) == 0
|
e.socks_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '/%s' > /dev/null", appname, id)) == 0
|
||||||
local use_http = uci_get(id, "http_port") or 0
|
local use_http = uci_get(id, "http_port") or 0
|
||||||
e.use_http = 0
|
e.use_http = 0
|
||||||
if tonumber(use_http) > 0 then
|
if tonumber(use_http) > 0 then
|
||||||
e.use_http = 1
|
e.use_http = 1
|
||||||
e.http_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '%s' | grep -E '\\+http|_http' > /dev/null", appname, id)) == 0
|
e.http_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '/%s' | grep -E '\\+http|_http' > /dev/null", appname, id)) == 0
|
||||||
end
|
end
|
||||||
http_write_json(e)
|
http_write_json(e)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -63,15 +63,9 @@ o:value("shadowsocks", "Shadowsocks")
|
|||||||
o:value("trojan", "Trojan")
|
o:value("trojan", "Trojan")
|
||||||
o:value("hysteria2", "Hysteria2")
|
o:value("hysteria2", "Hysteria2")
|
||||||
o:value("wireguard", "WireGuard")
|
o:value("wireguard", "WireGuard")
|
||||||
o:value("dokodemo-door", "dokodemo-door")
|
o:value("tunnel", "Tunnel")
|
||||||
o:depends({ custom = false })
|
o:depends({ custom = false })
|
||||||
|
|
||||||
o = s:option(DummyValue, "is_endpoint", "")
|
|
||||||
o.not_rewrite = true
|
|
||||||
o.template = m:template_path("/cbi/hidevalue")
|
|
||||||
o.value = "1"
|
|
||||||
o:depends({ custom = false, protocol = "wireguard" })
|
|
||||||
|
|
||||||
o = s:option(Value, "port", translate("Listen Port"))
|
o = s:option(Value, "port", translate("Listen Port"))
|
||||||
o.datatype = "port"
|
o.datatype = "port"
|
||||||
o:depends({ custom = false })
|
o:depends({ custom = false })
|
||||||
@@ -93,14 +87,14 @@ o = s:option(ListValue, "d_protocol", translate("Destination protocol"))
|
|||||||
o:value("tcp", "TCP")
|
o:value("tcp", "TCP")
|
||||||
o:value("udp", "UDP")
|
o:value("udp", "UDP")
|
||||||
o:value("tcp,udp", "TCP,UDP")
|
o:value("tcp,udp", "TCP,UDP")
|
||||||
o:depends({ protocol = "dokodemo-door" })
|
o:depends({ protocol = "tunnel" })
|
||||||
|
|
||||||
o = s:option(Value, "d_address", translate("Destination address"))
|
o = s:option(Value, "d_address", translate("Destination address"))
|
||||||
o:depends({ protocol = "dokodemo-door" })
|
o:depends({ protocol = "tunnel" })
|
||||||
|
|
||||||
o = s:option(Value, "d_port", translate("Destination port"))
|
o = s:option(Value, "d_port", translate("Destination port"))
|
||||||
o.datatype = "port"
|
o.datatype = "port"
|
||||||
o:depends({ protocol = "dokodemo-door" })
|
o:depends({ protocol = "tunnel" })
|
||||||
|
|
||||||
o = s:option(Value, "decryption", translate("Encrypt Method") .. " (decryption)")
|
o = s:option(Value, "decryption", translate("Encrypt Method") .. " (decryption)")
|
||||||
o.default = "none"
|
o.default = "none"
|
||||||
@@ -411,7 +405,8 @@ end
|
|||||||
--[[acceptProxyProtocol]]
|
--[[acceptProxyProtocol]]
|
||||||
o = s:option(Flag, "acceptProxyProtocol", translate("acceptProxyProtocol"), translate("Whether to receive PROXY protocol, when this node want to be fallback or forwarded by proxy, it must be enable, otherwise it cannot be used."))
|
o = s:option(Flag, "acceptProxyProtocol", translate("acceptProxyProtocol"), translate("Whether to receive PROXY protocol, when this node want to be fallback or forwarded by proxy, it must be enable, otherwise it cannot be used."))
|
||||||
o.default = "0"
|
o.default = "0"
|
||||||
o:depends({ custom = false, is_endpoint = "" })
|
o:depends({ transport = "raw" })
|
||||||
|
o:depends({ transport = "ws" })
|
||||||
|
|
||||||
--[[Fast Open]]
|
--[[Fast Open]]
|
||||||
o = s:option(Flag, "tcp_fast_open", "TCP " .. translate("Fast Open"))
|
o = s:option(Flag, "tcp_fast_open", "TCP " .. translate("Fast Open"))
|
||||||
|
|||||||
@@ -1748,6 +1748,7 @@ function apply_redirect(m)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
uci:revert(c_config .. "_redirect")
|
||||||
sys.call("/bin/rm -f " .. tmp_uci_file)
|
sys.call("/bin/rm -f " .. tmp_uci_file)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -567,11 +567,11 @@ function gen_config_server(node)
|
|||||||
version = 2,
|
version = 2,
|
||||||
users = users
|
users = users
|
||||||
}
|
}
|
||||||
elseif node.protocol == "dokodemo-door" then
|
elseif node.protocol == "tunnel" then
|
||||||
settings = {
|
settings = {
|
||||||
network = node.d_protocol,
|
allowedNetwork = node.d_protocol,
|
||||||
address = node.d_address,
|
rewriteAddress = node.d_address,
|
||||||
port = tonumber(node.d_port)
|
rewritePort = tonumber(node.d_port)
|
||||||
}
|
}
|
||||||
elseif node.protocol == "wireguard" then
|
elseif node.protocol == "wireguard" then
|
||||||
settings = {
|
settings = {
|
||||||
@@ -1231,8 +1231,8 @@ function gen_config(var)
|
|||||||
tag = in_tag,
|
tag = in_tag,
|
||||||
listen = "127.0.0.1",
|
listen = "127.0.0.1",
|
||||||
port = new_port,
|
port = new_port,
|
||||||
protocol = "dokodemo-door",
|
protocol = "tunnel",
|
||||||
settings = {network = "tcp,udp", address = to_node.address, port = tonumber(to_node.port)}
|
settings = {allowedNetwork = "tcp,udp", rewriteAddress = to_node.address, rewritePort = tonumber(to_node.port)}
|
||||||
})
|
})
|
||||||
if to_node.tls_serverName == nil then
|
if to_node.tls_serverName == nil then
|
||||||
to_node.tls_serverName = to_node.address
|
to_node.tls_serverName = to_node.address
|
||||||
@@ -1587,8 +1587,8 @@ function gen_config(var)
|
|||||||
|
|
||||||
if tcp_redir_port or udp_redir_port then
|
if tcp_redir_port or udp_redir_port then
|
||||||
local inbound = {
|
local inbound = {
|
||||||
protocol = "dokodemo-door",
|
protocol = "tunnel",
|
||||||
settings = {network = "tcp,udp", followRedirect = true},
|
settings = {allowedNetwork = "tcp,udp", followRedirect = true},
|
||||||
streamSettings = {sockopt = {tproxy = "tproxy"}},
|
streamSettings = {sockopt = {tproxy = "tproxy"}},
|
||||||
sniffing = {
|
sniffing = {
|
||||||
enabled = (xray_settings.sniffing_override_dest == "1") or (node and node.protocol == "_shunt") or false
|
enabled = (xray_settings.sniffing_override_dest == "1") or (node and node.protocol == "_shunt") or false
|
||||||
@@ -1614,7 +1614,7 @@ function gen_config(var)
|
|||||||
if tcp_redir_port then
|
if tcp_redir_port then
|
||||||
local tcp_inbound = api.clone(inbound)
|
local tcp_inbound = api.clone(inbound)
|
||||||
tcp_inbound.tag = "tcp_redir"
|
tcp_inbound.tag = "tcp_redir"
|
||||||
tcp_inbound.settings.network = "tcp"
|
tcp_inbound.settings.allowedNetwork = "tcp"
|
||||||
tcp_inbound.port = tonumber(tcp_redir_port)
|
tcp_inbound.port = tonumber(tcp_redir_port)
|
||||||
tcp_inbound.streamSettings.sockopt.tproxy = tcp_proxy_way
|
tcp_inbound.streamSettings.sockopt.tproxy = tcp_proxy_way
|
||||||
table.insert(inbounds, tcp_inbound)
|
table.insert(inbounds, tcp_inbound)
|
||||||
@@ -1623,7 +1623,7 @@ function gen_config(var)
|
|||||||
if udp_redir_port then
|
if udp_redir_port then
|
||||||
local udp_inbound = api.clone(inbound)
|
local udp_inbound = api.clone(inbound)
|
||||||
udp_inbound.tag = "udp_redir"
|
udp_inbound.tag = "udp_redir"
|
||||||
udp_inbound.settings.network = "udp"
|
udp_inbound.settings.allowedNetwork = "udp"
|
||||||
udp_inbound.port = tonumber(udp_redir_port)
|
udp_inbound.port = tonumber(udp_redir_port)
|
||||||
table.insert(inbounds, udp_inbound)
|
table.insert(inbounds, udp_inbound)
|
||||||
end
|
end
|
||||||
@@ -1790,11 +1790,10 @@ function gen_config(var)
|
|||||||
table.insert(inbounds, {
|
table.insert(inbounds, {
|
||||||
listen = "127.0.0.1",
|
listen = "127.0.0.1",
|
||||||
port = tonumber(dns_listen_port),
|
port = tonumber(dns_listen_port),
|
||||||
protocol = "dokodemo-door",
|
protocol = "tunnel",
|
||||||
tag = "dns-in",
|
tag = "dns-in",
|
||||||
settings = {
|
settings = {
|
||||||
address = "0.0.0.0",
|
allowedNetwork = "tcp,udp"
|
||||||
network = "tcp,udp"
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ window.lv_dropdown_data["<%=cbid%>"] = <%=json.stringify(dropdown_data)%>;
|
|||||||
<!-- 模拟 ListValue 控件外观 -->
|
<!-- 模拟 ListValue 控件外观 -->
|
||||||
<div class="cbi-input-value cbi-input-select lv-dropdown-display" id="<%=cbid%>.display" tabindex="0">
|
<div class="cbi-input-value cbi-input-select lv-dropdown-display" id="<%=cbid%>.display" tabindex="0">
|
||||||
<span id="<%=cbid%>.label" class="lv-dropdown-label" title="<%=pcdata(current_label)%>">
|
<span id="<%=cbid%>.label" class="lv-dropdown-label" title="<%=pcdata(current_label)%>">
|
||||||
<%=pcdata("("..translate("Not set")..")")%>
|
<%=pcdata("( "..translate("Not Set").." )")%>
|
||||||
</span>
|
</span>
|
||||||
<span class="lv-arrow-down"></span>
|
<span class="lv-arrow-down"></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -139,7 +139,7 @@ window.lv_dropdown_data["<%=cbid%>"] = <%=json.stringify(dropdown_data)%>;
|
|||||||
});
|
});
|
||||||
lv_registerAdaptive(cbid);
|
lv_registerAdaptive(cbid);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
labelSpan.textContent = lv_ellipsisByWidth(cbid, '<%=pcdata(current_label ~= "" and current_label or ("("..translate("Not set")..")"))%>');
|
labelSpan.textContent = lv_ellipsisByWidth(cbid, '<%=pcdata(current_label ~= "" and current_label or ("( "..translate("Not Set").." )"))%>');
|
||||||
}, 100);
|
}, 100);
|
||||||
})();
|
})();
|
||||||
//]]>
|
//]]>
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ for sid in $(uci -q show passwall_server | sed -n 's/^passwall_server\.\([^.=]*\
|
|||||||
uci -q set "passwall_server.${sid}=server"
|
uci -q set "passwall_server.${sid}=server"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
for sid in $(uci -q show passwall_server | sed -n 's/^passwall_server\.\([^.=]*\)\.protocol=dokodemo-door$/\1/p'); do
|
||||||
|
uci -q set "passwall_server.${sid}.protocol=tunnel"
|
||||||
|
done
|
||||||
|
|
||||||
uci -q commit passwall_server
|
uci -q commit passwall_server
|
||||||
|
|
||||||
rm -f /tmp/luci-indexcache /tmp/luci-indexcache.*
|
rm -f /tmp/luci-indexcache /tmp/luci-indexcache.*
|
||||||
|
|||||||
@@ -145,13 +145,14 @@ do
|
|||||||
CONFIG[#CONFIG + 1] = {
|
CONFIG[#CONFIG + 1] = {
|
||||||
log = true,
|
log = true,
|
||||||
remarks = name .. "节点",
|
remarks = name .. "节点",
|
||||||
currentNode = node_id and (function()
|
currentNode = (function(id)
|
||||||
local section = uci_get(node_id) or {}
|
local section = id and uci_get(id) or nil
|
||||||
|
if not section then return nil end
|
||||||
if section[".type"] == "socks" then
|
if section[".type"] == "socks" then
|
||||||
return { Socks = node_id }
|
return { Socks = id }
|
||||||
end
|
end
|
||||||
return section
|
return section
|
||||||
end)() or nil,
|
end)(node_id),
|
||||||
set = function(o, server)
|
set = function(o, server)
|
||||||
uci_set(szType, option, server)
|
uci_set(szType, option, server)
|
||||||
o.newNodeId = server
|
o.newNodeId = server
|
||||||
@@ -264,13 +265,14 @@ do
|
|||||||
log = true,
|
log = true,
|
||||||
id = t[".name"],
|
id = t[".name"],
|
||||||
remarks = "访问控制列表[" .. i .. "]",
|
remarks = "访问控制列表[" .. i .. "]",
|
||||||
currentNode = node_id and (function()
|
currentNode = (function(id)
|
||||||
local section = uci_get(node_id) or {}
|
local section = id and uci_get(id) or nil
|
||||||
|
if not section then return nil end
|
||||||
if section[".type"] == "socks" then
|
if section[".type"] == "socks" then
|
||||||
return { Socks = node_id }
|
return { Socks = id }
|
||||||
end
|
end
|
||||||
return section
|
return section
|
||||||
end)() or nil,
|
end)(node_id),
|
||||||
set = function(o, server)
|
set = function(o, server)
|
||||||
uci_set(t[".name"], option, server)
|
uci_set(t[".name"], option, server)
|
||||||
o.newNodeId = server
|
o.newNodeId = server
|
||||||
|
|||||||
@@ -556,7 +556,7 @@ case $action in
|
|||||||
;;
|
;;
|
||||||
"link_meta")
|
"link_meta")
|
||||||
[[ -d "$META_DIR/meta" ]] || mkdir -p "$META_DIR/meta"
|
[[ -d "$META_DIR/meta" ]] || mkdir -p "$META_DIR/meta"
|
||||||
ln -sf "$META_DIR" /tmp/run/istore-meta
|
[ -e /tmp/run/istore-meta ] || ln -sf "$META_DIR" /tmp/run/istore-meta
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
usage
|
usage
|
||||||
|
|||||||
Reference in new issue
Block a user