15 releases
0.1.7 | Mar 7, 2023 |
---|---|
0.1.6 | May 9, 2022 |
0.1.5 | Mar 13, 2021 |
0.1.3 | Apr 11, 2020 |
0.0.0-alpha.0 | Apr 21, 2019 |
#2163 in Network programming
54KB
1.5K
SLoC
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
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
Config
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
Reference
License
MIT license
Dependencies
~7–17MB
~217K SLoC