{"id":17166337,"url":"https://github.com/gdsoumya/dns_hole","last_synced_at":"2025-10-28T10:41:15.266Z","repository":{"id":109964172,"uuid":"212155231","full_name":"gdsoumya/dns_hole","owner":"gdsoumya","description":" DNS Hole is a network-level advertisement and Internet tracker blocking tool which acts as a DNS sinkhole.","archived":false,"fork":false,"pushed_at":"2019-10-10T06:14:06.000Z","size":1335,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T15:04:54.381Z","etag":null,"topics":["dns-hole","dns-sinkhole","privacy","privacy-enhancing-technologies","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gdsoumya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-01T17:17:15.000Z","updated_at":"2024-03-19T10:23:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"ad64ab53-5948-40e2-a0ad-72ddeef197c8","html_url":"https://github.com/gdsoumya/dns_hole","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gdsoumya/dns_hole","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdsoumya%2Fdns_hole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdsoumya%2Fdns_hole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdsoumya%2Fdns_hole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdsoumya%2Fdns_hole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gdsoumya","download_url":"https://codeload.github.com/gdsoumya/dns_hole/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdsoumya%2Fdns_hole/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281425556,"owners_count":26499031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns-hole","dns-sinkhole","privacy","privacy-enhancing-technologies","python"],"created_at":"2024-10-14T23:05:18.983Z","updated_at":"2025-10-28T10:41:15.260Z","avatar_url":"https://github.com/gdsoumya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DNS Hole\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)   \u003cimg src=\"https://img.shields.io/badge/made%20with-python-blue.svg\" alt=\"made with python\"\u003e \u003ca href='https://github.com/gdsoumya' target='_blank'\u003e\u003cimg src='https://img.shields.io/github/followers/gdsoumya.svg?label=Folow\u0026style=social'\u003e\u003c/a\u003e\u003ca href=\"https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fgdsoumya%2Fdns_hole\u0026text=Checkout%20this%20project%20called%20DNS%20Hole%2C%20it%20blocks%20unwanted%20ads%20and%20trackers%20and%20preserves%20your%20privacy.%20\u0026hashtags=%23dns_hole%20%23privacy%20%23ad_blocker%20%23trackers_blocker\" target=\"_blank\"\u003e\n  \u003cimg src=\"http://jpillora.com/github-twitter-button/img/tweet.png\"\n       alt=\"tweet button\" title=\"Checkout this project called DNS Hole, it blocks unwanted ads and trackers and preserves your privacy. \"\u003e\u003c/img\u003e\n\u003c/a\u003e\n\nDNS Hole is a network-level advertisement and Internet tracker blocking tool which acts as a DNS sinkhole. It comes with a tracker and advertisement block list that can be customized according to user preferences and requirements.\u003cbr\u003e\u003cbr\u003e\n\n\u003cimg src=\"https://github.com/gdsoumya/dns_hole/blob/master/dns_hole_cli.png\"\n       alt=\"DNS Hole Cli\" title=\"DNS Hole Cli\"\u003e\u003c/img\u003e\n\n\n## Getting Started\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\n**DNS Hole** requires [ **Python (\u003e Python 3.6)**](https://www.python.org/) .\n\n### Getting the project.\n\n```sh\n$ git clone https://github.com/gdsoumya/dns_hole.git\nor \nDownload and extract the Zip-File\n```\n### Installing Dependencies\nThe Project has a few dependencies which can be installed by running.\n```sh\n$ pip install -r dependencies.txt \n```\n## Starting DNS Hole\nTo start blocking ads and trackers run\n```sh\n$ python dns_hole.py\n```\n\n### Options \n- **Aggressive Mode** : Aggressively blocks any link which contains the keyword \"AD\". Use with **CAUTION**, links like **googleadservices.com** as well as links like **addition.com** will be blocked.\n\nFinally a DNS Server will be initialized at **0.0.0.0:53** for use.\n\n### Errors\nPossible Errors :\u003cbr\u003e\n1. **Run As Root** : On linux based systems the script needs to be executed as root, on windows admin permissions will be requested.\u003cbr\u003e\n2. **Port 53 is already in use/Socket Error** : Other processes or services are using the required port(53), kill or close them before executing the script.\u003cbr\u003e\n\n## Using DNS Hole\nTo use DNS Hole you can choose one of the following options:\n1. Setup DNS Hole on the Hotspot/Router.\n2. Set the DNS address in your router settings to point to the DNS Hole system.\n3. Setup network settings on specific devices to point their dns to the DNS Hole system. \n\n## Changing Block List\nTo change/update the block list just add or remove the necessary urls in the BlockList.txt file.\n\n## Working Demo \n\u003cimg src=\"https://github.com/gdsoumya/dns_hole/blob/master/dns_hole.png\"\n       alt=\"DNS Hole Demo\" title=\"DNS Hole Demo\"\u003e\u003c/img\u003e\n\n## Packages Used\n- **[dnslib](https://pypi.org/project/dnslib/)** : A library to encode/decode DNS wire-format packets.\n\n## Author\n-   **Soumya Ghosh Dastidar**\n\n## Contributting\nAny contribution/suggestions are welcomed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdsoumya%2Fdns_hole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgdsoumya%2Fdns_hole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdsoumya%2Fdns_hole/lists"}