SponsorBlock/README.md

111 lines
6.9 KiB
Markdown
Raw Normal View History

2019-08-20 22:04:47 +02:00
<p align="center">
2020-02-04 07:45:41 +01:00
<a href="https://sponsor.ajay.app"><img src="public/icons/LogoSponsorBlocker256px.png" alt="Logo"></img></a>
2019-08-20 22:06:29 +02:00
<br/>
2019-08-20 22:04:47 +02:00
<sub>Logo by <a href="https://github.com/munadikieh">@munadikieh</a></sub>
</p>
2019-07-10 05:09:18 +02:00
2019-08-20 22:04:47 +02:00
<h1 align="center">SponsorBlock</h1>
<p align="center">
2019-11-23 19:33:22 +01:00
<b>Download:</b>
2019-08-20 22:08:27 +02:00
<a href="https://chrome.google.com/webstore/detail/mnjggcdmjocbbbhaepdhchncahnbgone">Chrome/Chromium</a> |
2019-08-20 22:09:22 +02:00
<a href="https://addons.mozilla.org/addon/sponsorblock/?src=external-github">Firefox</a> |
2020-06-27 17:38:49 +02:00
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Android">Android</a> |
2020-07-09 03:43:26 +02:00
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Edge">Edge</a> |
2021-06-25 18:18:56 +02:00
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Safari">Safari for MacOS</a> |
2019-08-20 22:09:47 +02:00
<a href="https://sponsor.ajay.app">Website</a> |
2019-08-20 22:09:22 +02:00
<a href="https://sponsor.ajay.app/stats">Stats</a>
2019-08-20 22:04:47 +02:00
</p>
2019-07-24 02:06:08 +02:00
2019-11-23 19:33:22 +01:00
<p align="center">
<b>3rd-Party Ports:</b>
<a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#mpv-media-player">MPV</a> |
<a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#kodi">Kodi</a> |
<a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#Chromecast">Chromecast</a> |
<a href="https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports#ios">iOS</a>
2019-11-23 19:33:22 +01:00
</p>
2019-09-02 03:54:52 +02:00
<p align="center">
<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=Chrome%20Users" alt="Badge"></img></a>
2020-07-07 23:48:36 +02:00
<a href="https://sponsor.ajay.app/stats"><img src="https://img.shields.io/badge/dynamic/json?label=Submissions&query=totalSubmissions&suffix=%20segments&url=http%3A%2F%2Fsponsor.ajay.app%2Fapi%2FgetTotalStats&color=darkred" alt="Badge"></img></a>
2021-03-24 01:38:48 +01:00
<a href="https://sponsor.ajay.app/stats"><img src="https://img.shields.io/badge/dynamic/json?label=Active%20Users&query=apiUsers&url=http%3A%2F%2Fsponsor.ajay.app%2Fapi%2FgetTotalStats&color=darkblue" alt="Badge"></img></a>
2019-09-02 04:41:52 +02:00
<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>
2019-09-02 03:54:52 +02:00
</p>
2019-07-24 02:06:08 +02:00
2020-07-18 23:52:47 +02:00
SponsorBlock is an open-source crowdsourced browser extension to skip sponsor segments in YouTube videos. Users submit when a sponsor happens from the extension, and the extension automatically skips sponsors it knows about. It also supports skipping other categories, such as intros, outros and reminders to subscribe.
2019-07-24 02:06:08 +02:00
2020-07-18 23:52:47 +02:00
It also supports Invidio.us.
2020-01-14 16:32:26 +01:00
2020-04-26 06:10:31 +02:00
**Translate:** [![Crowdin](https://badges.crowdin.net/sponsorblock/localized.svg)](https://crowdin.com/project/sponsorblock)
2020-04-20 07:22:03 +02:00
2020-04-06 00:34:10 +02:00
# Important Links
See the [Wiki](https://github.com/ajayyy/SponsorBlock/wiki) for important links.
2019-07-10 05:09:18 +02:00
# Server
The backend server code is available here: https://github.com/ajayyy/SponsorBlockServer
2021-09-20 08:14:54 +02:00
To make sure that this project doesn't die, I have made the database publicly downloadable at https://sponsor.ajay.app/database ([License](https://github.com/ajayyy/SponsorBlock/wiki/Database-and-API-License)). If you are planning on using the database in another project, please read the [API Docs](https://wiki.sponsor.ajay.app/index.php/API_Docs) page for more information.
2019-07-10 05:09:18 +02:00
The dataset and API are now being used in some [ports](https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports) as well as a [neural network](https://github.com/andrewzlee/NeuralBlock).
2020-03-10 05:55:18 +01:00
2019-08-04 04:38:21 +02:00
# API
2021-09-20 08:14:54 +02:00
You can read the API docs [here](https://wiki.sponsor.ajay.app/index.php/API_Docs).
2019-08-04 04:38:21 +02:00
2020-03-10 05:55:18 +01:00
# Building
2019-07-15 22:28:41 +02:00
You must have [Node.js 16](https://nodejs.org/) and npm installed.
2021-10-02 23:42:47 +02:00
2021-11-04 00:36:45 +01:00
1. Copy the file `config.json.example` to `config.json` and adjust configuration as desired.
2020-05-07 02:22:11 +02:00
- You will need to repeat this step in the future if you get build errors related to `CompileConfig`. This can happen for example when a new category is added.
2019-12-30 01:24:05 +01:00
2. Run `npm install` in the repository to install dependencies.
2019-12-30 01:24:05 +01:00
3. Run `npm run build:dev` (for Chrome) or `npm run build:dev:firefox` (for Firefox) to generate a development version of the extension with source maps.
2019-12-30 01:24:05 +01:00
- You can also run `npm run build` (for Chrome) or `npm run build:firefox` (for Firefox) to generate a production build.
2020-02-04 07:45:41 +01:00
4. The built extension is now in `dist/`. You can load it in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest) or in Firefox as a [temporary extension](https://developer.mozilla.org/en-US/docs/Tools/about:debugging#loading_a_temporary_extension).
### Developing with a clean profile and hot reloading
Run `npm run dev` (for Chrome) or `npm run dev:firefox` (for Firefox) to run the extension using a clean browser profile with hot reloading. This uses [`web-ext run`](https://extensionworkshop.com/documentation/develop/web-ext-command-reference/#commands).
2020-02-04 07:45:41 +01:00
Known chromium bug: Extension is not loaded properly on first start. Visit `chrome://extensions/` and reload the extension.
2019-12-30 01:24:05 +01:00
2021-06-09 22:53:32 +02:00
For Firefox for Android, use `npm run dev:firefox-android -- --adb-device <ip-address of the device>`. See the [Firefox documentation](https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/#debug-your-extension) for more information.
2020-08-31 16:12:40 +02:00
### Attribution Generation
If you contribute and add a dependency, update the attribution file using the following steps:
Make sure the attribution generator is installed: `npm i -g oss-attribution-generator`
```bash
generate-attribution
mv ./oss-attribution/attribution.txt ./public/oss-attribution/attribution.txt
```
2019-07-15 22:28:41 +02:00
# Credit
2021-09-20 08:14:54 +02:00
The awesome [Invidious API](https://docs.invidious.io/API.md) was previously used, and the server is now using [NewLeaf](https://git.sr.ht/~cadence/NewLeaf) as a to get video info from YouTube.
2021-03-24 01:36:03 +01:00
Originally forked from [YTSponsorSkip](https://github.com/NDevTK/YTSponsorSkip), but very little code remains.
2019-11-18 03:32:01 +01:00
2020-08-16 04:09:14 +02:00
Icons made by:
2021-03-23 20:10:14 +01:00
* <a href="https://www.flaticon.com/authors/gregor-cresnar" title="Gregor Cresnar">Gregor Cresnar</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> and are licensed by <a href="https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a>
* <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> and are licensed by <a href="https://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a>
* <a href="https://iconmonstr.com/about/#creator">Alexander Kahlkopf</a> from <a href="https://iconmonstr.com/">iconmonstr.com</a> and are licensed by <a href="https://iconmonstr.com/license/">iconmonstr License</a>
2021-01-30 21:00:54 +01:00
### License
This project is licensed under GNU LGPL v3 or any later version