github.com/LEXUGE/dcompass ↗
A high-performance programmable DNS component aiming at robustness, speed, and flexibility
An animated visualization of LEXUGE/dcompass's Git history from October 2020 to February 2021, built by 4 contributors. The codebase reached 877 lines, mostly Rust. The video runs 23 seconds.
Render your own repo
Turn any GitHub repository into a video like this — free sample in seconds.
Open this visualization on its own page →
Language
Rust
Contributors
4
Lines of Code
877
From
2020-10-30
To
2021-02-16
Advertisement
About LEXUGE/dcompass
dcompass is a high-performance DNS server component written in pure Rust, designed to handle approximately 50,000 queries per second. It functions as a programmable DNS router that allows users to script complex query routing logic using Rune, a Rust-like scripting language. The project emphasizes robustness, speed, and flexibility, enabling administrators to dynamically switch between network environments without downtime.
The tool supports multiple DNS query protocols including UDP, DNS over HTTPS (DoH), and DNS over TLS (DoT), with the ability to race multiple upstreams simultaneously using a hybrid method. Users can define sophisticated routing rules through configuration files that leverage matchers for GeoIP filtering, IP CIDR ranges, and domain-based blocking. The scripting engine provides access to individual DNS message components, allowing fine-grained manipulation of queries and responses, such as adding EDNS Client Subnet records or implementing custom DNS services.
dcompass targets system administrators and network engineers who need advanced DNS filtering and routing capabilities. The project is actively maintained with significant performance improvements between versions—version 0.3.0 introduced the Rune script engine which achieved 2-6x faster performance compared to previous implementations. Binaries are available for multiple architectures including x86_64, ARM, and MIPS, with NixOS packages and systemd service integration provided for Linux users.
Advertisement