small-package/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_naiveproxy.lua

29 lines
841 B
Lua
Raw Normal View History

2022-03-11 19:09:49 +08:00
local api = require "luci.model.cbi.passwall.api.api"
local uci = api.uci
local jsonc = api.jsonc
local var = api.get_args(arg)
2022-03-15 20:34:28 +08:00
local node_id = var["-node"]
if not node_id then
2022-03-11 19:09:49 +08:00
print("-node 不能为空")
return
end
2022-03-15 20:34:28 +08:00
local node = uci:get_all("passwall", node_id)
2022-03-11 19:09:49 +08:00
local run_type = var["-run_type"]
local local_addr = var["-local_addr"]
local local_port = var["-local_port"]
2022-03-15 20:34:28 +08:00
local server_host = var["-server_host"] or node.address
local server_port = var["-server_port"] or node.port
if api.is_ipv6(server_host) then
server_host = api.get_ipv6_full(server_host)
end
local server = server_host .. ":" .. server_port
2022-03-11 19:09:49 +08:00
local config = {
listen = run_type .. "://" .. local_addr .. ":" .. local_port,
2022-03-15 20:34:28 +08:00
proxy = node.protocol .. "://" .. node.username .. ":" .. node.password .. "@" .. server
2022-03-11 19:09:49 +08:00
}
print(jsonc.stringify(config, 1))