MCPcopy Index your code
hub / github.com/OpenByteDev/burnt-sushi

github.com/OpenByteDev/burnt-sushi @0.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.3.2 ↗ · + Follow
198 symbols 291 edges 24 files 6 documented · 3% updated 7mo ago0.3.2 · 2024-07-17★ 4111 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BurntSushi

Build Last Release License

A Spotify AdBlocker for Windows that works via DLL injection and function hooking.

Installation

The latest version can be downloaded here. Both a portable and an installed version is available.

FAQ

How does it work?

BurntSushi works by intercepting network requests and blocking ones that match a set of filters. This is implemented by injecting a dynamic library into the Spotify process that overrides getaddrinfo from the Windows API and cef_urlrequest_create from libcef. The status of the Spotify process is determined using wineventhook which is based on SetWinEventHook.

Can this be detected by Spotify?

Theoretically yes, but practically it probably won't.

Does it work on Linux?

No, BurntSushi supports Windows only, but you can check out spotify-adblock instead.

Credits

Inspired by https://github.com/abba23/spotify-adblock

Original icon made by Freepik from flaticon.com

Extension points exported contracts — how you extend this code

SimpleLog (Interface)
(no doc) [3 implementers]
burnt-sushi/src/logger/traits.rs

Core symbols most depended-on inside this repo

get
called by 6
burnt-sushi/src/logger/global.rs
new_guard
called by 3
burnt-sushi/src/named_mutex.rs
try_load_blocker
called by 3
burnt-sushi/src/resolver.rs
try_load_filter_config_from_path
called by 3
burnt-sushi/src/resolver.rs
try_load_filter_config_from_str
called by 3
burnt-sushi/src/resolver.rs
attach
called by 3
burnt-sushi/src/logger/console/raw.rs
spawn
called by 2
burnt-sushi/src/spotify_process_scanner.rs
change_state
called by 2
burnt-sushi/src/spotify_process_scanner.rs

Shape

Class 81
Method 62
Function 49
Enum 5
Interface 1

Languages

Rust100%

Modules by API surface

burnt-sushi-blocker/src/cef.rs60 symbols
burnt-sushi/src/spotify_process_scanner.rs26 symbols
burnt-sushi-blocker/src/lib.rs16 symbols
burnt-sushi/src/logger/console/log.rs11 symbols
burnt-sushi/src/named_mutex.rs10 symbols
burnt-sushi/src/logger/global.rs9 symbols
burnt-sushi/src/blocker.rs9 symbols
burnt-sushi/src/tray.rs7 symbols
burnt-sushi/src/logger/console/raw.rs7 symbols
burnt-sushi/src/update.rs6 symbols
burnt-sushi/src/resolver.rs5 symbols
burnt-sushi/src/main.rs5 symbols

For agents

$ claude mcp add burnt-sushi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact