Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dthung1602/dinosaurust
A DNS server written in Rust
https://github.com/dthung1602/dinosaurust
Last synced: 5 days ago
JSON representation
A DNS server written in Rust
- Host: GitHub
- URL: https://github.com/dthung1602/dinosaurust
- Owner: dthung1602
- License: mit
- Created: 2024-03-09T16:34:35.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-05-11T08:53:29.000Z (6 months ago)
- Last Synced: 2024-05-11T09:42:20.232Z (6 months ago)
- Language: Rust
- Size: 844 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
A DNS server written in Rust
[//]: # (image from https://www.vecteezy.com/vector-art/4959393-nice-orange-dinosaur)
## Run locally
```shell
# Run DNS server on port 2053
cargo run --bin dinosaurust# Run test client
cargo run --bin test_client# Test DNS server with dig
dig @127.0.0.1 -p 2053 +nodnssec +noedns www.google.com```
## Available Options
```shell
Usage: dinosaurust [OPTIONS]Options:
--ip [default: 0.0.0.0]
--port [default: 2053]
--forward-server-ip [default: 8.8.8.8]
--forward-server-port [default: 53]
-h, --help Print help
-V, --version Print version```
## Roadmap
- [x] Set up UDP server
- [x] Send ping pong
- [x] Write header
- [x] Write answer section
- [x] Parse header
- [x] Parse question section
- [x] Compress
- [x] Parsing
- [x] Writing
- [x] Forward to other server
- [ ] Caching policy
- [x] Other record types: AAAA, CNAME, NS, etc
- [ ] Maintain own database