# DNS_SERVICE (frontend for dnsmasq) - [routes](#routes) - [build](#build) - [configure](#configure) - [example](#example) - [requests responses](#requests-responses) - [/api/settings](#settings) - [/api/settings/file](#settingsfile) ## routes - `GET` `/` - frontend - `GET` `/api/settings` - get all settings - `POST` `/api/settings` - set all settings - `GET` `/api/settings/file` - get settings file content - `POST` `/api/settings/file` - set settings file content ## build ```shell go build ``` ## configure ### example ``` DNSMASQ_CONFIG=/etc/dnsmasq.conf ENABLE_TLS=true CERT_FILE=/etc/dns_service/dns.home.com.crt KEY_FILE=/etc/dns_service/dns.home.com.key SERVER_ADDRESS=0.0.0.0 SERVER_PORT=8090 SYSTEM_INITIALIZATION=rc ``` ## requests-responses ### settings #### `/api/settings` ```json { "cache_size": 10000, "hosts": { "185.130.83.26": "gitea.home.com", "192.168.3.1": "router.home.com", "192.168.3.113": [ "samba.home.com", "gitea.home.com", "navidrome.home.com" ], "192.168.3.119": [ "immich.home.com", "jellyfin.home.com", "portainer.home.com" ], "192.168.3.155": "dns.home.com" }, "resolv": [ "192.168.3.1", "109.194.32.1", "5.3.3.3", "8.8.8.8" ] } ``` ### settingsfile #### `/api/settings/file` ``` resolv-file=/etc/dnsmasq.conf.d/resolv.conf addn-hosts=/etc/dnsmasq.conf.d/hosts cache-size=10000 ```