Files
dns_service/README.md
T
2025-07-07 17:29:56 +07:00

84 lines
1.4 KiB
Markdown

# 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
```