mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-02 16:43:56 +08:00
update 2026-09-15 17:08:00
This commit is contained in:
1 parent
bb8ab7ae16
commit
b109228443
13 files changed
+128
-132
No files matched your search
@@ -93,15 +93,11 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
end
|
||||
local remarks = node.remarks
|
||||
|
||||
local proxy_tag = nil
|
||||
local fragment = nil
|
||||
local record_fragment = nil
|
||||
local run_socks_instance = true
|
||||
local proxy_tag, fragment, record_fragment
|
||||
if proxy_table ~= nil and type(proxy_table) == "table" then
|
||||
proxy_tag = proxy_table.tag or nil
|
||||
fragment = (proxy_table.fragment and node.protocol ~= "naive" and not node.hysteria2_realms) and true or nil
|
||||
record_fragment = (proxy_table.record_fragment and node.protocol ~= "naive" and not node.hysteria2_realms) and true or nil
|
||||
run_socks_instance = proxy_table.run_socks_instance
|
||||
end
|
||||
|
||||
if node.type ~= "sing-box" then
|
||||
@@ -110,7 +106,12 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
proxy_tag = "socks <- " .. node_id
|
||||
else
|
||||
local new_port
|
||||
if run_socks_instance then
|
||||
local run_socks_instance = true
|
||||
if NO_RUN then
|
||||
TMP_PORT = TMP_PORT and TMP_PORT + 1 or 3001
|
||||
new_port = TMP_PORT
|
||||
run_socks_instance = nil
|
||||
else
|
||||
local relay_port = (proxy_tag and node.port) and tostring(node.port) or ""
|
||||
if relay_port == "" then
|
||||
local cache = api.get_socks_port_by_cache(node_id)
|
||||
@@ -140,9 +141,6 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
api.set_socks_port_to_cache(node_id, new_port)
|
||||
end
|
||||
end
|
||||
else
|
||||
TMP_PORT = TMP_PORT and TMP_PORT + 1 or 3001 -- 导出配置时作为演示
|
||||
new_port = TMP_PORT
|
||||
end
|
||||
if new_port then
|
||||
node = {
|
||||
@@ -1163,10 +1161,11 @@ function gen_config(var)
|
||||
local dns_cache = var["dns_cache"]
|
||||
local dns_socks_address = var["dns_socks_address"]
|
||||
local dns_socks_port = var["dns_socks_port"]
|
||||
local no_run = var["no_run"]
|
||||
local use_proxy_list = var["use_proxy_list"]
|
||||
local use_gfw_list = var["use_gfw_list"]
|
||||
local chn_list = var["chn_list"]
|
||||
local run_in_global = var["run_in_global"]
|
||||
NO_RUN = var["no_run"]
|
||||
|
||||
local dns_domain_rules = {}
|
||||
local dns = nil
|
||||
@@ -1360,7 +1359,9 @@ function gen_config(var)
|
||||
ut_nodes = _node.urltest_node
|
||||
end
|
||||
|
||||
-- api.log(" - 加载 Sing-Box URLTest 节点【" .. (_node.remarks or "") .. "】,子节点数量:" .. #(ut_nodes or {}))
|
||||
if not NO_RUN and run_in_global then
|
||||
api.log(" - 加载 Sing-Box URLTest 节点【" .. (_node.remarks or "") .. "】,子节点数量:" .. #(ut_nodes or {}))
|
||||
end
|
||||
|
||||
local valid_nodes = {}
|
||||
for i = 1, #(ut_nodes or {}) do
|
||||
@@ -1375,7 +1376,7 @@ function gen_config(var)
|
||||
end
|
||||
end
|
||||
if is_new_ut_node then
|
||||
local outboundTag = gen_outbound_get_tag(flag, ut_node_id, ut_node_tag, { fragment = singbox_settings.fragment == "1" or nil, record_fragment = singbox_settings.record_fragment == "1" or nil, run_socks_instance = not no_run })
|
||||
local outboundTag = gen_outbound_get_tag(flag, ut_node_id, ut_node_tag, { fragment = singbox_settings.fragment == "1" or nil, record_fragment = singbox_settings.record_fragment == "1" or nil })
|
||||
if outboundTag then
|
||||
valid_nodes[#valid_nodes + 1] = outboundTag
|
||||
end
|
||||
@@ -1478,7 +1479,6 @@ function gen_config(var)
|
||||
to_node.port = new_port
|
||||
to_outbound = gen_outbound(node[".name"], to_node, tag, {
|
||||
tag = tag,
|
||||
run_socks_instance = not no_run
|
||||
})
|
||||
else
|
||||
to_outbound = gen_outbound(node[".name"], to_node)
|
||||
@@ -1571,7 +1571,6 @@ function gen_config(var)
|
||||
local proxy_table = {
|
||||
fragment = singbox_settings.fragment == "1",
|
||||
record_fragment = singbox_settings.record_fragment == "1",
|
||||
run_socks_instance = not no_run,
|
||||
}
|
||||
local preproxy_node_id = node[rule_name .. "_proxy_tag"]
|
||||
if preproxy_node_id == _node_id then preproxy_node_id = nil end
|
||||
@@ -1855,7 +1854,6 @@ function gen_config(var)
|
||||
COMMON.default_outbound_tag = gen_outbound_get_tag(flag, node or node_id, nil, {
|
||||
fragment = singbox_settings.fragment == "1" or nil,
|
||||
record_fragment = singbox_settings.record_fragment == "1" or nil,
|
||||
run_socks_instance = not no_run
|
||||
})
|
||||
end
|
||||
|
||||
@@ -2316,7 +2314,7 @@ function gen_config(var)
|
||||
routing_mark = 255,
|
||||
})
|
||||
for index, value in ipairs(config.outbounds) do
|
||||
if not value["_flag_proxy_tag"] and not value.detour and value["_id"] and value.server and (value.server_port or value.server_ports) and not no_run then
|
||||
if not value["_flag_proxy_tag"] and not value.detour and value["_id"] and value.server and (value.server_port or value.server_ports) and not NO_RUN then
|
||||
sys.call(string.format("echo '%s' >> %s", value["_id"], api.TMP_PATH .. "/direct_node_list"))
|
||||
end
|
||||
if not value.detour and not value.bind_interface and value.server then
|
||||
@@ -2464,7 +2462,7 @@ if arg[1] then
|
||||
var = jsonc.parse(arg[2])
|
||||
end
|
||||
print(func(var))
|
||||
if (next(GEO_VAR.SITE_TAGS) or next(GEO_VAR.IP_TAGS)) and not no_run then
|
||||
if (next(GEO_VAR.SITE_TAGS) or next(GEO_VAR.IP_TAGS)) and not NO_RUN then
|
||||
convert_geofile()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -43,16 +43,11 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
end
|
||||
local remarks = node.remarks
|
||||
|
||||
local proxy_tag = nil
|
||||
local dialer_proxy_tag = nil
|
||||
local fragment = nil
|
||||
local noise = nil
|
||||
local run_socks_instance = true
|
||||
local proxy_tag, dialer_proxy_tag, fragment, noise
|
||||
if proxy_table ~= nil and type(proxy_table) == "table" then
|
||||
proxy_tag = proxy_table.tag or nil
|
||||
fragment = (proxy_table.fragment and not node.hysteria2_realms) and true or nil
|
||||
noise = (proxy_table.noise and not node.hysteria2_realms) and true or nil
|
||||
run_socks_instance = proxy_table.run_socks_instance
|
||||
end
|
||||
|
||||
if node.type ~= "Xray" then
|
||||
@@ -61,7 +56,12 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
node.transport = "raw"
|
||||
else
|
||||
local new_port
|
||||
if run_socks_instance then
|
||||
local run_socks_instance = true
|
||||
if NO_RUN then
|
||||
TMP_PORT = TMP_PORT and TMP_PORT + 1 or 3001
|
||||
new_port = TMP_PORT
|
||||
run_socks_instance = nil
|
||||
else
|
||||
local relay_port = (proxy_tag and node.port) and tostring(node.port) or ""
|
||||
if relay_port == "" then
|
||||
local cache = api.get_socks_port_by_cache(node_id)
|
||||
@@ -91,9 +91,6 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
api.set_socks_port_to_cache(node_id, new_port)
|
||||
end
|
||||
end
|
||||
else
|
||||
TMP_PORT = TMP_PORT and TMP_PORT + 1 or 3001 -- 导出配置时作为演示
|
||||
new_port = TMP_PORT
|
||||
end
|
||||
if new_port then
|
||||
node = {}
|
||||
@@ -913,10 +910,11 @@ function gen_config(var)
|
||||
local dns_socks_address = var["dns_socks_address"]
|
||||
local dns_socks_port = var["dns_socks_port"]
|
||||
local loglevel = var["loglevel"] or "warning"
|
||||
local no_run = var["no_run"]
|
||||
local use_proxy_list = var["use_proxy_list"]
|
||||
local use_gfw_list = var["use_gfw_list"]
|
||||
local chn_list = var["chn_list"]
|
||||
local run_in_global = var["run_in_global"]
|
||||
NO_RUN = var["no_run"]
|
||||
|
||||
local dns_domain_rules = {}
|
||||
local dns = nil
|
||||
@@ -1091,7 +1089,9 @@ function gen_config(var)
|
||||
blc_nodes = _node.balancing_node
|
||||
end
|
||||
|
||||
-- api.log(" - 加载 Xray 负载均衡 节点【" .. (_node.remarks or "") .. "】,子节点数量:" .. #(blc_nodes or {}))
|
||||
if not NO_RUN and run_in_global then
|
||||
api.log(" - 加载 Xray 负载均衡 节点【" .. (_node.remarks or "") .. "】,子节点数量:" .. #(blc_nodes or {}))
|
||||
end
|
||||
|
||||
local valid_nodes = {}
|
||||
for i = 1, #(blc_nodes or {}) do
|
||||
@@ -1106,7 +1106,7 @@ function gen_config(var)
|
||||
end
|
||||
end
|
||||
if is_new_blc_node then
|
||||
local outboundTag = gen_outbound_get_tag(flag, blc_node_id, blc_node_tag, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil, run_socks_instance = not no_run })
|
||||
local outboundTag = gen_outbound_get_tag(flag, blc_node_id, blc_node_tag, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil })
|
||||
if outboundTag then
|
||||
valid_nodes[#valid_nodes + 1] = outboundTag
|
||||
end
|
||||
@@ -1135,7 +1135,7 @@ function gen_config(var)
|
||||
local fallback_node = get_node_by_id(fallback_node_id)
|
||||
if fallback_node then
|
||||
if fallback_node.protocol ~= "_balancing" then
|
||||
local outboundTag = gen_outbound_get_tag(flag, fallback_node, fallback_node_id, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil, run_socks_instance = not no_run })
|
||||
local outboundTag = gen_outbound_get_tag(flag, fallback_node, fallback_node_id, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil })
|
||||
if outboundTag then
|
||||
fallback_node_tag = outboundTag
|
||||
end
|
||||
@@ -1267,7 +1267,6 @@ function gen_config(var)
|
||||
})
|
||||
to_outbound = gen_outbound(node[".name"], to_node, to_node[".name"], {
|
||||
tag = to_node[".name"],
|
||||
run_socks_instance = not no_run
|
||||
})
|
||||
else
|
||||
to_outbound = gen_outbound(node[".name"], to_node)
|
||||
@@ -1375,7 +1374,6 @@ function gen_config(var)
|
||||
local proxy_table = {
|
||||
fragment = xray_settings.fragment == "1",
|
||||
noise = xray_settings.noise == "1",
|
||||
run_socks_instance = not no_run,
|
||||
}
|
||||
local preproxy_node_id = node[rule_name .. "_proxy_tag"]
|
||||
if preproxy_node_id == _node_id then preproxy_node_id = nil end
|
||||
@@ -1577,7 +1575,6 @@ function gen_config(var)
|
||||
COMMON.default_outbound_tag = gen_outbound_get_tag(flag, node or node_id, nil, {
|
||||
fragment = xray_settings.fragment == "1" or nil,
|
||||
noise = xray_settings.noise == "1" or nil,
|
||||
run_socks_instance = not no_run
|
||||
})
|
||||
if COMMON.default_outbound_tag then
|
||||
routing = {
|
||||
@@ -2073,7 +2070,7 @@ function gen_config(var)
|
||||
for index, value in ipairs(config.outbounds) do
|
||||
local pt = value.protocol
|
||||
local exclude = { blackhole=1, dns=1, freedom=1, loopback=1 }
|
||||
if not value["_flag_proxy_tag"] and value["_id"] and pt and not exclude[pt] and not no_run then
|
||||
if not value["_flag_proxy_tag"] and value["_id"] and pt and not exclude[pt] and not NO_RUN then
|
||||
sys.call(string.format("echo '%s' >> %s", value["_id"], api.TMP_PATH .. "/direct_node_list"))
|
||||
end
|
||||
for k, v in pairs(config.outbounds[index]) do
|
||||
|
||||
@@ -87,7 +87,7 @@ run_ipt2socks() {
|
||||
run_singbox() {
|
||||
local flag type node redir_port tcp_proxy_way socks_address socks_port socks_username socks_password http_address http_port http_username http_password
|
||||
local dns_listen_port direct_dns_query_strategy direct_dns_port direct_dns_udp_server direct_dns_tcp_server remote_dns_protocol remote_dns_udp_server remote_dns_tcp_server remote_dns_doh remote_dns_client_ip remote_fakedns remote_dns_query_strategy remote_rewrite_ttl dns_cache dns_socks_address dns_socks_port
|
||||
local loglevel log_file config_file server_host server_port no_run use_proxy_list use_gfw_list chn_list
|
||||
local loglevel log_file config_file server_host server_port no_run use_proxy_list use_gfw_list chn_list run_in_global
|
||||
eval_set_val "$@"
|
||||
[ -z "$type" ] && {
|
||||
type=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z')
|
||||
@@ -182,13 +182,17 @@ run_singbox() {
|
||||
[ "$remote_fakedns" = "1" ] && json_add_string "remote_dns_fake" "1"
|
||||
[ -n "$remote_rewrite_ttl" ] && json_add_string "remote_rewrite_ttl" "${remote_rewrite_ttl}"
|
||||
[ -n "$no_run" ] && json_add_string "no_run" "1"
|
||||
[ -n "$run_in_global" ] && json_add_string "run_in_global" "1"
|
||||
local _json_arg="$(json_dump)"
|
||||
lua $UTIL_SINGBOX gen_config "${_json_arg}" > $config_file
|
||||
[ -n "$no_run" ] && return
|
||||
|
||||
local test_log_file=$log_file
|
||||
local status=0
|
||||
[ "$test_log_file" = "/dev/null" ] && test_log_file="${TMP_PATH}/${config_file##*/}_test.log"
|
||||
$SINGBOX_BIN check -c "$config_file" > $test_log_file 2>&1; local status=$?
|
||||
[ -n "$run_in_global" ] && {
|
||||
$SINGBOX_BIN check -c "$config_file" > $test_log_file 2>&1; status=$?
|
||||
}
|
||||
if [ "${status}" = 0 ]; then
|
||||
ln_run "$SINGBOX_BIN" "sing-box" "${log_file}" run -c "$config_file"
|
||||
else
|
||||
@@ -201,7 +205,7 @@ run_singbox() {
|
||||
run_xray() {
|
||||
local flag type node redir_port tcp_proxy_way socks_address socks_port socks_username socks_password http_address http_port http_username http_password
|
||||
local dns_listen_port direct_dns_query_strategy direct_dns_port direct_dns_udp_server direct_dns_tcp_server remote_dns_protocol remote_dns_udp_server remote_dns_tcp_server remote_dns_doh remote_dns_client_ip remote_fakedns remote_dns_query_strategy dns_cache dns_socks_address dns_socks_port
|
||||
local loglevel log_file config_file server_host server_port no_run use_proxy_list use_gfw_list chn_list
|
||||
local loglevel log_file config_file server_host server_port no_run use_proxy_list use_gfw_list chn_list run_in_global
|
||||
eval_set_val "$@"
|
||||
[ -z "$type" ] && {
|
||||
type=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z')
|
||||
@@ -278,13 +282,17 @@ run_xray() {
|
||||
|
||||
json_add_string "loglevel" "$loglevel"
|
||||
[ -n "$no_run" ] && json_add_string "no_run" "1"
|
||||
[ -n "$run_in_global" ] && json_add_string "run_in_global" "1"
|
||||
local _json_arg="$(json_dump)"
|
||||
lua $UTIL_XRAY gen_config "${_json_arg}" > $config_file
|
||||
[ -n "$no_run" ] && return
|
||||
|
||||
local test_log_file=$log_file
|
||||
local status=0
|
||||
[ "$test_log_file" = "/dev/null" ] && test_log_file="${TMP_PATH}/${config_file##*/}_test.log"
|
||||
$XRAY_BIN run -test -c "$config_file" > $test_log_file; local status=$?
|
||||
[ -n "$run_in_global" ] && {
|
||||
$XRAY_BIN run -test -c "$config_file" > $test_log_file; status=$?
|
||||
}
|
||||
if [ "${status}" = 0 ]; then
|
||||
ln_run "$XRAY_BIN" "xray" "${log_file}" run -c "$config_file"
|
||||
else
|
||||
@@ -599,7 +607,7 @@ start_global() {
|
||||
;;
|
||||
sing-box)
|
||||
local _flag="global"
|
||||
local _args=""
|
||||
local _args="run_in_global=1"
|
||||
[ "$on_node_socks" = "1" ] && {
|
||||
node_socks_flag=1
|
||||
_args="${_args} socks_address=${node_socks_bind} socks_port=${GLOBAL_SOCKS_port}"
|
||||
@@ -677,7 +685,7 @@ start_global() {
|
||||
;;
|
||||
xray)
|
||||
local _flag="global"
|
||||
local _args=""
|
||||
local _args="run_in_global=1"
|
||||
[ "$on_node_socks" = "1" ] && {
|
||||
node_socks_flag=1
|
||||
_args="${_args} socks_address=${node_socks_bind} socks_port=${GLOBAL_SOCKS_port}"
|
||||
|
||||
Reference in new issue
Block a user