updns is a simple DNS proxy server developed using Rust
. You can intercept any domain name and return the ip you need
Download the binary from the release page
Or use cargo
to install
bash
cargo install updns
```bash updns
updns -c /your/hosts ```
You may use sudo
to run this command because you will use the 53
port
Build docker image
bash
docker build -t updns .
Start up
bash
docker run -d --name updns -p 53:53/udp -v /root/updns/:/root/.updns/ --restart always updns
``` Usage: updns [COMMAND] [OPTION]
Command: add Add a DNS record ls Print all configured DNS records config Call 'vim' to edit the configuration file path Print related directories help Print help information version Print version information
Option: -c Specify a config file -i Check the interval time of the configuration file format: 1ms, 1s, 1m, 1h, 1d ```
You can use updns config
command and then call vim
edit, or find ~/.updns/config
edit
You can specify standard domains, or utilize regular expressions for dynamic matching
Regular expression starts with
~
```ini bind 0.0.0.0:53 # Binding address proxy 8.8.8.8:53 # Proxy address timeout 2s # Proxy timeout (format: 1ms, 1s, 1m, 1h, 1d)
example.com 1.1.1.1 *.example.com 2.2.2.2 ~^\w+.example.[a-z]+$ 3.3.3.3
test.com ::
import /other/hosts ```
MIT license