black-mirror

Blacklists and whitelists built by open code, so you know what goes into them.

https://github.com/t145/black-mirror

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.9%) to scientific vocabulary

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

Keywords from Contributors

sequences interactive embedded annotation distribution ranking clade yolov5 optim genomics
Last synced: 6 months ago · JSON representation ·

Repository

Blacklists and whitelists built by open code, so you know what goes into them.

Basic Info
  • Host: GitHub
  • Owner: T145
  • License: agpl-3.0
  • Language: Shell
  • Default Branch: master
  • Homepage:
  • Size: 90.7 MB
Statistics
  • Stars: 210
  • Watchers: 4
  • Forks: 11
  • Open Issues: 8
  • Releases: 1
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
Created almost 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security

README.md

logo

🌓 Reflection | 💿 Redundancy | ✅ Reliability


Aiming to promote privacy, security, and safety across the internet!


humane-tech release
repo-size commit-activity
release release docker
Made with 💖 by

🚚 Deliverables

The whitelists are applied to all the blacklists!

List Name File Content Unique Entries File Size Mirror
BLOCK_DOMAIN Punycode domains 8,540,518 180M 🔗
BLOCK_IPV4 IPv4 addresses 455,790 6.3M 🔗
BLOCK_IPV6 IPv6 addresses 572 18K 🔗
BLOCK_CIDR4 IPv4 CIDR blocks 7,718 125K 🔗
BLOCK_CIDR6 IPv6 CIDR blocks 177 2.8K 🔗
ALLOW_DOMAIN Punycode domains 900,838 18M 🔗
ALLOW_IPV4 IPv4 addresses 77,272 1.1M 🔗
ALLOW_IPV6 IPv6 addresses 2,883 109K 🔗
ALLOW_CIDR4 IPv4 CIDR blocks 7,644 118K 🔗
ALLOW_CIDR6 IPv6 CIDR blocks 155,043 2.5M 🔗

Source Code

🧮 Checksum Evaluation

bash sha256sum CHECKSUMS.txt --strict

The output will print OK if the check was successful. Be sure to run the command in the same directory as the lists!

🐙 Fetching GitHub Releases

Provided below are some examples to fetch release artifacts leveraging the GitHub API.

Get all build artifacts

bash curl --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'

Get a build artifact & its checksum

bash curl --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'

Get a single build artifact

bash curl --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'

🖋️ Manifesto

Please report any hosts or lists that do not align in an issue.

Black Mirror stands on three pillars: privacy, security, and safety.

  • Privacy:
    • Whitelist services like trusted torrenting providers, VPNs, and Tor.
    • Blacklist deanonymized telemetry, data brokers, ad redirects, and stalkerware.
  • Security:
    • Whitelist services that promote security AND privacy.
    • Blacklist illegal or sketchy sites and known malicious actors.
    • Blacklist advertising to avoid the risks of malvertising.
  • Safety:

While Black Mirror censors content beyond privacy and security, it does not seek to do so irresponsibly. Many 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. The real power behind the freedom of speech is the ability to hear many opinions to quickly deduce those that are correct or reasonable.

“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.”\ ― Arthur C. Clarke

Table of contents

On Spyware/Stalkerware

GitHub Top Languages GitHub Top Languages

These services intrude on privacy, are usually malware, and compromise individual safety. Therefore any known parties are blocked.

“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'.”\ ― Philip K. Dick

On Propaganda

GitHub Top Languages

If it promotes any "knee-jerk contrarian" viewpoints, a website will only be blocked if they are a majority (>50%) of its content. As an example, because we have conclusive evidence on the fact that the Earth is round from the time of Eratosthenes, sites that feature contradictory viewpoints as an opinion majority get blocked.

“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.”\ ― Jonathan Edwards

“Make decency cool again.”\ ― Andrew Marantz

On Social Media

The Zuckerburg Institute of Virology

Facebook/Meta

Due to consistent privacy and security concerns, this platform will be blocked.

References

Instagram

Owned by Facebook, but does not have majority support on issues that would get the site blocked. Its trackers and such will be blocked.

WhatsApp

