|
|
@@ -10,25 +10,63 @@
|
|
|
-- ============================================================================
|
|
|
|
|
|
local cfg = {
|
|
|
+ -- General
|
|
|
+ enabled = true,
|
|
|
+ check_interval = 5,
|
|
|
+ log_level = "info",
|
|
|
+ buffer_file = "/tmp/event_buffer",
|
|
|
+ max_buffer = 100,
|
|
|
+ -- Server
|
|
|
server_url = os.getenv("SERVER_URL") or "wss://your-server.com:3843",
|
|
|
server_token = os.getenv("SERVER_TOKEN") or "secret-token",
|
|
|
+ reconnect_delay = 5,
|
|
|
+ ping_interval = 30,
|
|
|
+ timeout = 10,
|
|
|
+ -- Router
|
|
|
router_id = os.getenv("ROUTER_ID") or "",
|
|
|
- check_interval = 5,
|
|
|
+ hostname = "",
|
|
|
+ -- WAN
|
|
|
wan_interface = "wan",
|
|
|
wan_device = "eth0",
|
|
|
- buffer_file = "/tmp/event_buffer",
|
|
|
- pid_file = "/var/run/client2server.pid",
|
|
|
- max_buffer = 100,
|
|
|
+ monitor_dhcp = true,
|
|
|
+ monitor_wan = true,
|
|
|
+ monitor_ip_change = true,
|
|
|
+ -- Events
|
|
|
+ send_dhcp = true,
|
|
|
+ send_wan = true,
|
|
|
+ send_uptime = false,
|
|
|
+ send_version = true,
|
|
|
}
|
|
|
|
|
|
--- Load UCI config
|
|
|
+-- Load UCI config (all settings)
|
|
|
pcall(function()
|
|
|
local uci = require("luci.model.uci").cursor()
|
|
|
+ -- General
|
|
|
+ cfg.enabled = uci:get("client2server", "general", "enabled") or cfg.enabled
|
|
|
+ cfg.check_interval = tonumber(uci:get("client2server", "general", "check_interval")) or cfg.check_interval
|
|
|
+ cfg.log_level = uci:get("client2server", "general", "log_level") or cfg.log_level
|
|
|
+ cfg.buffer_file = uci:get("client2server", "general", "buffer_file") or cfg.buffer_file
|
|
|
+ cfg.max_buffer = tonumber(uci:get("client2server", "general", "max_buffer")) or cfg.max_buffer
|
|
|
+ -- Server
|
|
|
cfg.server_url = uci:get("client2server", "server", "url") or cfg.server_url
|
|
|
cfg.server_token = uci:get("client2server", "server", "token") or cfg.server_token
|
|
|
+ cfg.reconnect_delay = tonumber(uci:get("client2server", "server", "reconnect_delay")) or cfg.reconnect_delay
|
|
|
+ cfg.ping_interval = tonumber(uci:get("client2server", "server", "ping_interval")) or cfg.ping_interval
|
|
|
+ cfg.timeout = tonumber(uci:get("client2server", "server", "timeout")) or cfg.timeout
|
|
|
+ -- Router
|
|
|
cfg.router_id = uci:get("client2server", "router", "id") or cfg.router_id
|
|
|
+ cfg.hostname = uci:get("client2server", "router", "hostname") or cfg.hostname
|
|
|
+ -- WAN
|
|
|
cfg.wan_interface = uci:get("client2server", "wan", "interface") or cfg.wan_interface
|
|
|
cfg.wan_device = uci:get("client2server", "wan", "device") or cfg.wan_device
|
|
|
+ cfg.monitor_dhcp = uci:get("client2server", "wan", "monitor_dhcp") or cfg.monitor_dhcp
|
|
|
+ cfg.monitor_wan = uci:get("client2server", "wan", "monitor_wan") or cfg.monitor_wan
|
|
|
+ cfg.monitor_ip_change = uci:get("client2server", "wan", "monitor_ip_change") or cfg.monitor_ip_change
|
|
|
+ -- Events
|
|
|
+ cfg.send_dhcp = uci:get("client2server", "events", "send_dhcp") or cfg.send_dhcp
|
|
|
+ cfg.send_wan = uci:get("client2server", "events", "send_wan") or cfg.send_wan
|
|
|
+ cfg.send_uptime = uci:get("client2server", "events", "send_uptime") or cfg.send_uptime
|
|
|
+ cfg.send_version = uci:get("client2server", "events", "send_version") or cfg.send_version
|
|
|
end)
|
|
|
|
|
|
if cfg.router_id == "" then
|