{"repo":"specialfish9/gohole","free":true,"listed":false,"github":"https://github.com/specialfish9/gohole","clone":"git clone https://github.com/specialfish9/gohole.git","description":"Self-hosted DNS-based Ad and tracker blocker, written in Go","language":"TypeScript","stars":17,"topics":[],"license":"GPL-2.0","category":"self-hosted-apps","readme_excerpt":"Gohole A self-hosted DNS-based Ad and tracker blocker, written in Go. It acts as a DNS resolver that intercepts queries, filters them against configurable block and allow lists, and forwards permitted queries to an upstream DNS server. Query logs are stored in ClickHouse and exposed through a web dashboard. Features - DNS-based ad & tracker blocking - Super-duper easy to set up and use, with a user-friendly web dashboard - Configurable blocklists and allowlists in the same format as Pi-hole - Forward permitted queries to a custom upstream DNS server - Resolve custom domains to specific IPs - High-performance query logging (ClickHouse) - Web dashboard for analytics and monitoring + Grafana support - Docker and Docker Compose support - Fully written in Go Screenshot More screenshots can be found in the assets folder. Docker setup A docker image is available on Docker Hub, and a compose.yaml file is provided for easy setup. Then go to http://localhost:8080 to access the dashboard. Configuration Configuration is done through a yaml file. A sample configuration is provided in gohole.yaml. The configuration file includes settings for the DNS server, blocklists, allowlists, upstream DNS server, logging, and ClickHouse connection details. Grafana Grafana can be used to visualize query logs stored in ClickHouse. A sample Grafana dashboard is also provided. To use it, import the JSON file into your Grafana instance and configure the ClickHouse data source with the connection details fr","default_branch":null,"files":null,"tree":[],"storefront":"/r/specialfish9","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/specialfish9/gohole/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}