Owned and heavily monitored by Facebook. Communications may be secure between users, but are monitored by Facebook. It also has a track record of significant security concerns. All services will be blocked.

References

Twitter

Though the cause of most internet drama, this platform is also where many cybersecurity community members communicate and collaborate. While it has compromised privacy and serves personalized ads, the platform itself will remain unblocked to promote cybersecurity communities. Its trackers and such will be blocked.

Reddit

While there are harmful subreddits, they are not in the majority. Many have actually been banned, so this will remain unblocked. Its trackers and such will be blocked.

Snapchat

Largely supports privacy, even though there are some security concerns. It will remain unblocked.

References

Tumblr

Blocked due to being largely marginalized with the potential of any subdomain to breach any pillar.

TikTok

Blocked due to countless privacy concerns, regardless of its Chinese affiliations.

References

📋 Attributes

  1. Produced in builds specific to each host's syntax.
  2. Updates at 1:27 AM UTC.
  3. No excess or trailing whitespace.
  4. No lingering webscraper garbage.
  5. Lines are terminated with lf.
  6. No blank lines.
  7. No comments.

🛠️ List Usage

Hosts File

```bash mawk '{print "0.0.0.0 " $0}' BLOCK_DOMAIN.txt >>hosts

mawk '{print ":: " $0}' BLOCK_DOMAIN.txt >>hosts

mawk '{print "0.0.0.0 " $0}' BLOCKIPV4.txt >>hosts mawk '{print ":: " $0}' BLOCKIPV6.txt >>hosts ```

Dnsmasq

Many 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. Target a file that has the hosts in a format similar to the Hosts File format.

If you're using the RADVD daemon, prepend any listed hosts with ::. Otherwise, even if you have IPv6 support set up, prepend hosts with 0.0.0.0.

This 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 discusses configuration further, and DDWRT's ad blocking wiki page provides some examples.

Amazon EC2 DNS Resolver

Follow this guide to create a DNS server on an Amazon EC2 instance.

Pi-hole / personalDNSfilter

Domain list usage is recommended.

Unbound

Similar to dnsmasq, but requires more manual configuration. Name any products as a *.conf file. Then follow Steffinstanly's instructions on how to apply blocklists.

AdGuard

Leverage the ADGUARD_SOURCES.txt list or the domain list.

🐋 Docker Usage

Temporary Container

bash docker container run -u 0 -it --rm -h black-mirror ghcr.io/t145/black-mirror

Persistant Container

bash docker container run -u 0 -it --name black-mirror -h black-mirror ghcr.io/t145/black-mirror

Then to access the container at a later date, run:

bash docker start black-mirror docker exec -u 0 -it black-mirror /bin/bash

Building the Image

bash docker build --no-cache --progress=plain -t black-mirror .

👨‍💻 Development

Workspace Setup

Install Docker, PNPM, and NodeJS. These can usually be installed with a popular package manager. The specific Node version used in this project is provided in .node-version, but any version over 16 should work. With Docker running in the background, execute pnpm lint to debug any changes.

🛡️ Privacy Protectors

Good causes that help secure your digital life.

🎶 Notes

Need for speed

Some List References

Lamers Unwelcome

Big Data Lists

Typically used by other blacklist projects as whitelists.

| List Name | URL | |--------------|---------------------------------------------------------------------------------------------------| | Alexa | https://s3.amazonaws.com/alexa-static/top-1m.csv.zip | | Umbrella | https://downloads.majestic.com/majestic_million.csv | | Statvoo | https://statvoo.com/dl/top-1million-sites.csv.zip | | OpenPageRank | https://www.domcop.com/files/top/top10milliondomains.csv.zip | | Quantcast | https://toplists.net.in.tum.de/archive/quantcast/quantcast-top-sites-2021-06-25_0900_UTC.txt.xz | | Tranco list | https://tranco-list.eu/ |

IP Block Providers

Simply provide IP blocks for entire geographic regions.

Owner

  • Login: T145
  • Kind: user
  • Location: https://vimeo.com/189016018
  • Company: https://privacyguides.org/

Full-stack software engineer & cybersecurity consultant. Verify my OpenPGP key in any external interactions, and especially on any job applications.

