mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-27 02:11:19 +08:00
🎨 Sync 2026-04-04 20:20:52
This commit is contained in:
parent
874bea09f4
commit
c65d4b582c
@ -7,7 +7,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=clouddrive2
|
||||
PKG_VERSION:=0.9.17
|
||||
PKG_VERSION:=1.0.4
|
||||
PKG_RELEASE=1
|
||||
|
||||
ifeq ($(ARCH),aarch64)
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ddns-go
|
||||
PKG_VERSION:=6.16.2
|
||||
PKG_RELEASE:=3
|
||||
PKG_VERSION:=6.16.4
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/jeessy2/ddns-go/tar.gz/v$(PKG_VERSION)?
|
||||
|
||||
@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=hickory-dns
|
||||
PKG_VERSION:=2026.04.02~54a81de
|
||||
PKG_RELEASE:=9
|
||||
PKG_RELEASE:=10
|
||||
|
||||
HICKORY_COMMIT:=54a81deefb24bb97df466b9032d5928345fffdde
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
listen_addrs_ipv6 = ["::1"]
|
||||
listen_port = 5335
|
||||
prometheus_listen_addr = "[::]:9000"
|
||||
|
||||
[[zones]]
|
||||
zone = "."
|
||||
@ -16,14 +18,6 @@ connections = [
|
||||
{ protocol = { type = "h3", server_name = "dns.alidns.com", path = "/dns-query", disable_grease = false } }
|
||||
]
|
||||
|
||||
[[zones.stores.name_servers]]
|
||||
ip = "1.12.12.12"
|
||||
trust_negative_responses = true
|
||||
connections = [
|
||||
{ protocol = { type = "https", server_name = "doh.pub", path = "/dns-query" } },
|
||||
{ protocol = { type = "tls", server_name = "dot.pub" } }
|
||||
]
|
||||
|
||||
[[zones.stores.name_servers]]
|
||||
ip = "2400:3200::1"
|
||||
trust_negative_responses = true
|
||||
@ -31,11 +25,3 @@ connections = [
|
||||
{ protocol = { type = "quic", server_name = "dns.alidns.com" } },
|
||||
{ protocol = { type = "h3", server_name = "dns.alidns.com", path = "/dns-query", disable_grease = false } }
|
||||
]
|
||||
|
||||
[[zones.stores.name_servers]]
|
||||
ip = "120.53.53.53"
|
||||
trust_negative_responses = true
|
||||
connections = [
|
||||
{ protocol = { type = "https", server_name = "doh.pub", path = "/dns-query" } },
|
||||
{ protocol = { type = "tls", server_name = "dot.pub" } }
|
||||
]
|
||||
|
||||
@ -1,17 +1,23 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
USE_PROCD=1
|
||||
START=99
|
||||
START=18
|
||||
STOP=51
|
||||
|
||||
PROG=/usr/bin/hickory-dns
|
||||
CONF=/etc/hickory-dns/forwarder.toml
|
||||
|
||||
start_service() {
|
||||
procd_open_instance hickory-dns
|
||||
procd_set_param command $PROG -c $CONF -p 5335 -q --prometheus-listen-address=0.0.0.0:9000
|
||||
procd_set_param command $PROG -c $CONF -q
|
||||
procd_set_param user nobody
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}"
|
||||
procd_close_instance hickory-dns
|
||||
}
|
||||
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "dhcp" "network" "system"
|
||||
}
|
||||
|
||||
@ -1019,8 +1019,8 @@ add_firewall_rule() {
|
||||
unset WAN_IP wan_ip
|
||||
|
||||
insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW"
|
||||
# Only TCP, UDP Invalid.
|
||||
insert_rule_before "$ipt_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT"
|
||||
insert_rule_before "$ipt_m" "PREROUTING" "PSW" "-p udp -m socket -j PSW_DIVERT"
|
||||
|
||||
$ipt_m -N PSW_OUTPUT
|
||||
$ipt_m -A PSW_OUTPUT $(dst $IPSET_LAN) -j RETURN
|
||||
@ -1047,7 +1047,7 @@ add_firewall_rule() {
|
||||
$ipt_m -A PSW_OUTPUT -m conntrack --ctdir REPLY -j RETURN
|
||||
$ipt_m -A PSW_OUTPUT -m mark --mark 255 -j RETURN
|
||||
|
||||
ip rule add fwmark ${FWMARK} lookup 999 priority 999
|
||||
ip rule add fwmark ${FWMARK} table 999 priority 999
|
||||
ip route add local 0.0.0.0/0 dev lo table 999
|
||||
|
||||
[ "$accept_icmpv6" = "1" ] && {
|
||||
@ -1099,8 +1099,8 @@ add_firewall_rule() {
|
||||
unset WAN6_IP wan6_ip
|
||||
|
||||
insert_rule_before "$ip6t_m" "PREROUTING" "mwan3" "-j PSW"
|
||||
# Only TCP, UDP Invalid.
|
||||
insert_rule_before "$ip6t_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT"
|
||||
insert_rule_before "$ip6t_m" "PREROUTING" "PSW" "-p udp -m socket -j PSW_DIVERT"
|
||||
|
||||
$ip6t_m -N PSW_OUTPUT
|
||||
$ip6t_m -A PSW_OUTPUT -m mark --mark 255 -j RETURN
|
||||
@ -1349,10 +1349,10 @@ del_firewall_rule() {
|
||||
done
|
||||
done
|
||||
|
||||
ip rule del fwmark ${FWMARK} lookup 999 priority 999 2>/dev/null
|
||||
ip rule del fwmark ${FWMARK} 2>/dev/null
|
||||
ip route del local 0.0.0.0/0 dev lo table 999 2>/dev/null
|
||||
|
||||
ip -6 rule del fwmark ${FWMARK} lookup 999 priority 999 2>/dev/null
|
||||
ip -6 rule del fwmark ${FWMARK} 2>/dev/null
|
||||
ip -6 route del local ::/0 dev lo table 999 2>/dev/null
|
||||
|
||||
destroy_ipset $IPSET_LOCAL
|
||||
@ -1422,7 +1422,6 @@ gen_include() {
|
||||
|
||||
\$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW")
|
||||
\$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT")
|
||||
\$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "PSW" "-p udp -m socket -j PSW_DIVERT")
|
||||
|
||||
WAN_IP=\$(get_wan_ips ip4)
|
||||
[ ! -z "\${WAN_IP}" ] && {
|
||||
@ -1453,7 +1452,6 @@ gen_include() {
|
||||
|
||||
\$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "mwan3" "-j PSW")
|
||||
\$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "PSW" "-p tcp -m socket -j PSW_DIVERT")
|
||||
\$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "PSW" "-p udp -m socket -j PSW_DIVERT")
|
||||
|
||||
WAN6_IP=\$(get_wan_ips ip6)
|
||||
[ ! -z "\${WAN6_IP}" ] && {
|
||||
|
||||
@ -834,9 +834,36 @@ filter_direct_node_list() {
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
del_script_mwan3() {
|
||||
[ -s "/etc/init.d/mwan3" ] && sed -i "/${CONFIG}/d" /etc/init.d/mwan3 >/dev/null 2>&1
|
||||
}
|
||||
|
||||
add_script_mwan3() {
|
||||
del_script_mwan3
|
||||
[ -s "/etc/init.d/mwan3" ] && {
|
||||
sed -i '/start_service()/,/}/ s/^}/ \/usr\/share\/passwall\/nftables.sh mwan3_start\n}/' /etc/init.d/mwan3
|
||||
sed -i '/stop_service().*{/a \ \/usr\/share\/passwall\/nftables.sh mwan3_stop' /etc/init.d/mwan3
|
||||
}
|
||||
}
|
||||
|
||||
mwan3_stop() {
|
||||
local handles=$(nft -a list chain ip mangle mwan3_hook 2>/dev/null | grep "${FWMARK}" | awk -F '# handle ' '{print$2}')
|
||||
for handle in $handles; do
|
||||
nft delete rule ip mangle mwan3_hook handle ${handle} 2>/dev/null
|
||||
done
|
||||
}
|
||||
|
||||
mwan3_start() {
|
||||
mwan3_stop
|
||||
nft list chain ip mangle mwan3_hook >/dev/null 2>&1 && nft insert rule ip mangle mwan3_hook ct mark ${FWMARK} counter return >/dev/null 2>&1
|
||||
}
|
||||
|
||||
add_firewall_rule() {
|
||||
echolog "开始加载 nftables 防火墙规则..."
|
||||
gen_nft_tables
|
||||
add_script_mwan3
|
||||
mwan3_start
|
||||
gen_nftset $NFTSET_WAN ipv4_addr 0 "-1"
|
||||
gen_nftset $NFTSET_VPS ipv4_addr 0 "-1"
|
||||
gen_nftset $NFTSET_GFW ipv4_addr "2d" 0
|
||||
@ -1011,7 +1038,8 @@ add_firewall_rule() {
|
||||
|
||||
nft "add chain $NFTABLE_NAME PSW_DIVERT"
|
||||
nft "flush chain $NFTABLE_NAME PSW_DIVERT"
|
||||
nft "add rule $NFTABLE_NAME PSW_DIVERT meta l4proto { tcp, udp } socket transparent 1 mark set ${FWMARK} counter accept"
|
||||
# Only TCP, UDP Invalid.
|
||||
nft "add rule $NFTABLE_NAME PSW_DIVERT meta l4proto tcp socket transparent 1 mark set ${FWMARK} counter accept"
|
||||
|
||||
nft "add chain $NFTABLE_NAME PSW_DNS"
|
||||
nft "flush chain $NFTABLE_NAME PSW_DNS"
|
||||
@ -1098,7 +1126,7 @@ add_firewall_rule() {
|
||||
fi
|
||||
unset WAN_IP wan_ip
|
||||
|
||||
ip rule add fwmark ${FWMARK} lookup 999 priority 999
|
||||
ip rule add fwmark ${FWMARK} table 999 priority 999
|
||||
ip route add local 0.0.0.0/0 dev lo table 999
|
||||
|
||||
#ipv6 tproxy mode and udp
|
||||
@ -1382,10 +1410,10 @@ del_firewall_rule() {
|
||||
# Need to be removed at the end, otherwise it will show "Resource busy"
|
||||
nft delete chain $NFTABLE_NAME handle $(nft -a list chains | grep -E "PSW_RULE" | awk -F '# handle ' '{print$2}') 2>/dev/null
|
||||
|
||||
ip rule del fwmark ${FWMARK} lookup 999 priority 999 2>/dev/null
|
||||
ip rule del fwmark ${FWMARK} 2>/dev/null
|
||||
ip route del local 0.0.0.0/0 dev lo table 999 2>/dev/null
|
||||
|
||||
ip -6 rule del fwmark ${FWMARK} lookup 999 priority 999 2>/dev/null
|
||||
ip -6 rule del fwmark ${FWMARK} 2>/dev/null
|
||||
ip -6 route del local ::/0 dev lo table 999 2>/dev/null
|
||||
|
||||
destroy_nftset $NFTSET_LOCAL
|
||||
@ -1410,6 +1438,8 @@ del_firewall_rule() {
|
||||
destroy_nftset $NFTSET_BLOCK6
|
||||
destroy_nftset $NFTSET_WHITE6
|
||||
|
||||
del_script_mwan3
|
||||
|
||||
echolog "删除 nftables 规则完成。"
|
||||
}
|
||||
|
||||
@ -1492,6 +1522,12 @@ insert_nftset)
|
||||
filter_direct_node_list)
|
||||
filter_direct_node_list
|
||||
;;
|
||||
mwan3_start)
|
||||
mwan3_start
|
||||
;;
|
||||
mwan3_stop)
|
||||
mwan3_stop
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
@ -1500,3 +1536,7 @@ start)
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
reload_service() {
|
||||
restart
|
||||
}
|
||||
|
||||
@ -727,8 +727,8 @@ add_firewall_rule() {
|
||||
unset WAN_IP wan_ip
|
||||
|
||||
insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW2"
|
||||
# Only TCP, UDP Invalid.
|
||||
insert_rule_before "$ipt_m" "PREROUTING" "PSW2" "-p tcp -m socket -j PSW2_DIVERT"
|
||||
insert_rule_before "$ipt_m" "PREROUTING" "PSW2" "-p udp -m socket -j PSW2_DIVERT"
|
||||
|
||||
$ipt_m -N PSW2_OUTPUT
|
||||
$ipt_m -A PSW2_OUTPUT $(dst $IPSET_LAN) -j RETURN
|
||||
@ -794,8 +794,8 @@ add_firewall_rule() {
|
||||
unset WAN6_IP wan6_ip
|
||||
|
||||
insert_rule_before "$ip6t_m" "PREROUTING" "mwan3" "-j PSW2"
|
||||
# Only TCP, UDP Invalid.
|
||||
insert_rule_before "$ip6t_m" "PREROUTING" "PSW2" "-p tcp -m socket -j PSW2_DIVERT"
|
||||
insert_rule_before "$ip6t_m" "PREROUTING" "PSW2" "-p udp -m socket -j PSW2_DIVERT"
|
||||
|
||||
$ip6t_m -N PSW2_OUTPUT
|
||||
$ip6t_m -A PSW2_OUTPUT -m mark --mark 255 -j RETURN
|
||||
@ -999,7 +999,6 @@ gen_include() {
|
||||
|
||||
\$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW2")
|
||||
\$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "PSW2" "-p tcp -m socket -j PSW2_DIVERT")
|
||||
\$(${MY_PATH} insert_rule_before "$ipt_m" "PREROUTING" "PSW2" "-p udp -m socket -j PSW2_DIVERT")
|
||||
|
||||
WAN_IP=\$(get_wan_ips ip4)
|
||||
[ ! -z "\${WAN_IP}" ] && {
|
||||
@ -1025,7 +1024,6 @@ gen_include() {
|
||||
|
||||
\$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "mwan3" "-j PSW2")
|
||||
\$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "PSW2" "-p tcp -m socket -j PSW2_DIVERT")
|
||||
\$(${MY_PATH} insert_rule_before "$ip6t_m" "PREROUTING" "PSW2" "-p udp -m socket -j PSW2_DIVERT")
|
||||
|
||||
WAN6_IP=\$(get_wan_ips ip6)
|
||||
[ ! -z "\${WAN6_IP}" ] && {
|
||||
|
||||
@ -736,7 +736,8 @@ add_firewall_rule() {
|
||||
|
||||
nft "add chain $NFTABLE_NAME PSW2_DIVERT"
|
||||
nft "flush chain $NFTABLE_NAME PSW2_DIVERT"
|
||||
nft "add rule $NFTABLE_NAME PSW2_DIVERT meta l4proto { tcp, udp } socket transparent 1 mark set ${FWMARK} counter accept"
|
||||
# Only TCP, UDP Invalid.
|
||||
nft "add rule $NFTABLE_NAME PSW2_DIVERT meta l4proto tcp socket transparent 1 mark set ${FWMARK} counter accept"
|
||||
|
||||
nft "add chain $NFTABLE_NAME PSW2_DNS"
|
||||
nft "flush chain $NFTABLE_NAME PSW2_DNS"
|
||||
|
||||
@ -4,7 +4,7 @@ LUCI_TITLE:=luci-app-ssr-plus
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_NAME:=luci-app-ssr-plus
|
||||
PKG_VERSION:=190
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=7
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
|
||||
|
||||
@ -412,7 +412,6 @@ if is_finded("xray") then
|
||||
o = s:option(ListValue, "type", translate("Type"))
|
||||
o.default = "base64"
|
||||
o:value("rand", "rand")
|
||||
o:value("array", "array")
|
||||
o:value("str", "str")
|
||||
o:value("hex", "hex")
|
||||
o:value("base64", "base64")
|
||||
|
||||
@ -542,7 +542,7 @@ msgid ""
|
||||
"fastest_addr (default: load_balance)."
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:433
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:432
|
||||
msgid "Delay (ms)"
|
||||
msgstr ""
|
||||
|
||||
@ -611,7 +611,7 @@ msgstr ""
|
||||
msgid "DoT upstream (Need use wolfssl version)"
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:420
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:419
|
||||
msgid "Domain Strategy"
|
||||
msgstr ""
|
||||
|
||||
@ -1467,7 +1467,7 @@ msgstr ""
|
||||
msgid "Packet or Rand length as a string, e.g., 10-20."
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:429
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:428
|
||||
msgid "Packet | Rand Length"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@ -555,7 +555,7 @@ msgstr ""
|
||||
"定义上游逻辑模式,可选择值:负载均衡、并行查询、最快响应(默认值:负载均"
|
||||
"衡)。"
|
||||
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:433
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:432
|
||||
msgid "Delay (ms)"
|
||||
msgstr "延迟(ms)"
|
||||
|
||||
@ -624,7 +624,7 @@ msgstr "是否要恢复客户端默认配置?"
|
||||
msgid "DoT upstream (Need use wolfssl version)"
|
||||
msgstr "DoT 上游(需使用 wolfssl 版本)"
|
||||
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:420
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:419
|
||||
msgid "Domain Strategy"
|
||||
msgstr "域名解析策略"
|
||||
|
||||
@ -1483,7 +1483,7 @@ msgstr ""
|
||||
msgid "Packet or Rand length as a string, e.g., 10-20."
|
||||
msgstr "数据包或 Rand 长度以字符串形式输入,例如:10-20。"
|
||||
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:429
|
||||
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:428
|
||||
msgid "Packet | Rand Length"
|
||||
msgstr "数据包 | Rand 长度"
|
||||
|
||||
|
||||
@ -61,6 +61,19 @@ local function base64Encode(text)
|
||||
end
|
||||
end
|
||||
|
||||
-- Hex 编码
|
||||
local function hexEncode(text)
|
||||
if not text or text == "" then
|
||||
return ''
|
||||
end
|
||||
local hex = ''
|
||||
for i = 1, #text do
|
||||
local byte = string.byte(text, i)
|
||||
hex = hex .. string.format('%02X', byte)
|
||||
end
|
||||
return hex
|
||||
end
|
||||
|
||||
local function cleanEmptyTables(t)
|
||||
if type(t) ~= "table" then return nil end
|
||||
for k, v in pairs(t) do
|
||||
@ -562,7 +575,7 @@ end
|
||||
{
|
||||
rand = (n_type == "rand") and (n_packet and (type(n_packet) == "string" and (n_packet:find("-")) and n_packet or tonumber(n_packet))) or nil,
|
||||
type = (type(n_type) == "string" and n_type ~= "rand") and n_type or nil,
|
||||
packet = (n_type ~= "rand") and (n_type ~= "str" and (n_packet and type(n_packet) == "string" and base64Encode(n_packet)) or n_packet) or nil,
|
||||
packet = (n_type ~= "rand") and ((n_packet and type(n_packet) == "string") and ((n_type == "hex" and hexEncode(n_packet)) or (n_type == "base64" and base64Encode(n_packet))) or n_packet) or nil,
|
||||
delay = (type(n_delay) == "string" and string.find(n_delay, "-")) and n_delay or (n_delay and tonumber(n_delay))
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user