Skip to content

8ug8ird/BlockScience

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BlockScience 🚫

A lightweight, set-and-forget plugin to kill Discord's built-in tracking and telemetry. Works right out of the box as a plugin for BetterDiscord. Just put it in your plugins folder and forget it exists.

🛠️ What it does

  • Stops Sentry & Crash Reports: Intercepts window.__SENTRY__ and DiscordSentry at startup, closing the hub, clearing the scope, and dropping crash logs before they leave your machine.
  • Blocks Trackers (Fetch, XHR & Beacon): Catches outbound requests using runtime proxies. If a request is trying to talk to /api/science, Google Analytics, Sentry, Hotjar, Fullstory, Segment or other known telemetry routes, it gets a fake 200 OK so the client thinks everything went through.
  • Canvas Fingerprinting Protection: Intercepts toDataURL and getImageData to inject imperceptible per-session noise into canvas output. The visual result is identical — the fingerprint hash isn't.
  • AudioContext Fingerprinting Protection: Patches AudioContext and OfflineAudioContext oscillators to shift the audio-hash fingerprint between sessions without any audible effect.
  • Hardware & Navigator Spoofing: Overrides WebGL renderer info, hardwareConcurrency, deviceMemory, userAgent, platform and vendor with generic, non-identifiable values.
  • Wipes Tracking Storage: Purges known tracking keys, analytics junk and super-cookies from localStorage and sessionStorage on startup, and blocks new writes to those keys.
  • Silences Analytics & Science: Patches Discord's internal analytics pipeline and Science event system so telemetry events are dropped before they're queued.
  • Mutes Voice Telemetry: Intercepts voice quality reports, call analytics and stats submissions from the voice engine.
  • Disables Process Monitor: Blocks rich presence / game detection callbacks from reaching Discord's native layer.
  • Fail-Safe Built-in: Every block runs in its own isolated try/catch. If Discord updates something and a patch breaks, it fails quietly. The rest of the plugin keeps working and your client won't crash.

📦 How to Use

For BetterDiscord

  1. Download BlockScience.plugin.js.
  2. Go to your Discord Settings > Plugins.
  3. Click Open Plugins Folder and drop the file inside.
  4. Turn it on.

⚙️ Settings

The settings panel gives you granular control over every block category.

Per-category toggles

Each of the seven block categories can be enabled or disabled independently:

Category What it controls
Sentry Sentry error reporting and telemetry hub
Network Fetch, XHR and sendBeacon to tracking endpoints
Storage Tracking key writes to localStorage / sessionStorage
Fingerprinting WebGL, Canvas, AudioContext and navigator spoofing
Analytics Discord's internal analytics and Science event pipeline
Voice Telemetry Voice quality reports and call analytics
Process Monitor Rich presence / game detection callbacks

If a category causes an unexpected side effect in Discord, you can disable it without touching the rest. Changes take effect on the next Discord restart.

Live block counters

A counter bar at the top of the settings panel shows how many blocks each category has recorded since the plugin was last started. Counters update in real time — no need to open the console.

Console logs

A toggle to print every blocked request, storage write and fingerprint attempt to the Ctrl+Shift+I console as it happens. Useful to confirm the plugin is active. All blocks remain in effect regardless of this setting.


🔒 Privacy

No data collection, no external servers, no configurations phoned home. Everything stays inside your local client memory.


📄 License

MIT. Do whatever you want with the code.


Made by 8ug8ird 🐦