Citation (CITATION.cff)

cff-version: 1.2.0
title: Black Mirror
message: >-
  If you use this software or dataset, please cite it using
  the metadata from this file.
type: dataset
authors:
  - given-names: T145
    affiliation: Owner
repository-code: 'https://github.com/T145/black-mirror'
repository-artifact: 'https://github.com/T145/black-mirror/releases/tag/latest'
abstract: >-
  Blacklists and whitelists built by open code to promote
  security, safety, and sanity across the internet!
keywords:
  - blacklist
  - whitelist
  - privacy
  - dns
  - blocklist
  - allowlist
license: AGPL-3.0

GitHub Events

Total
  • Issues event: 1
  • Watch event: 15
  • Delete event: 10
  • Issue comment event: 1
  • Push event: 277
  • Pull request event: 18
  • Fork event: 1
  • Create event: 8
Last Year
  • Issues event: 1
  • Watch event: 15
  • Delete event: 10
  • Issue comment event: 1
  • Push event: 277
  • Pull request event: 18
  • Fork event: 1
  • Create event: 8

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 4,039
  • Total Committers: 7
  • Avg Commits per committer: 577.0
  • Development Distribution Score (DDS): 0.033
Past Year
  • Commits: 525
  • Committers: 3
  • Avg Commits per committer: 175.0
  • Development Distribution Score (DDS): 0.078
Top Committers
Name Email Commits
T145 T****5 3,905
dependabot[bot] 4****] 122
T145 T****5@p****m 6
snyk-bot s****t@s****o 3
tek t****k@r****o 1
Phishing Database b****t@p****a 1
Jarell 9****a 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 26
  • Total pull requests: 138
  • Average time to close issues: 6 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 1.23
  • Average comments per pull request: 0.25
  • Merged pull requests: 104
  • Bot issues: 0
  • Bot pull requests: 135
Past Year
  • Issues: 2
  • Pull requests: 53
  • Average time to close issues: 10 days
  • Average time to close pull requests: 4 days
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 8.5
  • Average comments per pull request: 0.19
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 52
Top Authors
Issue Authors
  • T145 (11)
  • AyanokojiK1yotaka (2)
  • ClevyPasserby (1)
  • HydraDragonAntivirus (1)
  • ping-localhost (1)
  • jarelllama (1)
Pull Request Authors
  • dependabot[bot] (196)
  • phishing-database-bot (2)
  • jarelllama (2)
  • T145 (1)
Top Labels
Issue Labels
enhancement (8) bug (5) help wanted (3) documentation (2) good first issue (1) maintenance (1) add hosts (1) on hold (1) list: block (1)
Pull Request Labels
dependencies (196) github_actions (9) javascript (3)

Dependencies

.github/workflows/publish_docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v3 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
.github/workflows/publish_lists.yml actions
  • KevinRohn/github-full-release-data v2.0.2 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • deka0106/upload-to-dropbox v2 composite
  • marvinpinto/action-automatic-releases v1.2.1 composite
  • stefanzweifel/git-auto-commit-action v4 composite
Dockerfile docker
  • buildpack-deps stable build
  • docker.io/parrotsec/core base-lts-amd64 build
  • golang 1.18 build
package.json npm
  • glob ^7.1.6 development
  • mega-linter-runner ^6.16.0 development
  • npm-check-updates ^16.6.2 development
  • run-script-os ^1.1.6 development
  • sort-package-json ^2.1.0 development
pnpm-lock.yaml npm
  • 551 dependencies
.github/workflows/clean_old_data.yml actions
  • Mattraks/delete-workflow-runs v2 composite
  • otto-de/purge-deprecated-workflow-runs v2 composite
.github/workflows/snyk_container.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/upload-sarif v3 composite
  • snyk/actions/docker cdb760004ba9ea4d525f2e043745dfe85bb9077e composite
.github/workflows/update_contributions.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • stefanzweifel/git-auto-commit-action 0b492c0d951b87f3cd12523a542dbd156c1dbc80 composite
.github/workflows/update_lists.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • stefanzweifel/git-auto-commit-action 0b492c0d951b87f3cd12523a542dbd156c1dbc80 composite