#dns-server #regex #dns #execute-command #rust

app dirty-dns

A simple and dirty dns server support match regex query name, get ip by execute command, etc

1 unstable release

0.1.0 Aug 15, 2019

#55 in #dns-server

Custom license

35KB
899 lines

dirty-dns

A simple and dirty dns server support match regex query name, get ip by execute command, etc.

Modify from dnsguide sample4.

Usage

USAGE:
    dirty-dns [OPTIONS] --config-file <PATH>

FLAGS:
        --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --config-file <PATH>    Set config file.
    -h, --host <HOST>           Which host the service to listen.
        --num-thread <COUNT>    How many thread will spawn.
    -p, --port <PORT>           Which port the service to listen.

Example Config

# Check query name is match left address or regexp.
[address]
'/w-(.*\.jmjoy\.top|.*\.jmjoy\.com)/' = "127.0.0.1"         # regexp surround with //
'/x-(.*\.jmjoy\.top|.*\.jmjoy\.com)/' = "env(RUST_TEST_IP)" # environment argument support
'/(.*\.jmjoy\.top|.*\.jmjoy\.com)/' = "`echo 127.0.0.1`"    # executeable command surround with ``

Dependencies

~4–6MB
~105K SLoC