gluon-config-mode.lua 764 B

1234567891011121314151617181920212223242526272829
  1. local luci = require "luci"
  2. local io = require "io"
  3. module "luci.tools.gluon-config-mode"
  4. function setup_fastd_secret(name)
  5. local uci = luci.model.uci.cursor()
  6. local secret = uci:get("fastd", name, "secret")
  7. if not secret or not secret:match("%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x") then
  8. local f = io.popen("fastd --generate-key --machine-readable", "r")
  9. local secret = f:read("*a")
  10. f:close()
  11. uci:set("fastd", name, "secret", secret)
  12. uci:save("fastd")
  13. uci:commit("fastd")
  14. end
  15. end
  16. function get_fastd_pubkey(name)
  17. local f = io.popen("/etc/init.d/fastd show_key " .. name, "r")
  18. local key = f:read("*a")
  19. f:close()
  20. return key
  21. end