openwrt-routing/cjdns/files/cjdrouteconf

31 lines
691 B
Lua
Executable File

#!/usr/bin/env lua
dkjson = require("dkjson")
cjdns = require("cjdns")
require("cjdns/uci")
function help()
print("JSON interface to /etc/config/cjdns\n\nExamples: \
cjdrouteconf get > /tmp/etc/cjdroute.conf \
cat /tmp/etc/cjdroute.conf | cjdrouteconf set \
uci changes \
cjdrouteconf get | cjdroute")
end
if arg[1] == "get" then
local json = dkjson.encode(cjdns.uci.get(), { indent = true })
print(json)
elseif arg[1] == "set" then
local json = io.stdin:read("*a")
local obj, pos, err = dkjson.decode(json, 1, nil)
if obj then
cjdns.uci.set(obj)
else
print("dkjson: " .. err .. " (try cjdroute --cleanconf)")
os.exit(1)
end
else
help()
end