diff --git a/README.md b/README.md index c4df0c2..767680f 100644 --- a/README.md +++ b/README.md @@ -181,6 +181,19 @@ Subscribers: 1780000 ... ``` +## Crate features + +Some features of RustyPipe are gated behind features to avoid compiling unneeded +dependencies. + +- `rss` Fetch a channel's RSS feed, which is faster than fetching the channel page +- `userdata` Add functions to fetch YouTube user data (watch history, subscriptions, + music library) + +You can also choose the TLS library used for making web requests using the same features +as the reqwest crate (`default-tls`, `native-tls`, `native-tls-alpn`, +`native-tls-vendored`, `rustls-tls-webpki-roots`, `rustls-tls-native-roots`). + ## Cache storage The RustyPipe cache holds the current version numbers for all clients, the JavaScript @@ -213,6 +226,21 @@ RustyPipe reports come in 3 severity levels: incomplete) - ERR (entire response could not be deserialized/parsed, RustyPipe returned an error) +## PO tokens + +Since August 2024 YouTube requires PO tokens to access streams from web-based clients +(Desktop, Mobile). Otherwise streams will return a 403 error. + +Generating PO tokens requires a simulated browser environment, which would be too large +to include in RustyPipe directly. + +Therefore, the PO token generation is handled by a seperate CLI application +([rustypipe-botguard](https://codeberg.org/ThetaDev/rustypipe-botguard)) which is called +by the RustyPipe crate. RustyPipe automatically detects the rustypipe-botguard binary if +it is located in PATH or the current working directory. If your rustypipe-botguard +binary is located at a different path, you can specify it with the `.botguard_bin(path)` +option. + ## Authentication RustyPipe supports authenticating with your YouTube account to access diff --git a/cli/README.md b/cli/README.md index 28c34a4..25a9e49 100644 --- a/cli/README.md +++ b/cli/README.md @@ -8,7 +8,17 @@ The RustyPipe CLI is a powerful YouTube client for the command line. It allows y access most of the features of the RustyPipe crate: getting data from YouTube and downloading videos. -The following subcommands are included: +## Installation + +You can download a compiled version of RustyPipe here: + + +Alternatively, you can compile it yourself by installing [Rust](https://rustup.rs/) and +running `cargo install rustypipe-cli`. + +To be able to download streams from web-based clients (Desktop, Mobile) you need to +download [rustypipe-botguard](https://codeberg.org/ThetaDev/rustypipe-botguard/releases) +and place the binary either in the PATH or the current working directory. ## `get`: Fetch information @@ -140,6 +150,7 @@ Fetch a list of all the items saved in your YouTube/YouTube Music profile. Europe/Berlin, Australia/Sydney) **Note:** this requires building rustypipe-cli with the `timezone` feature + - `--local-tz` Use the local timezone instead of UTC - `--report` Generate a report on every request and store it in a `rustypipe_reports` folder in the current directory