Fixes #193 Add the ability to specify a custom SponsorBlock API server. (draft implementation by copilot-workspace) * Add a new configuration option `api_server` in `config.json.template` to specify the custom API server URL. * Remove the hardcoded `SponsorBlock_api` URL from `src/iSponsorBlockTV/constants.py`. * Update the `ApiHelper` class in `src/iSponsorBlockTV/api_helpers.py` to use the `api_server` configuration option for API calls. * Add an option to input a custom API server URL in the CLI setup in `src/iSponsorBlockTV/config_setup.py`. * Add an option to input a custom API server URL in the graphical setup wizard in `src/iSponsorBlockTV/setup_wizard.py`. * Set the default `api_server` to "https://sponsor.ajay.app" in `src/iSponsorBlockTV/helpers.py`. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/dmunozv04/iSponsorBlockTV/issues/193?shareId=XXXX-XXXX-XXXX-XXXX).
iSponsorBlockTV
Skip sponsor segments in YouTube videos playing on a YouTube TV device (see below for compatibility details).
This project is written in asynchronous python and should be pretty quick.
Installation
Check the wiki
Warning: docker armv7 builds have been deprecated. Amd64 and arm64 builds are still available.
Compatibility
Legend: ✅ = Working, ❌ = Not working, ❔ = Not tested
Open an issue/pull request if you have tested a device that isn't listed here.
| Device | Status |
|---|---|
| Apple TV | ✅ |
| Samsung TV (Tizen) | ✅ |
| LG TV (WebOS) | ✅ |
| Android TV | ✅ |
| Chromecast | ✅ |
| Google TV | ✅ |
| Roku | ✅ |
| Fire TV | ✅ |
| CCwGTV | ✅ |
| Nintendo Switch | ✅ |
| Xbox One/Series | ✅ |
| Playstation 4/5 | ✅ |
Usage
Run iSponsorBlockTV on a computer that has network access. Auto discovery will require the computer to be on the same network as the device during setup. The device can also be manually added to iSponsorBlockTV with a YouTube TV code. This code can be found in the settings page of your YouTube application.
It connects to the device, watches its activity and skips any sponsor segment using the SponsorBlock API. It can also skip/mute YouTube ads.
Libraries used
- pyytlounge Used to interact with the device
- asyncio and aiohttp
- async-cache
- Textual Used for the amazing new graphical configurator
- ssdp Used for auto discovery
Projects using this project
Contributing
- Fork it (https://github.com/dmunozv04/iSponsorBlockTV/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- dmunozv04 - creator and maintainer
- HaltCatchFire - updated dependencies and improved skip logic
- Oxixes - added support for channel whitelist and minor improvements
