luci-app-ssr-plus: sync upstream

* 67dff7a464
This commit is contained in:
sbwml 2023-07-15 02:39:30 +08:00
parent be12f09a22
commit 1d53c79567
6 changed files with 127 additions and 44 deletions

View File

@ -10,6 +10,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Tuic-Client \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \
@ -27,7 +28,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan
LUCI_TITLE:=SS/SSR/V2Ray/Trojan/NaiveProxy/Socks5/Tun LuCI interface LUCI_TITLE:=SS/SSR/V2Ray/Trojan/NaiveProxy/TUIC/Hysteria/Socks5/Tun LuCI interface
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
LUCI_DEPENDS:= \ LUCI_DEPENDS:= \
@(PACKAGE_libustream-mbedtls||PACKAGE_libustream-openssl||PACKAGE_libustream-wolfssl) \ @(PACKAGE_libustream-mbedtls||PACKAGE_libustream-openssl||PACKAGE_libustream-wolfssl) \
@ -40,6 +41,7 @@ LUCI_DEPENDS:= \
+PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core \ +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core \
+PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG:chinadns-ng \ +PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG:chinadns-ng \
+PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria:hysteria \ +PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria:hysteria \
+PACKAGE_$(PKG_NAME)_INCLUDE_TUIC-Client:tuic-client \
+PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks:ipt2socks \ +PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks:ipt2socks \
+PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \ +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \
+PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \ +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \
@ -115,6 +117,15 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria
bool "Include Hysteria" bool "Include Hysteria"
select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
default n
config PACKAGE_$(PKG_NAME)_INCLUDE_TUIC-Client
bool "Include tuic-client"
select PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
select PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
depends on aarch64||i686||x86_64
depends on !(TARGET_x86_geode||TARGET_x86_legacy)
default n default n
config PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks config PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks

View File

