{"id":19167363,"url":"https://github.com/megamansec/router-blocklist","last_synced_at":"2025-09-09T07:31:02.792Z","repository":{"id":169869031,"uuid":"516858589","full_name":"MegaManSec/router-blocklist","owner":"MegaManSec","description":null,"archived":true,"fork":false,"pushed_at":"2023-05-26T21:00:53.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-22T23:26:13.526Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MegaManSec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-07-22T18:59:28.000Z","updated_at":"2024-11-23T10:45:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"9b5cde39-e49f-49ec-a858-6dee254134cc","html_url":"https://github.com/MegaManSec/router-blocklist","commit_stats":null,"previous_names":["megamansec/router-blocklist"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MegaManSec/router-blocklist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2Frouter-blocklist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2Frouter-blocklist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2Frouter-blocklist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2Frouter-blocklist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MegaManSec","download_url":"https://codeload.github.com/MegaManSec/router-blocklist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2Frouter-blocklist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274261333,"owners_count":25251945,"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-09-09T02:00:10.223Z","response_time":80,"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":[],"created_at":"2024-11-09T09:36:59.541Z","updated_at":"2025-09-09T07:31:02.467Z","avatar_url":"https://github.com/MegaManSec.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# router-blocklist\n\nThe internet is unusable without some sort of ad-blocker. However, adblockers do not work on all systems and applications (e.g. on iPhone).\n\nIn order to block malware and ads, we null-route domains which are known to serve things we don't want to use up our bandwidth.\n\nThis script downloads blocklists, parses them for an /etc/hosts file, then uploads them to a DD-WRT router.\n\nAn example of a cron-tab entry for this script is as follows (It can run every minute due to the temporary file it uses to make sure it's not already running):\n\n`* * * * * cd /Users/user/router-blocklist \u0026\u0026 ./dns.sh \u003e/dev/null 2\u003e\u00261`\n\n## Variables\n\nIn `dns.sh`, there are various variables at the top of the file that need to be set.\n\n## DNS Alternatives\n\nNote: this works best when DNS over TLS and DNS over HTTPS is blocked (i.e. ports 853 and 443 over UDP) respectively. Blocking UDP on port 443 may cause unknown consequences:\n```\niptables -I FORWARD -p tcp --dport 853 -j DROP\niptables -I FORWARD -p udp --dport 443 -j DROP\n```\nSome browsers may not function after the above change, so check the settings to disable DNS over TLS (for example) in them.\n\n## Note\n\nInstead of using an ssh key to interact with the router, the password used directly.\nThis is because the alternative is saving the pass-code to our SSH key somewhere -- we want this script to run without _any_ interaction by the user (i.e. even if the key hasn't been added to the key-chain).\n\nThis script is run on a computer connected to the router, rather than the router itself, because my router does not have wget nor curl installed, and there is no way to easily download files from websites. Hence this hacky-solution!\n\nThe SSH option `-oKexAlgorithms=+diffie-hellman-group1-sha1` is used because my router (and thus DD-WRT version) is extremely old.\n\nIn order to save some space in the host file, the awk script provided in this repository creates multi-domain entries for the `/etc/hosts` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegamansec%2Frouter-blocklist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmegamansec%2Frouter-blocklist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegamansec%2Frouter-blocklist/lists"}