Tom Chivert
f81fc66376
build / build (push) Successful in 2m16s
Details
|
||
---|---|---|
.gitea/workflows | ||
conf | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
blocklist_update | ||
docker-compose.yml | ||
go.mod | ||
go.sum | ||
rdns.go |
README.md
rdns-go
rdns is a reverse DNS proxy resolver written in Go. It acts as a DNS server, forwarding DNS queries to configured nameservers and returning the corresponding reverse DNS records.
Building
To build the rdns-go project, you need to have Go installed. Follow the official Go installation instructions for your operating system.
Once Go is installed, clone the rdns-go repository:
git clone https://git.rznet.fr/razian/rdns-go
cd rdns-go
Build the rdns binary:
go build
This will create a rdns
binary in the project directory.
Usage
The rdns-go project can be started using the provided docker-compose.yml file. Modify the environment variables in the docker-compose.yml file to customize the configuration.
docker-compose up -d
This command will start the rdns-go container in the background.
Configuration
The rdns-go project can be configured using the following environment variables in the docker-compose.yml
file:
BLOCKLIST
(default: /etc/rdns/blocklist.txt): The path to the blocklist file. This file contains a list of domain names to block.ZONES
(default: /etc/rdns/rdns.zones): The path to the zones file. This file contains custom zone information.NS
(default: 9.9.9.9:1.1.1.1): The nameservers to use for DNS resolution.TTL
(default: 60): The time-to-live value for cached queries (in minutes).TLS
(default: true): Whether to use TLS to contact the resolver.LOGS
(default: false): Whether to enable query logging.METRICS
(default: false): Whether to enable Prometheus metrics.
To customize the rdns-go configuration, modify the corresponding environment variables.
Acknowledgments
This project uses code from miekg/dns and patrickmn/go-cache.
License
This project is licensed under the MIT License. See the LICENSE file for more information.