Rustdns
Table of contents
Expected features
- Blocking annoying third party
ad/tracking domains
- Fast caching using Redis
- Fully configurable using
config.toml
file - Fast and memory safe
Usage
Currently in development, this section will be filled out later
Requirements
In order to run this compile and run the resolver correctly, there are some tools that need to be installed before you start compiling.
- Rust
- Go to Rust official website and install rust with the script.
- Redis
- If you want to install Redis from package repository or executable follow the guide from from here
- This project already has
docker-compose.yml
, so it is more comfortable to run Redis with Docker, use following guide to install and run Docker.
Installation
Currently in development, this section will be filled out later
Configuration
A config.toml
file is used to configure this DNS server. Documentation with information about the configuration of this resolver will be released soon.
Contributing
Your contributions are always welcome! Before you create any pull request, create an issue and discuss the problem you want to solve or an enchancement with the community.
Documents / infomation sources
The code itself is well-documented, so if you want to know something, data source link and the section of the document is probably at the top of the function or struct, but if you don't want to read it in code, I will also include it here.
- DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION By: Network Working Group of the IETF, 1987 [cit. 2022-9-14]. Available at: https://www.ietf.org/rfc/rfc1035.txt
- IANA (Internet Assiged Numbers Authority) - Root hint, zone and nameserver files Available at: https://www.iana.org/domains/root/files
- DOMAIN NAMES - CONCEPTS AND FACILITIES By: Network Working Group of the IETF, 1987 [cit. 2022-9-14]. Available at: https://www.rfc-editor.org/rfc/rfc1034
License
The MIT License (MIT) 2022 - Jakub Dorničák.