MCPcopy
hub / github.com/ajayyy/SponsorBlock

github.com/ajayyy/SponsorBlock @11.9.9 sqlite

repository ↗ · DeepWiki ↗ · release 11.9.9 ↗
124 symbols 304 edges 6 files 7 documented · 6%
README

Logo

Logo by @munadikieh

SponsorBlock

Download: Chrome/Chromium | Firefox | Website | Stats

Unofficial Ports: MPV

<a href="https://addons.mozilla.org/addon/sponsorblock/?src=external-github"><img src="https://img.shields.io/amo/users/sponsorblock?label=Firefox%20Users" alt="Badge"></img></a>
<a href="https://chrome.google.com/webstore/detail/mnjggcdmjocbbbhaepdhchncahnbgone"><img src="https://img.shields.io/chrome-web-store/users/mnjggcdmjocbbbhaepdhchncahnbgone?label=Chome%20Users" alt="Badge"></img></a>
<a href="https://sponsor.ajay.app/stats"><img src="https://img.shields.io/badge/dynamic/json?label=Sponsors%20Submitted&query=totalSubmissions&suffix=%20sponsors&url=http%3A%2F%2Fsponsor.ajay.app%2Fapi%2FgetTotalStats&color=darkred" alt="Badge"></img></a>
<a href="https://sponsor.ajay.app/stats"><img src="https://img.shields.io/badge/dynamic/json?label=Contributing%20Users&query=userCount&url=http%3A%2F%2Fsponsor.ajay.app%2Fapi%2FgetTotalStats&color=darkblue" alt="Badge"></img></a>
<a href="https://sponsor.ajay.app/stats"><img src="https://img.shields.io/badge/dynamic/json?label=Time%20Saved%20From%20Skips&query=daysSaved&url=http%3A%2F%2Fsponsor.ajay.app%2Fapi%2FgetDaysSavedFormatted&color=darkgreen&suffix=%20days" alt="Badge"></img></a>

SponsorBlock is an extension that will skip over sponsored segments of YouTube videos. SponsorBlock is a crowdsourced browser extension that lets anyone submit the start and end times of sponsored segments of YouTube videos. Once one person submits this information, everyone else with this extension will skip right over the sponsored segment.

Server

The backend server code is available here: https://github.com/ajayyy/SponsorBlockServer

It is a simple Sqlite database that will hold all the timing data.

To make sure that this project doesn't die, I have made the database publicly downloadable at https://sponsor.ajay.app/database.db. So, you can download a backup or get archive.org to take a backup for you if you want.

Hopefully this project can be combined with projects like this and use this data to create a neural network to predict when sponsored segments happen. That project is sadly abandoned now, so I have decided to attempt to revive this idea.

API

You can read the API docs here.

Build Yourself

You can load this project as an unpacked extension. Make sure to rename the config.js.example file to config.js before installing.

Credit

The awesome Invidious API is used to grab the time the video was published.

Original code from YTSponsorSkip, but not much of the code is left.

Some icons made by Gregor Cresnar from www.flaticon.com and are licensed by CC 3.0 BY

Some icons made by Freepik from www.flaticon.com are licensed by CC 3.0 BY

Core symbols most depended-on inside this repo

set
called by 35
utils/previewBar.js
wait
called by 7
utils.js
updateVisibilityOfPlayerControlsButton
called by 7
content.js
changeStartSponsorButton
called by 7
content.js
remove
called by 7
utils/previewBar.js
updatePreviewBar
called by 6
content.js
displaySponsorTimes
called by 5
popup.js
getErrorMessage
called by 5
utils.js

Shape

Function 98
Method 22
Class 4

Languages

TypeScript100%

Modules by API surface

popup.js50 symbols
content.js37 symbols
utils/skipNotice.js18 symbols
utils/previewBar.js8 symbols
utils.js6 symbols
background.js5 symbols

For agents

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

⬇ download graph artifact