Skip to content
Snippets Groups Projects
Forked from ffbs / ffbs-gluon
5079 commits behind the upstream repository.
config-mode.lua 758 B
local luci = require "luci"
local io = require "io"

module "luci.tools.config-mode"

function setup_fastd_secret(name)
  local uci = luci.model.uci.cursor()
  local secret = uci:get("fastd", name, "secret")

  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
    local f = io.popen("fastd --generate-key --machine-readable", "r")
    local secret = f:read("*a")
    f:close()

    uci:set("fastd", name, "secret", secret)
    uci:save("fastd")
    uci:commit("fastd")
  end
end

function get_fastd_pubkey(name)
  local f = io.popen("/etc/init.d/fastd show_key " .. name, "r")
  local key = f:read("*a")
  f:close()

  return key
end