Crates.io | updns |
lib.rs | updns |
version | 0.1.7 |
source | src |
created_at | 2019-04-21 07:49:17.564833 |
updated_at | 2023-03-07 06:39:56.183819 |
description | DNS proxy tool |
homepage | https://github.com/wyhaya/updns |
repository | https://github.com/wyhaya/updns.git |
max_upload_size | |
id | 129215 |
size | 73,068 |
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
cargo install updns
updns
# or
updns -c /your/hosts
You may use sudo
to run this command because you will use the 53
port
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
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
~
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)
# Domain matching
example.com 1.1.1.1
*.example.com 2.2.2.2
~^\w+\.example\.[a-z]+$ 3.3.3.3
# IPv6
test.com ::
# Import from other file
import /other/hosts
MIT license