Skip to content
This repository has been archived by the owner on Jan 10, 2025. It is now read-only.

wyhaya/updns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

updns

Warning

  • !!! This project contains severe bugs
  • !!! No plans for fixes or patches
  • !!! DO NOT use it in any environment

updns is a simple DNS proxy server developed using Rust. You can intercept any domain name and return the ip you need

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

Building a DNS server in Rust

License

MIT license