Skip to content
/ rdns Public

library to interact with domain name services at a high/low level

Notifications You must be signed in to change notification settings

dinxsh/rdns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustDNS

Rust License: MIT Crates.io Docs.rs GitHub issues GitHub stars GitHub forks

RustDNS [WIP] is an open-source, lightweight, high-performance DNS server implementation in Rust. It provides a simple yet powerful solution for handling DNS queries and managing DNS records.

Features

  • Fast and efficient DNS query parsing and handling
  • Support for IPv4 and IPv6 address resolution
  • Multithreaded architecture for optimal performance
  • Configurable caching mechanism
  • Extensible plugin system for custom record types
  • Comprehensive logging and monitoring
  • Easy-to-use API for programmatic DNS record management

Prerequisites

  • Rust 1.56.0 or later

Quick Start

  1. Add RustDNS to your Cargo.toml:

    [dependencies]
    rustdns = "0.1.0"
  2. Use RustDNS in your project:

    use rustdns::{DnsServer, Config};
    
    fn main() {
        let config = Config::new()
            .bind_address("127.0.0.1:5300")
            .add_record("example.com", "93.184.216.34");
    
        let server = DnsServer::new(config);
        server.run().expect("Failed to start DNS server");
    }

Building from Source

  1. Clone the repository:

    git clone https://github.com/yourusername/rustdns.git
    cd rustdns
    
  2. Build the project:

    cargo build --release
    
  3. Run the DNS server:

    cargo run --release
    

Documentation

For detailed documentation, please visit docs.rs/rustdns.

Contributing

We welcome contributions to RustDNS! Here are some ways you can contribute:

  • Report bugs and suggest features by opening issues
  • Submit pull requests to fix issues or add new features
  • Improve documentation
  • Share your experience and help others in discussions

Please see our Contributing Guide for more details on how to get started.

Code of Conduct

We are committed to providing a friendly, safe, and welcoming environment for all contributors. Please read and follow our Code of Conduct.

License

RustDNS is licensed under the MIT License. See the LICENSE file for details.

Contact

If you have any questions or need support, please open an issue on GitHub or reach out to the maintainers.

About

library to interact with domain name services at a high/low level

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages