060da0cd5d8e23678d1650b16856401e574a7d86
updns
updns is a simple DNS proxy server developed using Rust. You can intercept any domain name and return the ip you need.
Install
Download the binary from the release page
Or use cargo to install
cargo install updns
Start to use
updns
# or
updns -c /your/hosts
You may use sudo to run this command because you will use the 53 port, make sure you have sufficient permissions.
Now change your local DNS server to 127.0.0.1 🚀
Running in docker
Build docker image
docker build -t updns .
Start up
docker run -d --name updns -p 53:53/udp -v /root/updns/:/root/.updns/ --restart always updns
Command
Usage:
updns [COMMAND] [OPTION]
Command:
add Add a DNS record
rm Remove 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
-w Check the interval of the configuration file
Config
You can use updns config command and then call vim quick edit, or use updns path find the updns's installation directory and edit the config file
You can specify standard domains, or utilize regular expressions for dynamic matching, You can update the config file at any time, updns will listen for file changes
bind 0.0.0.0:53 # Binding address
proxy 8.8.8.8:53 # Proxy address
timeout 2000 # Proxy timeout (ms)
# Domain matching
google.com 1.1.1.1
^\w+.bing.com$ 2.2.2.2
github.com ::
# Import from other file
import /other/hosts
Reference
License
MIT license
Description
Languages
Rust
99.6%
Dockerfile
0.4%