mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-03 16:13:56 +08:00
update 2026-10-21 06:53:29
This commit is contained in:
1 parent
ee55ecd1ef
commit
f144cc6010
238 files changed
+301
-19729
No files matched your search
@@ -363,6 +363,14 @@ function outbound:handleIndex(index)
|
||||
trojan = function()
|
||||
trojan_shadowsocks()
|
||||
end,
|
||||
shadowsocksr = function()
|
||||
outbound_settings = {
|
||||
address = server.server, port = tonumber(server.server_port),
|
||||
password = server.password, method = server.ssr_method or "aes-128-cfb",
|
||||
protocol = server.ssr_protocol or "origin", protocolParam = server.protocol_param,
|
||||
obfs = server.ssr_obfs or "plain", obfsParam = server.obfs_param
|
||||
}
|
||||
end,
|
||||
shadowsocks = function()
|
||||
trojan_shadowsocks()
|
||||
end,
|
||||
@@ -375,6 +383,19 @@ function outbound:handleIndex(index)
|
||||
wireguard = function()
|
||||
wireguard()
|
||||
end,
|
||||
naive = function()
|
||||
outbound_settings = {
|
||||
address = server.server, port = tonumber(server.server_port),
|
||||
username = server.username, password = server.password,
|
||||
serverName = server.tls_host,
|
||||
certificateFile = server.naive_certificate_file,
|
||||
quic = server.naive_quic == "1",
|
||||
udpOverTcp = server.naive_udp_over_tcp == "1",
|
||||
insecureConcurrency = tonumber(server.naive_concurrency),
|
||||
quicCongestionControl = server.naive_quic_congestion,
|
||||
echConfigList = server.naive_ech_config
|
||||
}
|
||||
end,
|
||||
anytls = function()
|
||||
outbound_settings = {
|
||||
address = server.server,
|
||||
@@ -878,6 +899,14 @@ Xray.outbounds = {
|
||||
}
|
||||
}
|
||||
|
||||
-- Naive owns TLS/multiplexing; SSR owns obfuscation and uses native UDP.
|
||||
-- Preserve Xray socket marks and dialer chains for both.
|
||||
if server.v2ray_protocol == "naive" or server.v2ray_protocol == "shadowsocksr" then
|
||||
local ob = Xray.outbounds[1]
|
||||
ob.streamSettings = { network = "raw", sockopt = ob.streamSettings.sockopt }
|
||||
ob.mux = nil
|
||||
end
|
||||
|
||||
if xray_builtin_dns then
|
||||
table.insert(Xray.outbounds, {
|
||||
protocol = "dns",
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/lua
|
||||
local uci = require("luci.model.uci").cursor()
|
||||
local json = require "luci.jsonc"
|
||||
local s = assert(uci:get_all("shadowsocksr", arg[1]), "missing server section")
|
||||
assert(s.username and s.username ~= "" and s.password and s.password ~= "", "Naive credentials required")
|
||||
assert(s.tls_certificateFile and s.tls_keyFile, "Naive TLS certificate and key required")
|
||||
local alpn = {}
|
||||
local selected = s.naive_alpn or "h2"
|
||||
assert(selected == "h2" or selected == "h3" or selected == "h2,h3", "invalid Naive transport")
|
||||
for value in selected:gmatch("[^,]+") do alpn[#alpn + 1] = value end
|
||||
print(json.stringify({
|
||||
log = {loglevel = "warning"},
|
||||
inbounds = {{listen = "::", port = assert(tonumber(s.server_port)), protocol = "naive",
|
||||
settings = {users = {{username = s.username, password = s.password}}},
|
||||
streamSettings = {network = "naive", security = "tls", tlsSettings = {
|
||||
alpn = alpn, certificates = {{certificateFile = s.tls_certificateFile, keyFile = s.tls_keyFile}}
|
||||
}}
|
||||
}},
|
||||
outbounds = {{protocol = "freedom", settings = {}}}
|
||||
}, 1))
|
||||
Reference in new issue
Block a user