add domain timeout support and update examples

This commit is contained in:
2026-02-22 09:12:22 +04:00
parent 7091122b72
commit eb496e6645
3 changed files with 14 additions and 15 deletions
+9 -3
View File
@@ -18,13 +18,14 @@ _init_vars() {
TPROXY_PORT=$(uci -q get xray-manager.$s.tproxy_port)
TPROXY_MARK=$(uci -q get xray-manager.$s.tproxy_mark)
CLIENT_MARK=$(uci -q get xray-manager.$s.client_mark)
TIMEOUT=$(uci -q get xray-manager.$s.timeout)
IPNET_DIR=$(uci -q get xray-manager.$s.ipnet_dir)
DNSMASQ_DIR=$(uci -q get xray-manager.$s.dnsmasq_dir)
CACHE_DIR=$(uci -q get xray-manager.$s.cache_dir)
ACTIVE_LIST=$(uci -q get xray-manager.$s.active_list)
ROUTE_LOCAL=$(uci -q get xray-manager.$s.route_local)
local required_vars="TABLE TPROXY_PORT TPROXY_MARK CLIENT_MARK IPNET_DIR DNSMASQ_DIR CACHE_DIR ACTIVE_LIST ROUTE_LOCAL"
local required_vars="TABLE TPROXY_PORT TPROXY_MARK CLIENT_MARK TIMEOUT IPNET_DIR DNSMASQ_DIR CACHE_DIR ACTIVE_LIST ROUTE_LOCAL"
for var in $required_vars; do
eval val=\$$var
@@ -112,9 +113,14 @@ _nft_apply_data() {
local nft_sname="s_$sname"
local flags="interval"
[ "$type" = "dom" ] || [ "$type" = "udom" ] && flags="interval,timeout"
local set_params="type ipv4_addr; flags $flags; auto-merge;"
nft add set ip "$TABLE" "$nft_sname" { type ipv4_addr \; flags $flags \; auto-merge \; } 2>/dev/null
if [ "$type" = "dom" ] || [ "$type" = "udom" ]; then
flags="interval,timeout"
set_params="type ipv4_addr; flags $flags; timeout $TIMEOUT; auto-merge;"
fi
nft add set ip "$TABLE" "$nft_sname" { $set_params } 2>/dev/null
if [ "$changed" = "1" ] && [ -s "$file" ] && [[ "$type" == *"ip"* ]]; then
_log "Syncing '$nft_sname' to NFT..."