15504 lines
721 KiB
Plaintext
15504 lines
721 KiB
Plaintext
TokenTree {
|
|
title: None,
|
|
content: [
|
|
Text(
|
|
"This WebUI API documentation applies to qBittorrent v4.1+. For other WebUI API versions, visit [WebUI API](https://github.com/qbittorrent/qBittorrent/wiki#WebUI-API).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Table of Contents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"1. [Changes](#changes)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.0](#api-v20)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.0.1](#api-v201)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.0.2](#api-v202)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.1.0](#api-v210)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.1.1](#api-v211)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.2.0](#api-v220)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.2.1](#api-v221)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.3.0](#api-v230)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.4.0](#api-v240)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.4.1](#api-v241)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.5.0](#api-v250)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.5.1](#api-v251)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.6.0](#api-v260)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.6.1](#api-v261)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.6.2](#api-v262)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.7.0](#api-v270)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.8.0](#api-v280)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.8.1](#api-v281)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.8.2](#api-v282)",
|
|
),
|
|
Text(
|
|
" 1. [API v2.8.3](#api-v283)",
|
|
),
|
|
Text(
|
|
"1. [General information](#general-information)",
|
|
),
|
|
Text(
|
|
"1. [Authentication](#authentication)",
|
|
),
|
|
Text(
|
|
" 1. [Login](#login)",
|
|
),
|
|
Text(
|
|
" 1. [Logout](#logout)",
|
|
),
|
|
Text(
|
|
"1. [Application](#application)",
|
|
),
|
|
Text(
|
|
" 1. [Get application version](#get-application-version)",
|
|
),
|
|
Text(
|
|
" 1. [Get API version](#get-api-version)",
|
|
),
|
|
Text(
|
|
" 1. [Get build info](#get-build-info)",
|
|
),
|
|
Text(
|
|
" 1. [Shutdown application](#shutdown-application)",
|
|
),
|
|
Text(
|
|
" 1. [Get application preferences](#get-application-preferences)",
|
|
),
|
|
Text(
|
|
" 1. [Set application preferences](#set-application-preferences)",
|
|
),
|
|
Text(
|
|
" 1. [Get default save path](#get-default-save-path)",
|
|
),
|
|
Text(
|
|
"1. [Log](#log)",
|
|
),
|
|
Text(
|
|
" 1. [Get log](#get-log)",
|
|
),
|
|
Text(
|
|
" 1. [Get peer log](#get-peer-log)",
|
|
),
|
|
Text(
|
|
"1. [Sync](#sync)",
|
|
),
|
|
Text(
|
|
" 1. [Get main data](#get-main-data)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent peers data](#get-torrent-peers-data)",
|
|
),
|
|
Text(
|
|
"1. [Transfer info](#transfer-info)",
|
|
),
|
|
Text(
|
|
" 1. [Get global transfer info](#get-global-transfer-info)",
|
|
),
|
|
Text(
|
|
" 1. [Get alternative speed limits state](#get-alternative-speed-limits-state)",
|
|
),
|
|
Text(
|
|
" 1. [Toggle alternative speed limits](#toggle-alternative-speed-limits)",
|
|
),
|
|
Text(
|
|
" 1. [Get global download limit](#get-global-download-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Set global download limit](#set-global-download-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Get global upload limit](#get-global-upload-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Set global upload limit](#set-global-upload-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Ban peers](#ban-peers)",
|
|
),
|
|
Text(
|
|
"1. [Torrent management](#torrent-management)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent list](#get-torrent-list)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent generic properties](#get-torrent-generic-properties)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent trackers](#get-torrent-trackers)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent web seeds](#get-torrent-web-seeds)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent contents](#get-torrent-contents)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent pieces' states](#get-torrent-pieces-states)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent pieces' hashes](#get-torrent-pieces-hashes)",
|
|
),
|
|
Text(
|
|
" 1. [Pause torrents](#pause-torrents)",
|
|
),
|
|
Text(
|
|
" 1. [Resume torrents](#resume-torrents)",
|
|
),
|
|
Text(
|
|
" 1. [Delete torrents](#delete-torrents)",
|
|
),
|
|
Text(
|
|
" 1. [Recheck torrents](#recheck-torrents)",
|
|
),
|
|
Text(
|
|
" 1. [Reannounce torrents](#reannounce-torrents)",
|
|
),
|
|
Text(
|
|
" 1. [Edit trackers](#edit-trackers)",
|
|
),
|
|
Text(
|
|
" 1. [Remove trackers](#remove-trackers)",
|
|
),
|
|
Text(
|
|
" 1. [Add peers](#add-peers)",
|
|
),
|
|
Text(
|
|
" 1. [Add new torrent](#add-new-torrent)",
|
|
),
|
|
Text(
|
|
" 1. [Add trackers to torrent](#add-trackers-to-torrent)",
|
|
),
|
|
Text(
|
|
" 1. [Increase torrent priority](#increase-torrent-priority)",
|
|
),
|
|
Text(
|
|
" 1. [Decrease torrent priority](#decrease-torrent-priority)",
|
|
),
|
|
Text(
|
|
" 1. [Maximal torrent priority](#maximal-torrent-priority)",
|
|
),
|
|
Text(
|
|
" 1. [Minimal torrent priority](#minimal-torrent-priority)",
|
|
),
|
|
Text(
|
|
" 1. [Set file priority](#set-file-priority)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent download limit](#get-torrent-download-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Set torrent download limit](#set-torrent-download-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Set torrent share limit](#set-torrent-share-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Get torrent upload limit](#get-torrent-upload-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Set torrent upload limit](#set-torrent-upload-limit)",
|
|
),
|
|
Text(
|
|
" 1. [Set torrent location](#set-torrent-location)",
|
|
),
|
|
Text(
|
|
" 1. [Set torrent name](#set-torrent-name)",
|
|
),
|
|
Text(
|
|
" 1. [Set torrent category](#set-torrent-category)",
|
|
),
|
|
Text(
|
|
" 1. [Get all categories](#get-all-categories)",
|
|
),
|
|
Text(
|
|
" 1. [Add new category](#add-new-category)",
|
|
),
|
|
Text(
|
|
" 1. [Edit category](#edit-category)",
|
|
),
|
|
Text(
|
|
" 1. [Remove categories](#remove-categories)",
|
|
),
|
|
Text(
|
|
" 1. [Add torrent tags](#add-torrent-tags)",
|
|
),
|
|
Text(
|
|
" 1. [Remove torrent tags](#remove-torrent-tags)",
|
|
),
|
|
Text(
|
|
" 1. [Get all tags](#get-all-tags)",
|
|
),
|
|
Text(
|
|
" 1. [Create tags](#create-tags)",
|
|
),
|
|
Text(
|
|
" 1. [Delete tags](#delete-tags)",
|
|
),
|
|
Text(
|
|
" 1. [Set automatic torrent management](#set-automatic-torrent-management)",
|
|
),
|
|
Text(
|
|
" 1. [Toggle sequential download](#toggle-sequential-download)",
|
|
),
|
|
Text(
|
|
" 1. [Set first/last piece priority](#set-firstlast-piece-priority)",
|
|
),
|
|
Text(
|
|
" 1. [Set force start](#set-force-start)",
|
|
),
|
|
Text(
|
|
" 1. [Set super seeding](#set-super-seeding)",
|
|
),
|
|
Text(
|
|
" 1. [Rename file](#rename-file)",
|
|
),
|
|
Text(
|
|
" 1. [Rename folder](#rename-folder)",
|
|
),
|
|
Text(
|
|
"1. [RSS (experimental)](#rss-experimental)",
|
|
),
|
|
Text(
|
|
" 1. [Add folder](#add-folder)",
|
|
),
|
|
Text(
|
|
" 1. [Add feed](#add-feed)",
|
|
),
|
|
Text(
|
|
" 1. [Remove item](#remove-item)",
|
|
),
|
|
Text(
|
|
" 1. [Move item](#move-item)",
|
|
),
|
|
Text(
|
|
" 1. [Get all items](#get-all-items)",
|
|
),
|
|
Text(
|
|
" 1. [Mark as read](#mark-as-read)",
|
|
),
|
|
Text(
|
|
" 1. [Refresh item](#refresh-item)",
|
|
),
|
|
Text(
|
|
" 1. [Set auto-downloading rule](#set-auto-downloading-rule)",
|
|
),
|
|
Text(
|
|
" 1. [Rename auto-downloading rule](#rename-auto-downloading-rule)",
|
|
),
|
|
Text(
|
|
" 1. [Remove auto-downloading rule](#remove-auto-downloading-rule)",
|
|
),
|
|
Text(
|
|
" 1. [Get all auto-downloading rules](#get-all-auto-downloading-rules)",
|
|
),
|
|
Text(
|
|
" 1. [Get all articles matching a rule](#get-all-articles-matching-a-rule)",
|
|
),
|
|
Text(
|
|
"1. [Search](#search)",
|
|
),
|
|
Text(
|
|
" 1. [Start search](#start-search)",
|
|
),
|
|
Text(
|
|
" 1. [Stop search](#stop-search)",
|
|
),
|
|
Text(
|
|
" 1. [Get search status](#get-search-status)",
|
|
),
|
|
Text(
|
|
" 1. [Get search results](#get-search-results)",
|
|
),
|
|
Text(
|
|
" 1. [Delete search](#delete-search)",
|
|
),
|
|
Text(
|
|
" 1. [Get search plugins](#get-search-plugins)",
|
|
),
|
|
Text(
|
|
" 1. [Install search plugin](#install-search-plugin)",
|
|
),
|
|
Text(
|
|
" 1. [Uninstall search plugin](#uninstall-search-plugin)",
|
|
),
|
|
Text(
|
|
" 1. [Enable search plugin](#enable-search-plugin)",
|
|
),
|
|
Text(
|
|
" 1. [Update search plugins](#update-search-plugins)",
|
|
),
|
|
Text(
|
|
"1. [WebAPI versioning](#webapi-versioning)",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Changes",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- New version naming scheme: X.Y.Z (where X - major version, Y - minor version, Z - release version)",
|
|
),
|
|
Text(
|
|
"- New API paths. All API methods are under `api/vX/` (where X is API major version)",
|
|
),
|
|
Text(
|
|
"- API methods are under new scopes",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.0.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `hashes` field to `/torrents/info` ([#8782](https://github.com/qbittorrent/qBittorrent/pull/8782))",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/setShareLimits/` method ([#8598](https://github.com/qbittorrent/qBittorrent/pull/8598))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.0.2",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/reannounce` method ([#9229](https://github.com/qbittorrent/qBittorrent/pull/9229))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.1.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Change `/sync/maindata` `categories` field from `array` to `object` ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228))",
|
|
),
|
|
Text(
|
|
"- Add `savePath` field to `/torrents/createCategory` ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228)). This method now requires the category to already exist and will not create new categories.",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/editCategory` method ([#9228](https://github.com/qbittorrent/qBittorrent/pull/9228))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.1.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/categories` method ([#9586](https://github.com/qbittorrent/qBittorrent/pull/9586))",
|
|
),
|
|
Text(
|
|
"- Add `/search/` methods ([#8584](https://github.com/qbittorrent/qBittorrent/pull/8584))",
|
|
),
|
|
Text(
|
|
"- Add `free_space_on_disk` field to `/sync/maindata` ([#8217](https://github.com/qbittorrent/qBittorrent/pull/8217))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.2.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/editTracker` and `/torrents/removeTracker` methods ([#9375](https://github.com/qbittorrent/qBittorrent/pull/9375))",
|
|
),
|
|
Text(
|
|
"- Add `tier`, `num_seeds`, `num_leeches`, and `num_downloaded` fields to `/torrents/trackers` ([#9375](https://github.com/qbittorrent/qBittorrent/pull/9375))",
|
|
),
|
|
Text(
|
|
"- Change `status` field from translated string to an integer for `/torrents/trackers` ([#9375](https://github.com/qbittorrent/qBittorrent/pull/9375))",
|
|
),
|
|
Text(
|
|
"- Change `/torrents/filePrio` `id` field to accept multiple ids ([#9541](https://github.com/qbittorrent/qBittorrent/pull/9541))",
|
|
),
|
|
Text(
|
|
"- Throw additional errors for failed requests to `/torrents/filePrio` ([#9541](https://github.com/qbittorrent/qBittorrent/pull/9541))",
|
|
),
|
|
Text(
|
|
"- Add `autoTMM` field to `/torrents/add` ([#9752](https://github.com/qbittorrent/qBittorrent/pull/9752))",
|
|
),
|
|
Text(
|
|
"- Add various fields to `/app/getPreferences` and `/app/setPreferences` (`create_subfolder_enabled`, `start_paused_enabled`, `auto_delete_mode`, `preallocate_all`, `incomplete_files_ext`, `auto_tmm_enabled`, `torrent_changed_tmm_enabled`, `save_path_changed_tmm_enabled`, `category_changed_tmm_enabled`, `mail_notification_sender`, `limit_lan_peers`, `slow_torrent_dl_rate_threshold`, `slow_torrent_ul_rate_threshold`, `slow_torrent_inactive_timer`, `alternative_webui_enabled`, `alternative_webui_path`) ([#9752](https://github.com/qbittorrent/qBittorrent/pull/9752))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.2.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `rss/refreshItem` ([#11067](https://github.com/qbittorrent/qBittorrent/pull/11067))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.3.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Remove `web_ui_password` field from `/app/preferences`, this field is still writable in `/app/setPreferences` method ([#9942](https://github.com/qbittorrent/qBittorrent/pull/9942))",
|
|
),
|
|
Text(
|
|
"- Add `/app/buildInfo` method ([#10096](https://github.com/qbittorrent/qBittorrent/pull/10096))",
|
|
),
|
|
Text(
|
|
"- Always use `/` as path separator in `/torrents/files` response ([#10153](https://github.com/qbittorrent/qBittorrent/pull/10153/))",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/addPeers` and `/transfer/banPeers` methods ([#10158](https://github.com/qbittorrent/qBittorrent/pull/10158))",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/addTags`, `/torrents/removeTags`, `/torrents/tags`, `/torrents/createTags`, `/torrents/deleteTags` methods ([#10527](https://github.com/qbittorrent/qBittorrent/pull/10527))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.4.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `/torrents/renameFile` method ([#11029](https://github.com/qbittorrent/qBittorrent/pull/11029))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.4.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- Add `stalled`, `stalled_uploading` and `stalled_downloading` as possible values for the `filter` parameter in `/torrents/info` ([#11825](https://github.com/qbittorrent/qBittorrent/pull/11825))",
|
|
),
|
|
Text(
|
|
"- Add various fields to `/app/preferences` and `/app/setPreferences` (`piece_extent_affinity`, `web_ui_secure_cookie_enabled`, `web_ui_max_auth_fail_count`, `web_ui_ban_duration`, `stop_tracker_timeout`) ([#11781](https://github.com/qbittorrent/qBittorrent/pull/11781), [#11726](https://github.com/qbittorrent/qBittorrent/pull/11726), [#12004](https://github.com/qbittorrent/qBittorrent/pull/12004), [#11834](https://github.com/qbittorrent/qBittorrent/pull/11834))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.5.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Removes `enable_super_seeding` as fields from `/app/preferences` and `/app/setPreferences` ([#12423](https://github.com/qbittorrent/qBittorrent/pull/12423))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.5.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Add `web_ui_use_custom_http_headers_enabled`, `web_ui_custom_http_headers`, `rss_download_repack_proper_episodes` and `rss_smart_episode_filters` as fields to `/app/preferences` and `/app/setPreferences` ([#12579](https://github.com/qbittorrent/qBittorrent/pull/12579), [#12549](https://github.com/qbittorrent/qBittorrent/pull/12549))",
|
|
),
|
|
Text(
|
|
"- Add `/rss/markAsRead` and `/rss/matchingArticles` methods ([#12549](https://github.com/qbittorrent/qBittorrent/pull/12549))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.6.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Removed `/search/categories` method and modified `/search/plugins` method's response ([#12705](https://github.com/qbittorrent/qBittorrent/pull/12705))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.6.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Exposed `contentPath` via the `content_path` field in the response to `/torrents/info` ([#13625](https://github.com/qbittorrent/qBittorrent/pull/13625))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.6.2",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Added `tags` optional field to `/torrents/add` ([#13882](https://github.com/qbittorrent/qBittorrent/pull/13882))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.8.0",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Added `/torrents/renameFolder` method and modified `/torrents/renameFile` method's parameters ([#13995](https://github.com/qbittorrent/qBittorrent/pull/13995))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Note that this change was released in qBittorrent v4.3.3, but the WebAPI version was incorrectly set to v2.7.0 (see [#14275](https://github.com/qbittorrent/qBittorrent/pull/14275#issuecomment-766310862) for details)",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.8.1",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Added `ratioLimit` and `seedingTimeLimit` optional fields to `/torrents/add` ([#14519](https://github.com/qbittorrent/qBittorrent/pull/14519))",
|
|
),
|
|
Text(
|
|
"- Added `seeding_time` field to `/torrents/info` ([#14554](https://github.com/qbittorrent/qBittorrent/pull/14554))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.8.2",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Added `indexes` optional parameter to `/torrents/files` ([#14795](https://github.com/qbittorrent/qBittorrent/pull/14795))",
|
|
),
|
|
Text(
|
|
"- Added `index` field to `/torrents/files` response ([#14795](https://github.com/qbittorrent/qBittorrent/pull/14795))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"API v2.8.3",
|
|
),
|
|
content: [
|
|
Text(
|
|
"- Added `tag` optional parameter to `/torrents/info` ([#15152](https://github.com/qbittorrent/qBittorrent/pull/15152))",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"General Information",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"- All API methods are under `/api/v2/APIName/methodName`, where `APIName` is a certain subgroup of API methods whose functionality is related.",
|
|
),
|
|
Text(
|
|
"- Either `GET` or `POST` can be used as the request type for all API methods.",
|
|
),
|
|
Text(
|
|
"- All API methods require [authentication](#authentication) (except the `/api/v2/auth/login` method itself, obviously).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Authentication",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All Authentication API methods are under \"auth\", e.g.: `/api/v2/auth/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"qBittorrent uses cookie-based authentication.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Login",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `login`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`username` | string | Username used to access the WebUI",
|
|
columns: [
|
|
"username",
|
|
"string",
|
|
"Username used to access the WebUI",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`password` | string | Password used to access the WebUI",
|
|
columns: [
|
|
"password",
|
|
"string",
|
|
"Password used to access the WebUI",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "403 | User's IP is banned for too many failed login attempts",
|
|
columns: [
|
|
"403",
|
|
"User's IP is banned for too many failed login attempts",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Upon success, the response will contain a cookie with your SID. You must supply the cookie whenever you want to perform an operation that requires authentication.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example showing how to login and execute a command that requires authentication using `curl`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```sh",
|
|
),
|
|
Text(
|
|
"$ curl -i --header 'Referer: http://localhost:8080' --data 'username=admin&password=adminadmin' http://localhost:8080/api/v2/auth/login",
|
|
),
|
|
Text(
|
|
"HTTP/1.1 200 OK",
|
|
),
|
|
Text(
|
|
"Content-Encoding:",
|
|
),
|
|
Text(
|
|
"Content-Length: 3",
|
|
),
|
|
Text(
|
|
"Content-Type: text/plain; charset=UTF-8",
|
|
),
|
|
Text(
|
|
"Set-Cookie: SID=hBc7TxF76ERhvIw0jQQ4LZ7Z1jQUV0tQ; path=/",
|
|
),
|
|
Text(
|
|
"$ curl http://localhost:8080/api/v2/torrents/info --cookie \"SID=hBc7TxF76ERhvIw0jQQ4LZ7Z1jQUV0tQ\"",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Note: Set `Referer` or `Origin` header to the exact same domain and port as used in the HTTP query `Host` header.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Logout",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `logout`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Application",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All Application API methods are under \"app\", e.g.: `/api/v2/app/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Get application version",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `version`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a string with the application version, e.g. `v4.1.3`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get API version",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `webapiVersion`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a string with the WebAPI version, e.g. `2.0`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get build info",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `buildInfo`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON object containing the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`qt` | string | QT version",
|
|
columns: [
|
|
"qt",
|
|
"string",
|
|
"QT version",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`libtorrent` | string | libtorrent version",
|
|
columns: [
|
|
"libtorrent",
|
|
"string",
|
|
"libtorrent version",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`boost` | string | Boost version",
|
|
columns: [
|
|
"boost",
|
|
"string",
|
|
"Boost version",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`openssl` | string | OpenSSL version",
|
|
columns: [
|
|
"openssl",
|
|
"string",
|
|
"OpenSSL version",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`bitness` | int | Application bitness (e.g. 64-bit)",
|
|
columns: [
|
|
"bitness",
|
|
"int",
|
|
"Application bitness (e.g. 64-bit)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Shutdown application",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `shutdown`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get application preferences",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `preferences`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON object with several fields (key-value) pairs representing the application's settings. The contents may vary depending on which settings are present in qBittorrent.ini.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-----------------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`locale` _optional_ | string | Currently selected language (e.g. en_GB for English)",
|
|
columns: [
|
|
"locale _optional_",
|
|
"string",
|
|
"Currently selected language (e.g. en_GB for English)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`create_subfolder_enabled` _optional_ | bool | True if a subfolder should be created when adding a torrent",
|
|
columns: [
|
|
"create_subfolder_enabled _optional_",
|
|
"bool",
|
|
"True if a subfolder should be created when adding a torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`start_paused_enabled` _optional_ | bool | True if torrents should be added in a Paused state",
|
|
columns: [
|
|
"start_paused_enabled _optional_",
|
|
"bool",
|
|
"True if torrents should be added in a Paused state",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`auto_delete_mode` _optional_ | integer | TODO",
|
|
columns: [
|
|
"auto_delete_mode _optional_",
|
|
"integer",
|
|
"TODO",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`preallocate_all` _optional_ | bool | True if disk space should be pre-allocated for all files",
|
|
columns: [
|
|
"preallocate_all _optional_",
|
|
"bool",
|
|
"True if disk space should be pre-allocated for all files",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`incomplete_files_ext` _optional_ | bool | True if \".!qB\" should be appended to incomplete files",
|
|
columns: [
|
|
"incomplete_files_ext _optional_",
|
|
"bool",
|
|
"True if \".!qB\" should be appended to incomplete files",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`auto_tmm_enabled` _optional_ | bool | True if Automatic Torrent Management is enabled by default",
|
|
columns: [
|
|
"auto_tmm_enabled _optional_",
|
|
"bool",
|
|
"True if Automatic Torrent Management is enabled by default",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`torrent_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when its Category changes",
|
|
columns: [
|
|
"torrent_changed_tmm_enabled _optional_",
|
|
"bool",
|
|
"True if torrent should be relocated when its Category changes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`save_path_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when the default save path changes",
|
|
columns: [
|
|
"save_path_changed_tmm_enabled _optional_",
|
|
"bool",
|
|
"True if torrent should be relocated when the default save path changes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`category_changed_tmm_enabled` _optional_ | bool | True if torrent should be relocated when its Category's save path changes",
|
|
columns: [
|
|
"category_changed_tmm_enabled _optional_",
|
|
"bool",
|
|
"True if torrent should be relocated when its Category's save path changes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`save_path` _optional_ | string | Default save path for torrents, separated by slashes",
|
|
columns: [
|
|
"save_path _optional_",
|
|
"string",
|
|
"Default save path for torrents, separated by slashes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`temp_path_enabled` _optional_ | bool | True if folder for incomplete torrents is enabled",
|
|
columns: [
|
|
"temp_path_enabled _optional_",
|
|
"bool",
|
|
"True if folder for incomplete torrents is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`temp_path` _optional_ | string | Path for incomplete torrents, separated by slashes",
|
|
columns: [
|
|
"temp_path _optional_",
|
|
"string",
|
|
"Path for incomplete torrents, separated by slashes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`scan_dirs` _optional_ | object | scan_dirs object see table below. Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified",
|
|
columns: [
|
|
"scan_dirs _optional_",
|
|
"object",
|
|
"scan_dirs object see table below. Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`export_dir` _optional_ | string | Path to directory to copy .torrent files to. Slashes are used as path separators",
|
|
columns: [
|
|
"export_dir _optional_",
|
|
"string",
|
|
"Path to directory to copy .torrent files to. Slashes are used as path separators",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`export_dir_fin` _optional_ | string | Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators",
|
|
columns: [
|
|
"export_dir_fin _optional_",
|
|
"string",
|
|
"Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_enabled` _optional_ | bool | True if e-mail notification should be enabled",
|
|
columns: [
|
|
"mail_notification_enabled _optional_",
|
|
"bool",
|
|
"True if e-mail notification should be enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_sender` _optional_ | string | e-mail where notifications should originate from",
|
|
columns: [
|
|
"mail_notification_sender _optional_",
|
|
"string",
|
|
"e-mail where notifications should originate from",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_email` _optional_ | string | e-mail to send notifications to",
|
|
columns: [
|
|
"mail_notification_email _optional_",
|
|
"string",
|
|
"e-mail to send notifications to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_smtp` _optional_ | string | smtp server for e-mail notifications",
|
|
columns: [
|
|
"mail_notification_smtp _optional_",
|
|
"string",
|
|
"smtp server for e-mail notifications",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_ssl_enabled` _optional_ | bool | True if smtp server requires SSL connection",
|
|
columns: [
|
|
"mail_notification_ssl_enabled _optional_",
|
|
"bool",
|
|
"True if smtp server requires SSL connection",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_auth_enabled` _optional_ | bool | True if smtp server requires authentication",
|
|
columns: [
|
|
"mail_notification_auth_enabled _optional_",
|
|
"bool",
|
|
"True if smtp server requires authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_username` _optional_ | string | Username for smtp authentication",
|
|
columns: [
|
|
"mail_notification_username _optional_",
|
|
"string",
|
|
"Username for smtp authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mail_notification_password` _optional_ | string | Password for smtp authentication",
|
|
columns: [
|
|
"mail_notification_password _optional_",
|
|
"string",
|
|
"Password for smtp authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`autorun_enabled` _optional_ | bool | True if external program should be run after torrent has finished downloading",
|
|
columns: [
|
|
"autorun_enabled _optional_",
|
|
"bool",
|
|
"True if external program should be run after torrent has finished downloading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`autorun_program` _optional_ | string | Program path/name/arguments to run if `autorun_enabled` is enabled; path is separated by slashes; you can use `%f` and `%n` arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively",
|
|
columns: [
|
|
"autorun_program _optional_",
|
|
"string",
|
|
"Program path/name/arguments to run if autorun_enabled is enabled; path is separated by slashes; you can use %f and %n arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`queueing_enabled` _optional_ | bool | True if torrent queuing is enabled",
|
|
columns: [
|
|
"queueing_enabled _optional_",
|
|
"bool",
|
|
"True if torrent queuing is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_active_downloads` _optional_ | integer | Maximum number of active simultaneous downloads",
|
|
columns: [
|
|
"max_active_downloads _optional_",
|
|
"integer",
|
|
"Maximum number of active simultaneous downloads",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_active_torrents` _optional_ | integer | Maximum number of active simultaneous downloads and uploads",
|
|
columns: [
|
|
"max_active_torrents _optional_",
|
|
"integer",
|
|
"Maximum number of active simultaneous downloads and uploads",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_active_uploads` _optional_ | integer | Maximum number of active simultaneous uploads",
|
|
columns: [
|
|
"max_active_uploads _optional_",
|
|
"integer",
|
|
"Maximum number of active simultaneous uploads",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dont_count_slow_torrents` _optional_ | bool | If true torrents w/o any activity (stalled ones) will not be counted towards `max_active_*` limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information",
|
|
columns: [
|
|
"dont_count_slow_torrents _optional_",
|
|
"bool",
|
|
"If true torrents w/o any activity (stalled ones) will not be counted towards max_active_* limits; see [dont_count_slow_torrents](https://www.libtorrent.org/reference-Settings.html#dont_count_slow_torrents) for more information",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`slow_torrent_dl_rate_threshold` _optional_ | integer | Download rate in KiB/s for a torrent to be considered \"slow\"",
|
|
columns: [
|
|
"slow_torrent_dl_rate_threshold _optional_",
|
|
"integer",
|
|
"Download rate in KiB/s for a torrent to be considered \"slow\"",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`slow_torrent_ul_rate_threshold` _optional_ | integer | Upload rate in KiB/s for a torrent to be considered \"slow\"",
|
|
columns: [
|
|
"slow_torrent_ul_rate_threshold _optional_",
|
|
"integer",
|
|
"Upload rate in KiB/s for a torrent to be considered \"slow\"",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`slow_torrent_inactive_timer` _optional_ | integer | Seconds a torrent should be inactive before considered \"slow\"",
|
|
columns: [
|
|
"slow_torrent_inactive_timer _optional_",
|
|
"integer",
|
|
"Seconds a torrent should be inactive before considered \"slow\"",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_ratio_enabled` _optional_ | bool | True if share ratio limit is enabled",
|
|
columns: [
|
|
"max_ratio_enabled _optional_",
|
|
"bool",
|
|
"True if share ratio limit is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_ratio` _optional_ | float | Get the global share ratio limit",
|
|
columns: [
|
|
"max_ratio _optional_",
|
|
"float",
|
|
"Get the global share ratio limit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_ratio_act` _optional_ | object | max_ratio_act object see table below. Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.",
|
|
columns: [
|
|
"max_ratio_act _optional_",
|
|
"object",
|
|
"max_ratio_act object see table below. Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`listen_port` _optional_ | integer | Port for incoming connections",
|
|
columns: [
|
|
"listen_port _optional_",
|
|
"integer",
|
|
"Port for incoming connections",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upnp` _optional_ | bool | True if UPnP/NAT-PMP is enabled",
|
|
columns: [
|
|
"upnp _optional_",
|
|
"bool",
|
|
"True if UPnP/NAT-PMP is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`random_port` _optional_ | bool | True if the port is randomly selected",
|
|
columns: [
|
|
"random_port _optional_",
|
|
"bool",
|
|
"True if the port is randomly selected",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_limit` _optional_ | integer | Global download speed limit in KiB/s; `-1` means no limit is applied",
|
|
columns: [
|
|
"dl_limit _optional_",
|
|
"integer",
|
|
"Global download speed limit in KiB/s; -1 means no limit is applied",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_limit` _optional_ | integer | Global upload speed limit in KiB/s; `-1` means no limit is applied",
|
|
columns: [
|
|
"up_limit _optional_",
|
|
"integer",
|
|
"Global upload speed limit in KiB/s; -1 means no limit is applied",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_connec` _optional_ | integer | Maximum global number of simultaneous connections",
|
|
columns: [
|
|
"max_connec _optional_",
|
|
"integer",
|
|
"Maximum global number of simultaneous connections",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_connec_per_torrent` _optional_ | integer | Maximum number of simultaneous connections per torrent",
|
|
columns: [
|
|
"max_connec_per_torrent _optional_",
|
|
"integer",
|
|
"Maximum number of simultaneous connections per torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_uploads` _optional_ | integer | Maximum number of upload slots",
|
|
columns: [
|
|
"max_uploads _optional_",
|
|
"integer",
|
|
"Maximum number of upload slots",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_uploads_per_torrent` _optional_ | integer | Maximum number of upload slots per torrent",
|
|
columns: [
|
|
"max_uploads_per_torrent _optional_",
|
|
"integer",
|
|
"Maximum number of upload slots per torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`stop_tracker_timeout` _optional_ | integer | Timeout in seconds for a `stopped` announce request to trackers",
|
|
columns: [
|
|
"stop_tracker_timeout _optional_",
|
|
"integer",
|
|
"Timeout in seconds for a stopped announce request to trackers",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable_piece_extent_affinity` _optional_ | bool | True if the advanced libtorrent option `piece_extent_affinity` is enabled",
|
|
columns: [
|
|
"enable_piece_extent_affinity _optional_",
|
|
"bool",
|
|
"True if the advanced libtorrent option piece_extent_affinity is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`bittorrent_protocol` _optional_ | object | bittorrent_protocol object see table below Bittorrent Protocol to use (see list of possible values below)",
|
|
columns: [
|
|
"bittorrent_protocol _optional_",
|
|
"object",
|
|
"bittorrent_protocol object see table below Bittorrent Protocol to use (see list of possible values below)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`limit_utp_rate` _optional_ | bool | True if `[du]l_limit` should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher",
|
|
columns: [
|
|
"limit_utp_rate _optional_",
|
|
"bool",
|
|
"True if [du]l_limit should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`limit_tcp_overhead` _optional_ | bool | True if `[du]l_limit` should be applied to estimated TCP overhead (service data: e.g. packet headers)",
|
|
columns: [
|
|
"limit_tcp_overhead _optional_",
|
|
"bool",
|
|
"True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`limit_lan_peers` _optional_ | bool | True if `[du]l_limit` should be applied to peers on the LAN",
|
|
columns: [
|
|
"limit_lan_peers _optional_",
|
|
"bool",
|
|
"True if [du]l_limit should be applied to peers on the LAN",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`alt_dl_limit` _optional_ | integer | Alternative global download speed limit in KiB/s",
|
|
columns: [
|
|
"alt_dl_limit _optional_",
|
|
"integer",
|
|
"Alternative global download speed limit in KiB/s",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`alt_up_limit` _optional_ | integer | Alternative global upload speed limit in KiB/s",
|
|
columns: [
|
|
"alt_up_limit _optional_",
|
|
"integer",
|
|
"Alternative global upload speed limit in KiB/s",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`scheduler_enabled` _optional_ | bool | True if alternative limits should be applied according to schedule",
|
|
columns: [
|
|
"scheduler_enabled _optional_",
|
|
"bool",
|
|
"True if alternative limits should be applied according to schedule",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`schedule_from_hour` _optional_ | integer | Scheduler starting hour",
|
|
columns: [
|
|
"schedule_from_hour _optional_",
|
|
"integer",
|
|
"Scheduler starting hour",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`schedule_from_min` _optional_ | integer | Scheduler starting minute",
|
|
columns: [
|
|
"schedule_from_min _optional_",
|
|
"integer",
|
|
"Scheduler starting minute",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`schedule_to_hour` _optional_ | integer | Scheduler ending hour",
|
|
columns: [
|
|
"schedule_to_hour _optional_",
|
|
"integer",
|
|
"Scheduler ending hour",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`schedule_to_min` _optional_ | integer | Scheduler ending minute",
|
|
columns: [
|
|
"schedule_to_min _optional_",
|
|
"integer",
|
|
"Scheduler ending minute",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`scheduler_days` _optional_ | object | scheduler_days object see table below. See possible values here below",
|
|
columns: [
|
|
"scheduler_days _optional_",
|
|
"object",
|
|
"scheduler_days object see table below. See possible values here below",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dht` _optional_ | bool | True if DHT is enabled",
|
|
columns: [
|
|
"dht _optional_",
|
|
"bool",
|
|
"True if DHT is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`pex` _optional_ | bool | True if PeX is enabled",
|
|
columns: [
|
|
"pex _optional_",
|
|
"bool",
|
|
"True if PeX is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`lsd` _optional_ | bool | True if LSD is enabled",
|
|
columns: [
|
|
"lsd _optional_",
|
|
"bool",
|
|
"True if LSD is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`encryption` _optional_ | object | encryption object see table below. See list of possible values here below",
|
|
columns: [
|
|
"encryption _optional_",
|
|
"object",
|
|
"encryption object see table below. See list of possible values here below",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`anonymous_mode` _optional_ | bool | If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher",
|
|
columns: [
|
|
"anonymous_mode _optional_",
|
|
"bool",
|
|
"If true anonymous mode will be enabled; read more [here](Anonymous-Mode); this option is only available in qBittorent built against libtorrent version 0.16.X and higher",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_type` _optional_ | integer | proxy_type object see table below. See list of possible values here below",
|
|
columns: [
|
|
"proxy_type _optional_",
|
|
"integer",
|
|
"proxy_type object see table below. See list of possible values here below",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_ip` _optional_ | string | Proxy IP address or domain name",
|
|
columns: [
|
|
"proxy_ip _optional_",
|
|
"string",
|
|
"Proxy IP address or domain name",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_port` _optional_ | integer | Proxy port",
|
|
columns: [
|
|
"proxy_port _optional_",
|
|
"integer",
|
|
"Proxy port",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_peer_connections` _optional_ | bool | True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher",
|
|
columns: [
|
|
"proxy_peer_connections _optional_",
|
|
"bool",
|
|
"True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_auth_enabled` _optional_ | bool | True proxy requires authentication; doesn't apply to SOCKS4 proxies",
|
|
columns: [
|
|
"proxy_auth_enabled _optional_",
|
|
"bool",
|
|
"True proxy requires authentication; doesn't apply to SOCKS4 proxies",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_username` _optional_ | string | Username for proxy authentication",
|
|
columns: [
|
|
"proxy_username _optional_",
|
|
"string",
|
|
"Username for proxy authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_password` _optional_ | string | Password for proxy authentication",
|
|
columns: [
|
|
"proxy_password _optional_",
|
|
"string",
|
|
"Password for proxy authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`proxy_torrents_only` _optional_ | bool | True if proxy is only used for torrents",
|
|
columns: [
|
|
"proxy_torrents_only _optional_",
|
|
"bool",
|
|
"True if proxy is only used for torrents",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ip_filter_enabled` _optional_ | bool | True if external IP filter should be enabled",
|
|
columns: [
|
|
"ip_filter_enabled _optional_",
|
|
"bool",
|
|
"True if external IP filter should be enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ip_filter_path` _optional_ | string | Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes",
|
|
columns: [
|
|
"ip_filter_path _optional_",
|
|
"string",
|
|
"Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ip_filter_trackers` _optional_ | bool | True if IP filters are applied to trackers",
|
|
columns: [
|
|
"ip_filter_trackers _optional_",
|
|
"bool",
|
|
"True if IP filters are applied to trackers",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_domain_list` _optional_ | string | Comma-separated list of domains to accept when performing Host header validation",
|
|
columns: [
|
|
"web_ui_domain_list _optional_",
|
|
"string",
|
|
"Comma-separated list of domains to accept when performing Host header validation",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_address` _optional_ | string | IP address to use for the WebUI",
|
|
columns: [
|
|
"web_ui_address _optional_",
|
|
"string",
|
|
"IP address to use for the WebUI",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_port` _optional_ | integer | WebUI port",
|
|
columns: [
|
|
"web_ui_port _optional_",
|
|
"integer",
|
|
"WebUI port",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_upnp` _optional_ | bool | True if UPnP is used for the WebUI port",
|
|
columns: [
|
|
"web_ui_upnp _optional_",
|
|
"bool",
|
|
"True if UPnP is used for the WebUI port",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_username` _optional_ | string | WebUI username",
|
|
columns: [
|
|
"web_ui_username _optional_",
|
|
"string",
|
|
"WebUI username",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_password` _optional_ | string | For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: `username:Web UI Access:plain_text_web_ui_password`",
|
|
columns: [
|
|
"web_ui_password _optional_",
|
|
"string",
|
|
"For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: username:Web UI Access:plain_text_web_ui_password",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_csrf_protection_enabled` _optional_ | bool | True if WebUI CSRF protection is enabled",
|
|
columns: [
|
|
"web_ui_csrf_protection_enabled _optional_",
|
|
"bool",
|
|
"True if WebUI CSRF protection is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_clickjacking_protection_enabled` _optional_ | bool | True if WebUI clickjacking protection is enabled",
|
|
columns: [
|
|
"web_ui_clickjacking_protection_enabled _optional_",
|
|
"bool",
|
|
"True if WebUI clickjacking protection is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_secure_cookie_enabled` _optional_ | bool | True if WebUI cookie `Secure` flag is enabled",
|
|
columns: [
|
|
"web_ui_secure_cookie_enabled _optional_",
|
|
"bool",
|
|
"True if WebUI cookie Secure flag is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_max_auth_fail_count` _optional_ | integer | Maximum number of authentication failures before WebUI access ban",
|
|
columns: [
|
|
"web_ui_max_auth_fail_count _optional_",
|
|
"integer",
|
|
"Maximum number of authentication failures before WebUI access ban",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_ban_duration` _optional_ | integer | WebUI access ban duration in seconds",
|
|
columns: [
|
|
"web_ui_ban_duration _optional_",
|
|
"integer",
|
|
"WebUI access ban duration in seconds",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_session_timeout` _optional_ | integer | Seconds until WebUI is automatically signed off",
|
|
columns: [
|
|
"web_ui_session_timeout _optional_",
|
|
"integer",
|
|
"Seconds until WebUI is automatically signed off",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_host_header_validation_enabled` _optional_ | bool | True if WebUI host header validation is enabled",
|
|
columns: [
|
|
"web_ui_host_header_validation_enabled _optional_",
|
|
"bool",
|
|
"True if WebUI host header validation is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`bypass_local_auth` _optional_ | bool | True if authentication challenge for loopback address (127.0.0.1) should be disabled",
|
|
columns: [
|
|
"bypass_local_auth _optional_",
|
|
"bool",
|
|
"True if authentication challenge for loopback address (127.0.0.1) should be disabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`bypass_auth_subnet_whitelist_enabled` _optional_ | bool | True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist",
|
|
columns: [
|
|
"bypass_auth_subnet_whitelist_enabled _optional_",
|
|
"bool",
|
|
"True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`bypass_auth_subnet_whitelist` _optional_ | string | (White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas",
|
|
columns: [
|
|
"bypass_auth_subnet_whitelist _optional_",
|
|
"string",
|
|
"(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`alternative_webui_enabled` _optional_ | bool | True if an alternative WebUI should be used",
|
|
columns: [
|
|
"alternative_webui_enabled _optional_",
|
|
"bool",
|
|
"True if an alternative WebUI should be used",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`alternative_webui_path` _optional_ | string | File path to the alternative WebUI",
|
|
columns: [
|
|
"alternative_webui_path _optional_",
|
|
"string",
|
|
"File path to the alternative WebUI",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`use_https` _optional_ | bool | True if WebUI HTTPS access is enabled",
|
|
columns: [
|
|
"use_https _optional_",
|
|
"bool",
|
|
"True if WebUI HTTPS access is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ssl_key` _optional_ | string | For API < v2.0.1: SSL keyfile contents (this is a not a path)",
|
|
columns: [
|
|
"ssl_key _optional_",
|
|
"string",
|
|
"For API < v2.0.1: SSL keyfile contents (this is a not a path)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ssl_cert` _optional_ | string | For API < v2.0.1: SSL certificate contents (this is a not a path)",
|
|
columns: [
|
|
"ssl_cert _optional_",
|
|
"string",
|
|
"For API < v2.0.1: SSL certificate contents (this is a not a path)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_https_key_path` _optional_ | string | For API ≥ v2.0.1: Path to SSL keyfile",
|
|
columns: [
|
|
"web_ui_https_key_path _optional_",
|
|
"string",
|
|
"For API ≥ v2.0.1: Path to SSL keyfile",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_https_cert_path` _optional_ | string | For API ≥ v2.0.1: Path to SSL certificate",
|
|
columns: [
|
|
"web_ui_https_cert_path _optional_",
|
|
"string",
|
|
"For API ≥ v2.0.1: Path to SSL certificate",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dyndns_enabled` _optional_ | bool | True if server DNS should be updated dynamically",
|
|
columns: [
|
|
"dyndns_enabled _optional_",
|
|
"bool",
|
|
"True if server DNS should be updated dynamically",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dyndns_service` _optional_ | integer | dyndns_service object see table below. See list of possible values here below",
|
|
columns: [
|
|
"dyndns_service _optional_",
|
|
"integer",
|
|
"dyndns_service object see table below. See list of possible values here below",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dyndns_username` _optional_ | string | Username for DDNS service",
|
|
columns: [
|
|
"dyndns_username _optional_",
|
|
"string",
|
|
"Username for DDNS service",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dyndns_password` _optional_ | string | Password for DDNS service",
|
|
columns: [
|
|
"dyndns_password _optional_",
|
|
"string",
|
|
"Password for DDNS service",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dyndns_domain` _optional_ | string | Your DDNS domain name",
|
|
columns: [
|
|
"dyndns_domain _optional_",
|
|
"string",
|
|
"Your DDNS domain name",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rss_refresh_interval` _optional_ | integer | RSS refresh interval",
|
|
columns: [
|
|
"rss_refresh_interval _optional_",
|
|
"integer",
|
|
"RSS refresh interval",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rss_max_articles_per_feed` _optional_ | integer | Max stored articles per RSS feed",
|
|
columns: [
|
|
"rss_max_articles_per_feed _optional_",
|
|
"integer",
|
|
"Max stored articles per RSS feed",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rss_processing_enabled` _optional_ | bool | Enable processing of RSS feeds",
|
|
columns: [
|
|
"rss_processing_enabled _optional_",
|
|
"bool",
|
|
"Enable processing of RSS feeds",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rss_auto_downloading_enabled` _optional_ | bool | Enable auto-downloading of torrents from the RSS feeds",
|
|
columns: [
|
|
"rss_auto_downloading_enabled _optional_",
|
|
"bool",
|
|
"Enable auto-downloading of torrents from the RSS feeds",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rss_download_repack_proper_episodes` _optional_ | bool | For API ≥ v2.5.1: Enable downloading of repack/proper Episodes",
|
|
columns: [
|
|
"rss_download_repack_proper_episodes _optional_",
|
|
"bool",
|
|
"For API ≥ v2.5.1: Enable downloading of repack/proper Episodes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rss_smart_episode_filters` _optional_ | string | For API ≥ v2.5.1: List of RSS Smart Episode Filters",
|
|
columns: [
|
|
"rss_smart_episode_filters _optional_",
|
|
"string",
|
|
"For API ≥ v2.5.1: List of RSS Smart Episode Filters",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`add_trackers_enabled` _optional_ | bool | Enable automatic adding of trackers to new torrents",
|
|
columns: [
|
|
"add_trackers_enabled _optional_",
|
|
"bool",
|
|
"Enable automatic adding of trackers to new torrents",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`add_trackers` _optional_ | string | List of trackers to add to new torrent",
|
|
columns: [
|
|
"add_trackers _optional_",
|
|
"string",
|
|
"List of trackers to add to new torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_use_custom_http_headers_enabled` _optional_ | bool | For API ≥ v2.5.1: Enable custom http headers",
|
|
columns: [
|
|
"web_ui_use_custom_http_headers_enabled _optional_",
|
|
"bool",
|
|
"For API ≥ v2.5.1: Enable custom http headers",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`web_ui_custom_http_headers` _optional_ | string | For API ≥ v2.5.1: List of custom http headers",
|
|
columns: [
|
|
"web_ui_custom_http_headers _optional_",
|
|
"string",
|
|
"For API ≥ v2.5.1: List of custom http headers",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_seeding_time_enabled` _optional_ | bool | True enables max seeding time ",
|
|
columns: [
|
|
"max_seeding_time_enabled _optional_",
|
|
"bool",
|
|
"True enables max seeding time",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_seeding_time` _optional_ | integer | Number of minutes to seed a torrent",
|
|
columns: [
|
|
"max_seeding_time _optional_",
|
|
"integer",
|
|
"Number of minutes to seed a torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`announce_ip` _optional_ | string | TODO",
|
|
columns: [
|
|
"announce_ip _optional_",
|
|
"string",
|
|
"TODO",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`announce_to_all_tiers` _optional_ | bool | True always announce to all tiers",
|
|
columns: [
|
|
"announce_to_all_tiers _optional_",
|
|
"bool",
|
|
"True always announce to all tiers",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`announce_to_all_trackers` _optional_ | bool | True always announce to all trackers in a tier",
|
|
columns: [
|
|
"announce_to_all_trackers _optional_",
|
|
"bool",
|
|
"True always announce to all trackers in a tier",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`async_io_threads` _optional_ | integer | Number of asynchronous I/O threads",
|
|
columns: [
|
|
"async_io_threads _optional_",
|
|
"integer",
|
|
"Number of asynchronous I/O threads",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`banned_IPs` _optional_ | string | List of banned IPs",
|
|
columns: [
|
|
"banned_IPs _optional_",
|
|
"string",
|
|
"List of banned IPs",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`checking_memory_use` _optional_ | integer | Outstanding memory when checking torrents in MiB",
|
|
columns: [
|
|
"checking_memory_use _optional_",
|
|
"integer",
|
|
"Outstanding memory when checking torrents in MiB",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`current_interface_address` _optional_ | string | IP Address to bind to. Empty String means All addresses",
|
|
columns: [
|
|
"current_interface_address _optional_",
|
|
"string",
|
|
"IP Address to bind to. Empty String means All addresses",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`current_network_interface` _optional_ | string | Network Interface used",
|
|
columns: [
|
|
"current_network_interface _optional_",
|
|
"string",
|
|
"Network Interface used",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`disk_cache` _optional_ | integer | Disk cache used in MiB",
|
|
columns: [
|
|
"disk_cache _optional_",
|
|
"integer",
|
|
"Disk cache used in MiB",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`disk_cache_ttl` _optional_ | integer | Disk cache expiry interval in seconds",
|
|
columns: [
|
|
"disk_cache_ttl _optional_",
|
|
"integer",
|
|
"Disk cache expiry interval in seconds",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`embedded_tracker_port` _optional_ | integer | Port used for embedded tracker",
|
|
columns: [
|
|
"embedded_tracker_port _optional_",
|
|
"integer",
|
|
"Port used for embedded tracker",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable_coalesce_read_write` _optional_ | bool | True enables coalesce reads & writes",
|
|
columns: [
|
|
"enable_coalesce_read_write _optional_",
|
|
"bool",
|
|
"True enables coalesce reads & writes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable_embedded_tracker` _optional_ | bool | True enables embedded tracker",
|
|
columns: [
|
|
"enable_embedded_tracker _optional_",
|
|
"bool",
|
|
"True enables embedded tracker",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable_multi_connections_from_same_ip` _optional_ | bool | True allows multiple connections from the same IP address",
|
|
columns: [
|
|
"enable_multi_connections_from_same_ip _optional_",
|
|
"bool",
|
|
"True allows multiple connections from the same IP address",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable_os_cache` _optional_ | bool | True enables os cache",
|
|
columns: [
|
|
"enable_os_cache _optional_",
|
|
"bool",
|
|
"True enables os cache",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable_upload_suggestions` _optional_ | bool | True enables sending of upload piece suggestions",
|
|
columns: [
|
|
"enable_upload_suggestions _optional_",
|
|
"bool",
|
|
"True enables sending of upload piece suggestions",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`file_pool_size` _optional_ | integer | File pool size",
|
|
columns: [
|
|
"file_pool_size _optional_",
|
|
"integer",
|
|
"File pool size",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`outgoing_ports_max` _optional_ | integer | Maximal outgoing port (0: Disabled)",
|
|
columns: [
|
|
"outgoing_ports_max _optional_",
|
|
"integer",
|
|
"Maximal outgoing port (0: Disabled)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`outgoing_ports_min` _optional_ | integer | Minimal outgoing port (0: Disabled)",
|
|
columns: [
|
|
"outgoing_ports_min _optional_",
|
|
"integer",
|
|
"Minimal outgoing port (0: Disabled)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`recheck_completed_torrents` _optional_ | bool | True rechecks torrents on completion",
|
|
columns: [
|
|
"recheck_completed_torrents _optional_",
|
|
"bool",
|
|
"True rechecks torrents on completion",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`resolve_peer_countries` _optional_ | bool | True resolves peer countries",
|
|
columns: [
|
|
"resolve_peer_countries _optional_",
|
|
"bool",
|
|
"True resolves peer countries",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`save_resume_data_interval` _optional_ | integer | Save resume data interval in min",
|
|
columns: [
|
|
"save_resume_data_interval _optional_",
|
|
"integer",
|
|
"Save resume data interval in min",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`send_buffer_low_watermark` _optional_ | integer | Send buffer low watermark in KiB",
|
|
columns: [
|
|
"send_buffer_low_watermark _optional_",
|
|
"integer",
|
|
"Send buffer low watermark in KiB",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`send_buffer_watermark` _optional_ | integer | Send buffer watermark in KiB",
|
|
columns: [
|
|
"send_buffer_watermark _optional_",
|
|
"integer",
|
|
"Send buffer watermark in KiB",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`send_buffer_watermark_factor` _optional_ | integer | Send buffer watermark factor in percent",
|
|
columns: [
|
|
"send_buffer_watermark_factor _optional_",
|
|
"integer",
|
|
"Send buffer watermark factor in percent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`socket_backlog_size` _optional_ | integer | Socket backlog size",
|
|
columns: [
|
|
"socket_backlog_size _optional_",
|
|
"integer",
|
|
"Socket backlog size",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upload_choking_algorithm` _optional_ | object | upload_choking_algorithm object see table below. Upload choking algorithm used (see list of possible values below)",
|
|
columns: [
|
|
"upload_choking_algorithm _optional_",
|
|
"object",
|
|
"upload_choking_algorithm object see table below. Upload choking algorithm used (see list of possible values below)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upload_slots_behavior` _optional_ | object | upload_slots_behavior object see table below. Upload slots behavior used (see list of possible values below)",
|
|
columns: [
|
|
"upload_slots_behavior _optional_",
|
|
"object",
|
|
"upload_slots_behavior object see table below. Upload slots behavior used (see list of possible values below)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upnp_lease_duration` _optional_ | integer | UPnP lease duration (0: Permanent lease)",
|
|
columns: [
|
|
"upnp_lease_duration _optional_",
|
|
"integer",
|
|
"UPnP lease duration (0: Permanent lease)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`utp_tcp_mixed_mode` _optional_ | object | utp_tcp_mixed_mode object see table below. μTP-TCP mixed mode algorithm (see list of possible values below)",
|
|
columns: [
|
|
"utp_tcp_mixed_mode _optional_",
|
|
"object",
|
|
"utp_tcp_mixed_mode object see table below. μTP-TCP mixed mode algorithm (see list of possible values below)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `scan_dirs`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Download to the monitored folder",
|
|
columns: [
|
|
"0",
|
|
"Download to the monitored folder",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Download to the default save path",
|
|
columns: [
|
|
"1",
|
|
"Download to the default save path",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`\"/path/to/download/to\"` | Download to this path",
|
|
columns: [
|
|
"\"/path/to/download/to\"",
|
|
"Download to this path",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `scheduler_days`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Every day",
|
|
columns: [
|
|
"0",
|
|
"Every day",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Every weekday",
|
|
columns: [
|
|
"1",
|
|
"Every weekday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`2` | Every weekend",
|
|
columns: [
|
|
"2",
|
|
"Every weekend",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`3` | Every Monday",
|
|
columns: [
|
|
"3",
|
|
"Every Monday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`4` | Every Tuesday",
|
|
columns: [
|
|
"4",
|
|
"Every Tuesday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`5` | Every Wednesday",
|
|
columns: [
|
|
"5",
|
|
"Every Wednesday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`6` | Every Thursday",
|
|
columns: [
|
|
"6",
|
|
"Every Thursday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`7` | Every Friday",
|
|
columns: [
|
|
"7",
|
|
"Every Friday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`8` | Every Saturday",
|
|
columns: [
|
|
"8",
|
|
"Every Saturday",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`9` | Every Sunday",
|
|
columns: [
|
|
"9",
|
|
"Every Sunday",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `encryption`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Prefer encryption",
|
|
columns: [
|
|
"0",
|
|
"Prefer encryption",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Force encryption on",
|
|
columns: [
|
|
"1",
|
|
"Force encryption on",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`2` | Force encryption off",
|
|
columns: [
|
|
"2",
|
|
"Force encryption off",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"NB: the first options allows you to use both encrypted and unencrypted connections (this is the default); other options are mutually exclusive: e.g. by forcing encryption on you won't be able to use unencrypted connections and vice versa.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `proxy_type`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`-1` | Proxy is disabled",
|
|
columns: [
|
|
"-1",
|
|
"Proxy is disabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | HTTP proxy without authentication",
|
|
columns: [
|
|
"1",
|
|
"HTTP proxy without authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`2` | SOCKS5 proxy without authentication",
|
|
columns: [
|
|
"2",
|
|
"SOCKS5 proxy without authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`3` | HTTP proxy with authentication",
|
|
columns: [
|
|
"3",
|
|
"HTTP proxy with authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`4` | SOCKS5 proxy with authentication",
|
|
columns: [
|
|
"4",
|
|
"SOCKS5 proxy with authentication",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`5` | SOCKS4 proxy without authentication",
|
|
columns: [
|
|
"5",
|
|
"SOCKS4 proxy without authentication",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `dyndns_service`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Use DyDNS",
|
|
columns: [
|
|
"0",
|
|
"Use DyDNS",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Use NOIP",
|
|
columns: [
|
|
"1",
|
|
"Use NOIP",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `max_ratio_act`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Pause torrent",
|
|
columns: [
|
|
"0",
|
|
"Pause torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Remove torrent",
|
|
columns: [
|
|
"1",
|
|
"Remove torrent",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `bittorrent_protocol`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | TCP and μTP",
|
|
columns: [
|
|
"0",
|
|
"TCP and μTP",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | TCP",
|
|
columns: [
|
|
"1",
|
|
"TCP",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`2` | μTP",
|
|
columns: [
|
|
"2",
|
|
"μTP",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `upload_choking_algorithm`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Round-robin",
|
|
columns: [
|
|
"0",
|
|
"Round-robin",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Fastest upload",
|
|
columns: [
|
|
"1",
|
|
"Fastest upload",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`2` | Anti-leech",
|
|
columns: [
|
|
"2",
|
|
"Anti-leech",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `upload_slots_behavior`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Fixed slots",
|
|
columns: [
|
|
"0",
|
|
"Fixed slots",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Upload rate based",
|
|
columns: [
|
|
"1",
|
|
"Upload rate based",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `utp_tcp_mixed_mode`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Prefer TCP",
|
|
columns: [
|
|
"0",
|
|
"Prefer TCP",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Peer proportional",
|
|
columns: [
|
|
"1",
|
|
"Peer proportional",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"add_trackers\": \"\",",
|
|
),
|
|
Text(
|
|
" \"add_trackers_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"alt_dl_limit\": 10240,",
|
|
),
|
|
Text(
|
|
" \"alt_up_limit\": 10240,",
|
|
),
|
|
Text(
|
|
" \"alternative_webui_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"alternative_webui_path\": \"/home/user/Documents/qbit-webui\",",
|
|
),
|
|
Text(
|
|
" \"announce_ip\": \"\",",
|
|
),
|
|
Text(
|
|
" \"announce_to_all_tiers\": true,",
|
|
),
|
|
Text(
|
|
" \"announce_to_all_trackers\": false,",
|
|
),
|
|
Text(
|
|
" \"anonymous_mode\": false,",
|
|
),
|
|
Text(
|
|
" \"async_io_threads\": 4,",
|
|
),
|
|
Text(
|
|
" \"auto_delete_mode\": 0,",
|
|
),
|
|
Text(
|
|
" \"auto_tmm_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"autorun_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"autorun_program\": \"\",",
|
|
),
|
|
Text(
|
|
" \"banned_IPs\": \"\",",
|
|
),
|
|
Text(
|
|
" \"bittorrent_protocol\": 0,",
|
|
),
|
|
Text(
|
|
" \"bypass_auth_subnet_whitelist\": \"\",",
|
|
),
|
|
Text(
|
|
" \"bypass_auth_subnet_whitelist_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"bypass_local_auth\": false,",
|
|
),
|
|
Text(
|
|
" \"category_changed_tmm_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"checking_memory_use\": 32,",
|
|
),
|
|
Text(
|
|
" \"create_subfolder_enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"current_interface_address\": \"\",",
|
|
),
|
|
Text(
|
|
" \"current_network_interface\": \"\",",
|
|
),
|
|
Text(
|
|
" \"dht\": true,",
|
|
),
|
|
Text(
|
|
" \"disk_cache\": -1,",
|
|
),
|
|
Text(
|
|
" \"disk_cache_ttl\": 60,",
|
|
),
|
|
Text(
|
|
" \"dl_limit\": 0,",
|
|
),
|
|
Text(
|
|
" \"dont_count_slow_torrents\": false,",
|
|
),
|
|
Text(
|
|
" \"dyndns_domain\": \"changeme.dyndns.org\",",
|
|
),
|
|
Text(
|
|
" \"dyndns_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"dyndns_password\": \"\",",
|
|
),
|
|
Text(
|
|
" \"dyndns_service\": 0,",
|
|
),
|
|
Text(
|
|
" \"dyndns_username\": \"\",",
|
|
),
|
|
Text(
|
|
" \"embedded_tracker_port\": 9000,",
|
|
),
|
|
Text(
|
|
" \"enable_coalesce_read_write\": false,",
|
|
),
|
|
Text(
|
|
" \"enable_embedded_tracker\": false,",
|
|
),
|
|
Text(
|
|
" \"enable_multi_connections_from_same_ip\": false,",
|
|
),
|
|
Text(
|
|
" \"enable_os_cache\": true,",
|
|
),
|
|
Text(
|
|
" \"enable_piece_extent_affinity\": false,",
|
|
),
|
|
Text(
|
|
" \"enable_upload_suggestions\": false,",
|
|
),
|
|
Text(
|
|
" \"encryption\": 0,",
|
|
),
|
|
Text(
|
|
" \"export_dir\": \"/home/user/Downloads/all\",",
|
|
),
|
|
Text(
|
|
" \"export_dir_fin\": \"/home/user/Downloads/completed\",",
|
|
),
|
|
Text(
|
|
" \"file_pool_size\": 40,",
|
|
),
|
|
Text(
|
|
" \"incomplete_files_ext\": false,",
|
|
),
|
|
Text(
|
|
" \"ip_filter_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"ip_filter_path\": \"\",",
|
|
),
|
|
Text(
|
|
" \"ip_filter_trackers\": false,",
|
|
),
|
|
Text(
|
|
" \"limit_lan_peers\": true,",
|
|
),
|
|
Text(
|
|
" \"limit_tcp_overhead\": false,",
|
|
),
|
|
Text(
|
|
" \"limit_utp_rate\": true,",
|
|
),
|
|
Text(
|
|
" \"listen_port\": 58925,",
|
|
),
|
|
Text(
|
|
" \"locale\": \"en\",",
|
|
),
|
|
Text(
|
|
" \"lsd\": true,",
|
|
),
|
|
Text(
|
|
" \"mail_notification_auth_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"mail_notification_email\": \"\",",
|
|
),
|
|
Text(
|
|
" \"mail_notification_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"mail_notification_password\": \"\",",
|
|
),
|
|
Text(
|
|
" \"mail_notification_sender\": \"qBittorrent_notification@example.com\",",
|
|
),
|
|
Text(
|
|
" \"mail_notification_smtp\": \"smtp.changeme.com\",",
|
|
),
|
|
Text(
|
|
" \"mail_notification_ssl_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"mail_notification_username\": \"\",",
|
|
),
|
|
Text(
|
|
" \"max_active_downloads\": 3,",
|
|
),
|
|
Text(
|
|
" \"max_active_torrents\": 5,",
|
|
),
|
|
Text(
|
|
" \"max_active_uploads\": 3,",
|
|
),
|
|
Text(
|
|
" \"max_connec\": 500,",
|
|
),
|
|
Text(
|
|
" \"max_connec_per_torrent\": 100,",
|
|
),
|
|
Text(
|
|
" \"max_ratio\": -1,",
|
|
),
|
|
Text(
|
|
" \"max_ratio_act\": 0,",
|
|
),
|
|
Text(
|
|
" \"max_ratio_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"max_seeding_time\": -1,",
|
|
),
|
|
Text(
|
|
" \"max_seeding_time_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"max_uploads\": -1,",
|
|
),
|
|
Text(
|
|
" \"max_uploads_per_torrent\": -1,",
|
|
),
|
|
Text(
|
|
" \"outgoing_ports_max\": 0,",
|
|
),
|
|
Text(
|
|
" \"outgoing_ports_min\": 0,",
|
|
),
|
|
Text(
|
|
" \"pex\": true,",
|
|
),
|
|
Text(
|
|
" \"preallocate_all\": false,",
|
|
),
|
|
Text(
|
|
" \"proxy_auth_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"proxy_ip\": \"0.0.0.0\",",
|
|
),
|
|
Text(
|
|
" \"proxy_password\": \"\",",
|
|
),
|
|
Text(
|
|
" \"proxy_peer_connections\": false,",
|
|
),
|
|
Text(
|
|
" \"proxy_port\": 8080,",
|
|
),
|
|
Text(
|
|
" \"proxy_torrents_only\": false,",
|
|
),
|
|
Text(
|
|
" \"proxy_type\": 0,",
|
|
),
|
|
Text(
|
|
" \"proxy_username\": \"\",",
|
|
),
|
|
Text(
|
|
" \"queueing_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"random_port\": false,",
|
|
),
|
|
Text(
|
|
" \"recheck_completed_torrents\": false,",
|
|
),
|
|
Text(
|
|
" \"resolve_peer_countries\": true,",
|
|
),
|
|
Text(
|
|
" \"rss_auto_downloading_enabled\":true,",
|
|
),
|
|
Text(
|
|
" \"rss_download_repack_proper_episodes\":true,",
|
|
),
|
|
Text(
|
|
" \"rss_max_articles_per_feed\":50,",
|
|
),
|
|
Text(
|
|
" \"rss_processing_enabled\":true,",
|
|
),
|
|
Text(
|
|
" \"rss_refresh_interval\":30,",
|
|
),
|
|
Text(
|
|
" \"rss_smart_episode_filters\":\"s(\\\\d+)e(\\\\d+)\\n(\\\\d+)x(\\\\d+)\\n(\\\\d{4}[.\\\\-]\\\\d{1,2}[.\\\\-]\\\\d{1,2})\",",
|
|
),
|
|
Text(
|
|
" \"save_path\": \"/home/user/Downloads/\",",
|
|
),
|
|
Text(
|
|
" \"save_path_changed_tmm_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"save_resume_data_interval\": 60,",
|
|
),
|
|
Text(
|
|
" \"scan_dirs\":",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"/home/user/Downloads/incoming/games\": 0,",
|
|
),
|
|
Text(
|
|
" \"/home/user/Downloads/incoming/movies\": 1,",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" \"schedule_from_hour\": 8,",
|
|
),
|
|
Text(
|
|
" \"schedule_from_min\": 0,",
|
|
),
|
|
Text(
|
|
" \"schedule_to_hour\": 20,",
|
|
),
|
|
Text(
|
|
" \"schedule_to_min\": 0,",
|
|
),
|
|
Text(
|
|
" \"scheduler_days\": 0,",
|
|
),
|
|
Text(
|
|
" \"scheduler_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"send_buffer_low_watermark\": 10,",
|
|
),
|
|
Text(
|
|
" \"send_buffer_watermark\": 500,",
|
|
),
|
|
Text(
|
|
" \"send_buffer_watermark_factor\": 50,",
|
|
),
|
|
Text(
|
|
" \"slow_torrent_dl_rate_threshold\": 2,",
|
|
),
|
|
Text(
|
|
" \"slow_torrent_inactive_timer\": 60,",
|
|
),
|
|
Text(
|
|
" \"slow_torrent_ul_rate_threshold\": 2,",
|
|
),
|
|
Text(
|
|
" \"socket_backlog_size\": 30,",
|
|
),
|
|
Text(
|
|
" \"start_paused_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"stop_tracker_timeout\": 1,",
|
|
),
|
|
Text(
|
|
" \"temp_path\": \"/home/user/Downloads/temp\",",
|
|
),
|
|
Text(
|
|
" \"temp_path_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"torrent_changed_tmm_enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"up_limit\": 0,",
|
|
),
|
|
Text(
|
|
" \"upload_choking_algorithm\": 1,",
|
|
),
|
|
Text(
|
|
" \"upload_slots_behavior\": 0,",
|
|
),
|
|
Text(
|
|
" \"upnp\": true,",
|
|
),
|
|
Text(
|
|
" \"use_https\": false,",
|
|
),
|
|
Text(
|
|
" \"utp_tcp_mixed_mode\": 0,",
|
|
),
|
|
Text(
|
|
" \"web_ui_address\": \"*\",",
|
|
),
|
|
Text(
|
|
" \"web_ui_ban_duration\": 3600,",
|
|
),
|
|
Text(
|
|
" \"web_ui_clickjacking_protection_enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"web_ui_csrf_protection_enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"web_ui_custom_http_headers\": \"\",",
|
|
),
|
|
Text(
|
|
" \"web_ui_domain_list\": \"*\",",
|
|
),
|
|
Text(
|
|
" \"web_ui_host_header_validation_enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"web_ui_https_cert_path\": \"\",",
|
|
),
|
|
Text(
|
|
" \"web_ui_https_key_path\": \"\",",
|
|
),
|
|
Text(
|
|
" \"web_ui_max_auth_fail_count\": 5,",
|
|
),
|
|
Text(
|
|
" \"web_ui_port\": 8080,",
|
|
),
|
|
Text(
|
|
" \"web_ui_secure_cookie_enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"web_ui_session_timeout\": 3600,",
|
|
),
|
|
Text(
|
|
" \"web_ui_upnp\": false,",
|
|
),
|
|
Text(
|
|
" \"web_ui_use_custom_http_headers_enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"web_ui_username\": \"admin\"",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set application preferences",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setPreferences`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"A json object with key-value pairs of the settings you want to change and their new values.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"json={\"save_path\":\"C:/Users/Dayman/Downloads\",\"queueing_enabled\":false,\"scan_dirs\":{\"C:/Games\": 0,\"D:/Downloads\": 1}}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Notes**:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
" 1. There is no need to pass all possible preferences' `token:value` pairs if you only want to change one option",
|
|
),
|
|
Text(
|
|
" 1. Paths in `scan_dirs` must exist, otherwise this option will have no effect",
|
|
),
|
|
Text(
|
|
" 1. String values must be quoted; integer and boolean values must never be quoted",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"For a list of possible preference options see [Get application preferences](#get-application-preferences)",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get default save path",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `defaultSavePath`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a string with the default save path, e.g. `C:/Users/Dayman/Downloads`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Log",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All Log API methods are under \"log\", e.g.: `/api/v2/log/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Get log",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `main`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`normal` | bool | Include normal messages (default: `true`)",
|
|
columns: [
|
|
"normal",
|
|
"bool",
|
|
"Include normal messages (default: true)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`info` | bool | Include info messages (default: `true`)",
|
|
columns: [
|
|
"info",
|
|
"bool",
|
|
"Include info messages (default: true)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`warning` | bool | Include warning messages (default: `true`)",
|
|
columns: [
|
|
"warning",
|
|
"bool",
|
|
"Include warning messages (default: true)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`critical` | bool | Include critical messages (default: `true`)",
|
|
columns: [
|
|
"critical",
|
|
"bool",
|
|
"Include critical messages (default: true)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`last_known_id` | integer | Exclude messages with \"message id\" <= `last_known_id` (default: `-1`)",
|
|
columns: [
|
|
"last_known_id",
|
|
"integer",
|
|
"Exclude messages with \"message id\" <= last_known_id (default: -1)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/log/main?normal=true&info=true&warning=true&critical=true&last_known_id=-1",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array in which each element is an entry of the log.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Each element of the array has the following properties:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | integer | ID of the message",
|
|
columns: [
|
|
"id",
|
|
"integer",
|
|
"ID of the message",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`message` | string | Text of the message",
|
|
columns: [
|
|
"message",
|
|
"string",
|
|
"Text of the message",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`timestamp` | integer | Milliseconds since epoch",
|
|
columns: [
|
|
"timestamp",
|
|
"integer",
|
|
"Milliseconds since epoch",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`type` | integer | Type of the message: Log::NORMAL: `1`, Log::INFO: `2`, Log::WARNING: `4`, Log::CRITICAL: `8`",
|
|
columns: [
|
|
"type",
|
|
"integer",
|
|
"Type of the message: Log::NORMAL: 1, Log::INFO: 2, Log::WARNING: 4, Log::CRITICAL: 8",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":0,",
|
|
),
|
|
Text(
|
|
" \"message\":\"qBittorrent v3.4.0 started\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127860,",
|
|
),
|
|
Text(
|
|
" \"type\":1",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":1,",
|
|
),
|
|
Text(
|
|
" \"message\":\"qBittorrent is trying to listen on any interface port: 19036\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127869,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":2,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Peer ID: -qB3400-\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127870,",
|
|
),
|
|
Text(
|
|
" \"type\":1",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":3,",
|
|
),
|
|
Text(
|
|
" \"message\":\"HTTP User-Agent is 'qBittorrent/3.4.0'\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127870,",
|
|
),
|
|
Text(
|
|
" \"type\":1",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":4,",
|
|
),
|
|
Text(
|
|
" \"message\":\"DHT support [ON]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127871,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":5,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Local Peer Discovery support [ON]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127871,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":6,",
|
|
),
|
|
Text(
|
|
" \"message\":\"PeX support [ON]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127871,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":7,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Anonymous mode [OFF]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127871,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":8,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Encryption support [ON]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127871,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":9,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Embedded Tracker [OFF]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127871,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":10,",
|
|
),
|
|
Text(
|
|
" \"message\":\"UPnP / NAT-PMP support [ON]\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127873,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":11,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Web UI: Now listening on port 8080\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969127883,",
|
|
),
|
|
Text(
|
|
" \"type\":1",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":12,",
|
|
),
|
|
Text(
|
|
" \"message\":\"Options were saved successfully.\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969128055,",
|
|
),
|
|
Text(
|
|
" \"type\":1",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":13,",
|
|
),
|
|
Text(
|
|
" \"message\":\"qBittorrent is successfully listening on interface :: port: TCP/19036\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969128270,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":14,",
|
|
),
|
|
Text(
|
|
" \"message\":\"qBittorrent is successfully listening on interface 0.0.0.0 port: TCP/19036\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969128271,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\":15,",
|
|
),
|
|
Text(
|
|
" \"message\":\"qBittorrent is successfully listening on interface 0.0.0.0 port: UDP/19036\",",
|
|
),
|
|
Text(
|
|
" \"timestamp\":1507969128272,",
|
|
),
|
|
Text(
|
|
" \"type\":2",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get peer log",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `peers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`last_known_id` | integer | Exclude messages with \"message id\" <= `last_known_id` (default: `-1`)",
|
|
columns: [
|
|
"last_known_id",
|
|
"integer",
|
|
"Exclude messages with \"message id\" <= last_known_id (default: -1)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response a JSON array. Each element of the array of objects (each object is the information relative to a peer) containing the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | integer | ID of the peer",
|
|
columns: [
|
|
"id",
|
|
"integer",
|
|
"ID of the peer",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ip` | string | IP of the peer",
|
|
columns: [
|
|
"ip",
|
|
"string",
|
|
"IP of the peer",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`timestamp` | integer | Milliseconds since epoch",
|
|
columns: [
|
|
"timestamp",
|
|
"integer",
|
|
"Milliseconds since epoch",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`blocked` | boolean | Whether or not the peer was blocked",
|
|
columns: [
|
|
"blocked",
|
|
"boolean",
|
|
"Whether or not the peer was blocked",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`reason` | string | Reason of the block",
|
|
columns: [
|
|
"reason",
|
|
"string",
|
|
"Reason of the block",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Sync",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Sync API implements requests for obtaining changes since the last request.",
|
|
),
|
|
Text(
|
|
"All Sync API methods are under \"sync\", e.g.: `/api/v2/sync/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Get main data",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `maindata`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`rid` | integer | Response ID. If not provided, `rid=0` will be assumed. If the given `rid` is different from the one of last server reply, `full_update` will be `true` (see the server reply details for more info)",
|
|
columns: [
|
|
"rid",
|
|
"integer",
|
|
"Response ID. If not provided, rid=0 will be assumed. If the given rid is different from the one of last server reply, full_update will be true (see the server reply details for more info)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/sync/maindata?rid=14",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON object with the following possible fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------------------------|-----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`rid` | integer | Response ID",
|
|
columns: [
|
|
"rid",
|
|
"integer",
|
|
"Response ID",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`full_update` _optional_ | bool | Whether the response contains all the data or partial data",
|
|
columns: [
|
|
"full_update _optional_",
|
|
"bool",
|
|
"Whether the response contains all the data or partial data",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`torrents` _optional_ | object | Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object",
|
|
columns: [
|
|
"torrents _optional_",
|
|
"object",
|
|
"Property: torrent hash, value: same as [torrent list](#get-torrent-list), map from string to torrents object",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`torrents_removed` _optional_ | array | List of hashes of torrents removed since last request",
|
|
columns: [
|
|
"torrents_removed _optional_",
|
|
"array",
|
|
"List of hashes of torrents removed since last request",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`categories` _optional_ | object | Info for categories added since last request, map from string to categories object",
|
|
columns: [
|
|
"categories _optional_",
|
|
"object",
|
|
"Info for categories added since last request, map from string to categories object",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`categories_removed` _optional_ | array | List of categories removed since last request",
|
|
columns: [
|
|
"categories_removed _optional_",
|
|
"array",
|
|
"List of categories removed since last request",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tags` _optional_ | array | List of tags added since last request",
|
|
columns: [
|
|
"tags _optional_",
|
|
"array",
|
|
"List of tags added since last request",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tags_removed` _optional_ | array | List of tags removed since last request",
|
|
columns: [
|
|
"tags_removed _optional_",
|
|
"array",
|
|
"List of tags removed since last request",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`server_state` _optional_ | object | `server_state` object see table below",
|
|
columns: [
|
|
"server_state _optional_",
|
|
"object",
|
|
"server_state object see table below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"rid\":15,",
|
|
),
|
|
Text(
|
|
" \"torrents\":",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"8c212779b4abde7c6bc608063a0d008b7e40ce32\":",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"state\":\"pausedUP\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"ServerState object:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`average_time_queue` | integer | Average time queue",
|
|
columns: [
|
|
"average_time_queue",
|
|
"integer",
|
|
"Average time queue",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_info_data` | number | Download info data",
|
|
columns: [
|
|
"dl_info_data",
|
|
"number",
|
|
"Download info data",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_info_speed` | number | Download info speed",
|
|
columns: [
|
|
"dl_info_speed",
|
|
"number",
|
|
"Download info speed",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`queued_io_jobs` | integer | Queued io jobs",
|
|
columns: [
|
|
"queued_io_jobs",
|
|
"integer",
|
|
"Queued io jobs",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_buffers_size` | number | Total buffers size",
|
|
columns: [
|
|
"total_buffers_size",
|
|
"number",
|
|
"Total buffers size",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_peer_connections` | integer | Total peer connections",
|
|
columns: [
|
|
"total_peer_connections",
|
|
"integer",
|
|
"Total peer connections",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Categories object:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`name` | string | Category name",
|
|
columns: [
|
|
"name",
|
|
"string",
|
|
"Category name",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`savePath` | string | Save path",
|
|
columns: [
|
|
"savePath",
|
|
"string",
|
|
"Save path",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Torrents object:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------------------------|-----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`added_on`_optional_ | integer | Time (Unix Epoch) when the torrent was added to the client",
|
|
columns: [
|
|
"added_on_optional_",
|
|
"integer",
|
|
"Time (Unix Epoch) when the torrent was added to the client",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`amount_left`_optional_ | integer | Amount of data left to download (bytes)",
|
|
columns: [
|
|
"amount_left_optional_",
|
|
"integer",
|
|
"Amount of data left to download (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`auto_tmm`_optional_ | bool | Whether this torrent is managed by Automatic Torrent Management",
|
|
columns: [
|
|
"auto_tmm_optional_",
|
|
"bool",
|
|
"Whether this torrent is managed by Automatic Torrent Management",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`availability`_optional_ | float | Percentage of file pieces currently available",
|
|
columns: [
|
|
"availability_optional_",
|
|
"float",
|
|
"Percentage of file pieces currently available",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`category`_optional_ | string | Category of the torrent",
|
|
columns: [
|
|
"category_optional_",
|
|
"string",
|
|
"Category of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`completed`_optional_ | integer | Amount of transfer data completed (bytes)",
|
|
columns: [
|
|
"completed_optional_",
|
|
"integer",
|
|
"Amount of transfer data completed (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`completion_on`_optional_ | integer | Time (Unix Epoch) when the torrent completed",
|
|
columns: [
|
|
"completion_on_optional_",
|
|
"integer",
|
|
"Time (Unix Epoch) when the torrent completed",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`content_path`_optional_ | string | Absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents)",
|
|
columns: [
|
|
"content_path_optional_",
|
|
"string",
|
|
"Absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_limit`_optional_ | integer | Torrent download speed limit (bytes/s). `-1` if ulimited.",
|
|
columns: [
|
|
"dl_limit_optional_",
|
|
"integer",
|
|
"Torrent download speed limit (bytes/s). -1 if ulimited.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dlspeed`_optional_ | integer | Torrent download speed (bytes/s)",
|
|
columns: [
|
|
"dlspeed_optional_",
|
|
"integer",
|
|
"Torrent download speed (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`downloaded`_optional_ | integer | Amount of data downloaded",
|
|
columns: [
|
|
"downloaded_optional_",
|
|
"integer",
|
|
"Amount of data downloaded",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`downloaded_session`_optional_ | integer | Amount of data downloaded this session",
|
|
columns: [
|
|
"downloaded_session_optional_",
|
|
"integer",
|
|
"Amount of data downloaded this session",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`eta`_optional_ | integer | Torrent ETA (seconds)",
|
|
columns: [
|
|
"eta_optional_",
|
|
"integer",
|
|
"Torrent ETA (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`f_l_piece_prio`_optional_ | bool | True if first last piece are prioritized",
|
|
columns: [
|
|
"f_l_piece_prio_optional_",
|
|
"bool",
|
|
"True if first last piece are prioritized",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`force_start`_optional_ | bool | True if force start is enabled for this torrent",
|
|
columns: [
|
|
"force_start_optional_",
|
|
"bool",
|
|
"True if force start is enabled for this torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`hash`_optional_ | string | Torrent hash",
|
|
columns: [
|
|
"hash_optional_",
|
|
"string",
|
|
"Torrent hash",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`last_activity`_optional_ | integer | Last time (Unix Epoch) when a chunk was downloaded/uploaded",
|
|
columns: [
|
|
"last_activity_optional_",
|
|
"integer",
|
|
"Last time (Unix Epoch) when a chunk was downloaded/uploaded",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`magnet_uri`_optional_ | string | Magnet URI corresponding to this torrent",
|
|
columns: [
|
|
"magnet_uri_optional_",
|
|
"string",
|
|
"Magnet URI corresponding to this torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_ratio`_optional_ | float | Maximum share ratio until torrent is stopped from seeding/uploading",
|
|
columns: [
|
|
"max_ratio_optional_",
|
|
"float",
|
|
"Maximum share ratio until torrent is stopped from seeding/uploading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_seeding_time`_optional_ | integer | Maximum seeding time (seconds) until torrent is stopped from seeding",
|
|
columns: [
|
|
"max_seeding_time_optional_",
|
|
"integer",
|
|
"Maximum seeding time (seconds) until torrent is stopped from seeding",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`name`_optional_ | string | Torrent name",
|
|
columns: [
|
|
"name_optional_",
|
|
"string",
|
|
"Torrent name",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_complete`_optional_ | integer | Number of seeds in the swarm",
|
|
columns: [
|
|
"num_complete_optional_",
|
|
"integer",
|
|
"Number of seeds in the swarm",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_incomplete`_optional_ | integer | Number of leechers in the swarm",
|
|
columns: [
|
|
"num_incomplete_optional_",
|
|
"integer",
|
|
"Number of leechers in the swarm",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_leechs`_optional_ | integer | Number of leechers connected to",
|
|
columns: [
|
|
"num_leechs_optional_",
|
|
"integer",
|
|
"Number of leechers connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_seeds`_optional_ | integer | Number of seeds connected to",
|
|
columns: [
|
|
"num_seeds_optional_",
|
|
"integer",
|
|
"Number of seeds connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`priority`_optional_ | integer | Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode",
|
|
columns: [
|
|
"priority_optional_",
|
|
"integer",
|
|
"Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`progress`_optional_ | float | Torrent progress (percentage/100)",
|
|
columns: [
|
|
"progress_optional_",
|
|
"float",
|
|
"Torrent progress (percentage/100)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ratio`_optional_ | float | Torrent share ratio. Max ratio value: 9999.",
|
|
columns: [
|
|
"ratio_optional_",
|
|
"float",
|
|
"Torrent share ratio. Max ratio value: 9999.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ratio_limit`_optional_ | float | TODO (what is different from `max_ratio`?)",
|
|
columns: [
|
|
"ratio_limit_optional_",
|
|
"float",
|
|
"TODO (what is different from max_ratio?)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`save_path`_optional_ | string | Path where this torrent's data is stored",
|
|
columns: [
|
|
"save_path_optional_",
|
|
"string",
|
|
"Path where this torrent's data is stored",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeding_time`_optional_ | integer | Torrent elapsed time while complete (seconds)",
|
|
columns: [
|
|
"seeding_time_optional_",
|
|
"integer",
|
|
"Torrent elapsed time while complete (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeding_time_limit`_optional_ | integer | TODO (what is different from `max_seeding_time`?) seeding_time_limit is a per torrent setting, when Automatic Torrent Management is disabled, furthermore then max_seeding_time is set to seeding_time_limit for this torrent. If Automatic Torrent Management is enabled, the value is -2. And if max_seeding_time is unset it have a default value -1.",
|
|
columns: [
|
|
"seeding_time_limit_optional_",
|
|
"integer",
|
|
"TODO (what is different from max_seeding_time?) seeding_time_limit is a per torrent setting, when Automatic Torrent Management is disabled, furthermore then max_seeding_time is set to seeding_time_limit for this torrent. If Automatic Torrent Management is enabled, the value is -2. And if max_seeding_time is unset it have a default value -1.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seen_complete`_optional_ | integer | Time (Unix Epoch) when this torrent was last seen complete",
|
|
columns: [
|
|
"seen_complete_optional_",
|
|
"integer",
|
|
"Time (Unix Epoch) when this torrent was last seen complete",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seq_dl`_optional_ | bool | True if sequential download is enabled",
|
|
columns: [
|
|
"seq_dl_optional_",
|
|
"bool",
|
|
"True if sequential download is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`size`_optional_ | integer | Total size (bytes) of files selected for download",
|
|
columns: [
|
|
"size_optional_",
|
|
"integer",
|
|
"Total size (bytes) of files selected for download",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`state`_optional_ | string | Torrent state. See table here below for the possible values",
|
|
columns: [
|
|
"state_optional_",
|
|
"string",
|
|
"Torrent state. See table here below for the possible values",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`super_seeding`_optional_ | bool | True if super seeding is enabled",
|
|
columns: [
|
|
"super_seeding_optional_",
|
|
"bool",
|
|
"True if super seeding is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tags`_optional_ | string | Comma-concatenated tag list of the torrent",
|
|
columns: [
|
|
"tags_optional_",
|
|
"string",
|
|
"Comma-concatenated tag list of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`time_active`_optional_ | integer | Total active time (seconds)",
|
|
columns: [
|
|
"time_active_optional_",
|
|
"integer",
|
|
"Total active time (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_size`_optional_ | integer | Total size (bytes) of all file in this torrent (including unselected ones)",
|
|
columns: [
|
|
"total_size_optional_",
|
|
"integer",
|
|
"Total size (bytes) of all file in this torrent (including unselected ones)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tracker`_optional_ | string | The first tracker with working status. Returns empty string if no tracker is working.",
|
|
columns: [
|
|
"tracker_optional_",
|
|
"string",
|
|
"The first tracker with working status. Returns empty string if no tracker is working.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_limit`_optional_ | integer | Torrent upload speed limit (bytes/s). `-1` if ulimited.",
|
|
columns: [
|
|
"up_limit_optional_",
|
|
"integer",
|
|
"Torrent upload speed limit (bytes/s). -1 if ulimited.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`uploaded`_optional_ | integer | Amount of data uploaded",
|
|
columns: [
|
|
"uploaded_optional_",
|
|
"integer",
|
|
"Amount of data uploaded",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`uploaded_session`_optional_ | integer | Amount of data uploaded this session",
|
|
columns: [
|
|
"uploaded_session_optional_",
|
|
"integer",
|
|
"Amount of data uploaded this session",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upspeed`_optional_ | integer | Torrent upload speed (bytes/s)",
|
|
columns: [
|
|
"upspeed_optional_",
|
|
"integer",
|
|
"Torrent upload speed (bytes/s)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent peers data",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `torrentPeers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | Torrent hash",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"Torrent hash",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rid` | integer | Response ID. If not provided, `rid=0` will be assumed. If the given `rid` is different from the one of last server reply, `full_update` will be `true` (see the server reply details for more info)",
|
|
columns: [
|
|
"rid",
|
|
"integer",
|
|
"Response ID. If not provided, rid=0 will be assumed. If the given rid is different from the one of last server reply, full_update will be true (see the server reply details for more info)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/sync/torrentPeers?hash=8c212779b4abde7c6bc608063a0d008b7e40ce32?rid=14",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is TODO",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Transfer info",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All Transfer info API methods are under \"transfer\", e.g.: `/api/v2/transfer/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Get global transfer info",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"This method returns info you usually see in qBt status bar.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `info`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON object with the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`dl_info_speed` | integer | Global download rate (bytes/s)",
|
|
columns: [
|
|
"dl_info_speed",
|
|
"integer",
|
|
"Global download rate (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_info_data` | integer | Data downloaded this session (bytes)",
|
|
columns: [
|
|
"dl_info_data",
|
|
"integer",
|
|
"Data downloaded this session (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_info_speed` | integer | Global upload rate (bytes/s)",
|
|
columns: [
|
|
"up_info_speed",
|
|
"integer",
|
|
"Global upload rate (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_info_data` | integer | Data uploaded this session (bytes)",
|
|
columns: [
|
|
"up_info_data",
|
|
"integer",
|
|
"Data uploaded this session (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_rate_limit` | integer | Download rate limit (bytes/s)",
|
|
columns: [
|
|
"dl_rate_limit",
|
|
"integer",
|
|
"Download rate limit (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_rate_limit` | integer | Upload rate limit (bytes/s)",
|
|
columns: [
|
|
"up_rate_limit",
|
|
"integer",
|
|
"Upload rate limit (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dht_nodes` | integer | DHT nodes connected to",
|
|
columns: [
|
|
"dht_nodes",
|
|
"integer",
|
|
"DHT nodes connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`connection_status` | string | Connection status. See possible values here below",
|
|
columns: [
|
|
"connection_status",
|
|
"string",
|
|
"Connection status. See possible values here below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"In addition to the above in partial data requests (see [Get partial data](#get-partial-data) for more info):",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-----------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`queueing` | bool | True if torrent queueing is enabled",
|
|
columns: [
|
|
"queueing",
|
|
"bool",
|
|
"True if torrent queueing is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`use_alt_speed_limits` | bool | True if alternative speed limits are enabled",
|
|
columns: [
|
|
"use_alt_speed_limits",
|
|
"bool",
|
|
"True if alternative speed limits are enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`refresh_interval` | integer | Transfer list refresh interval (milliseconds)",
|
|
columns: [
|
|
"refresh_interval",
|
|
"integer",
|
|
"Transfer list refresh interval (milliseconds)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `connection_status`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Value |",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "--------------------|",
|
|
columns: [
|
|
"--------------------",
|
|
"",
|
|
],
|
|
},
|
|
split: "`connected` |",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`firewalled` |",
|
|
columns: [
|
|
"firewalled",
|
|
"",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`disconnected` |",
|
|
columns: [
|
|
"disconnected",
|
|
"",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"connection_status\":\"connected\",",
|
|
),
|
|
Text(
|
|
" \"dht_nodes\":386,",
|
|
),
|
|
Text(
|
|
" \"dl_info_data\":681521119,",
|
|
),
|
|
Text(
|
|
" \"dl_info_speed\":0,",
|
|
),
|
|
Text(
|
|
" \"dl_rate_limit\":0,",
|
|
),
|
|
Text(
|
|
" \"up_info_data\":10747904,",
|
|
),
|
|
Text(
|
|
" \"up_info_speed\":0,",
|
|
),
|
|
Text(
|
|
" \"up_rate_limit\":1048576",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get alternative speed limits state",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `speedLimitsMode`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is `1` if alternative speed limits are enabled, `0` otherwise.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Toggle alternative speed limits",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `toggleSpeedLimitsMode`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get global download limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `downloadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is the value of current global download speed limit in bytes/second; this value will be zero if no limit is applied.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set global download limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setDownloadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`limit` | integer | The global download speed limit to set in bytes/second",
|
|
columns: [
|
|
"limit",
|
|
"integer",
|
|
"The global download speed limit to set in bytes/second",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get global upload limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `uploadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is the value of current global upload speed limit in bytes/second; this value will be zero if no limit is applied.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set global upload limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setUploadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`limit` | integer | The global upload speed limit to set in bytes/second",
|
|
columns: [
|
|
"limit",
|
|
"integer",
|
|
"The global upload speed limit to set in bytes/second",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Ban peers",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `banPeers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`peers` | string | The peer to ban, or multiple peers separated by a pipe. Each peer is a colon-separated `host:port`",
|
|
columns: [
|
|
"peers",
|
|
"string",
|
|
"The peer to ban, or multiple peers separated by a pipe. Each peer is a colon-separated host:port",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Torrent management",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All Torrent management API methods are under \"torrents\", e.g.: `/api/v2/torrents/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent list",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `info`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`filter` _optional_ | string | Filter torrent list by state. Allowed state filters: `all`, `downloading`, `seeding`, `completed`, `paused`, `active`, `inactive`, `resumed`, `stalled`, `stalled_uploading`, `stalled_downloading`, `errored`",
|
|
columns: [
|
|
"filter _optional_",
|
|
"string",
|
|
"Filter torrent list by state. Allowed state filters: all, downloading, seeding, completed, paused, active, inactive, resumed, stalled, stalled_uploading, stalled_downloading, errored",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`category` _optional_ | string | Get torrents with the given category (empty string means \"without category\"; no \"category\" parameter means \"any category\" <- broken until [#11748](https://github.com/qbittorrent/qBittorrent/issues/11748) is resolved). Remember to URL-encode the category name. For example, `My category` becomes `My%20category`",
|
|
columns: [
|
|
"category _optional_",
|
|
"string",
|
|
"Get torrents with the given category (empty string means \"without category\"; no \"category\" parameter means \"any category\" <- broken until [#11748](https://github.com/qbittorrent/qBittorrent/issues/11748) is resolved). Remember to URL-encode the category name. For example, My category becomes My%20category",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tag` _optional_ | string | Get torrents with the given tag (empty string means \"without tag\"; no \"tag\" parameter means \"any tag\". Remember to URL-encode the category name. For example, `My tag` becomes `My%20tag`",
|
|
columns: [
|
|
"tag _optional_",
|
|
"string",
|
|
"Get torrents with the given tag (empty string means \"without tag\"; no \"tag\" parameter means \"any tag\". Remember to URL-encode the category name. For example, My tag becomes My%20tag",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`sort` _optional_ | string | Sort torrents by given key. They can be sorted using any field of the response (which are documented below) as the sort key.",
|
|
columns: [
|
|
"sort _optional_",
|
|
"string",
|
|
"Sort torrents by given key. They can be sorted using any field of the response (which are documented below) as the sort key.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`reverse` _optional_ | bool | Enable reverse sorting. Defaults to `false`",
|
|
columns: [
|
|
"reverse _optional_",
|
|
"bool",
|
|
"Enable reverse sorting. Defaults to false",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`limit` _optional_ | integer | Limit the number of torrents returned",
|
|
columns: [
|
|
"limit _optional_",
|
|
"integer",
|
|
"Limit the number of torrents returned",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`offset` _optional_ | integer | Set offset (if less than 0, offset from end)",
|
|
columns: [
|
|
"offset _optional_",
|
|
"integer",
|
|
"Set offset (if less than 0, offset from end)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`hashes` _optional_ | string | Filter by hashes. Can contain multiple hashes separated by a pipe",
|
|
columns: [
|
|
"hashes _optional_",
|
|
"string",
|
|
"Filter by hashes. Can contain multiple hashes separated by a pipe",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/info?filter=downloading&category=sample%20category&sort=ratio",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array with the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "---------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`added_on` | integer | Time (Unix Epoch) when the torrent was added to the client",
|
|
columns: [
|
|
"added_on",
|
|
"integer",
|
|
"Time (Unix Epoch) when the torrent was added to the client",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`amount_left` | integer | Amount of data left to download (bytes)",
|
|
columns: [
|
|
"amount_left",
|
|
"integer",
|
|
"Amount of data left to download (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`auto_tmm` | bool | Whether this torrent is managed by Automatic Torrent Management",
|
|
columns: [
|
|
"auto_tmm",
|
|
"bool",
|
|
"Whether this torrent is managed by Automatic Torrent Management",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`availability` | float | Percentage of file pieces currently available",
|
|
columns: [
|
|
"availability",
|
|
"float",
|
|
"Percentage of file pieces currently available",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`category` | string | Category of the torrent",
|
|
columns: [
|
|
"category",
|
|
"string",
|
|
"Category of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`completed` | integer | Amount of transfer data completed (bytes)",
|
|
columns: [
|
|
"completed",
|
|
"integer",
|
|
"Amount of transfer data completed (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`completion_on` | integer | Time (Unix Epoch) when the torrent completed",
|
|
columns: [
|
|
"completion_on",
|
|
"integer",
|
|
"Time (Unix Epoch) when the torrent completed",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`content_path` | string | Absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents)",
|
|
columns: [
|
|
"content_path",
|
|
"string",
|
|
"Absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_limit` | integer | Torrent download speed limit (bytes/s). `-1` if ulimited.",
|
|
columns: [
|
|
"dl_limit",
|
|
"integer",
|
|
"Torrent download speed limit (bytes/s). -1 if ulimited.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dlspeed` | integer | Torrent download speed (bytes/s)",
|
|
columns: [
|
|
"dlspeed",
|
|
"integer",
|
|
"Torrent download speed (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`downloaded` | integer | Amount of data downloaded",
|
|
columns: [
|
|
"downloaded",
|
|
"integer",
|
|
"Amount of data downloaded",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`downloaded_session` | integer | Amount of data downloaded this session",
|
|
columns: [
|
|
"downloaded_session",
|
|
"integer",
|
|
"Amount of data downloaded this session",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`eta` | integer | Torrent ETA (seconds)",
|
|
columns: [
|
|
"eta",
|
|
"integer",
|
|
"Torrent ETA (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`f_l_piece_prio` | bool | True if first last piece are prioritized",
|
|
columns: [
|
|
"f_l_piece_prio",
|
|
"bool",
|
|
"True if first last piece are prioritized",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`force_start` | bool | True if force start is enabled for this torrent",
|
|
columns: [
|
|
"force_start",
|
|
"bool",
|
|
"True if force start is enabled for this torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`hash` | string | Torrent hash",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"Torrent hash",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`last_activity` | integer | Last time (Unix Epoch) when a chunk was downloaded/uploaded",
|
|
columns: [
|
|
"last_activity",
|
|
"integer",
|
|
"Last time (Unix Epoch) when a chunk was downloaded/uploaded",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`magnet_uri` | string | Magnet URI corresponding to this torrent",
|
|
columns: [
|
|
"magnet_uri",
|
|
"string",
|
|
"Magnet URI corresponding to this torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_ratio` | float | Maximum share ratio until torrent is stopped from seeding/uploading",
|
|
columns: [
|
|
"max_ratio",
|
|
"float",
|
|
"Maximum share ratio until torrent is stopped from seeding/uploading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`max_seeding_time` | integer | Maximum seeding time (seconds) until torrent is stopped from seeding",
|
|
columns: [
|
|
"max_seeding_time",
|
|
"integer",
|
|
"Maximum seeding time (seconds) until torrent is stopped from seeding",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`name` | string | Torrent name",
|
|
columns: [
|
|
"name",
|
|
"string",
|
|
"Torrent name",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_complete` | integer | Number of seeds in the swarm",
|
|
columns: [
|
|
"num_complete",
|
|
"integer",
|
|
"Number of seeds in the swarm",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_incomplete` | integer | Number of leechers in the swarm",
|
|
columns: [
|
|
"num_incomplete",
|
|
"integer",
|
|
"Number of leechers in the swarm",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_leechs` | integer | Number of leechers connected to",
|
|
columns: [
|
|
"num_leechs",
|
|
"integer",
|
|
"Number of leechers connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_seeds` | integer | Number of seeds connected to",
|
|
columns: [
|
|
"num_seeds",
|
|
"integer",
|
|
"Number of seeds connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`priority` | integer | Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode",
|
|
columns: [
|
|
"priority",
|
|
"integer",
|
|
"Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`progress` | float | Torrent progress (percentage/100)",
|
|
columns: [
|
|
"progress",
|
|
"float",
|
|
"Torrent progress (percentage/100)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ratio` | float | Torrent share ratio. Max ratio value: 9999.",
|
|
columns: [
|
|
"ratio",
|
|
"float",
|
|
"Torrent share ratio. Max ratio value: 9999.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ratio_limit` | float | TODO (what is different from `max_ratio`?)",
|
|
columns: [
|
|
"ratio_limit",
|
|
"float",
|
|
"TODO (what is different from max_ratio?)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`save_path` | string | Path where this torrent's data is stored",
|
|
columns: [
|
|
"save_path",
|
|
"string",
|
|
"Path where this torrent's data is stored",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeding_time` | integer | Torrent elapsed time while complete (seconds)",
|
|
columns: [
|
|
"seeding_time",
|
|
"integer",
|
|
"Torrent elapsed time while complete (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeding_time_limit` | integer | TODO (what is different from `max_seeding_time`?) seeding_time_limit is a per torrent setting, when Automatic Torrent Management is disabled, furthermore then max_seeding_time is set to seeding_time_limit for this torrent. If Automatic Torrent Management is enabled, the value is -2. And if max_seeding_time is unset it have a default value -1.",
|
|
columns: [
|
|
"seeding_time_limit",
|
|
"integer",
|
|
"TODO (what is different from max_seeding_time?) seeding_time_limit is a per torrent setting, when Automatic Torrent Management is disabled, furthermore then max_seeding_time is set to seeding_time_limit for this torrent. If Automatic Torrent Management is enabled, the value is -2. And if max_seeding_time is unset it have a default value -1.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seen_complete` | integer | Time (Unix Epoch) when this torrent was last seen complete",
|
|
columns: [
|
|
"seen_complete",
|
|
"integer",
|
|
"Time (Unix Epoch) when this torrent was last seen complete",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seq_dl` | bool | True if sequential download is enabled",
|
|
columns: [
|
|
"seq_dl",
|
|
"bool",
|
|
"True if sequential download is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`size` | integer | Total size (bytes) of files selected for download",
|
|
columns: [
|
|
"size",
|
|
"integer",
|
|
"Total size (bytes) of files selected for download",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`state` | object | state object see table below.",
|
|
columns: [
|
|
"state",
|
|
"object",
|
|
"state object see table below.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`super_seeding` | bool | True if super seeding is enabled",
|
|
columns: [
|
|
"super_seeding",
|
|
"bool",
|
|
"True if super seeding is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tags` | string | Comma-concatenated tag list of the torrent",
|
|
columns: [
|
|
"tags",
|
|
"string",
|
|
"Comma-concatenated tag list of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`time_active` | integer | Total active time (seconds)",
|
|
columns: [
|
|
"time_active",
|
|
"integer",
|
|
"Total active time (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_size` | integer | Total size (bytes) of all file in this torrent (including unselected ones)",
|
|
columns: [
|
|
"total_size",
|
|
"integer",
|
|
"Total size (bytes) of all file in this torrent (including unselected ones)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tracker` | string | The first tracker with working status. Returns empty string if no tracker is working.",
|
|
columns: [
|
|
"tracker",
|
|
"string",
|
|
"The first tracker with working status. Returns empty string if no tracker is working.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_limit` | integer | Torrent upload speed limit (bytes/s). `-1` if ulimited.",
|
|
columns: [
|
|
"up_limit",
|
|
"integer",
|
|
"Torrent upload speed limit (bytes/s). -1 if ulimited.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`uploaded` | integer | Amount of data uploaded",
|
|
columns: [
|
|
"uploaded",
|
|
"integer",
|
|
"Amount of data uploaded",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`uploaded_session` | integer | Amount of data uploaded this session",
|
|
columns: [
|
|
"uploaded_session",
|
|
"integer",
|
|
"Amount of data uploaded this session",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upspeed` | integer | Torrent upload speed (bytes/s)",
|
|
columns: [
|
|
"upspeed",
|
|
"integer",
|
|
"Torrent upload speed (bytes/s)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `state`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`error` | Some error occurred, applies to paused torrents",
|
|
columns: [
|
|
"error",
|
|
"Some error occurred, applies to paused torrents",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`missingFiles`| Torrent data files is missing",
|
|
columns: [
|
|
"missingFiles",
|
|
"Torrent data files is missing",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`uploading` | Torrent is being seeded and data is being transferred",
|
|
columns: [
|
|
"uploading",
|
|
"Torrent is being seeded and data is being transferred",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`pausedUP` | Torrent is paused and has finished downloading",
|
|
columns: [
|
|
"pausedUP",
|
|
"Torrent is paused and has finished downloading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`queuedUP` | Queuing is enabled and torrent is queued for upload",
|
|
columns: [
|
|
"queuedUP",
|
|
"Queuing is enabled and torrent is queued for upload",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`stalledUP` | Torrent is being seeded, but no connection were made",
|
|
columns: [
|
|
"stalledUP",
|
|
"Torrent is being seeded, but no connection were made",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`checkingUP` | Torrent has finished downloading and is being checked",
|
|
columns: [
|
|
"checkingUP",
|
|
"Torrent has finished downloading and is being checked",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`forcedUP` | Torrent is forced to uploading and ignore queue limit",
|
|
columns: [
|
|
"forcedUP",
|
|
"Torrent is forced to uploading and ignore queue limit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`allocating` | Torrent is allocating disk space for download",
|
|
columns: [
|
|
"allocating",
|
|
"Torrent is allocating disk space for download",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`downloading` | Torrent is being downloaded and data is being transferred",
|
|
columns: [
|
|
"downloading",
|
|
"Torrent is being downloaded and data is being transferred",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`metaDL` | Torrent has just started downloading and is fetching metadata",
|
|
columns: [
|
|
"metaDL",
|
|
"Torrent has just started downloading and is fetching metadata",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`pausedDL` | Torrent is paused and has NOT finished downloading",
|
|
columns: [
|
|
"pausedDL",
|
|
"Torrent is paused and has NOT finished downloading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`queuedDL` | Queuing is enabled and torrent is queued for download",
|
|
columns: [
|
|
"queuedDL",
|
|
"Queuing is enabled and torrent is queued for download",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`stalledDL` | Torrent is being downloaded, but no connection were made",
|
|
columns: [
|
|
"stalledDL",
|
|
"Torrent is being downloaded, but no connection were made",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`checkingDL` | Same as checkingUP, but torrent has NOT finished downloading",
|
|
columns: [
|
|
"checkingDL",
|
|
"Same as checkingUP, but torrent has NOT finished downloading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`forcedDL` | Torrent is forced to downloading to ignore queue limit",
|
|
columns: [
|
|
"forcedDL",
|
|
"Torrent is forced to downloading to ignore queue limit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`checkingResumeData`| Checking resume data on qBt startup",
|
|
columns: [
|
|
"checkingResumeData",
|
|
"Checking resume data on qBt startup",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`moving` | Torrent is moving to another location",
|
|
columns: [
|
|
"moving",
|
|
"Torrent is moving to another location",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`unknown` | Unknown status",
|
|
columns: [
|
|
"unknown",
|
|
"Unknown status",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"dlspeed\":9681262,",
|
|
),
|
|
Text(
|
|
" \"eta\":87,",
|
|
),
|
|
Text(
|
|
" \"f_l_piece_prio\":false,",
|
|
),
|
|
Text(
|
|
" \"force_start\":false,",
|
|
),
|
|
Text(
|
|
" \"hash\":\"8c212779b4abde7c6bc608063a0d008b7e40ce32\",",
|
|
),
|
|
Text(
|
|
" \"category\":\"\",",
|
|
),
|
|
Text(
|
|
" \"tags\": \"\",",
|
|
),
|
|
Text(
|
|
" \"name\":\"debian-8.1.0-amd64-CD-1.iso\",",
|
|
),
|
|
Text(
|
|
" \"num_complete\":-1,",
|
|
),
|
|
Text(
|
|
" \"num_incomplete\":-1,",
|
|
),
|
|
Text(
|
|
" \"num_leechs\":2,",
|
|
),
|
|
Text(
|
|
" \"num_seeds\":54,",
|
|
),
|
|
Text(
|
|
" \"priority\":1,",
|
|
),
|
|
Text(
|
|
" \"progress\":0.16108787059783936,",
|
|
),
|
|
Text(
|
|
" \"ratio\":0,",
|
|
),
|
|
Text(
|
|
" \"seq_dl\":false,",
|
|
),
|
|
Text(
|
|
" \"size\":657457152,",
|
|
),
|
|
Text(
|
|
" \"state\":\"downloading\",",
|
|
),
|
|
Text(
|
|
" \"super_seeding\":false,",
|
|
),
|
|
Text(
|
|
" \"upspeed\":0",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" another_torrent_info",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent generic properties",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `properties`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|--------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent you want to get the generic properties of",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent you want to get the generic properties of",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON of objects containing the following fields:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`save_path` | string | Torrent save path",
|
|
columns: [
|
|
"save_path",
|
|
"string",
|
|
"Torrent save path",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`creation_date` | integer | Torrent creation date (Unix timestamp)",
|
|
columns: [
|
|
"creation_date",
|
|
"integer",
|
|
"Torrent creation date (Unix timestamp)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`piece_size` | integer | Torrent piece size (bytes)",
|
|
columns: [
|
|
"piece_size",
|
|
"integer",
|
|
"Torrent piece size (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`comment` | string | Torrent comment",
|
|
columns: [
|
|
"comment",
|
|
"string",
|
|
"Torrent comment",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_wasted` | integer | Total data wasted for torrent (bytes)",
|
|
columns: [
|
|
"total_wasted",
|
|
"integer",
|
|
"Total data wasted for torrent (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_uploaded` | integer | Total data uploaded for torrent (bytes)",
|
|
columns: [
|
|
"total_uploaded",
|
|
"integer",
|
|
"Total data uploaded for torrent (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_uploaded_session` | integer | Total data uploaded this session (bytes)",
|
|
columns: [
|
|
"total_uploaded_session",
|
|
"integer",
|
|
"Total data uploaded this session (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_downloaded` | integer | Total data downloaded for torrent (bytes)",
|
|
columns: [
|
|
"total_downloaded",
|
|
"integer",
|
|
"Total data downloaded for torrent (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_downloaded_session`| integer | Total data downloaded this session (bytes)",
|
|
columns: [
|
|
"total_downloaded_session",
|
|
"integer",
|
|
"Total data downloaded this session (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_limit` | integer | Torrent upload limit (bytes/s)",
|
|
columns: [
|
|
"up_limit",
|
|
"integer",
|
|
"Torrent upload limit (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_limit` | integer | Torrent download limit (bytes/s)",
|
|
columns: [
|
|
"dl_limit",
|
|
"integer",
|
|
"Torrent download limit (bytes/s)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`time_elapsed` | integer | Torrent elapsed time (seconds)",
|
|
columns: [
|
|
"time_elapsed",
|
|
"integer",
|
|
"Torrent elapsed time (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeding_time` | integer | Torrent elapsed time while complete (seconds)",
|
|
columns: [
|
|
"seeding_time",
|
|
"integer",
|
|
"Torrent elapsed time while complete (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`nb_connections` | integer | Torrent connection count",
|
|
columns: [
|
|
"nb_connections",
|
|
"integer",
|
|
"Torrent connection count",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`nb_connections_limit` | integer | Torrent connection count limit",
|
|
columns: [
|
|
"nb_connections_limit",
|
|
"integer",
|
|
"Torrent connection count limit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`share_ratio` | float | Torrent share ratio",
|
|
columns: [
|
|
"share_ratio",
|
|
"float",
|
|
"Torrent share ratio",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`addition_date` | integer | When this torrent was added (unix timestamp)",
|
|
columns: [
|
|
"addition_date",
|
|
"integer",
|
|
"When this torrent was added (unix timestamp)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`completion_date` | integer | Torrent completion date (unix timestamp)",
|
|
columns: [
|
|
"completion_date",
|
|
"integer",
|
|
"Torrent completion date (unix timestamp)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`created_by` | string | Torrent creator",
|
|
columns: [
|
|
"created_by",
|
|
"string",
|
|
"Torrent creator",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_speed_avg` | integer | Torrent average download speed (bytes/second)",
|
|
columns: [
|
|
"dl_speed_avg",
|
|
"integer",
|
|
"Torrent average download speed (bytes/second)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dl_speed` | integer | Torrent download speed (bytes/second)",
|
|
columns: [
|
|
"dl_speed",
|
|
"integer",
|
|
"Torrent download speed (bytes/second)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`eta` | integer | Torrent ETA (seconds)",
|
|
columns: [
|
|
"eta",
|
|
"integer",
|
|
"Torrent ETA (seconds)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`last_seen` | integer | Last seen complete date (unix timestamp)",
|
|
columns: [
|
|
"last_seen",
|
|
"integer",
|
|
"Last seen complete date (unix timestamp)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`peers` | integer | Number of peers connected to",
|
|
columns: [
|
|
"peers",
|
|
"integer",
|
|
"Number of peers connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`peers_total` | integer | Number of peers in the swarm",
|
|
columns: [
|
|
"peers_total",
|
|
"integer",
|
|
"Number of peers in the swarm",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`pieces_have` | integer | Number of pieces owned",
|
|
columns: [
|
|
"pieces_have",
|
|
"integer",
|
|
"Number of pieces owned",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`pieces_num` | integer | Number of pieces of the torrent",
|
|
columns: [
|
|
"pieces_num",
|
|
"integer",
|
|
"Number of pieces of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`reannounce` | integer | Number of seconds until the next announce",
|
|
columns: [
|
|
"reannounce",
|
|
"integer",
|
|
"Number of seconds until the next announce",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeds` | integer | Number of seeds connected to",
|
|
columns: [
|
|
"seeds",
|
|
"integer",
|
|
"Number of seeds connected to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seeds_total` | integer | Number of seeds in the swarm",
|
|
columns: [
|
|
"seeds_total",
|
|
"integer",
|
|
"Number of seeds in the swarm",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total_size` | integer | Torrent total size (bytes)",
|
|
columns: [
|
|
"total_size",
|
|
"integer",
|
|
"Torrent total size (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_speed_avg` | integer | Torrent average upload speed (bytes/second)",
|
|
columns: [
|
|
"up_speed_avg",
|
|
"integer",
|
|
"Torrent average upload speed (bytes/second)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`up_speed` | integer | Torrent upload speed (bytes/second)",
|
|
columns: [
|
|
"up_speed",
|
|
"integer",
|
|
"Torrent upload speed (bytes/second)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"NB: `-1` is returned if the type of the property is integer but its value is not known.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"addition_date\":1438429165,",
|
|
),
|
|
Text(
|
|
" \"comment\":\"\\\"Debian CD from cdimage.debian.org\\\"\",",
|
|
),
|
|
Text(
|
|
" \"completion_date\":1438429234,",
|
|
),
|
|
Text(
|
|
" \"created_by\":\"\",",
|
|
),
|
|
Text(
|
|
" \"creation_date\":1433605214,",
|
|
),
|
|
Text(
|
|
" \"dl_limit\":-1,",
|
|
),
|
|
Text(
|
|
" \"dl_speed\":0,",
|
|
),
|
|
Text(
|
|
" \"dl_speed_avg\":9736015,",
|
|
),
|
|
Text(
|
|
" \"eta\":8640000,",
|
|
),
|
|
Text(
|
|
" \"last_seen\":1438430354,",
|
|
),
|
|
Text(
|
|
" \"nb_connections\":3,",
|
|
),
|
|
Text(
|
|
" \"nb_connections_limit\":250,",
|
|
),
|
|
Text(
|
|
" \"peers\":1,",
|
|
),
|
|
Text(
|
|
" \"peers_total\":89,",
|
|
),
|
|
Text(
|
|
" \"piece_size\":524288,",
|
|
),
|
|
Text(
|
|
" \"pieces_have\":1254,",
|
|
),
|
|
Text(
|
|
" \"pieces_num\":1254,",
|
|
),
|
|
Text(
|
|
" \"reannounce\":672,",
|
|
),
|
|
Text(
|
|
" \"save_path\":\"/Downloads/debian-8.1.0-amd64-CD-1.iso\",",
|
|
),
|
|
Text(
|
|
" \"seeding_time\":1128,",
|
|
),
|
|
Text(
|
|
" \"seeds\":1,",
|
|
),
|
|
Text(
|
|
" \"seeds_total\":254,",
|
|
),
|
|
Text(
|
|
" \"share_ratio\":0.00072121022562178299,",
|
|
),
|
|
Text(
|
|
" \"time_elapsed\":1197,",
|
|
),
|
|
Text(
|
|
" \"total_downloaded\":681521119,",
|
|
),
|
|
Text(
|
|
" \"total_downloaded_session\":681521119,",
|
|
),
|
|
Text(
|
|
" \"total_size\":657457152,",
|
|
),
|
|
Text(
|
|
" \"total_uploaded\":491520,",
|
|
),
|
|
Text(
|
|
" \"total_uploaded_session\":491520,",
|
|
),
|
|
Text(
|
|
" \"total_wasted\":23481724,",
|
|
),
|
|
Text(
|
|
" \"up_limit\":-1,",
|
|
),
|
|
Text(
|
|
" \"up_speed\":0,",
|
|
),
|
|
Text(
|
|
" \"up_speed_avg\":410",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent trackers",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `trackers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|--------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent you want to get the trackers of",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent you want to get the trackers of",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array, where each element contains info about one tracker, with the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-----------------|----------|-------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`url` | string | Tracker url",
|
|
columns: [
|
|
"url",
|
|
"string",
|
|
"Tracker url",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`status` | integer | Tracker status. See the table below for possible values",
|
|
columns: [
|
|
"status",
|
|
"integer",
|
|
"Tracker status. See the table below for possible values",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tier` | integer | Tracker priority tier. Lower tier trackers are tried before higher tiers. Tier numbers are valid when `>= 0`, `< 0` is used as placeholder when `tier` does not exist for special entries (such as DHT).",
|
|
columns: [
|
|
"tier",
|
|
"integer",
|
|
"Tracker priority tier. Lower tier trackers are tried before higher tiers. Tier numbers are valid when >= 0, < 0 is used as placeholder when tier does not exist for special entries (such as DHT).",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_peers` | integer | Number of peers for current torrent, as reported by the tracker",
|
|
columns: [
|
|
"num_peers",
|
|
"integer",
|
|
"Number of peers for current torrent, as reported by the tracker",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_seeds` | integer | Number of seeds for current torrent, asreported by the tracker",
|
|
columns: [
|
|
"num_seeds",
|
|
"integer",
|
|
"Number of seeds for current torrent, asreported by the tracker",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_leeches` | integer | Number of leeches for current torrent, as reported by the tracker",
|
|
columns: [
|
|
"num_leeches",
|
|
"integer",
|
|
"Number of leeches for current torrent, as reported by the tracker",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`num_downloaded` | integer | Number of completed downlods for current torrent, as reported by the tracker",
|
|
columns: [
|
|
"num_downloaded",
|
|
"integer",
|
|
"Number of completed downlods for current torrent, as reported by the tracker",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`msg` | string | Tracker message (there is no way of knowing what this message is - it's up to tracker admins)",
|
|
columns: [
|
|
"msg",
|
|
"string",
|
|
"Tracker message (there is no way of knowing what this message is - it's up to tracker admins)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `status`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "0 | Tracker is disabled (used for DHT, PeX, and LSD)",
|
|
columns: [
|
|
"0",
|
|
"Tracker is disabled (used for DHT, PeX, and LSD)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "1 | Tracker has not been contacted yet",
|
|
columns: [
|
|
"1",
|
|
"Tracker has not been contacted yet",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "2 | Tracker has been contacted and is working",
|
|
columns: [
|
|
"2",
|
|
"Tracker has been contacted and is working",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "3 | Tracker is updating",
|
|
columns: [
|
|
"3",
|
|
"Tracker is updating",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "4 | Tracker has been contacted, but it is not working (or doesn't send proper replies)",
|
|
columns: [
|
|
"4",
|
|
"Tracker has been contacted, but it is not working (or doesn't send proper replies)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"msg\":\"\",",
|
|
),
|
|
Text(
|
|
" \"num_peers\":100,",
|
|
),
|
|
Text(
|
|
" \"status\":2,",
|
|
),
|
|
Text(
|
|
" \"url\":\"http://bttracker.debian.org:6969/announce\"",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" another_tracker_info",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent web seeds",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `webseeds`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|--------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent you want to get the webseeds of",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent you want to get the webseeds of",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array, where each element is information about one webseed, with the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`url` | string | URL of the web seed",
|
|
columns: [
|
|
"url",
|
|
"string",
|
|
"URL of the web seed",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"url\":\"http://some_url/\"",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"url\":\"http://some_other_url/\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent contents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `files`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|--------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent you want to get the contents of",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent you want to get the contents of",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`indexes` _optional_ | string | The indexes of the files you want to retrieve. `indexes` can contain multiple values separated by a pipe.",
|
|
columns: [
|
|
"indexes _optional_",
|
|
"string",
|
|
"The indexes of the files you want to retrieve. indexes can contain multiple values separated by a pipe.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array of objects containing the following fields:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "---------------|---------------|-------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`index` | integer | File index",
|
|
columns: [
|
|
"index",
|
|
"integer",
|
|
"File index",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`name` | string | File name (including relative path)",
|
|
columns: [
|
|
"name",
|
|
"string",
|
|
"File name (including relative path)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`size` | integer | File size (bytes)",
|
|
columns: [
|
|
"size",
|
|
"integer",
|
|
"File size (bytes)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`progress` | float | File progress (percentage/100)",
|
|
columns: [
|
|
"progress",
|
|
"float",
|
|
"File progress (percentage/100)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`priority` | object | priority object see table below. File priority. See possible values here below",
|
|
columns: [
|
|
"priority",
|
|
"object",
|
|
"priority object see table below. File priority. See possible values here below",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`is_seed` _optional_ | bool | True if file is seeding/complete",
|
|
columns: [
|
|
"is_seed _optional_",
|
|
"bool",
|
|
"True if file is seeding/complete",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`piece_range` | integer array | The first number is the starting piece index and the second number is the ending piece index (inclusive)",
|
|
columns: [
|
|
"piece_range",
|
|
"integer array",
|
|
"The first number is the starting piece index and the second number is the ending piece index (inclusive)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`availability` | float | Percentage of file pieces currently available (percentage/100)",
|
|
columns: [
|
|
"availability",
|
|
"float",
|
|
"Percentage of file pieces currently available (percentage/100)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `priority`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Do not download",
|
|
columns: [
|
|
"0",
|
|
"Do not download",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Normal priority",
|
|
columns: [
|
|
"1",
|
|
"Normal priority",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`4` | Default Normal priority",
|
|
columns: [
|
|
"4",
|
|
"Default Normal priority",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`6` | High priority",
|
|
columns: [
|
|
"6",
|
|
"High priority",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`7` | Maximal priority",
|
|
columns: [
|
|
"7",
|
|
"Maximal priority",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"index\":0,",
|
|
),
|
|
Text(
|
|
" \"is_seed\":false,",
|
|
),
|
|
Text(
|
|
" \"name\":\"debian-8.1.0-amd64-CD-1.iso\",",
|
|
),
|
|
Text(
|
|
" \"piece_range\":[0,1253],",
|
|
),
|
|
Text(
|
|
" \"priority\":1,",
|
|
),
|
|
Text(
|
|
" \"progress\":0,",
|
|
),
|
|
Text(
|
|
" \"size\":657457152,",
|
|
),
|
|
Text(
|
|
" \"availability\":0.5,",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent pieces' states",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `pieceStates`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|--------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent you want to get the pieces' states of",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent you want to get the pieces' states of",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array of `return_objects`;",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `return_objects`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Not downloaded yet",
|
|
columns: [
|
|
"0",
|
|
"Not downloaded yet",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`1` | Now downloading",
|
|
columns: [
|
|
"1",
|
|
"Now downloading",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`2` | Already downloaded",
|
|
columns: [
|
|
"2",
|
|
"Already downloaded",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[0,0,2,1,0,0,2,1]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent pieces' hashes",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `pieceHashes`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------|--------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent you want to get the pieces' hashes of",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent you want to get the pieces' hashes of",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array of hashes (strings).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[\"54eddd830a5b58480a6143d616a97e3a6c23c439\",\"f8a99d225aa4241db100f88407fc3bdaead583ab\",\"928fb615b9bd4dd8f9e9022552c8f8f37ef76f58\"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Pause torrents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `pause`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to pause. `hashes` can contain multiple hashes separated by a pipe, to pause multiple torrents, or set to `all`, to pause all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to pause. hashes can contain multiple hashes separated by a pipe, to pause multiple torrents, or set to all, to pause all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/pause?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Resume torrents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `resume`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to resume. `hashes` can contain multiple hashes separated by a pipe, to resume multiple torrents, or set to `all`, to resume all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to resume. hashes can contain multiple hashes separated by a pipe, to resume multiple torrents, or set to all, to resume all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/resume?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Delete torrents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `delete`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to delete. `hashes` can contain multiple hashes separated by a pipe, to delete multiple torrents, or set to `all`, to delete all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to delete. hashes can contain multiple hashes separated by a pipe, to delete multiple torrents, or set to all, to delete all torrents.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`deleteFiles` | bool | If set to `true`, the downloaded data will also be deleted, otherwise has no effect.",
|
|
columns: [
|
|
"deleteFiles",
|
|
"bool",
|
|
"If set to true, the downloaded data will also be deleted, otherwise has no effect.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/delete?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32&deleteFiles=false",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Recheck torrents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `recheck`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to recheck. `hashes` can contain multiple hashes separated by a pipe, to recheck multiple torrents, or set to `all`, to recheck all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to recheck. hashes can contain multiple hashes separated by a pipe, to recheck multiple torrents, or set to all, to recheck all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/recheck?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Reannounce torrents",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hashes. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `reannounce`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to reannounce. `hashes` can contain multiple hashes separated by a pipe, to reannounce multiple torrents, or set to `all`, to reannounce all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to reannounce. hashes can contain multiple hashes separated by a pipe, to reannounce multiple torrents, or set to all, to reannounce all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/reannounce?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Add new torrent",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"This method can add torrents from server local file or from URLs. `http://`, `https://`, `magnet:` and `bc://bt/` links are supported.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `add`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Add torrent from URLs example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/add HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: multipart/form-data; boundary=---------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"urls\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"https://torcache.net/torrent/3B1A1469C180F447B77021074DBBCCAEF62611E7.torrent",
|
|
),
|
|
Text(
|
|
"https://torcache.net/torrent/3B1A1469C180F447B77021074DBBCCAEF62611E8.torrent",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"savepath\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"C:/Users/qBit/Downloads",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"cookie\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"ui=28979218048197",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"category\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"movies",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"skip_checking\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"true",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"paused\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"true",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"root_folder\"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"true",
|
|
),
|
|
Text(
|
|
"-----------------------------6688794727912--",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Add torrents from files example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/add HTTP/1.1",
|
|
),
|
|
Text(
|
|
"Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"---------------------------acebdf13572468",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"torrents\"; filename=\"8f18036b7a205c9347cb84a253975e12f7adddf2.torrent\"",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-bittorrent",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"file_binary_data_goes_here",
|
|
),
|
|
Text(
|
|
"---------------------------acebdf13572468",
|
|
),
|
|
Text(
|
|
"Content-Disposition: form-data; name=\"torrents\"; filename=\"UFS.torrent\"",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-bittorrent",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"file_binary_data_goes_here",
|
|
),
|
|
Text(
|
|
"---------------------------acebdf13572468--",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The above example will add two torrent files. `file_binary_data_goes_here` represents raw data of torrent file (basically a byte array).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Property | Type | Description",
|
|
columns: [
|
|
"Property",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "--------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`urls` | string | URLs separated with newlines",
|
|
columns: [
|
|
"urls",
|
|
"string",
|
|
"URLs separated with newlines",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`torrents` | raw | Raw data of torrent file. `torrents` can be presented multiple times.",
|
|
columns: [
|
|
"torrents",
|
|
"raw",
|
|
"Raw data of torrent file. torrents can be presented multiple times.",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`savepath` _optional_ | string | Download folder",
|
|
columns: [
|
|
"savepath _optional_",
|
|
"string",
|
|
"Download folder",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`cookie` _optional_ | string | Cookie sent to download the .torrent file",
|
|
columns: [
|
|
"cookie _optional_",
|
|
"string",
|
|
"Cookie sent to download the .torrent file",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`category` _optional_ | string | Category for the torrent",
|
|
columns: [
|
|
"category _optional_",
|
|
"string",
|
|
"Category for the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`tags` _optional_ | string | Tags for the torrent, split by ','",
|
|
columns: [
|
|
"tags _optional_",
|
|
"string",
|
|
"Tags for the torrent, split by ','",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`skip_checking` _optional_ | string | Skip hash checking. Possible values are `true`, `false` (default)",
|
|
columns: [
|
|
"skip_checking _optional_",
|
|
"string",
|
|
"Skip hash checking. Possible values are true, false (default)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`paused` _optional_ | string | Add torrents in the paused state. Possible values are `true`, `false` (default)",
|
|
columns: [
|
|
"paused _optional_",
|
|
"string",
|
|
"Add torrents in the paused state. Possible values are true, false (default)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`root_folder` _optional_ | string | Create the root folder. Possible values are `true`, `false`, unset (default)",
|
|
columns: [
|
|
"root_folder _optional_",
|
|
"string",
|
|
"Create the root folder. Possible values are true, false, unset (default)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`rename` _optional_ | string | Rename torrent",
|
|
columns: [
|
|
"rename _optional_",
|
|
"string",
|
|
"Rename torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`upLimit` _optional_ | integer | Set torrent upload speed limit. Unit in bytes/second",
|
|
columns: [
|
|
"upLimit _optional_",
|
|
"integer",
|
|
"Set torrent upload speed limit. Unit in bytes/second",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`dlLimit` _optional_ | integer | Set torrent download speed limit. Unit in bytes/second",
|
|
columns: [
|
|
"dlLimit _optional_",
|
|
"integer",
|
|
"Set torrent download speed limit. Unit in bytes/second",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ratioLimit` _optional_ | float | Set torrent share ratio limit",
|
|
columns: [
|
|
"ratioLimit _optional_",
|
|
"float",
|
|
"Set torrent share ratio limit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`seedingTimeLimit` _optional_ | integer | Set torrent seeding time limit. Unit in seconds",
|
|
columns: [
|
|
"seedingTimeLimit _optional_",
|
|
"integer",
|
|
"Set torrent seeding time limit. Unit in seconds",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`autoTMM` _optional_ | bool | Whether Automatic Torrent Management should be used",
|
|
columns: [
|
|
"autoTMM _optional_",
|
|
"bool",
|
|
"Whether Automatic Torrent Management should be used",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`sequentialDownload` _optional_ | string | Enable sequential download. Possible values are `true`, `false` (default)",
|
|
columns: [
|
|
"sequentialDownload _optional_",
|
|
"string",
|
|
"Enable sequential download. Possible values are true, false (default)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`firstLastPiecePrio` _optional_ | string | Prioritize download first last piece. Possible values are `true`, `false` (default)",
|
|
columns: [
|
|
"firstLastPiecePrio _optional_",
|
|
"string",
|
|
"Prioritize download first last piece. Possible values are true, false (default)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "415 | Torrent file is not valid",
|
|
columns: [
|
|
"415",
|
|
"Torrent file is not valid",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Add trackers to torrent",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `addTrackers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/addTrackers HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hash=8c212779b4abde7c6bc608063a0d008b7e40ce32&urls=http://192.168.0.1/announce%0Audp://192.168.0.1:3333/dummyAnnounce",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"This adds two trackers to torrent with hash `8c212779b4abde7c6bc608063a0d008b7e40ce32`. Note `%0A` (aka LF newline) between trackers. Ampersand in tracker urls **MUST** be escaped.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Edit trackers",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `editTracker`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`origUrl` | string | The tracker URL you want to edit",
|
|
columns: [
|
|
"origUrl",
|
|
"string",
|
|
"The tracker URL you want to edit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`newUrl` | string | The new URL to replace the `origUrl`",
|
|
columns: [
|
|
"newUrl",
|
|
"string",
|
|
"The new URL to replace the origUrl",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | `newUrl` is not a valid URL",
|
|
columns: [
|
|
"400",
|
|
"newUrl is not a valid URL",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | `newUrl` already exists for the torrent",
|
|
columns: [
|
|
"409",
|
|
"newUrl already exists for the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | `origUrl` was not found",
|
|
columns: [
|
|
"409",
|
|
"origUrl was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Remove trackers",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `removeTrackers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`urls` | string | URLs to remove, separated by a pipe",
|
|
columns: [
|
|
"urls",
|
|
"string",
|
|
"URLs to remove, separated by a pipe",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | All `urls` were not found",
|
|
columns: [
|
|
"409",
|
|
"All urls were not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Add peers",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `addPeers`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hash of the torrent, or multiple hashes separated by a pipe",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hash of the torrent, or multiple hashes separated by a pipe",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`peers` | string | The peer to add, or multiple peers separated by a pipe. Each peer is a colon-separated `host:port`",
|
|
columns: [
|
|
"peers",
|
|
"string",
|
|
"The peer to add, or multiple peers separated by a pipe. Each peer is a colon-separated host:port",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | None of the supplied peers are valid",
|
|
columns: [
|
|
"400",
|
|
"None of the supplied peers are valid",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Increase torrent priority",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `increasePrio`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to increase the priority of. `hashes` can contain multiple hashes separated by a pipe, to increase the priority of multiple torrents, or set to `all`, to increase the priority of all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to increase the priority of. hashes can contain multiple hashes separated by a pipe, to increase the priority of multiple torrents, or set to all, to increase the priority of all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/increasePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Torrent queueing is not enabled",
|
|
columns: [
|
|
"409",
|
|
"Torrent queueing is not enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Decrease torrent priority",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `decreasePrio`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to decrease the priority of. `hashes` can contain multiple hashes separated by a pipe, to decrease the priority of multiple torrents, or set to `all`, to decrease the priority of all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to decrease the priority of. hashes can contain multiple hashes separated by a pipe, to decrease the priority of multiple torrents, or set to all, to decrease the priority of all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/decreasePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Torrent queueing is not enabled",
|
|
columns: [
|
|
"409",
|
|
"Torrent queueing is not enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Maximal torrent priority",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `topPrio`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to set to the maximum priority. `hashes` can contain multiple hashes separated by a pipe, to set multiple torrents to the maximum priority, or set to `all`, to set all torrents to the maximum priority.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to set to the maximum priority. hashes can contain multiple hashes separated by a pipe, to set multiple torrents to the maximum priority, or set to all, to set all torrents to the maximum priority.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/topPrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Torrent queueing is not enabled",
|
|
columns: [
|
|
"409",
|
|
"Torrent queueing is not enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Minimal torrent priority",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `bottomPrio`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to set to the minimum priority. `hashes` can contain multiple hashes separated by a pipe, to set multiple torrents to the minimum priority, or set to `all`, to set all torrents to the minimum priority.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to set to the minimum priority. hashes can contain multiple hashes separated by a pipe, to set multiple torrents to the minimum priority, or set to all, to set all torrents to the minimum priority.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/bottomPrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Torrent queueing is not enabled",
|
|
columns: [
|
|
"409",
|
|
"Torrent queueing is not enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set file priority",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `filePrio`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`id` | string | File ids, separated by a pipe",
|
|
columns: [
|
|
"id",
|
|
"string",
|
|
"File ids, separated by a pipe",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`priority` | object | priority object see table below. File priority to set (consult [torrent contents API](#get-torrent-contents) for possible values)",
|
|
columns: [
|
|
"priority",
|
|
"object",
|
|
"priority object see table below. File priority to set (consult [torrent contents API](#get-torrent-contents) for possible values)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`id` values correspond to file position inside the array returned by [torrent contents API](#get-torrent-contents), e.g. `id=0` for first file, `id=1` for second file, etc.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Since 2.8.2 it is reccomended to use `index` field returned by [torrent contents API](#get-torrent-contents) (since the files can be filtered and the `index` value may differ from the position inside the response array).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Possible values of `priority`:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Value | Description",
|
|
columns: [
|
|
"Value",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "-----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`0` | Do not download",
|
|
columns: [
|
|
"0",
|
|
"Do not download",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`4` | Normal priority",
|
|
columns: [
|
|
"4",
|
|
"Normal priority",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`6` | High priority",
|
|
columns: [
|
|
"6",
|
|
"High priority",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`7` | Maximal priority",
|
|
columns: [
|
|
"7",
|
|
"Maximal priority",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | Priority is invalid",
|
|
columns: [
|
|
"400",
|
|
"Priority is invalid",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "400 | At least one file `id` is not a valid integer",
|
|
columns: [
|
|
"400",
|
|
"At least one file id is not a valid integer",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "404 | Torrent hash was not found",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Torrent metadata hasn't downloaded yet",
|
|
columns: [
|
|
"409",
|
|
"Torrent metadata hasn't downloaded yet",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | At least one file `id` was not found",
|
|
columns: [
|
|
"409",
|
|
"At least one file id was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent download limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `downloadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/downloadLimit HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Server reply (example):",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"HTTP/1.1 200 OK",
|
|
),
|
|
Text(
|
|
"content-type: application/json",
|
|
),
|
|
Text(
|
|
"content-length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"{\"8c212779b4abde7c6bc608063a0d008b7e40ce32\":338944,\"284b83c9c7935002391129fd97f43db5d7cc2ba0\":123}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`8c212779b4abde7c6bc608063a0d008b7e40ce32` is the hash of the torrent and `338944` its download speed limit in bytes per second; this value will be zero if no limit is applied.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set torrent download limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setDownloadLimit HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`limit` is the download speed limit in bytes per second you want to set.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set torrent share limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setShareLimits`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setShareLimits HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&ratioLimit=1.0&seedingTimeLimit=60",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`ratioLimit` is the max ratio the torrent should be seeded until. `-2` means the global limit should be used, `-1` means no limit.",
|
|
),
|
|
Text(
|
|
"`seedingTimeLimit` is the max amount of time the torrent should be seeded. `-2` means the global limit should be used, `-1` means no limit.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get torrent upload limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `uploadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/uploadLimit HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Server reply (example):",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"HTTP/1.1 200 OK",
|
|
),
|
|
Text(
|
|
"content-type: application/json",
|
|
),
|
|
Text(
|
|
"content-length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"{\"8c212779b4abde7c6bc608063a0d008b7e40ce32\":338944,\"284b83c9c7935002391129fd97f43db5d7cc2ba0\":123}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`8c212779b4abde7c6bc608063a0d008b7e40ce32` is the hash of the torrent in the request and `338944` its upload speed limit in bytes per second; this value will be zero if no limit is applied.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set torrent upload limit",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setUploadLimit`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setUploadLimit HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`limit` is the upload speed limit in bytes per second you want to set.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set torrent location",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setLocation`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setLocation HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&location=/mnt/nfs/media",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`location` is the location to download the torrent to. If the location doesn't exist, the torrent's location is unchanged.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | Save path is empty",
|
|
columns: [
|
|
"400",
|
|
"Save path is empty",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "403 | User does not have write access to directory",
|
|
columns: [
|
|
"403",
|
|
"User does not have write access to directory",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Unable to create save path directory",
|
|
columns: [
|
|
"409",
|
|
"Unable to create save path directory",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set torrent name",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `rename`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/rename HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hash=8c212779b4abde7c6bc608063a0d008b7e40ce32&name=This%20is%20a%20test",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Torrent hash is invalid",
|
|
columns: [
|
|
"404",
|
|
"Torrent hash is invalid",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Torrent name is empty",
|
|
columns: [
|
|
"409",
|
|
"Torrent name is empty",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set torrent category",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setCategory`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setCategory HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&category=CategoryName",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`category` is the torrent category you want to set.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Category name does not exist",
|
|
columns: [
|
|
"409",
|
|
"Category name does not exist",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get all categories",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `categories`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Returns all categories in JSON format, e.g.:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"Video\": {",
|
|
),
|
|
Text(
|
|
" \"name\": \"Video\",",
|
|
),
|
|
Text(
|
|
" \"savePath\": \"/home/user/torrents/video/\"",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" \"eBooks\": {",
|
|
),
|
|
Text(
|
|
" \"name\": \"eBooks\",",
|
|
),
|
|
Text(
|
|
" \"savePath\": \"/home/user/torrents/eBooks/\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Add new category",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `createCategory`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/createCategory HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"category=CategoryName&savePath=/path/to/dir",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`category` is the category you want to create.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | Category name is empty",
|
|
columns: [
|
|
"400",
|
|
"Category name is empty",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Category name is invalid",
|
|
columns: [
|
|
"409",
|
|
"Category name is invalid",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Edit category",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `editCategory`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/editCategory HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"category=CategoryName&savePath=/path/to/save/torrents/to",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | Category name is empty",
|
|
columns: [
|
|
"400",
|
|
"Category name is empty",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Category editing failed",
|
|
columns: [
|
|
"409",
|
|
"Category editing failed",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Remove categories",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `removeCategories`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/removeCategories HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"categories=Category1%0ACategory2",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`categories` can contain multiple cateogies separated by `\\n` (%0A urlencoded)",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Add torrent tags",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `addTags`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/addTags HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&tags=TagName1,TagName2",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`tags` is the list of tags you want to add to passed torrents.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Remove torrent tags",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `removeTags`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/removeTags HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&tags=TagName1,TagName2",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`tags` is the list of tags you want to remove from passed torrents.",
|
|
),
|
|
Text(
|
|
"Empty list removes all tags from relevant torrents.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get all tags",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `tags`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Returns all tags in JSON format, e.g.:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" \"Tag 1\",",
|
|
),
|
|
Text(
|
|
" \"Tag 2\"",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Create tags",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `createTags`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/createTags HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"tags=TagName1,TagName2",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"`tags` is a list of tags you want to create.",
|
|
),
|
|
Text(
|
|
"Can contain multiple tags separated by `,`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Delete tags",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `deleteTags`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/deleteTags HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"tags=TagName1,TagName2",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`tags` is a list of tags you want to delete.",
|
|
),
|
|
Text(
|
|
"Can contain multiple tags separated by `,`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set automatic torrent management",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setAutoManagement`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setAutoManagement HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&enable=true",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`enable` is a boolean, affects the torrents listed in `hashes`, default is `false`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Toggle sequential download",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `toggleSequentialDownload`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to toggle sequential download for. `hashes` can contain multiple hashes separated by a pipe, to toggle sequential download for multiple torrents, or set to `all`, to toggle sequential download for all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to toggle sequential download for. hashes can contain multiple hashes separated by a pipe, to toggle sequential download for multiple torrents, or set to all, to toggle sequential download for all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/toggleSequentialDownload?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set first/last piece priority",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `toggleFirstLastPiecePrio`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hashes` | string | The hashes of the torrents you want to toggle the first/last piece priority for. `hashes` can contain multiple hashes separated by a pipe, to toggle the first/last piece priority for multiple torrents, or set to `all`, to toggle the first/last piece priority for all torrents.",
|
|
columns: [
|
|
"hashes",
|
|
"string",
|
|
"The hashes of the torrents you want to toggle the first/last piece priority for. hashes can contain multiple hashes separated by a pipe, to toggle the first/last piece priority for multiple torrents, or set to all, to toggle the first/last piece priority for all torrents.",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"/api/v2/torrents/toggleFirstLastPiecePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set force start",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setForceStart`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setForceStart HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32?value=true",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`value` is a boolean, affects the torrents listed in `hashes`, default is `false`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set super seeding",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Requires knowing the torrent hash. You can get it from [torrent list](#get-torrent-list).",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setSuperSeeding`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```http",
|
|
),
|
|
Text(
|
|
"POST /api/v2/torrents/setSuperSeeding HTTP/1.1",
|
|
),
|
|
Text(
|
|
"User-Agent: Fiddler",
|
|
),
|
|
Text(
|
|
"Host: 127.0.0.1",
|
|
),
|
|
Text(
|
|
"Cookie: SID=your_sid",
|
|
),
|
|
Text(
|
|
"Content-Type: application/x-www-form-urlencoded",
|
|
),
|
|
Text(
|
|
"Content-Length: length",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32?value=true",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"`hashes` can contain multiple hashes separated by `|` or set to `all`",
|
|
),
|
|
Text(
|
|
"`value` is a boolean, affects the torrents listed in `hashes`, default is `false`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Rename file",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `renameFile`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`oldPath` | string | The old path of the torrent",
|
|
columns: [
|
|
"oldPath",
|
|
"string",
|
|
"The old path of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`newPath` | string | The new path to use for the file",
|
|
columns: [
|
|
"newPath",
|
|
"string",
|
|
"The new path to use for the file",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | Missing `newPath` parameter",
|
|
columns: [
|
|
"400",
|
|
"Missing newPath parameter",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Invalid `newPath` or `oldPath`, or `newPath` already in use",
|
|
columns: [
|
|
"409",
|
|
"Invalid newPath or oldPath, or newPath already in use",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Rename folder",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `renameFolder`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|----------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`hash` | string | The hash of the torrent",
|
|
columns: [
|
|
"hash",
|
|
"string",
|
|
"The hash of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`oldPath` | string | The old path of the torrent",
|
|
columns: [
|
|
"oldPath",
|
|
"string",
|
|
"The old path of the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`newPath` | string | The new path to use for the file",
|
|
columns: [
|
|
"newPath",
|
|
"string",
|
|
"The new path to use for the file",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "400 | Missing `newPath` parameter",
|
|
columns: [
|
|
"400",
|
|
"Missing newPath parameter",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Invalid `newPath` or `oldPath`, or `newPath` already in use",
|
|
columns: [
|
|
"409",
|
|
"Invalid newPath or oldPath, or newPath already in use",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"RSS (experimental)",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All RSS API methods are under \"rss\", e.g.: `/api/v2/rss/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Add folder",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `addFolder`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`path` | string | Full path of added folder (e.g. \"The Pirate Bay\\Top100\")",
|
|
columns: [
|
|
"path",
|
|
"string",
|
|
"Full path of added folder (e.g. \"The Pirate Bay\\Top100\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Failure to add folder",
|
|
columns: [
|
|
"409",
|
|
"Failure to add folder",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Add feed",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `addFeed`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`url` | string | URL of RSS feed (e.g. \"[http://thepiratebay.org/rss//top100/200](http://thepiratebay.org/rss//top100/200)\")",
|
|
columns: [
|
|
"url",
|
|
"string",
|
|
"URL of RSS feed (e.g. \"[http://thepiratebay.org/rss//top100/200](http://thepiratebay.org/rss//top100/200)\")",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`path` _optional_ | string | Full path of added folder (e.g. \"The Pirate Bay\\Top100\\Video\")",
|
|
columns: [
|
|
"path _optional_",
|
|
"string",
|
|
"Full path of added folder (e.g. \"The Pirate Bay\\Top100\\Video\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Failure to add feed",
|
|
columns: [
|
|
"409",
|
|
"Failure to add feed",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Remove item",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Removes folder or feed.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `removeItem`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`path` | string | Full path of removed item (e.g. \"The Pirate Bay\\Top100\")",
|
|
columns: [
|
|
"path",
|
|
"string",
|
|
"Full path of removed item (e.g. \"The Pirate Bay\\Top100\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Failure to remove item",
|
|
columns: [
|
|
"409",
|
|
"Failure to remove item",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Move item",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Moves/renames folder or feed.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `moveItem`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`itemPath` | string | Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
|
|
columns: [
|
|
"itemPath",
|
|
"string",
|
|
"Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`destPath` | string | New full path of item (e.g. \"The Pirate Bay\")",
|
|
columns: [
|
|
"destPath",
|
|
"string",
|
|
"New full path of item (e.g. \"The Pirate Bay\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | Failure to move item",
|
|
columns: [
|
|
"409",
|
|
"Failure to move item",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get all items",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `items`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`withData` _optional_ | bool | True if you need current feed articles",
|
|
columns: [
|
|
"withData _optional_",
|
|
"bool",
|
|
"True if you need current feed articles",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Returns all RSS items in JSON format, e.g.:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"HD-Torrents.org\": \"https://hd-torrents.org/rss.php\",",
|
|
),
|
|
Text(
|
|
" \"PowerfulJRE\": \"https://www.youtube.com/feeds/videos.xml?channel_id=UCzQUP1qoWDoEbmsQxvdjxgQ\",",
|
|
),
|
|
Text(
|
|
" \"The Pirate Bay\": {",
|
|
),
|
|
Text(
|
|
" \"Audio\": \"https://thepiratebay.org/rss//top100/100\",",
|
|
),
|
|
Text(
|
|
" \"Video\": \"https://thepiratebay.org/rss//top100/200\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Mark as read",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"If `articleId` is provided only the article is marked as read otherwise the whole feed is going to be marked as read.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `markAsRead`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`itemPath` | string | Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
|
|
columns: [
|
|
"itemPath",
|
|
"string",
|
|
"Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`articleId` _optional_ | string | ID of article",
|
|
columns: [
|
|
"articleId _optional_",
|
|
"string",
|
|
"ID of article",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Refresh item",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Refreshes folder or feed.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `refreshItem`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`itemPath` | string | Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
|
|
columns: [
|
|
"itemPath",
|
|
"string",
|
|
"Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Set auto-downloading rule",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `setRule`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`ruleName` | string | Rule name (e.g. \"Punisher\")",
|
|
columns: [
|
|
"ruleName",
|
|
"string",
|
|
"Rule name (e.g. \"Punisher\")",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ruleDef` | string | JSON encoded rule definition",
|
|
columns: [
|
|
"ruleDef",
|
|
"string",
|
|
"JSON encoded rule definition",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Rule definition is JSON encoded dictionary with the following fields:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`enabled` | bool | Whether the rule is enabled",
|
|
columns: [
|
|
"enabled",
|
|
"bool",
|
|
"Whether the rule is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mustContain` | string | The substring that the torrent name must contain",
|
|
columns: [
|
|
"mustContain",
|
|
"string",
|
|
"The substring that the torrent name must contain",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`mustNotContain` | string | The substring that the torrent name must not contain",
|
|
columns: [
|
|
"mustNotContain",
|
|
"string",
|
|
"The substring that the torrent name must not contain",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`useRegex` | bool | Enable regex mode in \"mustContain\" and \"mustNotContain\"",
|
|
columns: [
|
|
"useRegex",
|
|
"bool",
|
|
"Enable regex mode in \"mustContain\" and \"mustNotContain\"",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`episodeFilter` | string | Episode filter definition",
|
|
columns: [
|
|
"episodeFilter",
|
|
"string",
|
|
"Episode filter definition",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`smartFilter` | bool | Enable smart episode filter",
|
|
columns: [
|
|
"smartFilter",
|
|
"bool",
|
|
"Enable smart episode filter",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`previouslyMatchedEpisodes` | list | The list of episode IDs already matched by smart filter",
|
|
columns: [
|
|
"previouslyMatchedEpisodes",
|
|
"list",
|
|
"The list of episode IDs already matched by smart filter",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`affectedFeeds` | list | The feed URLs the rule applied to",
|
|
columns: [
|
|
"affectedFeeds",
|
|
"list",
|
|
"The feed URLs the rule applied to",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`ignoreDays` | number | Ignore sunsequent rule matches",
|
|
columns: [
|
|
"ignoreDays",
|
|
"number",
|
|
"Ignore sunsequent rule matches",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`lastMatch` | string | The rule last match time",
|
|
columns: [
|
|
"lastMatch",
|
|
"string",
|
|
"The rule last match time",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`addPaused` | bool | Add matched torrent in paused mode",
|
|
columns: [
|
|
"addPaused",
|
|
"bool",
|
|
"Add matched torrent in paused mode",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`assignedCategory` | string | Assign category to the torrent",
|
|
columns: [
|
|
"assignedCategory",
|
|
"string",
|
|
"Assign category to the torrent",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`savePath` | string | Save torrent to the given directory",
|
|
columns: [
|
|
"savePath",
|
|
"string",
|
|
"Save torrent to the given directory",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"E.g.:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"mustContain\": \"The *Punisher*\",",
|
|
),
|
|
Text(
|
|
" \"mustNotContain\": \"\",",
|
|
),
|
|
Text(
|
|
" \"useRegex\": false,",
|
|
),
|
|
Text(
|
|
" \"episodeFilter\": \"1x01-;\",",
|
|
),
|
|
Text(
|
|
" \"smartFilter\": false,",
|
|
),
|
|
Text(
|
|
" \"previouslyMatchedEpisodes\": [",
|
|
),
|
|
Text(
|
|
" ],",
|
|
),
|
|
Text(
|
|
" \"affectedFeeds\": [",
|
|
),
|
|
Text(
|
|
" \"http://showrss.info/user/134567.rss?magnets=true\"",
|
|
),
|
|
Text(
|
|
" ],",
|
|
),
|
|
Text(
|
|
" \"ignoreDays\": 0,",
|
|
),
|
|
Text(
|
|
" \"lastMatch\": \"20 Nov 2017 09:05:11\",",
|
|
),
|
|
Text(
|
|
" \"addPaused\": true,",
|
|
),
|
|
Text(
|
|
" \"assignedCategory\": \"\",",
|
|
),
|
|
Text(
|
|
" \"savePath\": \"C:/Users/JohnDoe/Downloads/Punisher\"",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Rename auto-downloading rule",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `renameRule`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`ruleName` | string | Rule name (e.g. \"Punisher\")",
|
|
columns: [
|
|
"ruleName",
|
|
"string",
|
|
"Rule name (e.g. \"Punisher\")",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`newRuleName` | string | New rule name (e.g. \"The Punisher\")",
|
|
columns: [
|
|
"newRuleName",
|
|
"string",
|
|
"New rule name (e.g. \"The Punisher\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Remove auto-downloading rule",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `removeRule`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`ruleName` | string | Rule name (e.g. \"Punisher\")",
|
|
columns: [
|
|
"ruleName",
|
|
"string",
|
|
"Rule name (e.g. \"Punisher\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get all auto-downloading rules",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `rules`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Returns all auto-downloading rules in JSON format, e.g.:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"The Punisher\": {",
|
|
),
|
|
Text(
|
|
" \"enabled\": false,",
|
|
),
|
|
Text(
|
|
" \"mustContain\": \"The *Punisher*\",",
|
|
),
|
|
Text(
|
|
" \"mustNotContain\": \"\",",
|
|
),
|
|
Text(
|
|
" \"useRegex\": false,",
|
|
),
|
|
Text(
|
|
" \"episodeFilter\": \"1x01-;\",",
|
|
),
|
|
Text(
|
|
" \"smartFilter\": false,",
|
|
),
|
|
Text(
|
|
" \"previouslyMatchedEpisodes\": [",
|
|
),
|
|
Text(
|
|
" ],",
|
|
),
|
|
Text(
|
|
" \"affectedFeeds\": [",
|
|
),
|
|
Text(
|
|
" \"http://showrss.info/user/134567.rss?magnets=true\"",
|
|
),
|
|
Text(
|
|
" ],",
|
|
),
|
|
Text(
|
|
" \"ignoreDays\": 0,",
|
|
),
|
|
Text(
|
|
" \"lastMatch\": \"20 Nov 2017 09:05:11\",",
|
|
),
|
|
Text(
|
|
" \"addPaused\": true,",
|
|
),
|
|
Text(
|
|
" \"assignedCategory\": \"\",",
|
|
),
|
|
Text(
|
|
" \"savePath\": \"C:/Users/JohnDoe/Downloads/Punisher\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get all articles matching a rule",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `matchingArticles`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`ruleName` | string | Rule name (e.g. \"Linux\")",
|
|
columns: [
|
|
"ruleName",
|
|
"string",
|
|
"Rule name (e.g. \"Linux\")",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Returns all articles that match a rule by feed name in JSON format, e.g.:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"DistroWatch\":[",
|
|
),
|
|
Text(
|
|
" \"sparkylinux-5.11-i686-minimalgui.iso.torrent\",",
|
|
),
|
|
Text(
|
|
" \"sparkylinux-5.11-x86_64-minimalgui.iso.torrent\",",
|
|
),
|
|
Text(
|
|
" \"sparkylinux-5.11-i686-xfce.iso.torrent\",",
|
|
),
|
|
Text(
|
|
" \"bluestar-linux-5.6.3-2020.04.09-x86_64.iso.torrent\",",
|
|
),
|
|
Text(
|
|
" \"robolinux64-mate3d-v10.10.iso.torrent\",",
|
|
),
|
|
Text(
|
|
" ],",
|
|
),
|
|
Text(
|
|
" \"Linuxtracker\":[",
|
|
),
|
|
Text(
|
|
" \"[Alpine Linux] alpine-extended-3.11.6\",",
|
|
),
|
|
Text(
|
|
" \"[Alpine Linux] alpine-standard-3.11.6\",",
|
|
),
|
|
Text(
|
|
" \"[Linuxfx] linuxfx10-wxs-lts-beta5.iso\",",
|
|
),
|
|
Text(
|
|
" \"[Linux Lite] linux-lite-5.0-rc1-64bit.iso (MULTI)\",",
|
|
),
|
|
Text(
|
|
" \"[Scientific Linux] SL-7.8-x86_64-Pack\",",
|
|
),
|
|
Text(
|
|
" \"[NixOS] nixos-plasma5-20.03.1418.5272327b81e-x86_64-linux.iso\"",
|
|
),
|
|
Text(
|
|
" ]",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Search",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"All Search API methods are under \"search\", e.g.: `/api/v2/search/methodName`.",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [
|
|
TokenTree {
|
|
title: Some(
|
|
"Start search",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `start`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`pattern` | string | Pattern to search for (e.g. \"Ubuntu 18.04\")",
|
|
columns: [
|
|
"pattern",
|
|
"string",
|
|
"Pattern to search for (e.g. \"Ubuntu 18.04\")",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`plugins` | string | Plugins to use for searching (e.g. \"legittorrents\"). Supports multiple plugins separated by a pipe. Also supports `all` and `enabled`",
|
|
columns: [
|
|
"plugins",
|
|
"string",
|
|
"Plugins to use for searching (e.g. \"legittorrents\"). Supports multiple plugins separated by a pipe. Also supports all and enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`category` | string | Categories to limit your search to (e.g. \"legittorrents\"). Available categories depend on the specified `plugins`. Also supports `all`",
|
|
columns: [
|
|
"category",
|
|
"string",
|
|
"Categories to limit your search to (e.g. \"legittorrents\"). Available categories depend on the specified plugins. Also supports all",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "409 | User has reached the limit of max `Running` searches (currently set to 5)",
|
|
columns: [
|
|
"409",
|
|
"User has reached the limit of max Running searches (currently set to 5)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON object with the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | number | ID of the search job",
|
|
columns: [
|
|
"id",
|
|
"number",
|
|
"ID of the search job",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"id\": 12345",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Stop search",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `stop`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | number | ID of the search job",
|
|
columns: [
|
|
"id",
|
|
"number",
|
|
"ID of the search job",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Search job was not found",
|
|
columns: [
|
|
"404",
|
|
"Search job was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get search status",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `status`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` _optional_ | number | ID of the search job. If not specified, all search jobs are returned",
|
|
columns: [
|
|
"id _optional_",
|
|
"number",
|
|
"ID of the search job. If not specified, all search jobs are returned",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Search job was not found",
|
|
columns: [
|
|
"404",
|
|
"Search job was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array of objects containing the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | number | ID of the search job",
|
|
columns: [
|
|
"id",
|
|
"number",
|
|
"ID of the search job",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`status` | string | Current status of the search job (either `Running` or `Stopped`)",
|
|
columns: [
|
|
"status",
|
|
"string",
|
|
"Current status of the search job (either Running or Stopped)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total` | number | Total number of results. If the status is `Running` this number may contineu to increase",
|
|
columns: [
|
|
"total",
|
|
"number",
|
|
"Total number of results. If the status is Running this number may contineu to increase",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"id\": 12345,",
|
|
),
|
|
Text(
|
|
" \"status\": \"Running\",",
|
|
),
|
|
Text(
|
|
" \"total\": 170",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get search results",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `results`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | number | ID of the search job",
|
|
columns: [
|
|
"id",
|
|
"number",
|
|
"ID of the search job",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`limit` _optional_ | number | max number of results to return. 0 or negative means no limit",
|
|
columns: [
|
|
"limit _optional_",
|
|
"number",
|
|
"max number of results to return. 0 or negative means no limit",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`offset` _optional_ | number | result to start at. A negative number means count backwards (e.g. `-2` returns the 2 most recent results)",
|
|
columns: [
|
|
"offset _optional_",
|
|
"number",
|
|
"result to start at. A negative number means count backwards (e.g. -2 returns the 2 most recent results)",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Search job was not found",
|
|
columns: [
|
|
"404",
|
|
"Search job was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "409 | Offset is too large, or too small (e.g. absolute value of negative number is greater than # results)",
|
|
columns: [
|
|
"409",
|
|
"Offset is too large, or too small (e.g. absolute value of negative number is greater than # results)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON object with the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`results` | array | Array of `result` objects- see table below",
|
|
columns: [
|
|
"results",
|
|
"array",
|
|
"Array of result objects- see table below",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`status` | string | Current status of the search job (either `Running` or `Stopped`)",
|
|
columns: [
|
|
"status",
|
|
"string",
|
|
"Current status of the search job (either Running or Stopped)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`total` | number | Total number of results. If the status is `Running` this number may continue to increase",
|
|
columns: [
|
|
"total",
|
|
"number",
|
|
"Total number of results. If the status is Running this number may continue to increase",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Result object:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`descrLink` | string | URL of the torrent's description page",
|
|
columns: [
|
|
"descrLink",
|
|
"string",
|
|
"URL of the torrent's description page",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`fileName` | string | Name of the file",
|
|
columns: [
|
|
"fileName",
|
|
"string",
|
|
"Name of the file",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`fileSize` | number | Size of the file in Bytes",
|
|
columns: [
|
|
"fileSize",
|
|
"number",
|
|
"Size of the file in Bytes",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`fileUrl` | string | Torrent download link (usually either .torrent file or magnet link)",
|
|
columns: [
|
|
"fileUrl",
|
|
"string",
|
|
"Torrent download link (usually either .torrent file or magnet link)",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`nbLeechers` | number | Number of leechers",
|
|
columns: [
|
|
"nbLeechers",
|
|
"number",
|
|
"Number of leechers",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`nbSeeders` | number | Number of seeders",
|
|
columns: [
|
|
"nbSeeders",
|
|
"number",
|
|
"Number of seeders",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`siteUrl` | string | URL of the torrent site",
|
|
columns: [
|
|
"siteUrl",
|
|
"string",
|
|
"URL of the torrent site",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Example:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"{",
|
|
),
|
|
Text(
|
|
" \"results\": [",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"descrLink\": \"http://www.legittorrents.info/index.php?page=torrent-details&id=8d5f512e1acb687029b8d7cc6c5a84dce51d7a41\",",
|
|
),
|
|
Text(
|
|
" \"fileName\": \"Ubuntu-10.04-32bit-NeTV.ova\",",
|
|
),
|
|
Text(
|
|
" \"fileSize\": -1,",
|
|
),
|
|
Text(
|
|
" \"fileUrl\": \"http://www.legittorrents.info/download.php?id=8d5f512e1acb687029b8d7cc6c5a84dce51d7a41&f=Ubuntu-10.04-32bit-NeTV.ova.torrent\",",
|
|
),
|
|
Text(
|
|
" \"nbLeechers\": 1,",
|
|
),
|
|
Text(
|
|
" \"nbSeeders\": 0,",
|
|
),
|
|
Text(
|
|
" \"siteUrl\": \"http://www.legittorrents.info\"",
|
|
),
|
|
Text(
|
|
" },",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"descrLink\": \"http://www.legittorrents.info/index.php?page=torrent-details&id=d5179f53e105dc2c2401bcfaa0c2c4936a6aa475\",",
|
|
),
|
|
Text(
|
|
" \"fileName\": \"mangOH-Legato-17_06-Ubuntu-16_04.ova\",",
|
|
),
|
|
Text(
|
|
" \"fileSize\": -1,",
|
|
),
|
|
Text(
|
|
" \"fileUrl\": \"http://www.legittorrents.info/download.php?id=d5179f53e105dc2c2401bcfaa0c2c4936a6aa475&f=mangOH-Legato-17_06-Ubuntu-16_04.ova.torrent\",",
|
|
),
|
|
Text(
|
|
" \"nbLeechers\": 0,",
|
|
),
|
|
Text(
|
|
" \"nbSeeders\": 59,",
|
|
),
|
|
Text(
|
|
" \"siteUrl\": \"http://www.legittorrents.info\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
" ],",
|
|
),
|
|
Text(
|
|
" \"status\": \"Running\",",
|
|
),
|
|
Text(
|
|
" \"total\": 2",
|
|
),
|
|
Text(
|
|
"}",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Delete search",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `delete`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | number | ID of the search job",
|
|
columns: [
|
|
"id",
|
|
"number",
|
|
"ID of the search job",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "404 | Search job was not found",
|
|
columns: [
|
|
"404",
|
|
"Search job was not found",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "200 | All other scenarios",
|
|
columns: [
|
|
"200",
|
|
"All other scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Get search plugins",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `plugins`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios- see JSON below",
|
|
columns: [
|
|
"200",
|
|
"All scenarios- see JSON below",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"The response is a JSON array of objects containing the following fields",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`enabled` | bool | Whether the plugin is enabled",
|
|
columns: [
|
|
"enabled",
|
|
"bool",
|
|
"Whether the plugin is enabled",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`fullName` | string | Full name of the plugin",
|
|
columns: [
|
|
"fullName",
|
|
"string",
|
|
"Full name of the plugin",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`name` | string | Short name of the plugin",
|
|
columns: [
|
|
"name",
|
|
"string",
|
|
"Short name of the plugin",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`supportedCategories` | array | List of category objects",
|
|
columns: [
|
|
"supportedCategories",
|
|
"array",
|
|
"List of category objects",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`url` | string | URL of the torrent site",
|
|
columns: [
|
|
"url",
|
|
"string",
|
|
"URL of the torrent site",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`version` | string | Installed version of the plugin",
|
|
columns: [
|
|
"version",
|
|
"string",
|
|
"Installed version of the plugin",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"```JSON",
|
|
),
|
|
Text(
|
|
"[",
|
|
),
|
|
Text(
|
|
" {",
|
|
),
|
|
Text(
|
|
" \"enabled\": true,",
|
|
),
|
|
Text(
|
|
" \"fullName\": \"Legit Torrents\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"legittorrents\",",
|
|
),
|
|
Text(
|
|
" \"supportedCategories\": [{",
|
|
),
|
|
Text(
|
|
" \"id\": \"all\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"All categories\"",
|
|
),
|
|
Text(
|
|
" }, {",
|
|
),
|
|
Text(
|
|
" \"id\": \"anime\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"Anime\"",
|
|
),
|
|
Text(
|
|
" }, {",
|
|
),
|
|
Text(
|
|
" \"id\": \"books\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"Books\"",
|
|
),
|
|
Text(
|
|
" }, {",
|
|
),
|
|
Text(
|
|
" \"id\": \"games\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"Games\"",
|
|
),
|
|
Text(
|
|
" }, {",
|
|
),
|
|
Text(
|
|
" \"id\": \"movies\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"Movies\"",
|
|
),
|
|
Text(
|
|
" }, {",
|
|
),
|
|
Text(
|
|
" \"id\": \"music\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"Music\"",
|
|
),
|
|
Text(
|
|
" }, {",
|
|
),
|
|
Text(
|
|
" \"id\": \"tv\",",
|
|
),
|
|
Text(
|
|
" \"name\": \"TV shows\"",
|
|
),
|
|
Text(
|
|
" }],",
|
|
),
|
|
Text(
|
|
" \"url\": \"http://www.legittorrents.info\",",
|
|
),
|
|
Text(
|
|
" \"version\": \"2.3\"",
|
|
),
|
|
Text(
|
|
" }",
|
|
),
|
|
Text(
|
|
"]",
|
|
),
|
|
Text(
|
|
"```",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Category object:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Field | Type | Description",
|
|
columns: [
|
|
"Field",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "---------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`id` | string | Id",
|
|
columns: [
|
|
"id",
|
|
"string",
|
|
"Id",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`name` | string | Name",
|
|
columns: [
|
|
"name",
|
|
"string",
|
|
"Name",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Install search plugin",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `installPlugin`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`sources` | string | Url or file path of the plugin to install (e.g. \"[https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py)\"). Supports multiple sources separated by a pipe",
|
|
columns: [
|
|
"sources",
|
|
"string",
|
|
"Url or file path of the plugin to install (e.g. \"[https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py](https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/legittorrents.py)\"). Supports multiple sources separated by a pipe",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Uninstall search plugin",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `uninstallPlugin`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`names` | string | Name of the plugin to uninstall (e.g. \"legittorrents\"). Supports multiple names separated by a pipe",
|
|
columns: [
|
|
"names",
|
|
"string",
|
|
"Name of the plugin to uninstall (e.g. \"legittorrents\"). Supports multiple names separated by a pipe",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Enable search plugin",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `enablePlugin`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "Parameter | Type | Description",
|
|
columns: [
|
|
"Parameter",
|
|
"Type",
|
|
"Description",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------|------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "`names` | string | Name of the plugin to enable/disable (e.g. \"legittorrents\"). Supports multiple names separated by a pipe",
|
|
columns: [
|
|
"names",
|
|
"string",
|
|
"Name of the plugin to enable/disable (e.g. \"legittorrents\"). Supports multiple names separated by a pipe",
|
|
],
|
|
},
|
|
TableRow {
|
|
raw: "`enable` | bool | Whether the plugins should be enabled",
|
|
columns: [
|
|
"enable",
|
|
"bool",
|
|
"Whether the plugins should be enabled",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"Update search plugins",
|
|
),
|
|
content: [
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"Name: `updatePlugins`",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Parameters:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Text(
|
|
"None",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Asterisk(
|
|
"Returns:",
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
Table(
|
|
Table {
|
|
header: TableRow {
|
|
raw: "HTTP Status Code | Scenario",
|
|
columns: [
|
|
"HTTP Status Code",
|
|
"Scenario",
|
|
],
|
|
},
|
|
split: "----------------------------------|---------------------",
|
|
rows: [
|
|
TableRow {
|
|
raw: "200 | All scenarios",
|
|
columns: [
|
|
"200",
|
|
"All scenarios",
|
|
],
|
|
},
|
|
],
|
|
},
|
|
),
|
|
Text(
|
|
"",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
},
|
|
TokenTree {
|
|
title: Some(
|
|
"WebAPI versioning",
|
|
),
|
|
content: [
|
|
Text(
|
|
"WebAPI uses the following versioning: `1.2.3`:",
|
|
),
|
|
Text(
|
|
"1. Main version. Should be changed only on some global changes (e.g. total redesign/relayout)",
|
|
),
|
|
Text(
|
|
"2. Changed on incompatible API changes (i.e. if it breaks outdated clients). E.g. if you change/remove something",
|
|
),
|
|
Text(
|
|
"3. Changed on compatible API changes (i.e. if it doesn't break outdated clients). E.g. if you add something new outdated clients still can access old subset of API.",
|
|
),
|
|
],
|
|
children: [],
|
|
},
|
|
],
|
|
} |