https://github.com/zedseven/sponsor-block-rs
A Rust wrapper for the SponsorBlock API.
https://github.com/zedseven/sponsor-block-rs
adblock ads rust sponsorblock sponsors sponsorskip youtube
Last synced: 3 months ago
JSON representation
A Rust wrapper for the SponsorBlock API.
- Host: GitHub
- URL: https://github.com/zedseven/sponsor-block-rs
- Owner: zedseven
- License: apache-2.0
- Created: 2021-10-19T03:54:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-18T01:58:39.000Z (about 2 years ago)
- Last Synced: 2025-04-15T12:13:04.375Z (3 months ago)
- Topics: adblock, ads, rust, sponsorblock, sponsors, sponsorskip, youtube
- Language: Rust
- Homepage: https://crates.io/crates/sponsor-block
- Size: 110 KB
- Stars: 12
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# sponsor-block
[](LICENSE-MIT)
[](https://github.com/zedseven/sponsor-block-rs/actions/workflows/integrity.yml)
[](https://github.com/zedseven/sponsor-block-rs/issues)
[](https://crates.io/crates/sponsor-block)
[](https://crates.io/crates/sponsor-block)A Rust wrapper for the [SponsorBlock](https://sponsor.ajay.app/) API, which you
can find complete documentation for [here](https://wiki.sponsor.ajay.app/w/API_Docs).Uses SponsorBlock data licensed under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
from https://sponsor.ajay.app/.
Please see the [SponsorBlock Database and API License](https://github.com/ajayyy/SponsorBlock/wiki/Database-and-API-License)
for more information.This library is still missing many features of the full API, but it contains many
segment-retrieval functions necessary for use of the service.For library documentation, visit [docs.rs](https://docs.rs/sponsor-block).
## Example
The following is a short example of how you might fetch the segments for a
video:
```rust
use sponsor_block::{AcceptedActions, AcceptedCategories, Client};// This should be random, treated like a password, and stored across sessions
const USER_ID: &str = "your local user id";let client = Client::new(USER_ID);
let video_segments = client
.fetch_segments("7U-RbOKanYs", AcceptedCategories::all(), AcceptedActions::all())
.await
.ok();// Then do something with your video segments...
```## Project License
This project is licensed under either of- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in *sponsor-block* by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.