Skip to content

An easy way to synchronize the blocklist and local DNS configurations of multiple Pi-hole 5.x instances.

License

Notifications You must be signed in to change notification settings

appcoders/gravity-sync

 
 

Repository files navigation

Gravity Sync

What is better than a Pi-hole blocking ads via DNS on your network? That's right, two Pi-hole blocking ads on your network!

But if you have more than one Pi-hole in your network you'll want a simple way to keep the list configurations and local DNS settings identical between the two. That's Gravity Sync. With proper preparation it should only take a few minutes to install. Ideally you set up Gravity Sync and forget about it -- and in the long term, it would be awesome if the Pi-hole team made this entire script unnecessary.

Features

Gravity Sync replicates the gravity.db database, which includes:

  • Blocklist settings with status and comments.
  • Domain whitelist and blacklist along with status with comments.
  • Custom RegEx whitelist and blacklists.
  • Clients and groups along with any list assignments.

Gravity Sync can also (optionally) replicate FTLDNS/DNSMASQ configuration files, including:

  • Local DNS (A Records) which are stored in a separate custom.list file within the /etc/pihole directory.
  • CNAME Records which are stored in a separate 05-pihole-custom-cname.conf file in the /etc/dnsmasq.d directory.

Limitations

Gravity Sync will not:

  • Overwrite device specific Pi-hole settings specific to the local network configuration.
  • Change the Pi-hole admin/API passwords, nor does not leverage these at all.
  • Modify the individual Pi-hole's upstream DNS resolvers.
  • Sync DHCP settings or monitor device leases.
  • Merge long term data, query logs, or statistics.

Setup Steps

  1. Review System Requirements
  2. Prepare Your Pi-hole
  3. Install Gravity Sync (or Upgrade)
  4. Configure Gravity Sync
  5. Execute Gravity Sync
  6. Automate Gravity Sync
  7. Profit

Disclaimer

Gravity Sync is not developed by or affiliated with the Pi-hole project. This is project an unofficial, community effort, that seeks to implement replication (which is currently not a part of the core Pi-hole product) in a way that provides stability and value to Pi-hole users. The code has been tested across multiple user environments but there always is an element of risk involved with running any arbitrary software you find on the Internet.

Pi-hole is and the Pi-hole logo are registered trademarks of Pi-hole LLC.

Additional Documentation

Please refer to the Wiki for more information:

About

An easy way to synchronize the blocklist and local DNS configurations of multiple Pi-hole 5.x instances.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%