A DNS sinkhole that blocks ads and trackers for every device on your network, without installing client software.
BeryJu/gravity
A fully-replicated DNS, DHCP and TFTP server backed by etcd, with a web UI and ad-blocking.
- Stars
- 932
- Forks
- 33
- Open issues
- 57
- Last commit
- 8 hours ago
What is it?
Gravity is a network services server that runs DNS, DHCP and TFTP on one or more nodes. It stores its configuration and state in etcd, so changes such as DNS zones, records and DHCP leases are replicated across every node in a cluster rather than living on a single machine.
The project includes a web interface for managing zones, records and leases, along with cluster node views. Its DNS side supports ad-blocking and caching, and it exposes Prometheus metrics, with a Grafana dashboard shown in its screenshots. An API is also provided for automation.
Gravity is written in Go and licensed under GPL-3.0. It is aimed at home labs and small networks that want redundant DNS and DHCP without maintaining separate servers by hand.
Key features
- 01Replicates DNS zones, records and DHCP leases across nodes via etcd.
- 02Provides DNS, DHCP and TFTP services in one server.
- 03Includes ad-blocking and DNS caching.
- 04Offers a web UI for managing zones, records and leases.
- 05Exposes Prometheus metrics and an API.
Use cases
- Running redundant DNS and DHCP for a home lab or small office network.
- Keeping DNS records and DHCP leases consistent across several servers.
- Blocking ads and trackers at the network DNS level.
- Monitoring DNS and DHCP services with Prometheus and Grafana.
Things to know
- Requires an etcd cluster as its backing store, which adds a heavy dependency to self-host.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be released under the same terms.
In collections
Topics
FAQ
- What is gravity?
- A fully-replicated DNS, DHCP and TFTP server backed by etcd, with a web UI and ad-blocking. Gravity is a network services server that runs DNS, DHCP and TFTP on one or more nodes. It stores its configuration and state in etcd, so changes such as DNS zones, records and DHCP leases are replicated across every node in a cluster rather than living on a single machine.
- Is gravity free to use? What license does it have?
- gravity is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is gravity still maintained?
- Actively maintained. The last commit to gravity was on Nov 6, 2026.
- What can I use gravity for?
- Running redundant DNS and DHCP for a home lab or small office network. Keeping DNS records and DHCP leases consistent across several servers. Blocking ads and trackers at the network DNS level. Monitoring DNS and DHCP services with Prometheus and Grafana.
- Where can I get gravity?
- The source code and installation instructions are on GitHub: https://github.com/BeryJu/gravity
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open source authoritative and recursive DNS server with a web console, ad and malware blocking, and encrypted DNS support.
A macOS gateway app that turns a Mac into a Surge-style transparent proxy with per-device routing, DHCP/DNS via dnsmasq, and mihomo as the proxy engine.
A fast, lightweight DNS proxy that blocks ads and trackers for your whole local network, with per-client-group rules.
A lightweight Go tool that automatically detects your public IPv4/IPv6 address and updates DNS records at many DNS providers.
A curated, de-duplicated hosts file that merges several public blocklists to block ads, trackers, malware, and optional categories on any OS.