mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
35 lines
869 B
Go
35 lines
869 B
Go
package unbound
|
|
|
|
import (
|
|
"embed"
|
|
"text/template"
|
|
|
|
"nfsense.net/nfsense/internal/definitions/config"
|
|
"nfsense.net/nfsense/internal/definitions/network"
|
|
)
|
|
|
|
//go:embed template
|
|
var templateFS embed.FS
|
|
var templates *template.Template
|
|
|
|
func init() {
|
|
var err error
|
|
templates, err = template.New("").Funcs(template.FuncMap{
|
|
"getInterfaceNetworkAddressCIDR": getInterfaceNetworkAddressCIDR,
|
|
"getInterfaceName": getInterfaceName,
|
|
}).ParseFS(templateFS, "template/*.tmpl")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func getInterfaceNetworkAddressCIDR(conf config.Config, name string) string {
|
|
return conf.Network.Interfaces[name].Address.Masked().String()
|
|
}
|
|
|
|
func getInterfaceName(conf config.Config, name string) string {
|
|
if conf.Network.Interfaces[name].Type == network.Hardware {
|
|
return *conf.Network.Interfaces[name].HardwareDevice
|
|
}
|
|
return name
|
|
}
|