mirror of https://github.com/kenzok8/small.git
update 2024-02-20 02:11:48
This commit is contained in:
parent
6969c54a3d
commit
d7a1ce6f6b
|
@ -5,7 +5,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-passwall2
|
PKG_NAME:=luci-app-passwall2
|
||||||
PKG_VERSION:=1.25-5
|
PKG_VERSION:=1.26-1
|
||||||
PKG_RELEASE:=
|
PKG_RELEASE:=
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
|
|
|
@ -141,9 +141,25 @@ if has_xray then
|
||||||
s_xray.anonymous = true
|
s_xray.anonymous = true
|
||||||
s_xray.addremove = false
|
s_xray.addremove = false
|
||||||
|
|
||||||
|
o = s_xray:option(Flag, "fragment", translate("Fragment"), translate("TCP fragments, which can deceive the censorship system in some cases, such as bypassing SNI blacklists."))
|
||||||
|
o.default = 0
|
||||||
|
|
||||||
|
o = s_xray:option(ListValue, "fragment_packets", translate("Fragment Packets"), translate(" \"1-3\" is for segmentation at TCP layer, applying to the beginning 1 to 3 data writes by the client. \"tlshello\" is for TLS client hello packet fragmentation."))
|
||||||
|
o.default = "tlshello"
|
||||||
|
o:value("1-3", "1-3")
|
||||||
|
o:value("tlshello", "tlshello")
|
||||||
|
o:depends("fragment", true)
|
||||||
|
|
||||||
|
o = s_xray:option(Value, "fragment_length", translate("Fragment Length"), translate("Fragmented packet length (byte)"))
|
||||||
|
o.default = "10-20"
|
||||||
|
o:depends("fragment", true)
|
||||||
|
|
||||||
|
o = s_xray:option(Value, "fragment_interval", translate("Fragment Interval"), translate("Fragmentation interval (ms)"))
|
||||||
|
o.default = "10-20"
|
||||||
|
o:depends("fragment", true)
|
||||||
|
|
||||||
o = s_xray:option(Flag, "sniffing", translate("Sniffing"), translate("When using the shunt, must be enabled, otherwise the shunt will invalid."))
|
o = s_xray:option(Flag, "sniffing", translate("Sniffing"), translate("When using the shunt, must be enabled, otherwise the shunt will invalid."))
|
||||||
o.default = 1
|
o.default = 1
|
||||||
o.rmempty = false
|
|
||||||
|
|
||||||
o = s_xray:option(Flag, "route_only", translate("Sniffing Route Only"))
|
o = s_xray:option(Flag, "route_only", translate("Sniffing Route Only"))
|
||||||
o.default = 0
|
o.default = 0
|
||||||
|
|
|
@ -515,4 +515,11 @@ o = s:option(Value, option_name("xudp_concurrency"), translate("XUDP Mux concurr
|
||||||
o.default = 8
|
o.default = 8
|
||||||
o:depends({ [option_name("xmux")] = true })
|
o:depends({ [option_name("xmux")] = true })
|
||||||
|
|
||||||
|
--[[tcpMptcp]]
|
||||||
|
o = s:option(Flag, option_name("tcpMptcp"), "tcpMptcp", translate("Enable Multipath TCP, need to be enabled in both server and client configuration."))
|
||||||
|
o.default = 0
|
||||||
|
|
||||||
|
o = s:option(Flag, option_name("tcpNoDelay"), "tcpNoDelay")
|
||||||
|
o.default = 0
|
||||||
|
|
||||||
api.luci_types(arg[1], m, s, type_name, option_prefix)
|
api.luci_types(arg[1], m, s, type_name, option_prefix)
|
||||||
|
|
|
@ -43,9 +43,11 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||||
|
|
||||||
local proxy = 0
|
local proxy = 0
|
||||||
local proxy_tag = "nil"
|
local proxy_tag = "nil"
|
||||||
|
local fragment = nil
|
||||||
if proxy_table ~= nil and type(proxy_table) == "table" then
|
if proxy_table ~= nil and type(proxy_table) == "table" then
|
||||||
proxy = proxy_table.proxy or 0
|
proxy = proxy_table.proxy or 0
|
||||||
proxy_tag = proxy_table.tag or "nil"
|
proxy_tag = proxy_table.tag or "nil"
|
||||||
|
fragment = proxy_table.fragment or nil
|
||||||
end
|
end
|
||||||
|
|
||||||
if node.type == "Xray" then
|
if node.type == "Xray" then
|
||||||
|
@ -127,7 +129,10 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||||
-- 底层传输配置
|
-- 底层传输配置
|
||||||
streamSettings = (node.streamSettings or node.protocol == "vmess" or node.protocol == "vless" or node.protocol == "socks" or node.protocol == "shadowsocks" or node.protocol == "trojan") and {
|
streamSettings = (node.streamSettings or node.protocol == "vmess" or node.protocol == "vless" or node.protocol == "socks" or node.protocol == "shadowsocks" or node.protocol == "trojan") and {
|
||||||
sockopt = {
|
sockopt = {
|
||||||
mark = 255
|
mark = 255,
|
||||||
|
tcpMptcp = (node.tcpMptcp == "1") and true or nil,
|
||||||
|
tcpNoDelay = (node.tcpNoDelay == "1") and true or nil,
|
||||||
|
dialerProxy = fragment and "fragment" or nil
|
||||||
},
|
},
|
||||||
network = node.transport,
|
network = node.transport,
|
||||||
security = node.stream_security,
|
security = node.stream_security,
|
||||||
|
@ -637,7 +642,7 @@ function gen_config(var)
|
||||||
end
|
end
|
||||||
if is_new_blc_node then
|
if is_new_blc_node then
|
||||||
local blc_node = uci:get_all(appname, blc_node_id)
|
local blc_node = uci:get_all(appname, blc_node_id)
|
||||||
local outbound = gen_outbound(flag, blc_node, blc_node_tag)
|
local outbound = gen_outbound(flag, blc_node, blc_node_tag, { fragment = xray_settings.fragment == "1" or nil })
|
||||||
if outbound then
|
if outbound then
|
||||||
table.insert(outbounds, outbound)
|
table.insert(outbounds, outbound)
|
||||||
valid_nodes[#valid_nodes + 1] = blc_node_tag
|
valid_nodes[#valid_nodes + 1] = blc_node_tag
|
||||||
|
@ -715,7 +720,7 @@ function gen_config(var)
|
||||||
preproxy_enabled = false
|
preproxy_enabled = false
|
||||||
end
|
end
|
||||||
elseif preproxy_node and api.is_normal_node(preproxy_node) then
|
elseif preproxy_node and api.is_normal_node(preproxy_node) then
|
||||||
local preproxy_outbound = gen_outbound(flag, preproxy_node, preproxy_tag)
|
local preproxy_outbound = gen_outbound(flag, preproxy_node, preproxy_tag, { fragment = xray_settings.fragment == "1" or nil })
|
||||||
if preproxy_outbound then
|
if preproxy_outbound then
|
||||||
table.insert(outbounds, preproxy_outbound)
|
table.insert(outbounds, preproxy_outbound)
|
||||||
else
|
else
|
||||||
|
@ -817,7 +822,14 @@ function gen_config(var)
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local _outbound = gen_outbound(flag, _node, rule_name, { proxy = proxy and 1 or 0, tag = proxy and preproxy_tag or nil })
|
local proxy_table = {
|
||||||
|
proxy = proxy and 1 or 0,
|
||||||
|
tag = proxy and preproxy_tag or nil
|
||||||
|
}
|
||||||
|
if xray_settings.fragment == "1" and not proxy_table.tag then
|
||||||
|
proxy_table.fragment = true
|
||||||
|
end
|
||||||
|
local _outbound = gen_outbound(flag, _node, rule_name, proxy_table)
|
||||||
if _outbound then
|
if _outbound then
|
||||||
table.insert(outbounds, _outbound)
|
table.insert(outbounds, _outbound)
|
||||||
if proxy then preproxy_used = true end
|
if proxy then preproxy_used = true end
|
||||||
|
@ -996,7 +1008,7 @@ function gen_config(var)
|
||||||
sys.call("touch /tmp/etc/passwall2/iface/" .. node.iface)
|
sys.call("touch /tmp/etc/passwall2/iface/" .. node.iface)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
outbound = gen_outbound(flag, node)
|
outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil })
|
||||||
end
|
end
|
||||||
if outbound then table.insert(outbounds, outbound) end
|
if outbound then table.insert(outbounds, outbound) end
|
||||||
routing = {
|
routing = {
|
||||||
|
@ -1338,6 +1350,28 @@ function gen_config(var)
|
||||||
-- }
|
-- }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if xray_settings.fragment == "1" then
|
||||||
|
table.insert(outbounds, {
|
||||||
|
protocol = "freedom",
|
||||||
|
tag = "fragment",
|
||||||
|
settings = {
|
||||||
|
domainStrategy = (direct_dns_query_strategy and direct_dns_query_strategy ~= "") and direct_dns_query_strategy or "UseIP",
|
||||||
|
fragments = {
|
||||||
|
packets = (xray_settings.fragment_packets and xray_settings.fragment_packets ~= "") and xray_settings.fragment_packets,
|
||||||
|
length = (xray_settings.fragment_length and xray_settings.fragment_length ~= "") and xray_settings.fragment_length,
|
||||||
|
interval = (xray_settings.fragment_interval and xray_settings.fragment_interval ~= "") and xray_settings.fragment_interval
|
||||||
|
}
|
||||||
|
},
|
||||||
|
streamSettings = {
|
||||||
|
sockopt = {
|
||||||
|
mark = 255,
|
||||||
|
tcpNoDelay = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
table.insert(outbounds, {
|
table.insert(outbounds, {
|
||||||
protocol = "freedom",
|
protocol = "freedom",
|
||||||
tag = "direct",
|
tag = "direct",
|
||||||
|
|
|
@ -95,7 +95,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1-4 check" onclick="check_connect('baidu', 'http://www.baidu.com')">
|
<div class="pure-u-1-4 check" onclick="check_connect('baidu', 'https://www.baidu.com')">
|
||||||
<div class="block pure-g">
|
<div class="block pure-g">
|
||||||
<div class="pure-u-1-3">
|
<div class="pure-u-1-3">
|
||||||
<div class="img-con">
|
<div class="img-con">
|
||||||
|
@ -107,7 +107,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1-4 check" onclick="check_connect('google', 'http://www.google.com/generate_204')">
|
<div class="pure-u-1-4 check" onclick="check_connect('google', 'https://www.google.com/generate_204')">
|
||||||
<div class="block pure-g">
|
<div class="block pure-g">
|
||||||
<div class="pure-u-1-3">
|
<div class="pure-u-1-3">
|
||||||
<div class="img-con">
|
<div class="img-con">
|
||||||
|
@ -119,7 +119,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1-4 check" onclick="check_connect('github', 'http://github.com')">
|
<div class="pure-u-1-4 check" onclick="check_connect('github', 'https://github.com')">
|
||||||
<div class="block pure-g">
|
<div class="block pure-g">
|
||||||
<div class="pure-u-1-3">
|
<div class="pure-u-1-3">
|
||||||
<div class="img-con">
|
<div class="img-con">
|
||||||
|
|
|
@ -1446,3 +1446,30 @@ msgstr "后量子对等证书签名方案"
|
||||||
|
|
||||||
msgid "Disable adaptive sizing of TLS records"
|
msgid "Disable adaptive sizing of TLS records"
|
||||||
msgstr "禁用 TLS 记录的自适应大小调整"
|
msgstr "禁用 TLS 记录的自适应大小调整"
|
||||||
|
|
||||||
|
msgid "Enable Multipath TCP, need to be enabled in both server and client configuration."
|
||||||
|
msgstr "启用 Multipath TCP,需在服务端和客户端配置中同时启用。"
|
||||||
|
|
||||||
|
msgid "Fragment"
|
||||||
|
msgstr "分片"
|
||||||
|
|
||||||
|
msgid "TCP fragments, which can deceive the censorship system in some cases, such as bypassing SNI blacklists."
|
||||||
|
msgstr "TCP 分片,在某些情况下可以欺骗审查系统,比如绕过 SNI 黑名单。"
|
||||||
|
|
||||||
|
msgid "Fragment Packets"
|
||||||
|
msgstr "分片方式"
|
||||||
|
|
||||||
|
msgid " \"1-3\" is for segmentation at TCP layer, applying to the beginning 1 to 3 data writes by the client. \"tlshello\" is for TLS client hello packet fragmentation."
|
||||||
|
msgstr " \"1-3\" 是 TCP 的流切片,应用于客户端第 1 至第 3 次写数据。\"tlshello\" 是 TLS 握手包切片。"
|
||||||
|
|
||||||
|
msgid "Fragment Length"
|
||||||
|
msgstr "分片包长"
|
||||||
|
|
||||||
|
msgid "Fragmented packet length (byte)"
|
||||||
|
msgstr "分片包长 (byte)"
|
||||||
|
|
||||||
|
msgid "Fragment Interval"
|
||||||
|
msgstr "分片间隔"
|
||||||
|
|
||||||
|
msgid "Fragmentation interval (ms)"
|
||||||
|
msgstr "分片间隔(ms)"
|
||||||
|
|
|
@ -323,33 +323,39 @@ o = s:option(Value, "hy2_auth", translate("Users Authentication"))
|
||||||
o:depends("type", "hysteria")
|
o:depends("type", "hysteria")
|
||||||
o.rmempty = false
|
o.rmempty = false
|
||||||
|
|
||||||
o = s:option(ListValue, "transport_protocol", translate("Protocol"))
|
o = s:option(Flag, "flag_port_hopping", translate("Enable Port Hopping"))
|
||||||
o:depends("type", "hysteria")
|
|
||||||
o:value("udp", translate("udp"))
|
|
||||||
o.default = "udp"
|
|
||||||
o.rmempty = true
|
|
||||||
|
|
||||||
o = s:option(Flag, "port_hopping", translate("Enable Port Hopping"))
|
|
||||||
o:depends("type", "hysteria")
|
o:depends("type", "hysteria")
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
o.default = "0"
|
o.default = "0"
|
||||||
|
|
||||||
o = s:option(Value, "hopinterval", translate("Port Hopping Interval(Unit:Second)"))
|
o = s:option(Value, "port_range", translate("Port Range"))
|
||||||
o:depends({type = "hysteria", port_hopping = true})
|
o:depends({type = "hysteria", flag_port_hopping = true})
|
||||||
|
o.datatype = "portrange"
|
||||||
|
o.rmempty = true
|
||||||
|
|
||||||
|
o = s:option(Flag, "flag_transport", translate("Enable Transport Protocol Settings"))
|
||||||
|
o:depends("type", "hysteria")
|
||||||
|
o.rmempty = true
|
||||||
|
o.default = "0"
|
||||||
|
|
||||||
|
o = s:option(ListValue, "transport_protocol", translate("Transport Protocol"))
|
||||||
|
o:depends({type = "hysteria", flag_transport = true})
|
||||||
|
o:value("udp", translate("UDP"))
|
||||||
|
o.default = "udp"
|
||||||
|
o.rmempty = true
|
||||||
|
|
||||||
|
o = s:option(Value, "hopinterval", translate("Hop Interval(Unit:Second)"))
|
||||||
|
o:depends({type = "hysteria", flag_transport = true, flag_port_hopping = true})
|
||||||
o.datatype = "uinteger"
|
o.datatype = "uinteger"
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
o.default = "30"
|
o.default = "30"
|
||||||
|
|
||||||
o = s:option(Value, "port_range", translate("Port Range"))
|
o = s:option(Flag, "flag_obfs", translate("Enable Obfuscation"))
|
||||||
o:depends({type = "hysteria", port_hopping = true})
|
|
||||||
o.rmempty = true
|
|
||||||
|
|
||||||
o = s:option(Flag, "lazy_mode", translate("Enable Lazy Mode"))
|
|
||||||
o:depends("type", "hysteria")
|
o:depends("type", "hysteria")
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
o.default = "0"
|
o.default = "0"
|
||||||
|
|
||||||
o = s:option(Flag, "flag_obfs", translate("Enable Obfuscation"))
|
o = s:option(Flag, "lazy_mode", translate("Lazy Mode"))
|
||||||
o:depends("type", "hysteria")
|
o:depends("type", "hysteria")
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
o.default = "0"
|
o.default = "0"
|
||||||
|
@ -369,6 +375,11 @@ o:depends("type", "hysteria")
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
o.default = "0"
|
o.default = "0"
|
||||||
|
|
||||||
|
o = s:option(Flag, "disablepathmtudiscovery", translate("Disable QUIC path MTU discovery."))
|
||||||
|
o:depends({type = "hysteria",flag_quicparam = "1"})
|
||||||
|
o.rmempty = true
|
||||||
|
o.default = false
|
||||||
|
|
||||||
--[[Hysteria2 QUIC parameters setting]]
|
--[[Hysteria2 QUIC parameters setting]]
|
||||||
o = s:option(Value, "initstreamreceivewindow", translate("QUIC initStreamReceiveWindow"))
|
o = s:option(Value, "initstreamreceivewindow", translate("QUIC initStreamReceiveWindow"))
|
||||||
o:depends({type = "hysteria", flag_quicparam = "1"})
|
o:depends({type = "hysteria", flag_quicparam = "1"})
|
||||||
|
@ -406,11 +417,6 @@ o.rmempty = true
|
||||||
o.datatype = "uinteger"
|
o.datatype = "uinteger"
|
||||||
o.default = "10"
|
o.default = "10"
|
||||||
|
|
||||||
o = s:option(Flag, "disablepathmtudiscovery", translate("Disable Path MTU discovery"))
|
|
||||||
o:depends({type = "hysteria", flag_quicparam = "1"})
|
|
||||||
o.rmempty = true
|
|
||||||
o.default = false
|
|
||||||
|
|
||||||
|
|
||||||
--[[ Shadow-TLS Options ]]
|
--[[ Shadow-TLS Options ]]
|
||||||
o = s:option(ListValue, "shadowtls_protocol", translate("shadowTLS protocol Version"))
|
o = s:option(ListValue, "shadowtls_protocol", translate("shadowTLS protocol Version"))
|
||||||
|
@ -902,9 +908,7 @@ o:depends("reality", true)
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
|
|
||||||
o = s:option(DynamicList, "tls_alpn", translate("TLS ALPN"))
|
o = s:option(DynamicList, "tls_alpn", translate("TLS ALPN"))
|
||||||
o:depends("tls", true)
|
o:depends({type = "tuic", tls = true})
|
||||||
o:depends("type", "tuic")
|
|
||||||
o:depends("type", "hysteria")
|
|
||||||
o.rmempty = true
|
o.rmempty = true
|
||||||
|
|
||||||
-- [[ allowInsecure ]]--
|
-- [[ allowInsecure ]]--
|
||||||
|
@ -1187,7 +1191,7 @@ if is_finded("kcptun-client") then
|
||||||
o:depends("type", "ss")
|
o:depends("type", "ss")
|
||||||
|
|
||||||
o = s:option(Value, "kcp_port", translate("KcpTun Port"))
|
o = s:option(Value, "kcp_port", translate("KcpTun Port"))
|
||||||
o.datatype = "port"
|
o.datatype = "portrange"
|
||||||
o.default = 4000
|
o.default = 4000
|
||||||
o:depends("type", "ssr")
|
o:depends("type", "ssr")
|
||||||
o:depends("type", "ss")
|
o:depends("type", "ss")
|
||||||
|
|
|
@ -181,6 +181,9 @@ msgstr "注意: 如果服务器使用 userpass 验证,格式必须是 userna
|
||||||
msgid "Enable Port Hopping"
|
msgid "Enable Port Hopping"
|
||||||
msgstr "启用端口跃迁"
|
msgstr "启用端口跃迁"
|
||||||
|
|
||||||
|
msgid "Enable Transport Protocol Settings"
|
||||||
|
msgstr "启用传输协议设置"
|
||||||
|
|
||||||
msgid "Port Range"
|
msgid "Port Range"
|
||||||
msgstr "端口范围值"
|
msgstr "端口范围值"
|
||||||
|
|
||||||
|
|
|
@ -433,7 +433,7 @@ start_udp() {
|
||||||
hysteria)
|
hysteria)
|
||||||
gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port
|
gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port
|
||||||
ln_start_bin $(first_type hysteria) hysteria client --config $udp_config_file
|
ln_start_bin $(first_type hysteria) hysteria client --config $udp_config_file
|
||||||
echolog "UDP TPROXY Relay:$($(first_type "hysteria") version | awk '{print "Hhysteria2: " $2}' | head -9 | tail +9) Started!"
|
echolog "UDP TPROXY Relay:$($(first_type "hysteria") version | grep Version | awk '{print "Hysteria2:" $2}') Started!"
|
||||||
;;
|
;;
|
||||||
tuic)
|
tuic)
|
||||||
# FIXME: ipt2socks cannot handle udp reply from tuic
|
# FIXME: ipt2socks cannot handle udp reply from tuic
|
||||||
|
@ -564,7 +564,7 @@ start_shunt() {
|
||||||
fi
|
fi
|
||||||
ln_start_bin $(first_type hysteria) hysteria client --config $shunt_config_file
|
ln_start_bin $(first_type hysteria) hysteria client --config $shunt_config_file
|
||||||
shunt_dns_command
|
shunt_dns_command
|
||||||
echolog "shunt:$($(first_type hysteria) version | awk '{print "Hhysteria2: " $2}' | head -9 | tail +9) Started!"
|
echolog "shunt:$($(first_type hysteria) version | grep Version | awk '{print "Hysteria2:" $2})' Started!"
|
||||||
;;
|
;;
|
||||||
tuic)
|
tuic)
|
||||||
local chain_shunt_port="30${tmp_shunt_port}"
|
local chain_shunt_port="30${tmp_shunt_port}"
|
||||||
|
@ -663,7 +663,7 @@ start_local() {
|
||||||
if [ "$_local" == "2" ]; then
|
if [ "$_local" == "2" ]; then
|
||||||
gen_config_file $LOCAL_SERVER $type 4 0 $local_port
|
gen_config_file $LOCAL_SERVER $type 4 0 $local_port
|
||||||
ln_start_bin $(first_type hysteria) hysteria client --config $local_config_file
|
ln_start_bin $(first_type hysteria) hysteria client --config $local_config_file
|
||||||
echolog "Global_Socks5:$($(first_type hysteria) version | awk '{print "Hhysteria2: " $2}' | head -9 | tail +9) Started!"
|
echolog "Global_Socks5:$($(first_type hysteria) version | grep Version | awk '{print "Hysteria2:" $2}') Started!"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
tuic)
|
tuic)
|
||||||
|
@ -758,7 +758,7 @@ Start_Run() {
|
||||||
hysteria)
|
hysteria)
|
||||||
gen_config_file $GLOBAL_SERVER $type 1 $tcp_port $socks_port
|
gen_config_file $GLOBAL_SERVER $type 1 $tcp_port $socks_port
|
||||||
ln_start_bin $(first_type hysteria) hysteria client --config $tcp_config_file
|
ln_start_bin $(first_type hysteria) hysteria client --config $tcp_config_file
|
||||||
echolog "Main node:$($(first_type hysteria) version | awk '{print "Hhysteria2: " $2}' | head -9 | tail +9) Started!"
|
echolog "Main node:$($(first_type hysteria) version | grep Version | awk '{print "Hysteria2:" $2}') Started!"
|
||||||
;;
|
;;
|
||||||
tuic)
|
tuic)
|
||||||
local PARAM
|
local PARAM
|
||||||
|
|
|
@ -392,7 +392,7 @@ local ss = {
|
||||||
reuse_port = true
|
reuse_port = true
|
||||||
}
|
}
|
||||||
local hysteria = {
|
local hysteria = {
|
||||||
server = (server.port_range and (server.server .. ":" .. server.port_range)) or (server.server_port and (server.server .. ":" .. server.server_port)),
|
server = (server.server_port and (server.port_range and (server.server .. ":" .. server.server_port .. "," .. server.port_range) or server.server .. ":" .. server.server_port) or (server.port_range and server.server .. ":" .. server.port_range or server.server .. ":443")),
|
||||||
bandwidth = {
|
bandwidth = {
|
||||||
up = tonumber(server.uplink_capacity) and tonumber(server.uplink_capacity) .. " mbps" or nil,
|
up = tonumber(server.uplink_capacity) and tonumber(server.uplink_capacity) .. " mbps" or nil,
|
||||||
down = tonumber(server.downlink_capacity) and tonumber(server.downlink_capacity) .. " mbps" or nil
|
down = tonumber(server.downlink_capacity) and tonumber(server.downlink_capacity) .. " mbps" or nil
|
||||||
|
@ -401,12 +401,13 @@ local hysteria = {
|
||||||
listen = "0.0.0.0:" .. tonumber(socks_port),
|
listen = "0.0.0.0:" .. tonumber(socks_port),
|
||||||
disable_udp = false
|
disable_udp = false
|
||||||
} or nil,
|
} or nil,
|
||||||
transport = {
|
transport = (server.transport_protocol) and {
|
||||||
type = server.transport_protocol,
|
type = (server.transport_protocol) or udp,
|
||||||
udp = {
|
udp = (server.port_range and (server.hopinterval) and {
|
||||||
hopInterval = tonumber(server.hopinterval) and tonumber(server.hopinterval) .. "s" or "30s"
|
hopInterval = (server.port_range and (tonumber(server.hopinterval) .. "s") or nil)
|
||||||
}
|
} or nil)
|
||||||
},
|
} or nil,
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
tcpTProxy = (proto:find("tcp") and local_port ~= "0") and {
|
tcpTProxy = (proto:find("tcp") and local_port ~= "0") and {
|
||||||
listen = "0.0.0.0:" .. tonumber(local_port)
|
listen = "0.0.0.0:" .. tonumber(local_port)
|
||||||
|
|
Loading…
Reference in New Issue