@ -225,7 +225,6 @@ o:depends({type = "v2ray", v2ray_protocol = "socks"})
o = s:option(Value, "username", translate("Username")) o = s:option(Value, "username", translate("Username"))
o.rmempty = true o.rmempty = true
o:depends("type", "naiveproxy") o:depends("type", "naiveproxy")
--o:depends("type", "tuic")
o:depends({type = "socks5", auth_enable = true}) o:depends({type = "socks5", auth_enable = true})
o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true}) o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true}) o:depends({type = "v2ray", v2ray_protocol = "socks", auth_enable = true})
@ -237,7 +236,6 @@ o:depends("type", "ssr")
o:depends("type", "ss") o:depends("type", "ss")
o:depends("type", "trojan") o:depends("type", "trojan")
o:depends("type", "naiveproxy") o:depends("type", "naiveproxy")
o:depends("type", "tuic")
o:depends({type = "socks5", auth_enable = true}) o:depends({type = "socks5", auth_enable = true})
o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true}) o:depends({type = "v2ray", v2ray_protocol = "http", auth_enable = true})
o:depends({type = "v2ray", v2ray_protocol = "socks", socks_ver = "5", auth_enable = true}) o:depends({type = "v2ray", v2ray_protocol = "socks", socks_ver = "5", auth_enable = true})
@ -351,15 +349,29 @@ o.default = "0"
-- [[ TUIC ]] -- [[ TUIC ]]
-- TuicNameId -- TuicNameId
o = s:option(Value, "tuic_uuid", translate("TUIC user UUID")) o = s:option(Value, "tuic_uuid", translate("TUIC User UUID"))
o.rmempty = true o.rmempty = true
o.default = uuid o.default = uuid
o:depends("type", "tuic") o:depends("type", "tuic")
--Tuic IP
o = s:option(Value, "tuic_ip", translate("TUIC Server IP Address"))
o.rmempty = true
o.datatype = "ip4addr"
o.default = ""
o:depends("type", "tuic")
-- Tuic Password
o = s:option(Value, "tuic_passwd", translate("TUIC User Password"))
o.rmempty = true
o.default = ""
o:depends("type", "tuic")
o = s:option(ListValue, "udp_relay_mode", translate("UDP relay mode")) o = s:option(ListValue, "udp_relay_mode", translate("UDP relay mode"))
o:depends("type", "tuic") o:depends("type", "tuic")
o:value("native", translate("native")) o:value("native", translate("native UDP characteristics"))
o:value("quic", translate("QUIC")) o:value("quic", translate("lossless UDP relay using QUIC streams"))
o.default = "native" o.default = "native"
o.rmempty = true o.rmempty = true
@ -371,10 +383,40 @@ o:value("new_reno", translate("New Reno"))
o.default = "cubic" o.default = "cubic"
o.rmempty = true o.rmempty = true
o = s:option(Value, "heartbeat", translate("Heartbeat interval")) o = s:option(Value, "heartbeat", translate("Heartbeat interval(second)"))
o:depends("type", "tuic") o:depends("type", "tuic")
--o.datatype = "uinteger" o.datatype = "uinteger"
o.default = "3s" o.default = "3"
o.rmempty = true
o = s:option(Value, "timeout", translate("Timeout for establishing a connection to server(second)"))
o:depends("type", "tuic")
o.datatype = "uinteger"
o.default = "8"
o.rmempty = true
o = s:option(Value, "gc_interval", translate("Garbage collection interval(second)"))
o:depends("type", "tuic")
o.datatype = "uinteger"
o.default = "3"
o.rmempty = true
o = s:option(Value, "gc_lifetime", translate("Garbage collection lifetime(second)"))
o:depends("type", "tuic")
o.datatype = "uinteger"
o.default = "15"
o.rmempty = true
o = s:option(Value, "send_window", translate("TUIC send window"))
o:depends("type", "tuic")
o.datatype = "uinteger"
o.default = 16777216
o.rmempty = true
o = s:option(Value, "receive_window", translate("TUIC receive window"))
o:depends("type", "tuic")
o.datatype = "uinteger"
o.default = 8388608
o.rmempty = true o.rmempty = true
o = s:option(Flag, "disable_sni", translate("Disable SNI")) o = s:option(Flag, "disable_sni", translate("Disable SNI"))
@ -385,18 +427,18 @@ o.rmempty = true
o = s:option(Flag, "zero_rtt_handshake", translate("Enable 0-RTT QUIC handshake")) o = s:option(Flag, "zero_rtt_handshake", translate("Enable 0-RTT QUIC handshake"))
o:depends("type", "tuic") o:depends("type", "tuic")
o.default = 0 o.default = 0
o.rmempty = false
o = s:option(Value, "send_window", translate("TUIC send window"))
o.datatype = "uinteger"
o:depends("type", "tuic")
o.default = 16777216
o.rmempty = true o.rmempty = true
o = s:option(Value, "receive_window", translate("TUIC receive window")) --Tuic settings for the local inbound socks5 server
o.datatype = "uinteger" o = s:option(Flag, "tuic_dual_stack", translate("Set if the listening socket should be dual-stack"))
o:depends("type", "tuic") o:depends("type", "tuic")
o.default = 8388608 o.default = 0
o.rmempty = true
o = s:option(Value, "tuic_max_package_size", translate("Maximum packet size the socks5 server can receive from external"))
o:depends("type", "tuic")
o.datatype = "uinteger"
o.default = 1500
o.rmempty = true o.rmempty = true
-- VmessId -- VmessId
@ -702,7 +744,6 @@ if is_finded("xray") then
-- [[ uTLS ]]-- -- [[ uTLS ]]--
o = s:option(Value, "fingerprint", translate("Finger Print")) o = s:option(Value, "fingerprint", translate("Finger Print"))
o:value("", translate("disable")) o:value("", translate("disable"))
o:value("firefox", translate("firefox"))
o:value("chrome", translate("chrome")) o:value("chrome", translate("chrome"))
o:value("firefox", translate("firefox")) o:value("firefox", translate("firefox"))
o:value("safari", translate("safari")) o:value("safari", translate("safari"))

View File

@ -853,17 +853,38 @@ msgstr "应用"
msgid "Enable Netflix Mode" msgid "Enable Netflix Mode"
msgstr "启用 Netflix 分流模式" msgstr "启用 Netflix 分流模式"
msgid "TUIC user UUID" msgid "TUIC User UUID"
msgstr "TUIC用户uuid" msgstr "TUIC用户uuid"
msgid "TUIC Server IP Address"
msgstr "TUIC 服务器IP地址"
msgid "TUIC User Password"
msgstr "TUIC用户密钥"
msgid "UDP relay mode" msgid "UDP relay mode"
msgstr "tuic UDP中继模式" msgstr "UDP中继模式"
msgid "native UDP characteristics"
msgstr "原生UDP特性"
msgid "lossless UDP relay using QUIC streams"
msgstr "使用 QUIC 流的无损 UDP 中继"
msgid "Congestion control algorithm" msgid "Congestion control algorithm"
msgstr "拥塞控制算法" msgstr "拥塞控制算法"
msgid "Heartbeat interval" msgid "Heartbeat interval(second)"
msgstr "连接保活间隔" msgstr "保活心跳包发送间隔(单位:秒)"
msgid "Timeout for establishing a connection to server(second)"
msgstr "连接超时时间(单位:秒)"
msgid "Garbage collection interval(second)"
msgstr "UDP数据包片残片清理间隔单位"
msgid "Garbage collection lifetime(second)"
msgstr "UDP数据包残片在服务器的保留时间单位"
msgid "Disable SNI" msgid "Disable SNI"
msgstr "关闭SNI服务器名称指示" msgstr "关闭SNI服务器名称指示"
@ -872,8 +893,13 @@ msgid "Enable 0-RTT QUIC handshake"
msgstr "客户端启用 0-RTT QUIC 连接握手" msgstr "客户端启用 0-RTT QUIC 连接握手"
msgid "TUIC send window" msgid "TUIC send window"
msgstr "发送窗口(无需确认即可发送的最大字节数)" msgstr "发送窗口(无需确认即可发送的最大字节数默认8Mb*2"
msgid "TUIC receive window" msgid "TUIC receive window"
msgstr "接收窗口(无需确认即可接收的最大字节数)" msgstr "接收窗口(无需确认即可接收的最大字节数默认8Mb"
msgid "Set if the listening socket should be dual-stack"
msgstr "设置监听套接字为双栈"
msgid "Maximum packet size the socks5 server can receive from external"
msgstr "socks5服务器可以从外部接收的最大数据包大小单位字节"

View File

@ -994,7 +994,6 @@ reset() {
add shadowsocksr access_control add shadowsocksr access_control
set shadowsocksr.@access_control[0].lan_ac_mode='0' set shadowsocksr.@access_control[0].lan_ac_mode='0'
set shadowsocksr.@access_control[0].router_proxy='1' set shadowsocksr.@access_control[0].router_proxy='1'
add_list shadowsocksr.@access_control[0].wan_bp_ips=34.149.0.0/16
add_list shadowsocksr.@access_control[0].wan_fw_ips=149.154.160.0/20 add_list shadowsocksr.@access_control[0].wan_fw_ips=149.154.160.0/20
add_list shadowsocksr.@access_control[0].wan_fw_ips=67.198.55.0/24 add_list shadowsocksr.@access_control[0].wan_fw_ips=67.198.55.0/24
add_list shadowsocksr.@access_control[0].wan_fw_ips=91.108.4.0/22 add_list shadowsocksr.@access_control[0].wan_fw_ips=91.108.4.0/22

View File

@ -308,12 +308,16 @@ local hysteria = {
local tuic = { local tuic = {
relay = { relay = {
server = server.server .. ":" .. server.server_port, server = server.server .. ":" .. server.server_port,
ip = server.tuic_ip,
uuid = server.tuic_uuid, uuid = server.tuic_uuid,
password = server.password, password = server.tuic_passwd,
certificates = server.certificate and { server.certpath } or nil, certificates = server.certificate and { server.certpath } or nil,
udp_relay_mode = server.udp_relay_mode, udp_relay_mode = server.udp_relay_mode,
congestion_control = server.congestion_control, congestion_control = server.congestion_control,
heartbeat = server.heartbeat_interval, heartbeat = server.heartbeat,
timeout = server.timeout,
gc_interval = server.gc_interval,
gc_lifetime = server.gc_lifetime,
alpn = server.tls_alpn, alpn = server.tls_alpn,
disable_sni = (server.disable_sni == "1"), disable_sni = (server.disable_sni == "1"),
zero_rtt_handshake = (server.zero_rtt_handshake == "1"), zero_rtt_handshake = (server.zero_rtt_handshake == "1"),
@ -321,7 +325,9 @@ local tuic = {
receive_window = tonumber(server.receive_window) receive_window = tonumber(server.receive_window)
}, },
["local"] = { ["local"] = {
server = "0.0.0.0:" .. tonumber(local_port) server = "[::]:" .. tonumber(local_port),
dual_stack = (server.tuic_dual_stack == "1") and true or false,
max_packet_size = server.tuic_max_package_size
} }
} }
local config = {} local config = {}