7 releases

0.1.6 Jun 16, 2024
0.1.5 Jun 16, 2024
0.1.4 May 1, 2024
0.1.3 Mar 30, 2024

#1930 in Network programming

MIT and GPL-3.0-or-later

31KB
661 lines

dns2socks

Crates.io dns2socks Documentation Download License

A DNS server that forwards DNS requests to a SOCKS5 server.

Installation

Precompiled Binaries

Download binary from releases and put it in your $PATH.

Install from Crates.io

If you have Rust toolchain installed, you can install dns2socks with the following command:

cargo install dns2socks

Usage

dns2socks -h

Proxy server to routing DNS query to SOCKS5 server

Usage: dns2socks [OPTIONS]

Options:
  -l, --listen-addr <IP:port>        Listen address [default: 0.0.0.0:53]
  -d, --dns-remote-server <IP:port>  Remote DNS server address [default: 8.8.8.8:53]
  -s, --socks5-server <IP:port>      SOCKS5 proxy server address [default: 127.0.0.1:1080]
  -u, --username <user name>         User name for SOCKS5 authentication
  -p, --password <password>          Password for SOCKS5 authentication
  -f, --force-tcp                    Force to use TCP to proxy DNS query
  -c, --cache-records                Cache DNS query records
  -v, --verbosity <level>            Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace]
  -t, --timeout <seconds>            Timeout for DNS query [default: 5]
  -h, --help                         Print help
  -V, --version                      Print version

Dependencies

~17–29MB
~454K SLoC