parent
be12f09a22
commit
1d53c79567
@ -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
|
||||||
|
@ -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"))
|
||||||
|
@ -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服务器可以从外部接收的最大数据包大小(单位:字节)"
|
||||||
|
@ -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
|
||||||
|
@ -8609,4 +8609,4 @@
|
|||||||
223.254.0.0/16
|
223.254.0.0/16
|
||||||
223.255.0.0/17
|
223.255.0.0/17
|
||||||
223.255.236.0/22
|
223.255.236.0/22
|
||||||
223.255.252.0/23
|
223.255.252.0/23
|
||||||
|
@ -306,23 +306,29 @@ local hysteria = {
|
|||||||
lazy_start = (server.lazy_start == "1") and true or false
|
lazy_start = (server.lazy_start == "1") and true or false
|
||||||
}
|
}
|
||||||
local tuic = {
|
local tuic = {
|
||||||
relay = {
|
relay = {
|
||||||
server = server.server .. ":" .. server.server_port,
|
server = server.server .. ":" .. server.server_port,
|
||||||
uuid = server.tuic_uuid,
|
ip = server.tuic_ip,
|
||||||
password = server.password,
|
uuid = server.tuic_uuid,
|
||||||
certificates = server.certificate and { server.certpath } or nil,
|
password = server.tuic_passwd,
|
||||||
udp_relay_mode = server.udp_relay_mode,
|
certificates = server.certificate and { server.certpath } or nil,
|
||||||
congestion_control = server.congestion_control,
|
udp_relay_mode = server.udp_relay_mode,
|
||||||
heartbeat = server.heartbeat_interval,
|
congestion_control = server.congestion_control,
|
||||||
alpn = server.tls_alpn,
|
heartbeat = server.heartbeat,
|
||||||
disable_sni = (server.disable_sni == "1"),
|
timeout = server.timeout,
|
||||||
zero_rtt_handshake = (server.zero_rtt_handshake == "1"),
|
gc_interval = server.gc_interval,
|
||||||
send_window = tonumber(server.send_window),
|
gc_lifetime = server.gc_lifetime,
|
||||||
receive_window = tonumber(server.receive_window)
|
alpn = server.tls_alpn,
|
||||||
},
|
disable_sni = (server.disable_sni == "1"),
|
||||||
["local"] = {
|
zero_rtt_handshake = (server.zero_rtt_handshake == "1"),
|
||||||
server = "0.0.0.0:" .. tonumber(local_port)
|
send_window = tonumber(server.send_window),
|
||||||
}
|
receive_window = tonumber(server.receive_window)
|
||||||
|
},
|
||||||
|
["local"] = {
|
||||||
|
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 = {}
|
||||||
function config:new(o)
|
function config:new(o)
|
||||||
|
Loading…
Reference in New Issue
Block a user