{"id":20523012,"url":"https://github.com/openbytedev/burnt-sushi","last_synced_at":"2025-04-06T07:13:26.757Z","repository":{"id":40410833,"uuid":"468557842","full_name":"OpenByteDev/burnt-sushi","owner":"OpenByteDev","description":"Spotify AdBlocker for Windows","archived":false,"fork":false,"pushed_at":"2024-07-17T15:12:57.000Z","size":665,"stargazers_count":325,"open_issues_count":6,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T05:07:51.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenByteDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-11T00:45:09.000Z","updated_at":"2025-03-29T04:12:41.000Z","dependencies_parsed_at":"2024-03-14T14:35:24.679Z","dependency_job_id":"db88ad95-40b0-4311-b9b6-4709122a8d4a","html_url":"https://github.com/OpenByteDev/burnt-sushi","commit_stats":{"total_commits":86,"total_committers":3,"mean_commits":"28.666666666666668","dds":"0.023255813953488413","last_synced_commit":"82d97a9e65151b05356784e59f6cd2a63aff4ddf"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenByteDev%2Fburnt-sushi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenByteDev%2Fburnt-sushi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenByteDev%2Fburnt-sushi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenByteDev%2Fburnt-sushi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenByteDev","download_url":"https://codeload.github.com/OpenByteDev/burnt-sushi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445671,"owners_count":20939958,"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":[],"created_at":"2024-11-15T22:37:34.945Z","updated_at":"2025-04-06T07:13:26.718Z","avatar_url":"https://github.com/OpenByteDev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/OpenByteDev/burnt-sushi/blob/master/icon.png\" height=\"40px\" /\u003e BurntSushi \n\n[![Build](https://github.com/OpenByteDev/burnt-sushi/actions/workflows/build.yml/badge.svg)](https://github.com/OpenByteDev/burnt-sushi/actions/workflows/build.yml) [![Last Release](https://img.shields.io/github/v/release/OpenByteDev/burnt-sushi?include_prereleases)](https://github.com/OpenByteDev/burnt-sushi/releases/latest/) [![License](https://img.shields.io/github/license/OpenByteDev/burnt-sushi)](https://github.com/OpenByteDev/burnt-sushi/blob/master/LICENSE)\n\nA Spotify AdBlocker for Windows that works via DLL injection and function hooking.\n\n## Installation\nThe latest version can be downloaded [here](https://github.com/OpenByteDev/burnt-sushi/releases/latest). Both a portable and an installed version is available.\n\n## FAQ\n### How does it work?\nBurntSushi works by intercepting network requests and blocking ones that match a set of [filters](https://github.com/OpenByteDev/burnt-sushi/blob/master/filter.toml). This is implemented by injecting a dynamic library into the Spotify process that overrides [`getaddrinfo`](https://docs.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-getaddrinfo) from the Windows API and `cef_urlrequest_create` from [libcef](https://github.com/chromiumembedded/cef).\nThe status of the Spotify process is determined using [`wineventhook`](https://github.com/OpenByteDev/wineventhook-rs) which is based on [`SetWinEventHook`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwineventhook).\n\n### Can this be detected by Spotify?\nTheoretically yes, but practically it probably won't.\n\n### Does it work on Linux?\nNo, BurntSushi supports Windows only, but you can check out [spotify-adblock](https://github.com/abba23/spotify-adblock) instead.\n\n## Credits\nInspired by https://github.com/abba23/spotify-adblock\n\nOriginal icon made by [Freepik](https://www.freepik.com/) from [flaticon.com](https://www.flaticon.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbytedev%2Fburnt-sushi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbytedev%2Fburnt-sushi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbytedev%2Fburnt-sushi/lists"}