{"id":17685041,"url":"https://github.com/t145/black-mirror","last_synced_at":"2025-10-23T23:07:40.014Z","repository":{"id":37277741,"uuid":"371767474","full_name":"T145/black-mirror","owner":"T145","description":"Blacklists and whitelists built by open code, so you know what goes into them.","archived":false,"fork":false,"pushed_at":"2025-04-30T13:45:52.000Z","size":94162,"stargazers_count":203,"open_issues_count":8,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-30T21:09:09.381Z","etag":null,"topics":["adblock-list","blackhole-lists","blacklist","blacklist-data","blacklist-domains","blacklist-feed","blacklist-ips","blacklist-management","blacklist-script","blacklist-service","blocklist","daily-build","dns","privacy","whitelist","whitelists","whitelists-hosts","whitelists-ip"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/T145.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-28T17:01:48.000Z","updated_at":"2025-04-30T13:45:56.000Z","dependencies_parsed_at":"2025-04-11T21:14:40.655Z","dependency_job_id":"5c26cc71-739e-4b92-baf8-99f14f4344c0","html_url":"https://github.com/T145/black-mirror","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T145%2Fblack-mirror","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T145%2Fblack-mirror/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T145%2Fblack-mirror/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T145%2Fblack-mirror/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/T145","download_url":"https://codeload.github.com/T145/black-mirror/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251782775,"owners_count":21642987,"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","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":["adblock-list","blackhole-lists","blacklist","blacklist-data","blacklist-domains","blacklist-feed","blacklist-ips","blacklist-management","blacklist-script","blacklist-service","blocklist","daily-build","dns","privacy","whitelist","whitelists","whitelists-hosts","whitelists-ip"],"created_at":"2024-10-24T10:26:18.019Z","updated_at":"2025-10-23T23:07:39.993Z","avatar_url":"https://github.com/T145.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/images/logo.png\"\n       width=\"600\"\n       alt=\"logo\"\n       longdesc=\"https://github.com/T145/black-mirror/master/README.md\" /\u003e\n  \u003ch3\u003e🌓 Reflection | 💿 Redundancy | ✅ Reliability\u003c/h3\u003e\n  \u003chr\u003e\n  \u003cp\u003eAiming to promote privacy, security, and safety across the internet!\u003c/p\u003e\n  \u003chr\u003e\n  \u003ca href=\"https://github.com/humanetech-community/awesome-humane-tech#awesome-humane-tech--\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true\"\n        alt=\"humane-tech\"\n        longdesc=\"https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg\"\n        crossorigin=\"anonymous\"\n        referrerpolicy=\"no-referrer\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/T145/black-mirror/commits/master.atom\"\u003e\n    \u003cimg src=\"https://img.shields.io/static/v1?logo=rss\u0026label=RSS\u0026message=feed\u0026color=FFA500\"\n        alt=\"release\"\n        longdesc=\"https://github.com/badges/shields/\"\n        crossorigin=\"anonymous\"\n        referrerpolicy=\"no-referrer\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://bestpractices.coreinfrastructure.org/projects/6372\"\u003e\n    \u003cimg src=\"https://bestpractices.coreinfrastructure.org/projects/6372/badge\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/T145/black-mirror\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/T145/black-mirror?logo=adblock\u0026style=flat\u0026label=Repo%20Size\"\n        alt=\"repo-size\"\n        longdesc=\"https://shields.io/\"\n        crossorigin=\"anonymous\"\n        referrerpolicy=\"no-referrer\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/T145/black-mirror\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/commit-activity/w/T145/black-mirror?logo=adblock\u0026style=flat\u0026label=Commit%20Activity\"\n        alt=\"commit-activity\"\n        longdesc=\"https://shields.io/\"\n        crossorigin=\"anonymous\"\n        referrerpolicy=\"no-referrer\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/T145/black-mirror/publish_lists.yml?branch=master\u0026label=Release\u0026logo=github\"\n       alt=\"release\"\n       longdesc=\"https://github.com/badges/shields/\"\n       crossorigin=\"anonymous\"\n       referrerpolicy=\"no-referrer\" /\u003e\n  \u003ca href=\"https://www.dropbox.com/sh/lg4i0sjexubhcz6/AABO35HOVeK7Z0VHXN9MTp_ya?dl=0\"\u003e\n    \u003cimg src=\"https://img.shields.io/static/v1?logo=dropbox\u0026label=Dropbox\u0026message=builds\u0026color=0061FF\"\n        alt=\"release\"\n        longdesc=\"https://github.com/badges/shields/\"\n        crossorigin=\"anonymous\"\n        referrerpolicy=\"no-referrer\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/T145/black-mirror/pkgs/container/black-mirror\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/T145/black-mirror/publish_docker.yml?branch=master\u0026color=%232496ED\u0026label=Docker\u0026logo=docker\"\n        alt=\"docker\"\n        longdesc=\"https://github.com/badges/shields/\"\n        crossorigin=\"anonymous\"\n        referrerpolicy=\"no-referrer\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003e\n    \u003cem\u003eMade with 💖 by\u003c/em\u003e\n  \u003c/sub\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/T145\" target=\"_blank\"\u003e\n    \u003cimg width=200px height=75px src=\"https://glitch-image.vercel.app/api?text=T145\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## 🚚 Deliverables\n\n\u003e The whitelists are applied to all the blacklists!\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eList Name\u003c/th\u003e\n      \u003cth\u003eFile Content\u003c/th\u003e\n      \u003cth\u003eUnique Entries\u003c/th\u003e\n      \u003cth\u003eFile Size\u003c/th\u003e\n      \u003cth\u003eMirror\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBLOCK_DOMAIN\u003c/td\u003e\n      \u003ctd\u003ePunycode domains\u003c/td\u003e\n      \u003ctd id=\"BLOCK-DOMAIN-line-count\"\u003e8,616,153\u003c/td\u003e\n      \u003ctd id=\"BLOCK-DOMAIN-file-size\"\u003e181M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/BLOCK_DOMAIN.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBLOCK_IPV4\u003c/td\u003e\n      \u003ctd\u003eIPv4 addresses\u003c/td\u003e\n      \u003ctd id=\"BLOCK-IPV4-line-count\"\u003e1,006,985\u003c/td\u003e\n      \u003ctd id=\"BLOCK-IPV4-file-size\"\u003e14M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/BLOCK_IPV4.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBLOCK_IPV6\u003c/td\u003e\n      \u003ctd\u003eIPv6 addresses\u003c/td\u003e\n      \u003ctd id=\"BLOCK-IPV6-line-count\"\u003e861\u003c/td\u003e\n      \u003ctd id=\"BLOCK-IPV6-file-size\"\u003e25K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/BLOCK_IPV6.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBLOCK_CIDR4\u003c/td\u003e\n      \u003ctd\u003eIPv4 CIDR blocks\u003c/td\u003e\n      \u003ctd id=\"BLOCK-CIDR4-line-count\"\u003e8,221\u003c/td\u003e\n      \u003ctd id=\"BLOCK-CIDR4-file-size\"\u003e134K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/BLOCK_CIDR4.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBLOCK_CIDR6\u003c/td\u003e\n      \u003ctd\u003eIPv6 CIDR blocks\u003c/td\u003e\n      \u003ctd id=\"BLOCK-CIDR6-line-count\"\u003e187\u003c/td\u003e\n      \u003ctd id=\"BLOCK-CIDR6-file-size\"\u003e3.0K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/BLOCK_CIDR6.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eALLOW_DOMAIN\u003c/td\u003e\n      \u003ctd\u003ePunycode domains\u003c/td\u003e\n      \u003ctd id=\"ALLOW-DOMAIN-line-count\"\u003e932,263\u003c/td\u003e\n      \u003ctd id=\"ALLOW-DOMAIN-file-size\"\u003e18M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/ALLOW_DOMAIN.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eALLOW_IPV4\u003c/td\u003e\n      \u003ctd\u003eIPv4 addresses\u003c/td\u003e\n      \u003ctd id=\"ALLOW-IPV4-line-count\"\u003e77,443\u003c/td\u003e\n      \u003ctd id=\"ALLOW-IPV4-file-size\"\u003e1.1M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/ALLOW_IPV4.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eALLOW_IPV6\u003c/td\u003e\n      \u003ctd\u003eIPv6 addresses\u003c/td\u003e\n      \u003ctd id=\"ALLOW-IPV6-line-count\"\u003e2,923\u003c/td\u003e\n      \u003ctd id=\"ALLOW-IPV6-file-size\"\u003e111K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/ALLOW_IPV6.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eALLOW_CIDR4\u003c/td\u003e\n      \u003ctd\u003eIPv4 CIDR blocks\u003c/td\u003e\n      \u003ctd id=\"ALLOW-CIDR4-line-count\"\u003e7,518\u003c/td\u003e\n      \u003ctd id=\"ALLOW-CIDR4-file-size\"\u003e116K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/ALLOW_CIDR4.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eALLOW_CIDR6\u003c/td\u003e\n      \u003ctd\u003eIPv6 CIDR blocks\u003c/td\u003e\n      \u003ctd id=\"ALLOW-CIDR6-line-count\"\u003e155,782\u003c/td\u003e\n      \u003ctd id=\"ALLOW-CIDR6-file-size\"\u003e2.5M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/T145/black-mirror/releases/download/latest/ALLOW_CIDR6.txt\"\u003e🔗\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Source Code\n\n- [Tarball](https://api.github.com/repos/T145/black-mirror/tarball/latest)\n- [Zipball](https://api.github.com/repos/T145/black-mirror/zipball/latest)\n\n## 🧮 Checksum Evaluation\n\n```bash\nsha256sum CHECKSUMS.txt --strict\n```\n\nThe output will print `OK` if the check was successful. Be sure to run the command in the same directory as the lists!\n\n## 🐙 Fetching GitHub Releases\n\nProvided below are some examples to fetch release artifacts leveraging the GitHub API.\n\n### Get all build artifacts\n\n```bash\ncurl --proto '=https' --tlsv1.3 -H 'Accept: application/vnd.github.v3+json' -sSf https://api.github.com/repos/T145/black-mirror/releases/latest | jq -r '.assets[].browser_download_url'\n```\n\n### Get a build artifact \u0026 its checksum\n\n```bash\ncurl --proto '=https' --tlsv1.3 -H 'Accept: application/vnd.github.v3+json' -sSf https://api.github.com/repos/T145/black-mirror/releases/latest | jq -r '.assets[] | select(.name | startswith(\"BLOCK_DOMAIN\")).browser_download_url'\n```\n\n### Get a single build artifact\n\n```bash\ncurl --proto '=https' --tlsv1.3 -H 'Accept: application/vnd.github.v3+json' -sSf https://api.github.com/repos/T145/black-mirror/releases/latest | jq -r '.assets[] | select(.name | startswith(\"BLOCK_DOMAIN\")) | select(.name | endswith(\".txt\")).browser_download_url'\n```\n\n## 🖋️ Manifesto\n\n\u003e Please report any hosts or lists that do not align in an issue.\n\n`Black Mirror` stands on three pillars: **privacy**, **security**, and **safety**.\n\n- **Privacy**:\n  - Whitelist services like trusted torrenting providers, VPNs, and Tor.\n  - Blacklist deanonymized telemetry, data brokers, ad redirects, and stalkerware.\n- **Security**:\n  - Whitelist services that promote security AND privacy.\n  - Blacklist illegal or sketchy sites and known malicious actors.\n  - Blacklist advertising to avoid the risks of malvertising.\n- **Safety**:\n  - Blacklist deliberate misinformation, irreputable news sources, propaganda, etc.\n  - Blacklist vices such as vaping and smoking that cause individual harm.\n  - Use [GitHub's non-allowance policies](https://docs.github.com/en/github/site-policy/github-community-guidelines#what-is-not-allowed) at-scale where possible.\n  - [Acknowledge technological harm, and do what can be done in this project to prevent it.](https://ledger.humanetech.com/)\n\nWhile `Black Mirror` censors content beyond privacy and security, it does not seek to do so irresponsibly.\nMany other popular blacklists say they block specific hosts for certain reasoning, and when combed through turn out to have many false positives, or blocks that fall outside that reasoning. `Black Mirror` aims to be different by being as transparent as possible. It's open to critique, and encourages community feedback and involvement.\nThe real power behind the freedom of speech is the ability to hear many opinions to quickly deduce those that are correct or reasonable.\n\n“Before you become too entranced with gorgeous gadgets and mesmerizing video displays, let me remind you that information is not knowledge, knowledge is not wisdom, and wisdom is not foresight. Each grows out of the other, and we need them all.”\\\n― *Arthur C. Clarke*\n\n## Table of contents\n\n- [Black Mirror](#black-mirror)\n  - [On Spyware/Stalkerware](#on-spywarestalkerware)\n  - [On Propaganda](#on-propaganda)\n  - [On Social Media](#on-social-media)\n\n## On Spyware/Stalkerware\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.youtube.com/watch?v=I5WjTTi67BE\"\u003e\u003cimg src=\"https://res.cloudinary.com/marcomontalbano/image/upload/v1633709643/video_to_markdown/images/youtube--I5WjTTi67BE-c05b58ac6eb4c4700831b2b3070cd403.jpg\"\n       alt=\"GitHub Top Languages\"\n       longdesc=\"https://raw.githubusercontent.com/anuraghazra/github-readme-stats/master/readme.md\"\n       crossorigin=\"anonymous\"\n       referrerpolicy=\"no-referrer\"\n       width=\"500\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.ted.com/talks/eva_galperin_what_you_need_to_know_about_stalkerware/transcript?language=en\u0026utm_campaign=black_mirror\u0026utm_medium=referral\u0026utm_source=github_com_T145/black-mirror\"\u003e\u003cimg src=\"https://pi.tedcdn.com/r/s3.amazonaws.com/talkstar-photos/uploads/43595f89-1962-4904-8034-ee2d26971f7b/EvaGalperin_2019W-embed.jpg?op=%5E\u0026c=1280%2C720\u0026gravity=t\u0026u%5Br%5D=2\u0026u%5Bs%5D=0.5\u0026u%5Ba%5D=0.8\u0026u%5Bt%5D=0.03\u0026quality=82\u0026w=1280\u0026h=720\"\n       alt=\"GitHub Top Languages\"\n       longdesc=\"https://raw.githubusercontent.com/anuraghazra/github-readme-stats/master/readme.md\"\n       crossorigin=\"anonymous\"\n       referrerpolicy=\"no-referrer\"\n       width=\"500\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nThese services intrude on privacy, are usually malware, and compromise individual safety. Therefore any known parties are blocked.\n\n“There will come a time when it isn't 'They're spying on me through my phone' anymore. Eventually, it will be 'My phone is spying on me'.”\\\n― *Philip K. Dick*\n\n## On Propaganda\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.ted.com/talks/andrew_marantz_inside_the_bizarre_world_of_internet_trolls_and_propagandists/transcript?language=en\u0026utm_campaign=black_mirror\u0026utm_medium=referral\u0026utm_source=github_com_T145/black-mirror\"\u003e\u003cimg src=\"https://pi.tedcdn.com/r/s3.amazonaws.com/talkstar-photos/uploads/db5bcc6b-ea54-4c76-a43a-1d0a5b5e5adc/AndrewMarantz_2019-embed.jpg?op=%5E\u0026c=1280%2C720\u0026gravity=t\u0026u%5Br%5D=2\u0026u%5Bs%5D=0.5\u0026u%5Ba%5D=0.8\u0026u%5Bt%5D=0.03\u0026quality=82\u0026w=1280\u0026h=720\"\n       alt=\"GitHub Top Languages\"\n       longdesc=\"https://raw.githubusercontent.com/anuraghazra/github-readme-stats/master/readme.md\"\n       crossorigin=\"anonymous\"\n       referrerpolicy=\"no-referrer\"\n       width=\"500\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nIf it promotes any \"knee-jerk contrarian\" viewpoints, a website will only be blocked if they are a majority (\u003e50%) of its content.\nAs an example, because we have conclusive evidence on the fact that the Earth is round\nfrom the time of Eratosthenes, sites that feature contradictory viewpoints as an opinion majority get blocked.\n\n“True liberty consists only in the power of doing what we ought to will, and in not being constrained to do what we ought not to will.”\\\n― *Jonathan Edwards*\n\n“Make decency cool again.”\\\n― *Andrew Marantz*\n\n## On Social Media\n\n### The Zuckerburg Institute of Virology\n\n#### Facebook/Meta\n\nDue to consistent privacy and security concerns, this platform will be blocked.\n\n##### References\n\n- [The Facebook Files](https://www.wsj.com/articles/the-facebook-files-11631713039)\n\n#### Instagram\n\nOwned by Facebook, but does not have majority support on issues that would get the site blocked. Its trackers and such will be blocked.\n\n#### WhatsApp\n\nOwned and heavily monitored by Facebook. Communications may be secure between users, but are monitored by Facebook.\nIt also has a track record of significant security concerns. All services will be blocked.\n\n##### References\n\n- [NIST Vulnerabilities](https://nvd.nist.gov/vuln/search/results?form_type=Advanced\u0026results_type=overview\u0026query=whatsapp\u0026search_type=all\u0026isCpeNameSearch=true\u0026cvss_version=3)\n\n### Twitter\n\nThough the cause of most internet drama, this platform is also where many cybersecurity community members communicate and collaborate.\nWhile it has compromised privacy and serves personalized ads, the platform itself will remain unblocked to promote cybersecurity communities.\nIts trackers and such will be blocked.\n\n### Reddit\n\nWhile there are harmful subreddits, they are not in the majority. Many have actually been banned, so this will remain unblocked.\nIts trackers and such will be blocked.\n\n### Snapchat\n\nLargely supports privacy, even though there are some security concerns. It will remain unblocked.\n\n#### References\n\n- [Data Breach Timeline](https://firewalltimes.com/snapchat-data-breach-timeline)\n\n### Tumblr\n\nBlocked due to being largely marginalized with the potential of any subdomain to breach any pillar.\n\n### TikTok\n\nBlocked due to countless privacy concerns, regardless of its Chinese affiliations.\n\n#### References\n\n- [Times: TikTok Privacy Concerns](https://time.com/6265651/tiktok-security-us/)\n- [Forbes: American Surveilance (Referenced by the above article)](https://www.forbes.com/sites/emilybaker-white/2022/10/20/tiktok-bytedance-surveillance-american-user-data/?sh=218b4cc36c2d)\n- [Forbes: Spying on Forbes Journalists](https://www.forbes.com/sites/emilybaker-white/2022/12/22/tiktok-tracks-forbes-journalists-bytedance/?sh=645bc0227da5)\n\n## 📋 Attributes\n\n1. Produced in builds specific to each host's syntax.\n2. Updates at [1:27 AM UTC](https://www.timeanddate.com/time/zone/timezone/utc).\n3. No excess or trailing whitespace.\n4. No lingering webscraper garbage.\n5. Lines are terminated with `lf`.\n6. No blank lines.\n7. No comments.\n\n## 🛠️ List Usage\n\n### Hosts File\n\n```bash\nmawk '{print \"0.0.0.0 \" $0}' BLOCK_DOMAIN.txt \u003e\u003ehosts\n# mawk '{print \":: \" $0}' BLOCK_DOMAIN.txt \u003e\u003ehosts\nmawk '{print \"0.0.0.0 \" $0}' BLOCK_IPV4.txt \u003e\u003ehosts\nmawk '{print \":: \" $0}' BLOCK_IPV6.txt \u003e\u003ehosts\n```\n\n### [Dnsmasq](https://dnsmasq.org/)\n\nMany popular platforms such as OpenWRT, DDWRT, and Pi-hole use Dnsmasq as their choice TCP powerhouse. After inspecting many domain blocklists you'll inevitably run across a list in the `dnsmasq.conf` format. This list doesn't support it because you can use the `addn-hosts` parameter to add hosts in the list.\nTarget a file that has the hosts in a format similar to the __Hosts File__ format.\n\nIf you're using the `RADVD` daemon, prepend any listed hosts with [`::`](https://stackoverflow.com/questions/40189084/what-is-for-localhost-and-0-0-0-0). Otherwise, even if you have IPv6 support set up, prepend hosts with [`0.0.0.0`](https://github.com/StevenBlack/hosts#we-recommend-using-0000-instead-of-127001).\n\nThis has been tested across all the mentioned platforms using `dig{6}` on a small sample size and had each host null-routed successfully. [DNSmasq's man page](https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) discusses configuration further, and [DDWRT's ad blocking wiki page](https://wiki.dd-wrt.com/wiki/index.php/Ad_blocking) provides some examples.\n\n#### Amazon EC2 DNS Resolver\n\nFollow [this guide](https://aws.amazon.com/premiumsupport/knowledge-center/dns-resolution-failures-ec2-linux/) to create a DNS server on an Amazon EC2 instance.\n\n### [Pi-hole](https://pi-hole.net/) / [personalDNSfilter](https://github.com/IngoZenz/personaldnsfilter)\n\nDomain list usage is recommended.\n\n### [Unbound](https://nlnetlabs.nl/projects/unbound/about/)\n\nSimilar to dnsmasq, but requires more manual configuration. Name any products as a \\*.conf file. [Then follow Steffinstanly's instructions on how to apply blocklists](https://medium.com/@steffinstanly/unbound-dns-blocking-3567986a5735).\n\n### [AdGuard](https://adguard.com/en/welcome.html)\n\nLeverage the [`ADGUARD_SOURCES.txt`](https://github.com/T145/black-mirror/blob/master/dist/ADGUARD_SOURCES.txt) list or the domain list.\n\n## 🐋 Docker Usage\n\n### Temporary Container\n\n```bash\ndocker container run -u 0 -it --rm -h black-mirror ghcr.io/t145/black-mirror\n```\n\n### Persistant Container\n\n```bash\ndocker container run -u 0 -it --name black-mirror -h black-mirror ghcr.io/t145/black-mirror\n```\n\nThen to access the container at a later date, run:\n\n```bash\ndocker start black-mirror\ndocker exec -u 0 -it black-mirror /bin/bash\n```\n\n### Building the Image\n\n```bash\ndocker build --no-cache --progress=plain -t black-mirror .\n```\n\n## 👨‍💻 Development\n\n### Workspace Setup\n\nInstall Docker, [PNPM](https://pnpm.io/installation), and NodeJS. These can usually be installed with a popular package manager.\nThe specific Node version used in this project is provided in `.node-version`, but any version over `16` should work.\nWith Docker running in the background, execute `pnpm lint` to debug any changes.\n\n## 🛡️ Privacy Protectors\n\n\u003e Good causes that help secure your digital life.\n\n- *__[Stop using Cloudflare!](https://framagit.org/dCF/deCloudflare/-/tree/master)__*\n- Use a [pcWRT](https://shop.pcwrt.com/) to easily secure your internet!\n- Test your browser's tracking resilience with [CoverYourTracks](https://coveryourtracks.eff.org/)!\n- Explore [PrivacyGuides](https://privacyguides.org/) and [Prism Break](https://prism-break.org/en/all/) to discover services that respect your privacy!\n- Use [the Web Archive](https://archive.ph/) or [Bypass Paywalls Clean](https://gitflic.ru/project/magnolia1234/bypass-paywalls-firefox-clean) to access restricted and useful information, such as the [WSJ's Facebook Files](https://archive.ph/3XKLu).\n- Skip over URL shortener links by using [Unshorten.it](https://unshorten.it/), which is a better alternative to outright domain blocking.\n  - Review their [privacy policy](https://unshorten.it/privacy-policy).\n\n## 🎶 Notes\n\n### Need for speed\n\n- \u003chttps://fossies.org/linux/parallel/src/parsort\u003e\n- \u003chttps://unix.stackexchange.com/questions/579251/how-to-use-parallel-to-speed-up-sort-for-big-files-fitting-in-ram#579252\u003e\n- \u003chttps://askubuntu.com/questions/1006377/check-the-max-allowed-threads-count-for-sure#1006384\u003e\n- \u003chttps://stackoverflow.com/questions/9066609/fastest-possible-grep\u003e\n\n### Some List References\n\n- \u003chttps://www.covert.io/threat-intelligence/\u003e\n- \u003chttps://filterlists.com/\u003e\n- \u003chttps://firebog.net/\u003e\n- \u003chttps://grimore.org/assets/databases/blocklist-ipsets\u003e\n\n### Lamers Unwelcome\n\n- [cybercrime-tracker](https://atm.cybercrime-tracker.net/index.php)\n  - [EMV](https://emv.cybercrime-tracker.net/index.php?x=faq)\n- [MalwareBazaar](https://bazaar.abuse.ch/browse/)\n- [virusbay](https://beta.virusbay.io/sample/browse)\n- [malpedia](https://malpedia.caad.fkie.fraunhofer.de/)\n- [manalyzer](https://manalyzer.org/)\n- [malshare](https://malshare.com/daily/malshare.current.all.txt)\n- [Metasploit CVEs](https://feeds.ecrimelabs.net/data/metasploit-cve)\n- [malarchive](https://github.com/raw-data/malarchive)\n\n### Big Data Lists\n\n\u003e Typically used by other blacklist projects as whitelists.\n\n| List Name    | URL                                                                                               |\n|--------------|---------------------------------------------------------------------------------------------------|\n| Alexa        | \u003chttps://s3.amazonaws.com/alexa-static/top-1m.csv.zip\u003e                                            |\n| Umbrella     | \u003chttps://downloads.majestic.com/majestic_million.csv\u003e                                             |\n| Statvoo      | \u003chttps://statvoo.com/dl/top-1million-sites.csv.zip\u003e                                               |\n| OpenPageRank | \u003chttps://www.domcop.com/files/top/top10milliondomains.csv.zip\u003e                                    |\n| Quantcast    | \u003chttps://toplists.net.in.tum.de/archive/quantcast/quantcast-top-sites-2021-06-25_0900_UTC.txt.xz\u003e |\n| Tranco list  | \u003chttps://tranco-list.eu/\u003e                                                                         |\n\n### IP Block Providers\n\n\u003e Simply provide IP blocks for entire geographic regions.\n\n- [openportstats](http://www.openportstats.com/)\n- [ipdeny](https://www.ipdeny.com/ipblocks/)\n- [IPverse](http://ipverse.net/)\n- [IP2Location](https://lite.ip2location.com/ip2location-lite)\n- [Okean China CIDRs](https://www.okean.com/thegoods.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft145%2Fblack-mirror","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft145%2Fblack-mirror","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft145%2Fblack-mirror/lists"}