diff --git a/README.md b/README.md index 644191312bb489037ed07c98b02ada4a2de189da..0bd4ea340e2bc55bf1e5d65fb76312a05e645f61 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,8 @@ connection = "acme-dns.db" [api] # domain name to listen requests for, mandatory if using tls = "letsencrypt" api_domain = "" +# disable registration endpoint +disable_registration = false # autocert HTTP port, eg. 80 for answering Let's Encrypt HTTP-01 challenges. Mandatory if using tls = "letsencrypt". autocert_port = "80" # listen ip, default "" listens on all interfaces/addresses diff --git a/config.cfg b/config.cfg index f8e91460a7c925eab665217d3e34f47b0add79d3..2798ad535817825c0459e4dbaa81748076873751 100644 --- a/config.cfg +++ b/config.cfg @@ -36,6 +36,8 @@ connection = "/var/lib/acme-dns/acme-dns.db" api_domain = "" # listen ip eg. 127.0.0.1 ip = "0.0.0.0" +# disable registration endpoint +disable_registration = false # autocert HTTP port, eg. 80 for answering Let's Encrypt HTTP-01 challenges. Mandatory if using tls = "letsencrypt". autocert_port = "80" # listen port, eg. 443 for default HTTPS diff --git a/main.go b/main.go index d1cbbd13965e5e1b66393dc25443c6dbd8efe308..adee83859f5581cb58d4f33bd08785f79bf6e3d9 100644 --- a/main.go +++ b/main.go @@ -67,7 +67,9 @@ func startHTTPAPI() { // Logwriter for saner log output c.Log = stdlog.New(logwriter, "", 0) } - api.POST("/register", webRegisterPost) + if !Config.API.DisableRegistration { + api.POST("/register", webRegisterPost) + } api.POST("/update", Auth(webUpdatePost)) host := Config.API.IP + ":" + Config.API.Port diff --git a/types.go b/types.go index 1f5c42019553cc9eae4f64f11b4999d73d8d29f0..fe21581f1eb9cde5bc62e9eddaeff50e4fea959e 100644 --- a/types.go +++ b/types.go @@ -50,16 +50,17 @@ type dbsettings struct { // API config type httpapi struct { - Domain string `toml:"api_domain"` - IP string - AutocertPort string `toml:"autocert_port"` - Port string `toml:"port"` - TLS string - TLSCertPrivkey string `toml:"tls_cert_privkey"` - TLSCertFullchain string `toml:"tls_cert_fullchain"` - CorsOrigins []string - UseHeader bool `toml:"use_header"` - HeaderName string `toml:"header_name"` + Domain string `toml:"api_domain"` + IP string + DisableRegistration bool `toml:"disable_registration"` + AutocertPort string `toml:"autocert_port"` + Port string `toml:"port"` + TLS string + TLSCertPrivkey string `toml:"tls_cert_privkey"` + TLSCertFullchain string `toml:"tls_cert_fullchain"` + CorsOrigins []string + UseHeader bool `toml:"use_header"` + HeaderName string `toml:"header_name"` } // Logging config