torznab-toolkit

Crates.iotorznab-toolkit
lib.rstorznab-toolkit
version
sourcesrc
created_at2024-12-03 02:44:42.191334
updated_at2024-12-03 02:44:42.191334
descriptionA safe, multi-threaded, async toolkit for adding Torznab APIs to programs.
homepage
repositoryhttps://git.askiiart.net/askiiart/torznab-toolkit
max_upload_size
id1469539
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
(askiiart)

documentation

README

Torznab Toolkit

A safe, multi-threaded, async toolkit for adding Torznab APIs to programs. You just focus on the indexer itself, we abstract away the hell that is the Torznab API.

Just fill in your own relevant functions and config ([Config]), and torznab-toolkit will run the API for you

use torznab_toolkit;
let config: torznab_toolkit::data::Config = /* config goes here */

torznab_toolkit::run(config).await.unwrap();

To configure what it listens on, just change ROCKET_ADDRESS and ROCKET_PORT; see the relevant docs for details.


This program is brought to you by: metaphorical and literal truckloads of structs!

Note: I wrote the line above when I was tired. Don't ask me what literal truckloads of structs means, I don't know either.

Functionality

API call Explanation Implemented
caps Returns the capabilities of the api.
search Free text search query.
tvsearch Search query with tv specific query params and filtering.
movie Search query with movie specific query params and filtering.
music Search query with music specific query params and filtering.
book Search query with book specific query params and filtering.

(copied from torznab.github.io)

Limitations

  • Currently this does not allow for returning errors from the program using the library, such as API limits for an account.
  • Currently this does not allow for requiring authentication for caps; it's against spec (not that that's worth much), but common and perfectly fine to do.

Notes

Thanks to torznab.github.io, as it's my primary reference for this; NZBDrone's Implementing a Torznab indexer was also rather helpful.

Commit count: 0

cargo fmt