diff --git a/qbittorrent-web-api-gen/src/parser/groups.txt b/qbittorrent-web-api-gen/src/parser/groups.txt
deleted file mode 100644
index 96d8e85..0000000
--- a/qbittorrent-web-api-gen/src/parser/groups.txt
+++ /dev/null
@@ -1,5696 +0,0 @@
-[
- ApiGroup {
- name: "authentication",
- methods: [
- ApiMethod {
- name: "login",
- description: Some(
- "Example showing how to login and execute a command that requires authentication using `curl`:\n\n```sh\n$ curl -i --header 'Referer: http://localhost:8080' --data 'username=admin&password=adminadmin' http://localhost:8080/api/v2/auth/login\nHTTP/1.1 200 OK\nContent-Encoding:\nContent-Length: 3\nContent-Type: text/plain; charset=UTF-8\nSet-Cookie: SID=hBc7TxF76ERhvIw0jQQ4LZ7Z1jQUV0tQ; path=/\n$ curl http://localhost:8080/api/v2/torrents/info --cookie \"SID=hBc7TxF76ERhvIw0jQQ4LZ7Z1jQUV0tQ\"\n```\n\nNote: Set `Referer` or `Origin` header to the exact same domain and port as used in the HTTP query `Host` header.",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "username",
- is_optional: false,
- is_list: false,
- description: Some(
- "Username used to access the WebUI",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "password",
- is_optional: false,
- is_list: false,
- description: Some(
- "Password used to access the WebUI",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "login",
- },
- ApiMethod {
- name: "logout",
- description: None,
- parameters: None,
- return_type: None,
- url: "logout",
- },
- ],
- description: Some(
- "All Authentication API methods are under \"auth\", e.g.: `/api/v2/auth/methodName`.\n\nqBittorrent uses cookie-based authentication.",
- ),
- url: "auth",
- },
- ApiGroup {
- name: "application",
- methods: [
- ApiMethod {
- name: "version",
- description: None,
- parameters: None,
- return_type: None,
- url: "version",
- },
- ApiMethod {
- name: "webapiVersion",
- description: None,
- parameters: None,
- return_type: None,
- url: "webapiVersion",
- },
- ApiMethod {
- name: "buildInfo",
- description: None,
- parameters: None,
- return_type: Some(
- ReturnType {
- is_list: false,
- parameters: [
- ReturnTypeParameter {
- name: "qt",
- description: "QT version",
- return_type: String(
- TypeInfo {
- name: "qt",
- is_optional: false,
- is_list: false,
- description: Some(
- "QT version",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "libtorrent",
- description: "libtorrent version",
- return_type: String(
- TypeInfo {
- name: "libtorrent",
- is_optional: false,
- is_list: false,
- description: Some(
- "libtorrent version",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "boost",
- description: "Boost version",
- return_type: String(
- TypeInfo {
- name: "boost",
- is_optional: false,
- is_list: false,
- description: Some(
- "Boost version",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "openssl",
- description: "OpenSSL version",
- return_type: String(
- TypeInfo {
- name: "openssl",
- is_optional: false,
- is_list: false,
- description: Some(
- "OpenSSL version",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "bitness",
- description: "Application bitness (e.g. 64-bit)",
- return_type: Number(
- TypeInfo {
- name: "bitness",
- is_optional: false,
- is_list: false,
- description: Some(
- "Application bitness (e.g. 64-bit)",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "buildInfo",
- },
- ApiMethod {
- name: "shutdown",
- description: None,
- parameters: None,
- return_type: None,
- url: "shutdown",
- },
- ApiMethod {
- name: "preferences",
- description: Some(
- "Possible fields:\n\nPossible values of `scan_dirs`:\n\nPossible values of `scheduler_days`:\n\nPossible values of `encryption`:\n\nNB: 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.\n\nPossible values of `proxy_type`:\n\nPossible values of `dyndns_service`:\n\nPossible values of `max_ratio_act`:\n\nPossible values of `bittorrent_protocol`:\n\nPossible values of `upload_choking_algorithm`:\n\nPossible values of `upload_slots_behavior`:\n\nPossible values of `utp_tcp_mixed_mode`:\n\nExample:\n\n```JSON\n{\n \"add_trackers\": \"\",\n \"add_trackers_enabled\": false,\n \"alt_dl_limit\": 10240,\n \"alt_up_limit\": 10240,\n \"alternative_webui_enabled\": false,\n \"alternative_webui_path\": \"/home/user/Documents/qbit-webui\",\n \"announce_ip\": \"\",\n \"announce_to_all_tiers\": true,\n \"announce_to_all_trackers\": false,\n \"anonymous_mode\": false,\n \"async_io_threads\": 4,\n \"auto_delete_mode\": 0,\n \"auto_tmm_enabled\": false,\n \"autorun_enabled\": false,\n \"autorun_program\": \"\",\n \"banned_IPs\": \"\",\n \"bittorrent_protocol\": 0,\n \"bypass_auth_subnet_whitelist\": \"\",\n \"bypass_auth_subnet_whitelist_enabled\": false,\n \"bypass_local_auth\": false,\n \"category_changed_tmm_enabled\": false,\n \"checking_memory_use\": 32,\n \"create_subfolder_enabled\": true,\n \"current_interface_address\": \"\",\n \"current_network_interface\": \"\",\n \"dht\": true,\n \"disk_cache\": -1,\n \"disk_cache_ttl\": 60,\n \"dl_limit\": 0,\n \"dont_count_slow_torrents\": false,\n \"dyndns_domain\": \"changeme.dyndns.org\",\n \"dyndns_enabled\": false,\n \"dyndns_password\": \"\",\n \"dyndns_service\": 0,\n \"dyndns_username\": \"\",\n \"embedded_tracker_port\": 9000,\n \"enable_coalesce_read_write\": false,\n \"enable_embedded_tracker\": false,\n \"enable_multi_connections_from_same_ip\": false,\n \"enable_os_cache\": true,\n \"enable_piece_extent_affinity\": false,\n \"enable_upload_suggestions\": false,\n \"encryption\": 0,\n \"export_dir\": \"/home/user/Downloads/all\",\n \"export_dir_fin\": \"/home/user/Downloads/completed\",\n \"file_pool_size\": 40,\n \"incomplete_files_ext\": false,\n \"ip_filter_enabled\": false,\n \"ip_filter_path\": \"\",\n \"ip_filter_trackers\": false,\n \"limit_lan_peers\": true,\n \"limit_tcp_overhead\": false,\n \"limit_utp_rate\": true,\n \"listen_port\": 58925,\n \"locale\": \"en\",\n \"lsd\": true,\n \"mail_notification_auth_enabled\": false,\n \"mail_notification_email\": \"\",\n \"mail_notification_enabled\": false,\n \"mail_notification_password\": \"\",\n \"mail_notification_sender\": \"qBittorrent_notification@example.com\",\n \"mail_notification_smtp\": \"smtp.changeme.com\",\n \"mail_notification_ssl_enabled\": false,\n \"mail_notification_username\": \"\",\n \"max_active_downloads\": 3,\n \"max_active_torrents\": 5,\n \"max_active_uploads\": 3,\n \"max_connec\": 500,\n \"max_connec_per_torrent\": 100,\n \"max_ratio\": -1,\n \"max_ratio_act\": 0,\n \"max_ratio_enabled\": false,\n \"max_seeding_time\": -1,\n \"max_seeding_time_enabled\": false,\n \"max_uploads\": -1,\n \"max_uploads_per_torrent\": -1,\n \"outgoing_ports_max\": 0,\n \"outgoing_ports_min\": 0,\n \"pex\": true,\n \"preallocate_all\": false,\n \"proxy_auth_enabled\": false,\n \"proxy_ip\": \"0.0.0.0\",\n \"proxy_password\": \"\",\n \"proxy_peer_connections\": false,\n \"proxy_port\": 8080,\n \"proxy_torrents_only\": false,\n \"proxy_type\": 0,\n \"proxy_username\": \"\",\n \"queueing_enabled\": false,\n \"random_port\": false,\n \"recheck_completed_torrents\": false,\n \"resolve_peer_countries\": true,\n \"rss_auto_downloading_enabled\":true,\n \"rss_download_repack_proper_episodes\":true,\n \"rss_max_articles_per_feed\":50,\n \"rss_processing_enabled\":true,\n \"rss_refresh_interval\":30,\n \"rss_smart_episode_filters\":\"s(\\\\d+)e(\\\\d+)\\n(\\\\d+)x(\\\\d+)\\n(\\\\d{4}[.\\\\-]\\\\d{1,2}[.\\\\-]\\\\d{1,2})\",\n \"save_path\": \"/home/user/Downloads/\",\n \"save_path_changed_tmm_enabled\": false,\n \"save_resume_data_interval\": 60,\n \"scan_dirs\":\n {\n \"/home/user/Downloads/incoming/games\": 0,\n \"/home/user/Downloads/incoming/movies\": 1,\n },\n \"schedule_from_hour\": 8,\n \"schedule_from_min\": 0,\n \"schedule_to_hour\": 20,\n \"schedule_to_min\": 0,\n \"scheduler_days\": 0,\n \"scheduler_enabled\": false,\n \"send_buffer_low_watermark\": 10,\n \"send_buffer_watermark\": 500,\n \"send_buffer_watermark_factor\": 50,\n \"slow_torrent_dl_rate_threshold\": 2,\n \"slow_torrent_inactive_timer\": 60,\n \"slow_torrent_ul_rate_threshold\": 2,\n \"socket_backlog_size\": 30,\n \"start_paused_enabled\": false,\n \"stop_tracker_timeout\": 1,\n \"temp_path\": \"/home/user/Downloads/temp\",\n \"temp_path_enabled\": false,\n \"torrent_changed_tmm_enabled\": true,\n \"up_limit\": 0,\n \"upload_choking_algorithm\": 1,\n \"upload_slots_behavior\": 0,\n \"upnp\": true,\n \"use_https\": false,\n \"utp_tcp_mixed_mode\": 0,\n \"web_ui_address\": \"*\",\n \"web_ui_ban_duration\": 3600,\n \"web_ui_clickjacking_protection_enabled\": true,\n \"web_ui_csrf_protection_enabled\": true,\n \"web_ui_custom_http_headers\": \"\",\n \"web_ui_domain_list\": \"*\",\n \"web_ui_host_header_validation_enabled\": true,\n \"web_ui_https_cert_path\": \"\",\n \"web_ui_https_key_path\": \"\",\n \"web_ui_max_auth_fail_count\": 5,\n \"web_ui_port\": 8080,\n \"web_ui_secure_cookie_enabled\": true,\n \"web_ui_session_timeout\": 3600,\n \"web_ui_upnp\": false,\n \"web_ui_use_custom_http_headers_enabled\": false,\n \"web_ui_username\": \"admin\"\n}\n```",
- ),
- parameters: None,
- return_type: Some(
- ReturnType {
- is_list: false,
- parameters: [
- ReturnTypeParameter {
- name: "locale",
- description: "Currently selected language (e.g. en_GB for English)",
- return_type: String(
- TypeInfo {
- name: "locale",
- is_optional: false,
- is_list: false,
- description: Some(
- "Currently selected language (e.g. en_GB for English)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "create_subfolder_enabled",
- description: "True if a subfolder should be created when adding a torrent",
- return_type: Bool(
- TypeInfo {
- name: "create_subfolder_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if a subfolder should be created when adding a torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "start_paused_enabled",
- description: "True if torrents should be added in a Paused state",
- return_type: Bool(
- TypeInfo {
- name: "start_paused_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if torrents should be added in a Paused state",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "auto_delete_mode",
- description: "TODO",
- return_type: Number(
- TypeInfo {
- name: "auto_delete_mode",
- is_optional: false,
- is_list: false,
- description: Some(
- "TODO",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "preallocate_all",
- description: "True if disk space should be pre-allocated for all files",
- return_type: Bool(
- TypeInfo {
- name: "preallocate_all",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if disk space should be pre-allocated for all files",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "incomplete_files_ext",
- description: "True if \".!qB\" should be appended to incomplete files",
- return_type: Bool(
- TypeInfo {
- name: "incomplete_files_ext",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if \".!qB\" should be appended to incomplete files",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "auto_tmm_enabled",
- description: "True if Automatic Torrent Management is enabled by default",
- return_type: Bool(
- TypeInfo {
- name: "auto_tmm_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if Automatic Torrent Management is enabled by default",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "torrent_changed_tmm_enabled",
- description: "True if torrent should be relocated when its Category changes",
- return_type: Bool(
- TypeInfo {
- name: "torrent_changed_tmm_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if torrent should be relocated when its Category changes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "save_path_changed_tmm_enabled",
- description: "True if torrent should be relocated when the default save path changes",
- return_type: Bool(
- TypeInfo {
- name: "save_path_changed_tmm_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if torrent should be relocated when the default save path changes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "category_changed_tmm_enabled",
- description: "True if torrent should be relocated when its Category's save path changes",
- return_type: Bool(
- TypeInfo {
- name: "category_changed_tmm_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if torrent should be relocated when its Category's save path changes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "save_path",
- description: "Default save path for torrents, separated by slashes",
- return_type: String(
- TypeInfo {
- name: "save_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Default save path for torrents, separated by slashes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "temp_path_enabled",
- description: "True if folder for incomplete torrents is enabled",
- return_type: Bool(
- TypeInfo {
- name: "temp_path_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if folder for incomplete torrents is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "temp_path",
- description: "Path for incomplete torrents, separated by slashes",
- return_type: String(
- TypeInfo {
- name: "temp_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Path for incomplete torrents, separated by slashes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "scan_dirs",
- description: "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",
- return_type: Object(
- TypeInfo {
- name: "scan_dirs",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Download to the monitored folder",
- },
- TypeDescriptions {
- value: "1",
- description: "Download to the default save path",
- },
- TypeDescriptions {
- value: "\"/path/to/download/to\"",
- description: "Download to this path",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "export_dir",
- description: "Path to directory to copy .torrent files to. Slashes are used as path separators",
- return_type: String(
- TypeInfo {
- name: "export_dir",
- is_optional: false,
- is_list: false,
- description: Some(
- "Path to directory to copy .torrent files to. Slashes are used as path separators",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "export_dir_fin",
- description: "Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators",
- return_type: String(
- TypeInfo {
- name: "export_dir_fin",
- is_optional: false,
- is_list: false,
- description: Some(
- "Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_enabled",
- description: "True if e-mail notification should be enabled",
- return_type: Bool(
- TypeInfo {
- name: "mail_notification_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if e-mail notification should be enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_sender",
- description: "e-mail where notifications should originate from",
- return_type: String(
- TypeInfo {
- name: "mail_notification_sender",
- is_optional: false,
- is_list: false,
- description: Some(
- "e-mail where notifications should originate from",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_email",
- description: "e-mail to send notifications to",
- return_type: String(
- TypeInfo {
- name: "mail_notification_email",
- is_optional: false,
- is_list: false,
- description: Some(
- "e-mail to send notifications to",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_smtp",
- description: "smtp server for e-mail notifications",
- return_type: String(
- TypeInfo {
- name: "mail_notification_smtp",
- is_optional: false,
- is_list: false,
- description: Some(
- "smtp server for e-mail notifications",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_ssl_enabled",
- description: "True if smtp server requires SSL connection",
- return_type: Bool(
- TypeInfo {
- name: "mail_notification_ssl_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if smtp server requires SSL connection",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_auth_enabled",
- description: "True if smtp server requires authentication",
- return_type: Bool(
- TypeInfo {
- name: "mail_notification_auth_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if smtp server requires authentication",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_username",
- description: "Username for smtp authentication",
- return_type: String(
- TypeInfo {
- name: "mail_notification_username",
- is_optional: false,
- is_list: false,
- description: Some(
- "Username for smtp authentication",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "mail_notification_password",
- description: "Password for smtp authentication",
- return_type: String(
- TypeInfo {
- name: "mail_notification_password",
- is_optional: false,
- is_list: false,
- description: Some(
- "Password for smtp authentication",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "autorun_enabled",
- description: "True if external program should be run after torrent has finished downloading",
- return_type: Bool(
- TypeInfo {
- name: "autorun_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if external program should be run after torrent has finished downloading",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "autorun_program",
- description: "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",
- return_type: String(
- TypeInfo {
- name: "autorun_program",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "queueing_enabled",
- description: "True if torrent queuing is enabled",
- return_type: Bool(
- TypeInfo {
- name: "queueing_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if torrent queuing is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_active_downloads",
- description: "Maximum number of active simultaneous downloads",
- return_type: Number(
- TypeInfo {
- name: "max_active_downloads",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of active simultaneous downloads",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_active_torrents",
- description: "Maximum number of active simultaneous downloads and uploads",
- return_type: Number(
- TypeInfo {
- name: "max_active_torrents",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of active simultaneous downloads and uploads",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_active_uploads",
- description: "Maximum number of active simultaneous uploads",
- return_type: Number(
- TypeInfo {
- name: "max_active_uploads",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of active simultaneous uploads",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dont_count_slow_torrents",
- description: "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",
- return_type: Bool(
- TypeInfo {
- name: "dont_count_slow_torrents",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "slow_torrent_dl_rate_threshold",
- description: "Download rate in KiB/s for a torrent to be considered \"slow\"",
- return_type: Number(
- TypeInfo {
- name: "slow_torrent_dl_rate_threshold",
- is_optional: false,
- is_list: false,
- description: Some(
- "Download rate in KiB/s for a torrent to be considered \"slow\"",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "slow_torrent_ul_rate_threshold",
- description: "Upload rate in KiB/s for a torrent to be considered \"slow\"",
- return_type: Number(
- TypeInfo {
- name: "slow_torrent_ul_rate_threshold",
- is_optional: false,
- is_list: false,
- description: Some(
- "Upload rate in KiB/s for a torrent to be considered \"slow\"",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "slow_torrent_inactive_timer",
- description: "Seconds a torrent should be inactive before considered \"slow\"",
- return_type: Number(
- TypeInfo {
- name: "slow_torrent_inactive_timer",
- is_optional: false,
- is_list: false,
- description: Some(
- "Seconds a torrent should be inactive before considered \"slow\"",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_ratio_enabled",
- description: "True if share ratio limit is enabled",
- return_type: Bool(
- TypeInfo {
- name: "max_ratio_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if share ratio limit is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_ratio",
- description: "Get the global share ratio limit",
- return_type: Float(
- TypeInfo {
- name: "max_ratio",
- is_optional: false,
- is_list: false,
- description: Some(
- "Get the global share ratio limit",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_ratio_act",
- description: "Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.",
- return_type: Number(
- TypeInfo {
- name: "max_ratio_act",
- is_optional: false,
- is_list: false,
- description: Some(
- "Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Pause torrent",
- },
- TypeDescriptions {
- value: "1",
- description: "Remove torrent",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "listen_port",
- description: "Port for incoming connections",
- return_type: Number(
- TypeInfo {
- name: "listen_port",
- is_optional: false,
- is_list: false,
- description: Some(
- "Port for incoming connections",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "upnp",
- description: "True if UPnP/NAT-PMP is enabled",
- return_type: Bool(
- TypeInfo {
- name: "upnp",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if UPnP/NAT-PMP is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "random_port",
- description: "True if the port is randomly selected",
- return_type: Bool(
- TypeInfo {
- name: "random_port",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if the port is randomly selected",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dl_limit",
- description: "Global download speed limit in KiB/s; -1 means no limit is applied",
- return_type: Number(
- TypeInfo {
- name: "dl_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Global download speed limit in KiB/s; -1 means no limit is applied",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "up_limit",
- description: "Global upload speed limit in KiB/s; -1 means no limit is applied",
- return_type: Number(
- TypeInfo {
- name: "up_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Global upload speed limit in KiB/s; -1 means no limit is applied",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_connec",
- description: "Maximum global number of simultaneous connections",
- return_type: Number(
- TypeInfo {
- name: "max_connec",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum global number of simultaneous connections",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_connec_per_torrent",
- description: "Maximum number of simultaneous connections per torrent",
- return_type: Number(
- TypeInfo {
- name: "max_connec_per_torrent",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of simultaneous connections per torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_uploads",
- description: "Maximum number of upload slots",
- return_type: Number(
- TypeInfo {
- name: "max_uploads",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of upload slots",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_uploads_per_torrent",
- description: "Maximum number of upload slots per torrent",
- return_type: Number(
- TypeInfo {
- name: "max_uploads_per_torrent",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of upload slots per torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "stop_tracker_timeout",
- description: "Timeout in seconds for a stopped announce request to trackers",
- return_type: Number(
- TypeInfo {
- name: "stop_tracker_timeout",
- is_optional: false,
- is_list: false,
- description: Some(
- "Timeout in seconds for a stopped announce request to trackers",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "enable_piece_extent_affinity",
- description: "True if the advanced libtorrent option piece_extent_affinity is enabled",
- return_type: Bool(
- TypeInfo {
- name: "enable_piece_extent_affinity",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if the advanced libtorrent option piece_extent_affinity is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "bittorrent_protocol",
- description: "Bittorrent Protocol to use (see list of possible values below)",
- return_type: Number(
- TypeInfo {
- name: "bittorrent_protocol",
- is_optional: false,
- is_list: false,
- description: Some(
- "Bittorrent Protocol to use (see list of possible values below)",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "TCP and μTP",
- },
- TypeDescriptions {
- value: "1",
- description: "TCP",
- },
- TypeDescriptions {
- value: "2",
- description: "μTP",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "limit_utp_rate",
- description: "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",
- return_type: Bool(
- TypeInfo {
- name: "limit_utp_rate",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "limit_tcp_overhead",
- description: "True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers)",
- return_type: Bool(
- TypeInfo {
- name: "limit_tcp_overhead",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "limit_lan_peers",
- description: "True if [du]l_limit should be applied to peers on the LAN",
- return_type: Bool(
- TypeInfo {
- name: "limit_lan_peers",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if [du]l_limit should be applied to peers on the LAN",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "alt_dl_limit",
- description: "Alternative global download speed limit in KiB/s",
- return_type: Number(
- TypeInfo {
- name: "alt_dl_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Alternative global download speed limit in KiB/s",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "alt_up_limit",
- description: "Alternative global upload speed limit in KiB/s",
- return_type: Number(
- TypeInfo {
- name: "alt_up_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Alternative global upload speed limit in KiB/s",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "scheduler_enabled",
- description: "True if alternative limits should be applied according to schedule",
- return_type: Bool(
- TypeInfo {
- name: "scheduler_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if alternative limits should be applied according to schedule",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "schedule_from_hour",
- description: "Scheduler starting hour",
- return_type: Number(
- TypeInfo {
- name: "schedule_from_hour",
- is_optional: false,
- is_list: false,
- description: Some(
- "Scheduler starting hour",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "schedule_from_min",
- description: "Scheduler starting minute",
- return_type: Number(
- TypeInfo {
- name: "schedule_from_min",
- is_optional: false,
- is_list: false,
- description: Some(
- "Scheduler starting minute",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "schedule_to_hour",
- description: "Scheduler ending hour",
- return_type: Number(
- TypeInfo {
- name: "schedule_to_hour",
- is_optional: false,
- is_list: false,
- description: Some(
- "Scheduler ending hour",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "schedule_to_min",
- description: "Scheduler ending minute",
- return_type: Number(
- TypeInfo {
- name: "schedule_to_min",
- is_optional: false,
- is_list: false,
- description: Some(
- "Scheduler ending minute",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "scheduler_days",
- description: "Scheduler days. See possible values here below",
- return_type: Number(
- TypeInfo {
- name: "scheduler_days",
- is_optional: false,
- is_list: false,
- description: Some(
- "Scheduler days. See possible values here below",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Every day",
- },
- TypeDescriptions {
- value: "1",
- description: "Every weekday",
- },
- TypeDescriptions {
- value: "2",
- description: "Every weekend",
- },
- TypeDescriptions {
- value: "3",
- description: "Every Monday",
- },
- TypeDescriptions {
- value: "4",
- description: "Every Tuesday",
- },
- TypeDescriptions {
- value: "5",
- description: "Every Wednesday",
- },
- TypeDescriptions {
- value: "6",
- description: "Every Thursday",
- },
- TypeDescriptions {
- value: "7",
- description: "Every Friday",
- },
- TypeDescriptions {
- value: "8",
- description: "Every Saturday",
- },
- TypeDescriptions {
- value: "9",
- description: "Every Sunday",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "dht",
- description: "True if DHT is enabled",
- return_type: Bool(
- TypeInfo {
- name: "dht",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if DHT is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "pex",
- description: "True if PeX is enabled",
- return_type: Bool(
- TypeInfo {
- name: "pex",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if PeX is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "lsd",
- description: "True if LSD is enabled",
- return_type: Bool(
- TypeInfo {
- name: "lsd",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if LSD is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "encryption",
- description: "See list of possible values here below",
- return_type: Number(
- TypeInfo {
- name: "encryption",
- is_optional: false,
- is_list: false,
- description: Some(
- "See list of possible values here below",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Prefer encryption",
- },
- TypeDescriptions {
- value: "1",
- description: "Force encryption on",
- },
- TypeDescriptions {
- value: "2",
- description: "Force encryption off",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "anonymous_mode",
- description: "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",
- return_type: Bool(
- TypeInfo {
- name: "anonymous_mode",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_type",
- description: "See list of possible values here below",
- return_type: Number(
- TypeInfo {
- name: "proxy_type",
- is_optional: false,
- is_list: false,
- description: Some(
- "See list of possible values here below",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "-1",
- description: "Proxy is disabled",
- },
- TypeDescriptions {
- value: "1",
- description: "HTTP proxy without authentication",
- },
- TypeDescriptions {
- value: "2",
- description: "SOCKS5 proxy without authentication",
- },
- TypeDescriptions {
- value: "3",
- description: "HTTP proxy with authentication",
- },
- TypeDescriptions {
- value: "4",
- description: "SOCKS5 proxy with authentication",
- },
- TypeDescriptions {
- value: "5",
- description: "SOCKS4 proxy without authentication",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_ip",
- description: "Proxy IP address or domain name",
- return_type: String(
- TypeInfo {
- name: "proxy_ip",
- is_optional: false,
- is_list: false,
- description: Some(
- "Proxy IP address or domain name",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_port",
- description: "Proxy port",
- return_type: Number(
- TypeInfo {
- name: "proxy_port",
- is_optional: false,
- is_list: false,
- description: Some(
- "Proxy port",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_peer_connections",
- description: "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",
- return_type: Bool(
- TypeInfo {
- name: "proxy_peer_connections",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_auth_enabled",
- description: "True proxy requires authentication; doesn't apply to SOCKS4 proxies",
- return_type: Bool(
- TypeInfo {
- name: "proxy_auth_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True proxy requires authentication; doesn't apply to SOCKS4 proxies",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_username",
- description: "Username for proxy authentication",
- return_type: String(
- TypeInfo {
- name: "proxy_username",
- is_optional: false,
- is_list: false,
- description: Some(
- "Username for proxy authentication",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_password",
- description: "Password for proxy authentication",
- return_type: String(
- TypeInfo {
- name: "proxy_password",
- is_optional: false,
- is_list: false,
- description: Some(
- "Password for proxy authentication",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "proxy_torrents_only",
- description: "True if proxy is only used for torrents",
- return_type: Bool(
- TypeInfo {
- name: "proxy_torrents_only",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if proxy is only used for torrents",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ip_filter_enabled",
- description: "True if external IP filter should be enabled",
- return_type: Bool(
- TypeInfo {
- name: "ip_filter_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if external IP filter should be enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ip_filter_path",
- description: "Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes",
- return_type: String(
- TypeInfo {
- name: "ip_filter_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ip_filter_trackers",
- description: "True if IP filters are applied to trackers",
- return_type: Bool(
- TypeInfo {
- name: "ip_filter_trackers",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if IP filters are applied to trackers",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_domain_list",
- description: "Comma-separated list of domains to accept when performing Host header validation",
- return_type: String(
- TypeInfo {
- name: "web_ui_domain_list",
- is_optional: false,
- is_list: false,
- description: Some(
- "Comma-separated list of domains to accept when performing Host header validation",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_address",
- description: "IP address to use for the WebUI",
- return_type: String(
- TypeInfo {
- name: "web_ui_address",
- is_optional: false,
- is_list: false,
- description: Some(
- "IP address to use for the WebUI",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_port",
- description: "WebUI port",
- return_type: Number(
- TypeInfo {
- name: "web_ui_port",
- is_optional: false,
- is_list: false,
- description: Some(
- "WebUI port",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_upnp",
- description: "True if UPnP is used for the WebUI port",
- return_type: Bool(
- TypeInfo {
- name: "web_ui_upnp",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if UPnP is used for the WebUI port",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_username",
- description: "WebUI username",
- return_type: String(
- TypeInfo {
- name: "web_ui_username",
- is_optional: false,
- is_list: false,
- description: Some(
- "WebUI username",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_password",
- description: "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",
- return_type: String(
- TypeInfo {
- name: "web_ui_password",
- is_optional: false,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_csrf_protection_enabled",
- description: "True if WebUI CSRF protection is enabled",
- return_type: Bool(
- TypeInfo {
- name: "web_ui_csrf_protection_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if WebUI CSRF protection is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_clickjacking_protection_enabled",
- description: "True if WebUI clickjacking protection is enabled",
- return_type: Bool(
- TypeInfo {
- name: "web_ui_clickjacking_protection_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if WebUI clickjacking protection is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_secure_cookie_enabled",
- description: "True if WebUI cookie Secure flag is enabled",
- return_type: Bool(
- TypeInfo {
- name: "web_ui_secure_cookie_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if WebUI cookie Secure flag is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_max_auth_fail_count",
- description: "Maximum number of authentication failures before WebUI access ban",
- return_type: Number(
- TypeInfo {
- name: "web_ui_max_auth_fail_count",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum number of authentication failures before WebUI access ban",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_ban_duration",
- description: "WebUI access ban duration in seconds",
- return_type: Number(
- TypeInfo {
- name: "web_ui_ban_duration",
- is_optional: false,
- is_list: false,
- description: Some(
- "WebUI access ban duration in seconds",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_session_timeout",
- description: "Seconds until WebUI is automatically signed off",
- return_type: Number(
- TypeInfo {
- name: "web_ui_session_timeout",
- is_optional: false,
- is_list: false,
- description: Some(
- "Seconds until WebUI is automatically signed off",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_host_header_validation_enabled",
- description: "True if WebUI host header validation is enabled",
- return_type: Bool(
- TypeInfo {
- name: "web_ui_host_header_validation_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if WebUI host header validation is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "bypass_local_auth",
- description: "True if authentication challenge for loopback address (127.0.0.1) should be disabled",
- return_type: Bool(
- TypeInfo {
- name: "bypass_local_auth",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if authentication challenge for loopback address (127.0.0.1) should be disabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "bypass_auth_subnet_whitelist_enabled",
- description: "True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist",
- return_type: Bool(
- TypeInfo {
- name: "bypass_auth_subnet_whitelist_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "bypass_auth_subnet_whitelist",
- description: "(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas",
- return_type: String(
- TypeInfo {
- name: "bypass_auth_subnet_whitelist",
- is_optional: false,
- is_list: false,
- description: Some(
- "(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "alternative_webui_enabled",
- description: "True if an alternative WebUI should be used",
- return_type: Bool(
- TypeInfo {
- name: "alternative_webui_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if an alternative WebUI should be used",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "alternative_webui_path",
- description: "File path to the alternative WebUI",
- return_type: String(
- TypeInfo {
- name: "alternative_webui_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "File path to the alternative WebUI",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "use_https",
- description: "True if WebUI HTTPS access is enabled",
- return_type: Bool(
- TypeInfo {
- name: "use_https",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if WebUI HTTPS access is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ssl_key",
- description: "For API < v2.0.1: SSL keyfile contents (this is a not a path)",
- return_type: String(
- TypeInfo {
- name: "ssl_key",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API < v2.0.1: SSL keyfile contents (this is a not a path)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ssl_cert",
- description: "For API < v2.0.1: SSL certificate contents (this is a not a path)",
- return_type: String(
- TypeInfo {
- name: "ssl_cert",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API < v2.0.1: SSL certificate contents (this is a not a path)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_https_key_path",
- description: "For API ≥ v2.0.1: Path to SSL keyfile",
- return_type: String(
- TypeInfo {
- name: "web_ui_https_key_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API ≥ v2.0.1: Path to SSL keyfile",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_https_cert_path",
- description: "For API ≥ v2.0.1: Path to SSL certificate",
- return_type: String(
- TypeInfo {
- name: "web_ui_https_cert_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API ≥ v2.0.1: Path to SSL certificate",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dyndns_enabled",
- description: "True if server DNS should be updated dynamically",
- return_type: Bool(
- TypeInfo {
- name: "dyndns_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if server DNS should be updated dynamically",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dyndns_service",
- description: "See list of possible values here below",
- return_type: Number(
- TypeInfo {
- name: "dyndns_service",
- is_optional: false,
- is_list: false,
- description: Some(
- "See list of possible values here below",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Use DyDNS",
- },
- TypeDescriptions {
- value: "1",
- description: "Use NOIP",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "dyndns_username",
- description: "Username for DDNS service",
- return_type: String(
- TypeInfo {
- name: "dyndns_username",
- is_optional: false,
- is_list: false,
- description: Some(
- "Username for DDNS service",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dyndns_password",
- description: "Password for DDNS service",
- return_type: String(
- TypeInfo {
- name: "dyndns_password",
- is_optional: false,
- is_list: false,
- description: Some(
- "Password for DDNS service",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dyndns_domain",
- description: "Your DDNS domain name",
- return_type: String(
- TypeInfo {
- name: "dyndns_domain",
- is_optional: false,
- is_list: false,
- description: Some(
- "Your DDNS domain name",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "rss_refresh_interval",
- description: "RSS refresh interval",
- return_type: Number(
- TypeInfo {
- name: "rss_refresh_interval",
- is_optional: false,
- is_list: false,
- description: Some(
- "RSS refresh interval",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "rss_max_articles_per_feed",
- description: "Max stored articles per RSS feed",
- return_type: Number(
- TypeInfo {
- name: "rss_max_articles_per_feed",
- is_optional: false,
- is_list: false,
- description: Some(
- "Max stored articles per RSS feed",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "rss_processing_enabled",
- description: "Enable processing of RSS feeds",
- return_type: Bool(
- TypeInfo {
- name: "rss_processing_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "Enable processing of RSS feeds",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "rss_auto_downloading_enabled",
- description: "Enable auto-downloading of torrents from the RSS feeds",
- return_type: Bool(
- TypeInfo {
- name: "rss_auto_downloading_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "Enable auto-downloading of torrents from the RSS feeds",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "rss_download_repack_proper_episodes",
- description: "For API ≥ v2.5.1: Enable downloading of repack/proper Episodes",
- return_type: Bool(
- TypeInfo {
- name: "rss_download_repack_proper_episodes",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API ≥ v2.5.1: Enable downloading of repack/proper Episodes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "rss_smart_episode_filters",
- description: "For API ≥ v2.5.1: List of RSS Smart Episode Filters",
- return_type: String(
- TypeInfo {
- name: "rss_smart_episode_filters",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API ≥ v2.5.1: List of RSS Smart Episode Filters",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "add_trackers_enabled",
- description: "Enable automatic adding of trackers to new torrents",
- return_type: Bool(
- TypeInfo {
- name: "add_trackers_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "Enable automatic adding of trackers to new torrents",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "add_trackers",
- description: "List of trackers to add to new torrent",
- return_type: String(
- TypeInfo {
- name: "add_trackers",
- is_optional: false,
- is_list: false,
- description: Some(
- "List of trackers to add to new torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_use_custom_http_headers_enabled",
- description: "For API ≥ v2.5.1: Enable custom http headers",
- return_type: Bool(
- TypeInfo {
- name: "web_ui_use_custom_http_headers_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API ≥ v2.5.1: Enable custom http headers",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "web_ui_custom_http_headers",
- description: "For API ≥ v2.5.1: List of custom http headers",
- return_type: String(
- TypeInfo {
- name: "web_ui_custom_http_headers",
- is_optional: false,
- is_list: false,
- description: Some(
- "For API ≥ v2.5.1: List of custom http headers",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_seeding_time_enabled",
- description: "True enables max seeding time",
- return_type: Bool(
- TypeInfo {
- name: "max_seeding_time_enabled",
- is_optional: false,
- is_list: false,
- description: Some(
- "True enables max seeding time",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_seeding_time",
- description: "Number of minutes to seed a torrent",
- return_type: Number(
- TypeInfo {
- name: "max_seeding_time",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of minutes to seed a torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "announce_ip",
- description: "TODO",
- return_type: String(
- TypeInfo {
- name: "announce_ip",
- is_optional: false,
- is_list: false,
- description: Some(
- "TODO",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "announce_to_all_tiers",
- description: "True always announce to all tiers",
- return_type: Bool(
- TypeInfo {
- name: "announce_to_all_tiers",
- is_optional: false,
- is_list: false,
- description: Some(
- "True always announce to all tiers",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "announce_to_all_trackers",
- description: "True always announce to all trackers in a tier",
- return_type: Bool(
- TypeInfo {
- name: "announce_to_all_trackers",
- is_optional: false,
- is_list: false,
- description: Some(
- "True always announce to all trackers in a tier",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "async_io_threads",
- description: "Number of asynchronous I/O threads",
- return_type: Number(
- TypeInfo {
- name: "async_io_threads",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of asynchronous I/O threads",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "banned_IPs",
- description: "List of banned IPs",
- return_type: String(
- TypeInfo {
- name: "banned_IPs",
- is_optional: false,
- is_list: false,
- description: Some(
- "List of banned IPs",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "checking_memory_use",
- description: "Outstanding memory when checking torrents in MiB",
- return_type: Number(
- TypeInfo {
- name: "checking_memory_use",
- is_optional: false,
- is_list: false,
- description: Some(
- "Outstanding memory when checking torrents in MiB",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "current_interface_address",
- description: "IP Address to bind to. Empty String means All addresses",
- return_type: String(
- TypeInfo {
- name: "current_interface_address",
- is_optional: false,
- is_list: false,
- description: Some(
- "IP Address to bind to. Empty String means All addresses",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "current_network_interface",
- description: "Network Interface used",
- return_type: String(
- TypeInfo {
- name: "current_network_interface",
- is_optional: false,
- is_list: false,
- description: Some(
- "Network Interface used",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "disk_cache",
- description: "Disk cache used in MiB",
- return_type: Number(
- TypeInfo {
- name: "disk_cache",
- is_optional: false,
- is_list: false,
- description: Some(
- "Disk cache used in MiB",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "disk_cache_ttl",
- description: "Disk cache expiry interval in seconds",
- return_type: Number(
- TypeInfo {
- name: "disk_cache_ttl",
- is_optional: false,
- is_list: false,
- description: Some(
- "Disk cache expiry interval in seconds",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "embedded_tracker_port",
- description: "Port used for embedded tracker",
- return_type: Number(
- TypeInfo {
- name: "embedded_tracker_port",
- is_optional: false,
- is_list: false,
- description: Some(
- "Port used for embedded tracker",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "enable_coalesce_read_write",
- description: "True enables coalesce reads & writes",
- return_type: Bool(
- TypeInfo {
- name: "enable_coalesce_read_write",
- is_optional: false,
- is_list: false,
- description: Some(
- "True enables coalesce reads & writes",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "enable_embedded_tracker",
- description: "True enables embedded tracker",
- return_type: Bool(
- TypeInfo {
- name: "enable_embedded_tracker",
- is_optional: false,
- is_list: false,
- description: Some(
- "True enables embedded tracker",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "enable_multi_connections_from_same_ip",
- description: "True allows multiple connections from the same IP address",
- return_type: Bool(
- TypeInfo {
- name: "enable_multi_connections_from_same_ip",
- is_optional: false,
- is_list: false,
- description: Some(
- "True allows multiple connections from the same IP address",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "enable_os_cache",
- description: "True enables os cache",
- return_type: Bool(
- TypeInfo {
- name: "enable_os_cache",
- is_optional: false,
- is_list: false,
- description: Some(
- "True enables os cache",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "enable_upload_suggestions",
- description: "True enables sending of upload piece suggestions",
- return_type: Bool(
- TypeInfo {
- name: "enable_upload_suggestions",
- is_optional: false,
- is_list: false,
- description: Some(
- "True enables sending of upload piece suggestions",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "file_pool_size",
- description: "File pool size",
- return_type: Number(
- TypeInfo {
- name: "file_pool_size",
- is_optional: false,
- is_list: false,
- description: Some(
- "File pool size",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "outgoing_ports_max",
- description: "Maximal outgoing port (0: Disabled)",
- return_type: Number(
- TypeInfo {
- name: "outgoing_ports_max",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximal outgoing port (0: Disabled)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "outgoing_ports_min",
- description: "Minimal outgoing port (0: Disabled)",
- return_type: Number(
- TypeInfo {
- name: "outgoing_ports_min",
- is_optional: false,
- is_list: false,
- description: Some(
- "Minimal outgoing port (0: Disabled)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "recheck_completed_torrents",
- description: "True rechecks torrents on completion",
- return_type: Bool(
- TypeInfo {
- name: "recheck_completed_torrents",
- is_optional: false,
- is_list: false,
- description: Some(
- "True rechecks torrents on completion",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "resolve_peer_countries",
- description: "True resolves peer countries",
- return_type: Bool(
- TypeInfo {
- name: "resolve_peer_countries",
- is_optional: false,
- is_list: false,
- description: Some(
- "True resolves peer countries",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "save_resume_data_interval",
- description: "Save resume data interval in min",
- return_type: Number(
- TypeInfo {
- name: "save_resume_data_interval",
- is_optional: false,
- is_list: false,
- description: Some(
- "Save resume data interval in min",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "send_buffer_low_watermark",
- description: "Send buffer low watermark in KiB",
- return_type: Number(
- TypeInfo {
- name: "send_buffer_low_watermark",
- is_optional: false,
- is_list: false,
- description: Some(
- "Send buffer low watermark in KiB",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "send_buffer_watermark",
- description: "Send buffer watermark in KiB",
- return_type: Number(
- TypeInfo {
- name: "send_buffer_watermark",
- is_optional: false,
- is_list: false,
- description: Some(
- "Send buffer watermark in KiB",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "send_buffer_watermark_factor",
- description: "Send buffer watermark factor in percent",
- return_type: Number(
- TypeInfo {
- name: "send_buffer_watermark_factor",
- is_optional: false,
- is_list: false,
- description: Some(
- "Send buffer watermark factor in percent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "socket_backlog_size",
- description: "Socket backlog size",
- return_type: Number(
- TypeInfo {
- name: "socket_backlog_size",
- is_optional: false,
- is_list: false,
- description: Some(
- "Socket backlog size",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "upload_choking_algorithm",
- description: "Upload choking algorithm used (see list of possible values below)",
- return_type: Number(
- TypeInfo {
- name: "upload_choking_algorithm",
- is_optional: false,
- is_list: false,
- description: Some(
- "Upload choking algorithm used (see list of possible values below)",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Round-robin",
- },
- TypeDescriptions {
- value: "1",
- description: "Fastest upload",
- },
- TypeDescriptions {
- value: "2",
- description: "Anti-leech",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "upload_slots_behavior",
- description: "Upload slots behavior used (see list of possible values below)",
- return_type: Number(
- TypeInfo {
- name: "upload_slots_behavior",
- is_optional: false,
- is_list: false,
- description: Some(
- "Upload slots behavior used (see list of possible values below)",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Fixed slots",
- },
- TypeDescriptions {
- value: "1",
- description: "Upload rate based",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "upnp_lease_duration",
- description: "UPnP lease duration (0: Permanent lease)",
- return_type: Number(
- TypeInfo {
- name: "upnp_lease_duration",
- is_optional: false,
- is_list: false,
- description: Some(
- "UPnP lease duration (0: Permanent lease)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "utp_tcp_mixed_mode",
- description: "μTP-TCP mixed mode algorithm (see list of possible values below)",
- return_type: Number(
- TypeInfo {
- name: "utp_tcp_mixed_mode",
- is_optional: false,
- is_list: false,
- description: Some(
- "μTP-TCP mixed mode algorithm (see list of possible values below)",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Prefer TCP",
- },
- TypeDescriptions {
- value: "1",
- description: "Peer proportional",
- },
- ],
- },
- ),
- },
- ),
- },
- ],
- },
- ),
- url: "preferences",
- },
- ApiMethod {
- name: "setPreferences",
- description: Some(
- "1. There is no need to pass all possible preferences' `token:value` pairs if you only want to change one option\n 1. Paths in `scan_dirs` must exist, otherwise this option will have no effect\n 1. String values must be quoted; integer and boolean values must never be quoted\n\nFor a list of possible preference options see [Get application preferences](#get-application-preferences)",
- ),
- parameters: None,
- return_type: None,
- url: "setPreferences",
- },
- ApiMethod {
- name: "defaultSavePath",
- description: None,
- parameters: None,
- return_type: None,
- url: "defaultSavePath",
- },
- ],
- description: Some(
- "All Application API methods are under \"app\", e.g.: `/api/v2/app/methodName`.",
- ),
- url: "app",
- },
- ApiGroup {
- name: "log",
- methods: [
- ApiMethod {
- name: "main",
- description: Some(
- "Each element of the array has the following properties:\n\nExample:\n\n```JSON\n[\n {\n \"id\":0,\n \"message\":\"qBittorrent v3.4.0 started\",\n \"timestamp\":1507969127860,\n \"type\":1\n },\n {\n \"id\":1,\n \"message\":\"qBittorrent is trying to listen on any interface port: 19036\",\n \"timestamp\":1507969127869,\n \"type\":2\n },\n {\n \"id\":2,\n \"message\":\"Peer ID: -qB3400-\",\n \"timestamp\":1507969127870,\n \"type\":1\n },\n {\n \"id\":3,\n \"message\":\"HTTP User-Agent is 'qBittorrent/3.4.0'\",\n \"timestamp\":1507969127870,\n \"type\":1\n },\n {\n \"id\":4,\n \"message\":\"DHT support [ON]\",\n \"timestamp\":1507969127871,\n \"type\":2\n },\n {\n \"id\":5,\n \"message\":\"Local Peer Discovery support [ON]\",\n \"timestamp\":1507969127871,\n \"type\":2\n },\n {\n \"id\":6,\n \"message\":\"PeX support [ON]\",\n \"timestamp\":1507969127871,\n \"type\":2\n },\n {\n \"id\":7,\n \"message\":\"Anonymous mode [OFF]\",\n \"timestamp\":1507969127871,\n \"type\":2\n },\n {\n \"id\":8,\n \"message\":\"Encryption support [ON]\",\n \"timestamp\":1507969127871,\n \"type\":2\n },\n {\n \"id\":9,\n \"message\":\"Embedded Tracker [OFF]\",\n \"timestamp\":1507969127871,\n \"type\":2\n },\n {\n \"id\":10,\n \"message\":\"UPnP / NAT-PMP support [ON]\",\n \"timestamp\":1507969127873,\n \"type\":2\n },\n {\n \"id\":11,\n \"message\":\"Web UI: Now listening on port 8080\",\n \"timestamp\":1507969127883,\n \"type\":1\n },\n {\n \"id\":12,\n \"message\":\"Options were saved successfully.\",\n \"timestamp\":1507969128055,\n \"type\":1\n },\n {\n \"id\":13,\n \"message\":\"qBittorrent is successfully listening on interface :: port: TCP/19036\",\n \"timestamp\":1507969128270,\n \"type\":2\n },\n {\n \"id\":14,\n \"message\":\"qBittorrent is successfully listening on interface 0.0.0.0 port: TCP/19036\",\n \"timestamp\":1507969128271,\n \"type\":2\n },\n {\n \"id\":15,\n \"message\":\"qBittorrent is successfully listening on interface 0.0.0.0 port: UDP/19036\",\n \"timestamp\":1507969128272,\n \"type\":2\n }\n]\n```",
- ),
- parameters: Some(
- [
- Bool(
- TypeInfo {
- name: "normal",
- is_optional: true,
- is_list: false,
- description: Some(
- "Include normal messages (default: true)",
- ),
- type_description: None,
- },
- ),
- Bool(
- TypeInfo {
- name: "info",
- is_optional: true,
- is_list: false,
- description: Some(
- "Include info messages (default: true)",
- ),
- type_description: None,
- },
- ),
- Bool(
- TypeInfo {
- name: "warning",
- is_optional: true,
- is_list: false,
- description: Some(
- "Include warning messages (default: true)",
- ),
- type_description: None,
- },
- ),
- Bool(
- TypeInfo {
- name: "critical",
- is_optional: true,
- is_list: false,
- description: Some(
- "Include critical messages (default: true)",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "last_known_id",
- is_optional: true,
- is_list: false,
- description: Some(
- "Exclude messages with \"message id\" <= last_known_id (default: -1)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: true,
- parameters: [
- ReturnTypeParameter {
- name: "id",
- description: "ID of the message",
- return_type: Number(
- TypeInfo {
- name: "id",
- is_optional: false,
- is_list: false,
- description: Some(
- "ID of the message",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "message",
- description: "Text of the message",
- return_type: String(
- TypeInfo {
- name: "message",
- is_optional: false,
- is_list: false,
- description: Some(
- "Text of the message",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "timestamp",
- description: "Milliseconds since epoch",
- return_type: Number(
- TypeInfo {
- name: "timestamp",
- is_optional: false,
- is_list: false,
- description: Some(
- "Milliseconds since epoch",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "type",
- description: "Type of the message: Log::NORMAL: 1, Log::INFO: 2, Log::WARNING: 4, Log::CRITICAL: 8",
- return_type: Number(
- TypeInfo {
- name: "type",
- is_optional: false,
- is_list: false,
- description: Some(
- "Type of the message: Log::NORMAL: 1, Log::INFO: 2, Log::WARNING: 4, Log::CRITICAL: 8",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "main",
- },
- ApiMethod {
- name: "peers",
- description: None,
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "last_known_id",
- is_optional: true,
- is_list: false,
- description: Some(
- "Exclude messages with \"message id\" <= last_known_id (default: -1)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "peers",
- },
- ],
- description: Some(
- "All Log API methods are under \"log\", e.g.: `/api/v2/log/methodName`.",
- ),
- url: "log",
- },
- ApiGroup {
- name: "sync",
- methods: [
- ApiMethod {
- name: "maindata",
- description: Some(
- "Example:\n\n```JSON\n{\n \"rid\":15,\n \"torrents\":\n {\n \"8c212779b4abde7c6bc608063a0d008b7e40ce32\":\n {\n \"state\":\"pausedUP\"\n }\n }\n}\n```",
- ),
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "rid",
- is_optional: false,
- is_list: false,
- description: Some(
- "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)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: false,
- parameters: [
- ReturnTypeParameter {
- name: "rid",
- description: "Response ID",
- return_type: Number(
- TypeInfo {
- name: "rid",
- is_optional: false,
- is_list: false,
- description: Some(
- "Response ID",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "full_update",
- description: "Whether the response contains all the data or partial data",
- return_type: Bool(
- TypeInfo {
- name: "full_update",
- is_optional: false,
- is_list: false,
- description: Some(
- "Whether the response contains all the data or partial data",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "torrents",
- description: "Property: torrent hash, value: same as [torrent list](#get-torrent-list)",
- return_type: Object(
- TypeInfo {
- name: "torrents",
- is_optional: false,
- is_list: false,
- description: Some(
- "Property: torrent hash, value: same as [torrent list](#get-torrent-list)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "torrents_removed",
- description: "List of hashes of torrents removed since last request",
- return_type: StringArray(
- TypeInfo {
- name: "torrents_removed",
- is_optional: false,
- is_list: false,
- description: Some(
- "List of hashes of torrents removed since last request",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "categories",
- description: "Info for categories added since last request",
- return_type: Object(
- TypeInfo {
- name: "categories",
- is_optional: false,
- is_list: false,
- description: Some(
- "Info for categories added since last request",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "categories_removed",
- description: "List of categories removed since last request",
- return_type: StringArray(
- TypeInfo {
- name: "categories_removed",
- is_optional: false,
- is_list: false,
- description: Some(
- "List of categories removed since last request",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "tags",
- description: "List of tags added since last request",
- return_type: StringArray(
- TypeInfo {
- name: "tags",
- is_optional: false,
- is_list: false,
- description: Some(
- "List of tags added since last request",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "tags_removed",
- description: "List of tags removed since last request",
- return_type: StringArray(
- TypeInfo {
- name: "tags_removed",
- is_optional: false,
- is_list: false,
- description: Some(
- "List of tags removed since last request",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "server_state",
- description: "Global transfer info",
- return_type: Object(
- TypeInfo {
- name: "server_state",
- is_optional: false,
- is_list: false,
- description: Some(
- "Global transfer info",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "maindata",
- },
- ApiMethod {
- name: "torrentPeers",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent hash",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "rid",
- is_optional: false,
- is_list: false,
- description: Some(
- "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)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "torrentPeers",
- },
- ],
- description: Some(
- "Sync API implements requests for obtaining changes since the last request.\nAll Sync API methods are under \"sync\", e.g.: `/api/v2/sync/methodName`.",
- ),
- url: "sync",
- },
- ApiGroup {
- name: "transfer_info",
- methods: [
- ApiMethod {
- name: "info",
- description: Some(
- "In addition to the above in partial data requests (see [Get partial data](#get-partial-data) for more info):\n\nPossible values of `connection_status`:\n\nExample:\n\n```JSON\n{\n \"connection_status\":\"connected\",\n \"dht_nodes\":386,\n \"dl_info_data\":681521119,\n \"dl_info_speed\":0,\n \"dl_rate_limit\":0,\n \"up_info_data\":10747904,\n \"up_info_speed\":0,\n \"up_rate_limit\":1048576\n}\n```",
- ),
- parameters: None,
- return_type: Some(
- ReturnType {
- is_list: false,
- parameters: [
- ReturnTypeParameter {
- name: "dl_info_speed",
- description: "Global download rate (bytes/s)",
- return_type: Number(
- TypeInfo {
- name: "dl_info_speed",
- is_optional: false,
- is_list: false,
- description: Some(
- "Global download rate (bytes/s)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dl_info_data",
- description: "Data downloaded this session (bytes)",
- return_type: Number(
- TypeInfo {
- name: "dl_info_data",
- is_optional: false,
- is_list: false,
- description: Some(
- "Data downloaded this session (bytes)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "up_info_speed",
- description: "Global upload rate (bytes/s)",
- return_type: Number(
- TypeInfo {
- name: "up_info_speed",
- is_optional: false,
- is_list: false,
- description: Some(
- "Global upload rate (bytes/s)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "up_info_data",
- description: "Data uploaded this session (bytes)",
- return_type: Number(
- TypeInfo {
- name: "up_info_data",
- is_optional: false,
- is_list: false,
- description: Some(
- "Data uploaded this session (bytes)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dl_rate_limit",
- description: "Download rate limit (bytes/s)",
- return_type: Number(
- TypeInfo {
- name: "dl_rate_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Download rate limit (bytes/s)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "up_rate_limit",
- description: "Upload rate limit (bytes/s)",
- return_type: Number(
- TypeInfo {
- name: "up_rate_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Upload rate limit (bytes/s)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dht_nodes",
- description: "DHT nodes connected to",
- return_type: Number(
- TypeInfo {
- name: "dht_nodes",
- is_optional: false,
- is_list: false,
- description: Some(
- "DHT nodes connected to",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "connection_status",
- description: "Connection status. See possible values here below",
- return_type: String(
- TypeInfo {
- name: "connection_status",
- is_optional: false,
- is_list: false,
- description: Some(
- "Connection status. See possible values here below",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "connected",
- description: "",
- },
- TypeDescriptions {
- value: "firewalled",
- description: "",
- },
- TypeDescriptions {
- value: "disconnected",
- description: "",
- },
- ],
- },
- ),
- },
- ),
- },
- ],
- },
- ),
- url: "info",
- },
- ApiMethod {
- name: "speedLimitsMode",
- description: None,
- parameters: None,
- return_type: None,
- url: "speedLimitsMode",
- },
- ApiMethod {
- name: "toggleSpeedLimitsMode",
- description: None,
- parameters: None,
- return_type: None,
- url: "toggleSpeedLimitsMode",
- },
- ApiMethod {
- name: "downloadLimit",
- description: None,
- parameters: None,
- return_type: None,
- url: "downloadLimit",
- },
- ApiMethod {
- name: "setDownloadLimit",
- description: None,
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "The global download speed limit to set in bytes/second",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "setDownloadLimit",
- },
- ApiMethod {
- name: "uploadLimit",
- description: None,
- parameters: None,
- return_type: None,
- url: "uploadLimit",
- },
- ApiMethod {
- name: "setUploadLimit",
- description: None,
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "The global upload speed limit to set in bytes/second",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "setUploadLimit",
- },
- ApiMethod {
- name: "banPeers",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "peers",
- is_optional: false,
- is_list: false,
- description: Some(
- "The peer to ban, or multiple peers separated by a pipe \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "banPeers",
- },
- ],
- description: Some(
- "All Transfer info API methods are under \"transfer\", e.g.: `/api/v2/transfer/methodName`.",
- ),
- url: "transfer",
- },
- ApiGroup {
- name: "torrent_management",
- methods: [
- ApiMethod {
- name: "info",
- description: Some(
- "Possible values of `state`:\n\nExample:\n\n```JSON\n[\n {\n \"dlspeed\":9681262,\n \"eta\":87,\n \"f_l_piece_prio\":false,\n \"force_start\":false,\n \"hash\":\"8c212779b4abde7c6bc608063a0d008b7e40ce32\",\n \"category\":\"\",\n \"tags\": \"\",\n \"name\":\"debian-8.1.0-amd64-CD-1.iso\",\n \"num_complete\":-1,\n \"num_incomplete\":-1,\n \"num_leechs\":2,\n \"num_seeds\":54,\n \"priority\":1,\n \"progress\":0.16108787059783936,\n \"ratio\":0,\n \"seq_dl\":false,\n \"size\":657457152,\n \"state\":\"downloading\",\n \"super_seeding\":false,\n \"upspeed\":0\n },\n {\n another_torrent_info\n }\n]\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "filter",
- is_optional: true,
- is_list: false,
- description: Some(
- "Filter torrent list by state. Allowed state filters: all, downloading, seeding, completed, paused, active, inactive, resumed, stalled, stalled_uploading, stalled_downloading, errored",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "category",
- is_optional: true,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "tag",
- is_optional: true,
- is_list: false,
- description: Some(
- "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",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "sort",
- is_optional: true,
- is_list: false,
- description: Some(
- "Sort torrents by given key. They can be sorted using any field of the response's JSON array (which are documented below) as the sort key.",
- ),
- type_description: None,
- },
- ),
- Bool(
- TypeInfo {
- name: "reverse",
- is_optional: true,
- is_list: false,
- description: Some(
- "Enable reverse sorting. Defaults to false",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "limit",
- is_optional: true,
- is_list: false,
- description: Some(
- "Limit the number of torrents returned",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "offset",
- is_optional: true,
- is_list: false,
- description: Some(
- "Set offset (if less than 0, offset from end)",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "hashes",
- is_optional: true,
- is_list: false,
- description: Some(
- "Filter by hashes. Can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: true,
- parameters: [
- ReturnTypeParameter {
- name: "added_on",
- description: "Time (Unix Epoch) when the torrent was added to the client",
- return_type: Number(
- TypeInfo {
- name: "added_on",
- is_optional: false,
- is_list: false,
- description: Some(
- "Time (Unix Epoch) when the torrent was added to the client",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "amount_left",
- description: "Amount of data left to download (bytes)",
- return_type: Number(
- TypeInfo {
- name: "amount_left",
- is_optional: false,
- is_list: false,
- description: Some(
- "Amount of data left to download (bytes)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "auto_tmm",
- description: "Whether this torrent is managed by Automatic Torrent Management",
- return_type: Bool(
- TypeInfo {
- name: "auto_tmm",
- is_optional: false,
- is_list: false,
- description: Some(
- "Whether this torrent is managed by Automatic Torrent Management",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "availability",
- description: "Percentage of file pieces currently available",
- return_type: Float(
- TypeInfo {
- name: "availability",
- is_optional: false,
- is_list: false,
- description: Some(
- "Percentage of file pieces currently available",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "category",
- description: "Category of the torrent",
- return_type: String(
- TypeInfo {
- name: "category",
- is_optional: false,
- is_list: false,
- description: Some(
- "Category of the torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "completed",
- description: "Amount of transfer data completed (bytes)",
- return_type: Number(
- TypeInfo {
- name: "completed",
- is_optional: false,
- is_list: false,
- description: Some(
- "Amount of transfer data completed (bytes)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "completion_on",
- description: "Time (Unix Epoch) when the torrent completed",
- return_type: Number(
- TypeInfo {
- name: "completion_on",
- is_optional: false,
- is_list: false,
- description: Some(
- "Time (Unix Epoch) when the torrent completed",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "content_path",
- description: "Absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents)",
- return_type: String(
- TypeInfo {
- name: "content_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Absolute path of torrent content (root path for multifile torrents, absolute file path for singlefile torrents)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dl_limit",
- description: "Torrent download speed limit (bytes/s). -1 if ulimited.",
- return_type: Number(
- TypeInfo {
- name: "dl_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent download speed limit (bytes/s). -1 if ulimited.",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "dlspeed",
- description: "Torrent download speed (bytes/s)",
- return_type: Number(
- TypeInfo {
- name: "dlspeed",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent download speed (bytes/s)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "downloaded",
- description: "Amount of data downloaded",
- return_type: Number(
- TypeInfo {
- name: "downloaded",
- is_optional: false,
- is_list: false,
- description: Some(
- "Amount of data downloaded",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "downloaded_session",
- description: "Amount of data downloaded this session",
- return_type: Number(
- TypeInfo {
- name: "downloaded_session",
- is_optional: false,
- is_list: false,
- description: Some(
- "Amount of data downloaded this session",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "eta",
- description: "Torrent ETA (seconds)",
- return_type: Number(
- TypeInfo {
- name: "eta",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent ETA (seconds)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "f_l_piece_prio",
- description: "True if first last piece are prioritized",
- return_type: Bool(
- TypeInfo {
- name: "f_l_piece_prio",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if first last piece are prioritized",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "force_start",
- description: "True if force start is enabled for this torrent",
- return_type: Bool(
- TypeInfo {
- name: "force_start",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if force start is enabled for this torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "hash",
- description: "Torrent hash",
- return_type: String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent hash",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "last_activity",
- description: "Last time (Unix Epoch) when a chunk was downloaded/uploaded",
- return_type: Number(
- TypeInfo {
- name: "last_activity",
- is_optional: false,
- is_list: false,
- description: Some(
- "Last time (Unix Epoch) when a chunk was downloaded/uploaded",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "magnet_uri",
- description: "Magnet URI corresponding to this torrent",
- return_type: String(
- TypeInfo {
- name: "magnet_uri",
- is_optional: false,
- is_list: false,
- description: Some(
- "Magnet URI corresponding to this torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_ratio",
- description: "Maximum share ratio until torrent is stopped from seeding/uploading",
- return_type: Float(
- TypeInfo {
- name: "max_ratio",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum share ratio until torrent is stopped from seeding/uploading",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "max_seeding_time",
- description: "Maximum seeding time (seconds) until torrent is stopped from seeding",
- return_type: Number(
- TypeInfo {
- name: "max_seeding_time",
- is_optional: false,
- is_list: false,
- description: Some(
- "Maximum seeding time (seconds) until torrent is stopped from seeding",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "name",
- description: "Torrent name",
- return_type: String(
- TypeInfo {
- name: "name",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent name",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_complete",
- description: "Number of seeds in the swarm",
- return_type: Number(
- TypeInfo {
- name: "num_complete",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of seeds in the swarm",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_incomplete",
- description: "Number of leechers in the swarm",
- return_type: Number(
- TypeInfo {
- name: "num_incomplete",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of leechers in the swarm",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_leechs",
- description: "Number of leechers connected to",
- return_type: Number(
- TypeInfo {
- name: "num_leechs",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of leechers connected to",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_seeds",
- description: "Number of seeds connected to",
- return_type: Number(
- TypeInfo {
- name: "num_seeds",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of seeds connected to",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "priority",
- description: "Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode",
- return_type: Number(
- TypeInfo {
- name: "priority",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "progress",
- description: "Torrent progress (percentage/100)",
- return_type: Float(
- TypeInfo {
- name: "progress",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent progress (percentage/100)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ratio",
- description: "Torrent share ratio. Max ratio value: 9999.",
- return_type: Float(
- TypeInfo {
- name: "ratio",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent share ratio. Max ratio value: 9999.",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "ratio_limit",
- description: "TODO (what is different from max_ratio?)",
- return_type: Float(
- TypeInfo {
- name: "ratio_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "TODO (what is different from max_ratio?)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "save_path",
- description: "Path where this torrent's data is stored",
- return_type: String(
- TypeInfo {
- name: "save_path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Path where this torrent's data is stored",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "seeding_time",
- description: "Torrent elapsed time while complete (seconds)",
- return_type: Number(
- TypeInfo {
- name: "seeding_time",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent elapsed time while complete (seconds)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "seeding_time_limit",
- description: "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.",
- return_type: Number(
- TypeInfo {
- name: "seeding_time_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "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.",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "seen_complete",
- description: "Time (Unix Epoch) when this torrent was last seen complete",
- return_type: Number(
- TypeInfo {
- name: "seen_complete",
- is_optional: false,
- is_list: false,
- description: Some(
- "Time (Unix Epoch) when this torrent was last seen complete",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "seq_dl",
- description: "True if sequential download is enabled",
- return_type: Bool(
- TypeInfo {
- name: "seq_dl",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if sequential download is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "size",
- description: "Total size (bytes) of files selected for download",
- return_type: Number(
- TypeInfo {
- name: "size",
- is_optional: false,
- is_list: false,
- description: Some(
- "Total size (bytes) of files selected for download",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "state",
- description: "Torrent state. See table here below for the possible values",
- return_type: String(
- TypeInfo {
- name: "state",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent state. See table here below for the possible values",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "error",
- description: "Some error occurred, applies to paused torrents",
- },
- TypeDescriptions {
- value: "missingFiles",
- description: "Torrent data files is missing",
- },
- TypeDescriptions {
- value: "uploading",
- description: "Torrent is being seeded and data is being transferred",
- },
- TypeDescriptions {
- value: "pausedUP",
- description: "Torrent is paused and has finished downloading",
- },
- TypeDescriptions {
- value: "queuedUP",
- description: "Queuing is enabled and torrent is queued for upload",
- },
- TypeDescriptions {
- value: "stalledUP",
- description: "Torrent is being seeded, but no connection were made",
- },
- TypeDescriptions {
- value: "checkingUP",
- description: "Torrent has finished downloading and is being checked",
- },
- TypeDescriptions {
- value: "forcedUP",
- description: "Torrent is forced to uploading and ignore queue limit",
- },
- TypeDescriptions {
- value: "allocating",
- description: "Torrent is allocating disk space for download",
- },
- TypeDescriptions {
- value: "downloading",
- description: "Torrent is being downloaded and data is being transferred",
- },
- TypeDescriptions {
- value: "metaDL",
- description: "Torrent has just started downloading and is fetching metadata",
- },
- TypeDescriptions {
- value: "pausedDL",
- description: "Torrent is paused and has NOT finished downloading",
- },
- TypeDescriptions {
- value: "queuedDL",
- description: "Queuing is enabled and torrent is queued for download",
- },
- TypeDescriptions {
- value: "stalledDL",
- description: "Torrent is being downloaded, but no connection were made",
- },
- TypeDescriptions {
- value: "checkingDL",
- description: "Same as checkingUP, but torrent has NOT finished downloading",
- },
- TypeDescriptions {
- value: "forcedDL",
- description: "Torrent is forced to downloading to ignore queue limit",
- },
- TypeDescriptions {
- value: "checkingResumeData",
- description: "Checking resume data on qBt startup",
- },
- TypeDescriptions {
- value: "moving",
- description: "Torrent is moving to another location",
- },
- TypeDescriptions {
- value: "unknown",
- description: "Unknown status",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "super_seeding",
- description: "True if super seeding is enabled",
- return_type: Bool(
- TypeInfo {
- name: "super_seeding",
- is_optional: false,
- is_list: false,
- description: Some(
- "True if super seeding is enabled",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "tags",
- description: "Comma-concatenated tag list of the torrent",
- return_type: String(
- TypeInfo {
- name: "tags",
- is_optional: false,
- is_list: false,
- description: Some(
- "Comma-concatenated tag list of the torrent",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "time_active",
- description: "Total active time (seconds)",
- return_type: Number(
- TypeInfo {
- name: "time_active",
- is_optional: false,
- is_list: false,
- description: Some(
- "Total active time (seconds)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "total_size",
- description: "Total size (bytes) of all file in this torrent (including unselected ones)",
- return_type: Number(
- TypeInfo {
- name: "total_size",
- is_optional: false,
- is_list: false,
- description: Some(
- "Total size (bytes) of all file in this torrent (including unselected ones)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "tracker",
- description: "The first tracker with working status. Returns empty string if no tracker is working.",
- return_type: String(
- TypeInfo {
- name: "tracker",
- is_optional: false,
- is_list: false,
- description: Some(
- "The first tracker with working status. Returns empty string if no tracker is working.",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "up_limit",
- description: "Torrent upload speed limit (bytes/s). -1 if ulimited.",
- return_type: Number(
- TypeInfo {
- name: "up_limit",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent upload speed limit (bytes/s). -1 if ulimited.",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "uploaded",
- description: "Amount of data uploaded",
- return_type: Number(
- TypeInfo {
- name: "uploaded",
- is_optional: false,
- is_list: false,
- description: Some(
- "Amount of data uploaded",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "uploaded_session",
- description: "Amount of data uploaded this session",
- return_type: Number(
- TypeInfo {
- name: "uploaded_session",
- is_optional: false,
- is_list: false,
- description: Some(
- "Amount of data uploaded this session",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "upspeed",
- description: "Torrent upload speed (bytes/s)",
- return_type: Number(
- TypeInfo {
- name: "upspeed",
- is_optional: false,
- is_list: false,
- description: Some(
- "Torrent upload speed (bytes/s)",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "info",
- },
- ApiMethod {
- name: "properties",
- description: Some(
- "- empty, if the torrent hash is invalid\n- otherwise, a JSON object with the following fields\n\nNB: `-1` is returned if the type of the property is integer but its value is not known.\n\nExample:\n\n```JSON\n{\n \"addition_date\":1438429165,\n \"comment\":\"\\\"Debian CD from cdimage.debian.org\\\"\",\n \"completion_date\":1438429234,\n \"created_by\":\"\",\n \"creation_date\":1433605214,\n \"dl_limit\":-1,\n \"dl_speed\":0,\n \"dl_speed_avg\":9736015,\n \"eta\":8640000,\n \"last_seen\":1438430354,\n \"nb_connections\":3,\n \"nb_connections_limit\":250,\n \"peers\":1,\n \"peers_total\":89,\n \"piece_size\":524288,\n \"pieces_have\":1254,\n \"pieces_num\":1254,\n \"reannounce\":672,\n \"save_path\":\"/Downloads/debian-8.1.0-amd64-CD-1.iso\",\n \"seeding_time\":1128,\n \"seeds\":1,\n \"seeds_total\":254,\n \"share_ratio\":0.00072121022562178299,\n \"time_elapsed\":1197,\n \"total_downloaded\":681521119,\n \"total_downloaded_session\":681521119,\n \"total_size\":657457152,\n \"total_uploaded\":491520,\n \"total_uploaded_session\":491520,\n \"total_wasted\":23481724,\n \"up_limit\":-1,\n \"up_speed\":0,\n \"up_speed_avg\":410\n}\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent you want to get the generic properties of",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "properties",
- },
- ApiMethod {
- name: "trackers",
- description: Some(
- "Possible values of `status`:\n\nExample:\n\n```JSON\n[\n {\n \"msg\":\"\",\n \"num_peers\":100,\n \"status\":2,\n \"url\":\"http://bttracker.debian.org:6969/announce\"\n },\n {\n another_tracker_info\n }\n]\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent you want to get the trackers of",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: true,
- parameters: [
- ReturnTypeParameter {
- name: "url",
- description: "Tracker url",
- return_type: String(
- TypeInfo {
- name: "url",
- is_optional: false,
- is_list: false,
- description: Some(
- "Tracker url",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "status",
- description: "Tracker status. See the table below for possible values",
- return_type: Number(
- TypeInfo {
- name: "status",
- is_optional: false,
- is_list: false,
- description: Some(
- "Tracker status. See the table below for possible values",
- ),
- type_description: Some(
- TypeDescription {
- values: [
- TypeDescriptions {
- value: "0",
- description: "Tracker is disabled (used for DHT, PeX, and LSD)",
- },
- TypeDescriptions {
- value: "1",
- description: "Tracker has not been contacted yet",
- },
- TypeDescriptions {
- value: "2",
- description: "Tracker has been contacted and is working",
- },
- TypeDescriptions {
- value: "3",
- description: "Tracker is updating",
- },
- TypeDescriptions {
- value: "4",
- description: "Tracker has been contacted, but it is not working (or doesn't send proper replies)",
- },
- ],
- },
- ),
- },
- ),
- },
- ReturnTypeParameter {
- name: "tier",
- description: "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).",
- return_type: Number(
- TypeInfo {
- name: "tier",
- is_optional: false,
- is_list: false,
- description: Some(
- "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).",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_peers",
- description: "Number of peers for current torrent, as reported by the tracker",
- return_type: Number(
- TypeInfo {
- name: "num_peers",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of peers for current torrent, as reported by the tracker",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_seeds",
- description: "Number of seeds for current torrent, asreported by the tracker",
- return_type: Number(
- TypeInfo {
- name: "num_seeds",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of seeds for current torrent, asreported by the tracker",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_leeches",
- description: "Number of leeches for current torrent, as reported by the tracker",
- return_type: Number(
- TypeInfo {
- name: "num_leeches",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of leeches for current torrent, as reported by the tracker",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "num_downloaded",
- description: "Number of completed downlods for current torrent, as reported by the tracker",
- return_type: Number(
- TypeInfo {
- name: "num_downloaded",
- is_optional: false,
- is_list: false,
- description: Some(
- "Number of completed downlods for current torrent, as reported by the tracker",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "msg",
- description: "Tracker message (there is no way of knowing what this message is - it's up to tracker admins)",
- return_type: String(
- TypeInfo {
- name: "msg",
- is_optional: false,
- is_list: false,
- description: Some(
- "Tracker message (there is no way of knowing what this message is - it's up to tracker admins)",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "trackers",
- },
- ApiMethod {
- name: "webseeds",
- description: Some(
- "Example:\n\n```JSON\n[\n {\n \"url\":\"http://some_url/\"\n },\n {\n \"url\":\"http://some_other_url/\"\n }\n]\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent you want to get the webseeds of",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: true,
- parameters: [
- ReturnTypeParameter {
- name: "url",
- description: "URL of the web seed",
- return_type: String(
- TypeInfo {
- name: "url",
- is_optional: false,
- is_list: false,
- description: Some(
- "URL of the web seed",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "webseeds",
- },
- ApiMethod {
- name: "files",
- description: Some(
- "- empty, if the torrent hash is invalid\n- otherwise, a JSON array, where each element contains info about one file, with the following fields\n\nPossible values of `priority`:\n\nExample:\n\n```JSON\n\n[\n {\n \"index\":0,\n \"is_seed\":false,\n \"name\":\"debian-8.1.0-amd64-CD-1.iso\",\n \"piece_range\":[0,1253],\n \"priority\":1,\n \"progress\":0,\n \"size\":657457152,\n \"availability\":0.5,\n }\n]\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent you want to get the contents of",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "indexes",
- is_optional: true,
- is_list: false,
- description: Some(
- "The indexes of the files you want to retrieve. indexes can contain multiple values separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "files",
- },
- ApiMethod {
- name: "pieceStates",
- description: Some(
- "- empty, if the torrent hash is invalid\n- otherwise, an array of states (integers) of all pieces (in order) of a specific torrent.\n\nValue meanings are defined as below:\n\nExample:\n\n```JSON\n[0,0,2,1,0,0,2,1]\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent you want to get the pieces' states of",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "pieceStates",
- },
- ApiMethod {
- name: "pieceHashes",
- description: Some(
- "- empty, if the torrent hash is invalid\n- otherwise, an array of hashes (strings) of all pieces (in order) of a specific torrent.\n\nExample:\n\n```JSON\n[\"54eddd830a5b58480a6143d616a97e3a6c23c439\",\"f8a99d225aa4241db100f88407fc3bdaead583ab\",\"928fb615b9bd4dd8f9e9022552c8f8f37ef76f58\"]\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent you want to get the pieces' hashes of",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "pieceHashes",
- },
- ApiMethod {
- name: "pause",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to pause. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "pause",
- },
- ApiMethod {
- name: "resume",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to resume. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "resume",
- },
- ApiMethod {
- name: "delete",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to delete. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "delete",
- },
- ApiMethod {
- name: "recheck",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to recheck. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "recheck",
- },
- ApiMethod {
- name: "reannounce",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to reannounce. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "reannounce",
- },
- ApiMethod {
- name: "add",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "urls",
- is_optional: false,
- is_list: false,
- description: Some(
- "URLs separated with newlines",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "savepath",
- is_optional: true,
- is_list: false,
- description: Some(
- "Download folder",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "cookie",
- is_optional: true,
- is_list: false,
- description: Some(
- "Cookie sent to download the .torrent file",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "category",
- is_optional: true,
- is_list: false,
- description: Some(
- "Category for the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "tags",
- is_optional: true,
- is_list: false,
- description: Some(
- "Tags for the torrent, split by ','",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "skip_checking",
- is_optional: true,
- is_list: false,
- description: Some(
- "Skip hash checking. Possible values are true, false (default)",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "paused",
- is_optional: true,
- is_list: false,
- description: Some(
- "Add torrents in the paused state. Possible values are true, false (default)",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "root_folder",
- is_optional: true,
- is_list: false,
- description: Some(
- "Create the root folder. Possible values are true, false, unset (default)",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "rename",
- is_optional: true,
- is_list: false,
- description: Some(
- "Rename torrent",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "upLimit",
- is_optional: true,
- is_list: false,
- description: Some(
- "Set torrent upload speed limit. Unit in bytes/second",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "dlLimit",
- is_optional: true,
- is_list: false,
- description: Some(
- "Set torrent download speed limit. Unit in bytes/second",
- ),
- type_description: None,
- },
- ),
- Float(
- TypeInfo {
- name: "ratioLimit",
- is_optional: true,
- is_list: false,
- description: Some(
- "Set torrent share ratio limit",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "seedingTimeLimit",
- is_optional: true,
- is_list: false,
- description: Some(
- "Set torrent seeding time limit. Unit in seconds",
- ),
- type_description: None,
- },
- ),
- Bool(
- TypeInfo {
- name: "autoTMM",
- is_optional: true,
- is_list: false,
- description: Some(
- "Whether Automatic Torrent Management should be used",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "sequentialDownload",
- is_optional: true,
- is_list: false,
- description: Some(
- "Enable sequential download. Possible values are true, false (default)",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "firstLastPiecePrio",
- is_optional: true,
- is_list: false,
- description: Some(
- "Prioritize download first last piece. Possible values are true, false (default)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "add",
- },
- ApiMethod {
- name: "addTrackers",
- description: None,
- parameters: None,
- return_type: None,
- url: "addTrackers",
- },
- ApiMethod {
- name: "editTracker",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "origUrl",
- is_optional: false,
- is_list: false,
- description: Some(
- "The tracker URL you want to edit",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "newUrl",
- is_optional: false,
- is_list: false,
- description: Some(
- "The new URL to replace the origUrl",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "editTracker",
- },
- ApiMethod {
- name: "removeTrackers",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "urls",
- is_optional: false,
- is_list: false,
- description: Some(
- "URLs to remove, separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "removeTrackers",
- },
- ApiMethod {
- name: "addPeers",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent, or multiple hashes separated by a pipe \\",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "peers",
- is_optional: false,
- is_list: false,
- description: Some(
- "The peer to add, or multiple peers separated by a pipe \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "addPeers",
- },
- ApiMethod {
- name: "increasePrio",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to increase the priority of. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "increasePrio",
- },
- ApiMethod {
- name: "decreasePrio",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to decrease the priority of. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "decreasePrio",
- },
- ApiMethod {
- name: "topPrio",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to set to the maximum priority. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "topPrio",
- },
- ApiMethod {
- name: "bottomPrio",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to set to the minimum priority. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "bottomPrio",
- },
- ApiMethod {
- name: "filePrio",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "id",
- is_optional: false,
- is_list: false,
- description: Some(
- "File ids, separated by \\",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "priority",
- is_optional: false,
- is_list: false,
- description: Some(
- "File priority to set (consult [torrent contents API](#get-torrent-contents) for possible values)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "filePrio",
- },
- ApiMethod {
- name: "downloadLimit",
- description: None,
- parameters: None,
- return_type: None,
- url: "downloadLimit",
- },
- ApiMethod {
- name: "setShareLimits",
- description: None,
- parameters: None,
- return_type: None,
- url: "setShareLimits",
- },
- ApiMethod {
- name: "uploadLimit",
- description: None,
- parameters: None,
- return_type: None,
- url: "uploadLimit",
- },
- ApiMethod {
- name: "setUploadLimit",
- description: None,
- parameters: None,
- return_type: None,
- url: "setUploadLimit",
- },
- ApiMethod {
- name: "setLocation",
- description: None,
- parameters: None,
- return_type: None,
- url: "setLocation",
- },
- ApiMethod {
- name: "rename",
- description: None,
- parameters: None,
- return_type: None,
- url: "rename",
- },
- ApiMethod {
- name: "setCategory",
- description: None,
- parameters: None,
- return_type: None,
- url: "setCategory",
- },
- ApiMethod {
- name: "categories",
- description: None,
- parameters: None,
- return_type: None,
- url: "categories",
- },
- ApiMethod {
- name: "createCategory",
- description: None,
- parameters: None,
- return_type: None,
- url: "createCategory",
- },
- ApiMethod {
- name: "editCategory",
- description: None,
- parameters: None,
- return_type: None,
- url: "editCategory",
- },
- ApiMethod {
- name: "removeCategories",
- description: None,
- parameters: None,
- return_type: None,
- url: "removeCategories",
- },
- ApiMethod {
- name: "addTags",
- description: None,
- parameters: None,
- return_type: None,
- url: "addTags",
- },
- ApiMethod {
- name: "removeTags",
- description: None,
- parameters: None,
- return_type: None,
- url: "removeTags",
- },
- ApiMethod {
- name: "tags",
- description: None,
- parameters: None,
- return_type: None,
- url: "tags",
- },
- ApiMethod {
- name: "createTags",
- description: None,
- parameters: None,
- return_type: None,
- url: "createTags",
- },
- ApiMethod {
- name: "deleteTags",
- description: None,
- parameters: None,
- return_type: None,
- url: "deleteTags",
- },
- ApiMethod {
- name: "setAutoManagement",
- description: None,
- parameters: None,
- return_type: None,
- url: "setAutoManagement",
- },
- ApiMethod {
- name: "toggleSequentialDownload",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to toggle sequential download for. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "toggleSequentialDownload",
- },
- ApiMethod {
- name: "toggleFirstLastPiecePrio",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hashes",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hashes of the torrents you want to toggle the first/last piece priority for. hashes can contain multiple hashes separated by \\",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "toggleFirstLastPiecePrio",
- },
- ApiMethod {
- name: "setForceStart",
- description: None,
- parameters: None,
- return_type: None,
- url: "setForceStart",
- },
- ApiMethod {
- name: "setSuperSeeding",
- description: None,
- parameters: None,
- return_type: None,
- url: "setSuperSeeding",
- },
- ApiMethod {
- name: "renameFile",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "oldPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "The old path of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "newPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "The new path to use for the file",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "renameFile",
- },
- ApiMethod {
- name: "renameFolder",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "hash",
- is_optional: false,
- is_list: false,
- description: Some(
- "The hash of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "oldPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "The old path of the torrent",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "newPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "The new path to use for the file",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "renameFolder",
- },
- ],
- description: Some(
- "All Torrent management API methods are under \"torrents\", e.g.: `/api/v2/torrents/methodName`.",
- ),
- url: "torrents",
- },
- ApiGroup {
- name: "rss",
- methods: [
- ApiMethod {
- name: "addFolder",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Full path of added folder (e.g. \"The Pirate Bay\\Top100\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "addFolder",
- },
- ApiMethod {
- name: "addFeed",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "url",
- is_optional: false,
- is_list: false,
- description: Some(
- "URL of RSS feed (e.g. \"[http://thepiratebay.org/rss//top100/200](http://thepiratebay.org/rss//top100/200)\")",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "path",
- is_optional: true,
- is_list: false,
- description: Some(
- "Full path of added folder (e.g. \"The Pirate Bay\\Top100\\Video\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "addFeed",
- },
- ApiMethod {
- name: "removeItem",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "path",
- is_optional: false,
- is_list: false,
- description: Some(
- "Full path of removed item (e.g. \"The Pirate Bay\\Top100\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "removeItem",
- },
- ApiMethod {
- name: "moveItem",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "itemPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "destPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "New full path of item (e.g. \"The Pirate Bay\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "moveItem",
- },
- ApiMethod {
- name: "items",
- description: None,
- parameters: Some(
- [
- Bool(
- TypeInfo {
- name: "withData",
- is_optional: true,
- is_list: false,
- description: Some(
- "True if you need current feed articles",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "items",
- },
- ApiMethod {
- name: "markAsRead",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "itemPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "articleId",
- is_optional: true,
- is_list: false,
- description: Some(
- "ID of article",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "markAsRead",
- },
- ApiMethod {
- name: "refreshItem",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "itemPath",
- is_optional: false,
- is_list: false,
- description: Some(
- "Current full path of item (e.g. \"The Pirate Bay\\Top100\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "refreshItem",
- },
- ApiMethod {
- name: "setRule",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "ruleName",
- is_optional: false,
- is_list: false,
- description: Some(
- "Rule name (e.g. \"Punisher\")",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "ruleDef",
- is_optional: false,
- is_list: false,
- description: Some(
- "JSON encoded rule definition",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "setRule",
- },
- ApiMethod {
- name: "renameRule",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "ruleName",
- is_optional: false,
- is_list: false,
- description: Some(
- "Rule name (e.g. \"Punisher\")",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "newRuleName",
- is_optional: false,
- is_list: false,
- description: Some(
- "New rule name (e.g. \"The Punisher\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "renameRule",
- },
- ApiMethod {
- name: "removeRule",
- description: None,
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "ruleName",
- is_optional: false,
- is_list: false,
- description: Some(
- "Rule name (e.g. \"Punisher\")",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "removeRule",
- },
- ApiMethod {
- name: "rules",
- description: None,
- parameters: None,
- return_type: None,
- url: "rules",
- },
- ApiMethod {
- name: "matchingArticles",
- description: None,
- parameters: None,
- return_type: None,
- url: "matchingArticles",
- },
- ],
- description: Some(
- "All RSS API methods are under \"rss\", e.g.: `/api/v2/rss/methodName`.",
- ),
- url: "rss",
- },
- ApiGroup {
- name: "search",
- methods: [
- ApiMethod {
- name: "start",
- description: Some(
- "Example:\n\n```JSON\n{\n \"id\": 12345\n}\n```",
- ),
- parameters: Some(
- [
- String(
- TypeInfo {
- name: "pattern",
- is_optional: false,
- is_list: false,
- description: Some(
- "Pattern to search for (e.g. \"Ubuntu 18.04\")",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "plugins",
- is_optional: false,
- is_list: false,
- description: Some(
- "Plugins to use for searching (e.g. \"legittorrents\"). Supports multiple plugins separated by \\",
- ),
- type_description: None,
- },
- ),
- String(
- TypeInfo {
- name: "category",
- is_optional: false,
- is_list: false,
- description: Some(
- "Categories to limit your search to (e.g. \"legittorrents\"). Available categories depend on the specified plugins. Also supports all",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: false,
- parameters: [
- ReturnTypeParameter {
- name: "id",
- description: "ID of the search job",
- return_type: Number(
- TypeInfo {
- name: "id",
- is_optional: false,
- is_list: false,
- description: Some(
- "ID of the search job",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "start",
- },
- ApiMethod {
- name: "stop",
- description: None,
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "id",
- is_optional: false,
- is_list: false,
- description: Some(
- "ID of the search job",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: None,
- url: "stop",
- },
- ApiMethod {
- name: "status",
- description: Some(
- "Example:\n\n```JSON\n[\n {\n \"id\": 12345,\n \"status\": \"Running\",\n \"total\": 170\n }\n]\n```",
- ),
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "id",
- is_optional: true,
- is_list: false,
- description: Some(
- "ID of the search job. If not specified, all search jobs are returned",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: true,
- parameters: [
- ReturnTypeParameter {
- name: "id",
- description: "ID of the search job",
- return_type: Number(
- TypeInfo {
- name: "id",
- is_optional: false,
- is_list: false,
- description: Some(
- "ID of the search job",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "status",
- description: "Current status of the search job (either Running or Stopped)",
- return_type: String(
- TypeInfo {
- name: "status",
- is_optional: false,
- is_list: false,
- description: Some(
- "Current status of the search job (either Running or Stopped)",
- ),
- type_description: None,
- },
- ),
- },
- ReturnTypeParameter {
- name: "total",
- description: "Total number of results. If the status is Running this number may contineu to increase",
- return_type: Number(
- TypeInfo {
- name: "total",
- is_optional: false,
- is_list: false,
- description: Some(
- "Total number of results. If the status is Running this number may contineu to increase",
- ),
- type_description: None,
- },
- ),
- },
- ],
- },
- ),
- url: "status",
- },
- ApiMethod {
- name: "results",
- description: None,
- parameters: Some(
- [
- Number(
- TypeInfo {
- name: "id",
- is_optional: false,
- is_list: false,
- description: Some(
- "ID of the search job",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "limit",
- is_optional: true,
- is_list: false,
- description: Some(
- "max number of results to return. 0 or negative means no limit",
- ),
- type_description: None,
- },
- ),
- Number(
- TypeInfo {
- name: "offset",
- is_optional: true,
- is_list: false,
- description: Some(
- "result to start at. A negative number means count backwards (e.g. -2 returns the 2 most recent results)",
- ),
- type_description: None,
- },
- ),
- ],
- ),
- return_type: Some(
- ReturnType {
- is_list: false,
- parameters: [],
- },
- ),
- url: "results",
- },
- ],
- description: Some(
- "All Search API methods are under \"search\", e.g.: `/api/v2/search/methodName`.",
- ),
- url: "search",
- },
-]
\ No newline at end of file
diff --git a/qbittorrent-web-api-gen/src/parser/token_tree.txt b/qbittorrent-web-api-gen/src/parser/token_tree.txt
deleted file mode 100644
index 52bd36c..0000000
--- a/qbittorrent-web-api-gen/src/parser/token_tree.txt
+++ /dev/null
@@ -1,13793 +0,0 @@
-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(
- "",
- ),
- Asterix(
- "",
- ),
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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)",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Shutdown application",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `shutdown`",
- ),
- Text(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Get application preferences",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `preferences`",
- ),
- Text(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Text(
- "Possible fields:",
- ),
- Text(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "Property | Type | Description",
- columns: [
- "Property",
- "Type",
- "Description",
- ],
- },
- split: "-----------------------------------------|---------|------------",
- rows: [
- TableRow {
- raw: "`locale` | string | Currently selected language (e.g. en_GB for English)",
- columns: [
- "locale",
- "string",
- "Currently selected language (e.g. en_GB for English)",
- ],
- },
- TableRow {
- raw: "`create_subfolder_enabled` | bool | True if a subfolder should be created when adding a torrent",
- columns: [
- "create_subfolder_enabled",
- "bool",
- "True if a subfolder should be created when adding a torrent",
- ],
- },
- TableRow {
- raw: "`start_paused_enabled` | bool | True if torrents should be added in a Paused state",
- columns: [
- "start_paused_enabled",
- "bool",
- "True if torrents should be added in a Paused state",
- ],
- },
- TableRow {
- raw: "`auto_delete_mode` | integer | TODO",
- columns: [
- "auto_delete_mode",
- "integer",
- "TODO",
- ],
- },
- TableRow {
- raw: "`preallocate_all` | bool | True if disk space should be pre-allocated for all files",
- columns: [
- "preallocate_all",
- "bool",
- "True if disk space should be pre-allocated for all files",
- ],
- },
- TableRow {
- raw: "`incomplete_files_ext` | bool | True if \".!qB\" should be appended to incomplete files",
- columns: [
- "incomplete_files_ext",
- "bool",
- "True if \".!qB\" should be appended to incomplete files",
- ],
- },
- TableRow {
- raw: "`auto_tmm_enabled` | bool | True if Automatic Torrent Management is enabled by default",
- columns: [
- "auto_tmm_enabled",
- "bool",
- "True if Automatic Torrent Management is enabled by default",
- ],
- },
- TableRow {
- raw: "`torrent_changed_tmm_enabled` | bool | True if torrent should be relocated when its Category changes",
- columns: [
- "torrent_changed_tmm_enabled",
- "bool",
- "True if torrent should be relocated when its Category changes",
- ],
- },
- TableRow {
- raw: "`save_path_changed_tmm_enabled` | bool | True if torrent should be relocated when the default save path changes",
- columns: [
- "save_path_changed_tmm_enabled",
- "bool",
- "True if torrent should be relocated when the default save path changes",
- ],
- },
- TableRow {
- raw: "`category_changed_tmm_enabled` | bool | True if torrent should be relocated when its Category's save path changes",
- columns: [
- "category_changed_tmm_enabled",
- "bool",
- "True if torrent should be relocated when its Category's save path changes",
- ],
- },
- TableRow {
- raw: "`save_path` | string | Default save path for torrents, separated by slashes",
- columns: [
- "save_path",
- "string",
- "Default save path for torrents, separated by slashes",
- ],
- },
- TableRow {
- raw: "`temp_path_enabled` | bool | True if folder for incomplete torrents is enabled",
- columns: [
- "temp_path_enabled",
- "bool",
- "True if folder for incomplete torrents is enabled",
- ],
- },
- TableRow {
- raw: "`temp_path` | string | Path for incomplete torrents, separated by slashes",
- columns: [
- "temp_path",
- "string",
- "Path for incomplete torrents, separated by slashes",
- ],
- },
- TableRow {
- raw: "`scan_dirs` | object | 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",
- "object",
- "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` | string | Path to directory to copy .torrent files to. Slashes are used as path separators",
- columns: [
- "export_dir",
- "string",
- "Path to directory to copy .torrent files to. Slashes are used as path separators",
- ],
- },
- TableRow {
- raw: "`export_dir_fin` | string | Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators",
- columns: [
- "export_dir_fin",
- "string",
- "Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators",
- ],
- },
- TableRow {
- raw: "`mail_notification_enabled` | bool | True if e-mail notification should be enabled",
- columns: [
- "mail_notification_enabled",
- "bool",
- "True if e-mail notification should be enabled",
- ],
- },
- TableRow {
- raw: "`mail_notification_sender` | string | e-mail where notifications should originate from",
- columns: [
- "mail_notification_sender",
- "string",
- "e-mail where notifications should originate from",
- ],
- },
- TableRow {
- raw: "`mail_notification_email` | string | e-mail to send notifications to",
- columns: [
- "mail_notification_email",
- "string",
- "e-mail to send notifications to",
- ],
- },
- TableRow {
- raw: "`mail_notification_smtp` | string | smtp server for e-mail notifications",
- columns: [
- "mail_notification_smtp",
- "string",
- "smtp server for e-mail notifications",
- ],
- },
- TableRow {
- raw: "`mail_notification_ssl_enabled` | bool | True if smtp server requires SSL connection",
- columns: [
- "mail_notification_ssl_enabled",
- "bool",
- "True if smtp server requires SSL connection",
- ],
- },
- TableRow {
- raw: "`mail_notification_auth_enabled` | bool | True if smtp server requires authentication",
- columns: [
- "mail_notification_auth_enabled",
- "bool",
- "True if smtp server requires authentication",
- ],
- },
- TableRow {
- raw: "`mail_notification_username` | string | Username for smtp authentication",
- columns: [
- "mail_notification_username",
- "string",
- "Username for smtp authentication",
- ],
- },
- TableRow {
- raw: "`mail_notification_password` | string | Password for smtp authentication",
- columns: [
- "mail_notification_password",
- "string",
- "Password for smtp authentication",
- ],
- },
- TableRow {
- raw: "`autorun_enabled` | bool | True if external program should be run after torrent has finished downloading",
- columns: [
- "autorun_enabled",
- "bool",
- "True if external program should be run after torrent has finished downloading",
- ],
- },
- TableRow {
- raw: "`autorun_program` | 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",
- "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` | bool | True if torrent queuing is enabled",
- columns: [
- "queueing_enabled",
- "bool",
- "True if torrent queuing is enabled",
- ],
- },
- TableRow {
- raw: "`max_active_downloads` | integer | Maximum number of active simultaneous downloads",
- columns: [
- "max_active_downloads",
- "integer",
- "Maximum number of active simultaneous downloads",
- ],
- },
- TableRow {
- raw: "`max_active_torrents` | integer | Maximum number of active simultaneous downloads and uploads",
- columns: [
- "max_active_torrents",
- "integer",
- "Maximum number of active simultaneous downloads and uploads",
- ],
- },
- TableRow {
- raw: "`max_active_uploads` | integer | Maximum number of active simultaneous uploads",
- columns: [
- "max_active_uploads",
- "integer",
- "Maximum number of active simultaneous uploads",
- ],
- },
- TableRow {
- raw: "`dont_count_slow_torrents` | 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",
- "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` | integer | Download rate in KiB/s for a torrent to be considered \"slow\"",
- columns: [
- "slow_torrent_dl_rate_threshold",
- "integer",
- "Download rate in KiB/s for a torrent to be considered \"slow\"",
- ],
- },
- TableRow {
- raw: "`slow_torrent_ul_rate_threshold` | integer | Upload rate in KiB/s for a torrent to be considered \"slow\"",
- columns: [
- "slow_torrent_ul_rate_threshold",
- "integer",
- "Upload rate in KiB/s for a torrent to be considered \"slow\"",
- ],
- },
- TableRow {
- raw: "`slow_torrent_inactive_timer` | integer | Seconds a torrent should be inactive before considered \"slow\"",
- columns: [
- "slow_torrent_inactive_timer",
- "integer",
- "Seconds a torrent should be inactive before considered \"slow\"",
- ],
- },
- TableRow {
- raw: "`max_ratio_enabled` | bool | True if share ratio limit is enabled",
- columns: [
- "max_ratio_enabled",
- "bool",
- "True if share ratio limit is enabled",
- ],
- },
- TableRow {
- raw: "`max_ratio` | float | Get the global share ratio limit",
- columns: [
- "max_ratio",
- "float",
- "Get the global share ratio limit",
- ],
- },
- TableRow {
- raw: "`max_ratio_act` | integer | Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.",
- columns: [
- "max_ratio_act",
- "integer",
- "Action performed when a torrent reaches the maximum share ratio. See list of possible values here below.",
- ],
- },
- TableRow {
- raw: "`listen_port` | integer | Port for incoming connections",
- columns: [
- "listen_port",
- "integer",
- "Port for incoming connections",
- ],
- },
- TableRow {
- raw: "`upnp` | bool | True if UPnP/NAT-PMP is enabled",
- columns: [
- "upnp",
- "bool",
- "True if UPnP/NAT-PMP is enabled",
- ],
- },
- TableRow {
- raw: "`random_port` | bool | True if the port is randomly selected",
- columns: [
- "random_port",
- "bool",
- "True if the port is randomly selected",
- ],
- },
- TableRow {
- raw: "`dl_limit` | integer | Global download speed limit in KiB/s; `-1` means no limit is applied",
- columns: [
- "dl_limit",
- "integer",
- "Global download speed limit in KiB/s; -1 means no limit is applied",
- ],
- },
- TableRow {
- raw: "`up_limit` | integer | Global upload speed limit in KiB/s; `-1` means no limit is applied",
- columns: [
- "up_limit",
- "integer",
- "Global upload speed limit in KiB/s; -1 means no limit is applied",
- ],
- },
- TableRow {
- raw: "`max_connec` | integer | Maximum global number of simultaneous connections",
- columns: [
- "max_connec",
- "integer",
- "Maximum global number of simultaneous connections",
- ],
- },
- TableRow {
- raw: "`max_connec_per_torrent` | integer | Maximum number of simultaneous connections per torrent",
- columns: [
- "max_connec_per_torrent",
- "integer",
- "Maximum number of simultaneous connections per torrent",
- ],
- },
- TableRow {
- raw: "`max_uploads` | integer | Maximum number of upload slots",
- columns: [
- "max_uploads",
- "integer",
- "Maximum number of upload slots",
- ],
- },
- TableRow {
- raw: "`max_uploads_per_torrent` | integer | Maximum number of upload slots per torrent",
- columns: [
- "max_uploads_per_torrent",
- "integer",
- "Maximum number of upload slots per torrent",
- ],
- },
- TableRow {
- raw: "`stop_tracker_timeout` | integer | Timeout in seconds for a `stopped` announce request to trackers",
- columns: [
- "stop_tracker_timeout",
- "integer",
- "Timeout in seconds for a stopped announce request to trackers",
- ],
- },
- TableRow {
- raw: "`enable_piece_extent_affinity` | bool | True if the advanced libtorrent option `piece_extent_affinity` is enabled",
- columns: [
- "enable_piece_extent_affinity",
- "bool",
- "True if the advanced libtorrent option piece_extent_affinity is enabled",
- ],
- },
- TableRow {
- raw: "`bittorrent_protocol` | integer | Bittorrent Protocol to use (see list of possible values below)",
- columns: [
- "bittorrent_protocol",
- "integer",
- "Bittorrent Protocol to use (see list of possible values below)",
- ],
- },
- TableRow {
- raw: "`limit_utp_rate` | 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",
- "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` | bool | True if `[du]l_limit` should be applied to estimated TCP overhead (service data: e.g. packet headers)",
- columns: [
- "limit_tcp_overhead",
- "bool",
- "True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers)",
- ],
- },
- TableRow {
- raw: "`limit_lan_peers` | bool | True if `[du]l_limit` should be applied to peers on the LAN",
- columns: [
- "limit_lan_peers",
- "bool",
- "True if [du]l_limit should be applied to peers on the LAN",
- ],
- },
- TableRow {
- raw: "`alt_dl_limit` | integer | Alternative global download speed limit in KiB/s",
- columns: [
- "alt_dl_limit",
- "integer",
- "Alternative global download speed limit in KiB/s",
- ],
- },
- TableRow {
- raw: "`alt_up_limit` | integer | Alternative global upload speed limit in KiB/s",
- columns: [
- "alt_up_limit",
- "integer",
- "Alternative global upload speed limit in KiB/s",
- ],
- },
- TableRow {
- raw: "`scheduler_enabled` | bool | True if alternative limits should be applied according to schedule",
- columns: [
- "scheduler_enabled",
- "bool",
- "True if alternative limits should be applied according to schedule",
- ],
- },
- TableRow {
- raw: "`schedule_from_hour` | integer | Scheduler starting hour",
- columns: [
- "schedule_from_hour",
- "integer",
- "Scheduler starting hour",
- ],
- },
- TableRow {
- raw: "`schedule_from_min` | integer | Scheduler starting minute",
- columns: [
- "schedule_from_min",
- "integer",
- "Scheduler starting minute",
- ],
- },
- TableRow {
- raw: "`schedule_to_hour` | integer | Scheduler ending hour",
- columns: [
- "schedule_to_hour",
- "integer",
- "Scheduler ending hour",
- ],
- },
- TableRow {
- raw: "`schedule_to_min` | integer | Scheduler ending minute",
- columns: [
- "schedule_to_min",
- "integer",
- "Scheduler ending minute",
- ],
- },
- TableRow {
- raw: "`scheduler_days` | integer | Scheduler days. See possible values here below",
- columns: [
- "scheduler_days",
- "integer",
- "Scheduler days. See possible values here below",
- ],
- },
- TableRow {
- raw: "`dht` | bool | True if DHT is enabled",
- columns: [
- "dht",
- "bool",
- "True if DHT is enabled",
- ],
- },
- TableRow {
- raw: "`pex` | bool | True if PeX is enabled",
- columns: [
- "pex",
- "bool",
- "True if PeX is enabled",
- ],
- },
- TableRow {
- raw: "`lsd` | bool | True if LSD is enabled",
- columns: [
- "lsd",
- "bool",
- "True if LSD is enabled",
- ],
- },
- TableRow {
- raw: "`encryption` | integer | See list of possible values here below",
- columns: [
- "encryption",
- "integer",
- "See list of possible values here below",
- ],
- },
- TableRow {
- raw: "`anonymous_mode` | 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",
- "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` | integer | See list of possible values here below",
- columns: [
- "proxy_type",
- "integer",
- "See list of possible values here below",
- ],
- },
- TableRow {
- raw: "`proxy_ip` | string | Proxy IP address or domain name",
- columns: [
- "proxy_ip",
- "string",
- "Proxy IP address or domain name",
- ],
- },
- TableRow {
- raw: "`proxy_port` | integer | Proxy port",
- columns: [
- "proxy_port",
- "integer",
- "Proxy port",
- ],
- },
- TableRow {
- raw: "`proxy_peer_connections` | 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",
- "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` | bool | True proxy requires authentication; doesn't apply to SOCKS4 proxies",
- columns: [
- "proxy_auth_enabled",
- "bool",
- "True proxy requires authentication; doesn't apply to SOCKS4 proxies",
- ],
- },
- TableRow {
- raw: "`proxy_username` | string | Username for proxy authentication",
- columns: [
- "proxy_username",
- "string",
- "Username for proxy authentication",
- ],
- },
- TableRow {
- raw: "`proxy_password` | string | Password for proxy authentication",
- columns: [
- "proxy_password",
- "string",
- "Password for proxy authentication",
- ],
- },
- TableRow {
- raw: "`proxy_torrents_only` | bool | True if proxy is only used for torrents",
- columns: [
- "proxy_torrents_only",
- "bool",
- "True if proxy is only used for torrents",
- ],
- },
- TableRow {
- raw: "`ip_filter_enabled` | bool | True if external IP filter should be enabled",
- columns: [
- "ip_filter_enabled",
- "bool",
- "True if external IP filter should be enabled",
- ],
- },
- TableRow {
- raw: "`ip_filter_path` | string | Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes",
- columns: [
- "ip_filter_path",
- "string",
- "Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes",
- ],
- },
- TableRow {
- raw: "`ip_filter_trackers` | bool | True if IP filters are applied to trackers",
- columns: [
- "ip_filter_trackers",
- "bool",
- "True if IP filters are applied to trackers",
- ],
- },
- TableRow {
- raw: "`web_ui_domain_list` | string | Comma-separated list of domains to accept when performing Host header validation",
- columns: [
- "web_ui_domain_list",
- "string",
- "Comma-separated list of domains to accept when performing Host header validation",
- ],
- },
- TableRow {
- raw: "`web_ui_address` | string | IP address to use for the WebUI",
- columns: [
- "web_ui_address",
- "string",
- "IP address to use for the WebUI",
- ],
- },
- TableRow {
- raw: "`web_ui_port` | integer | WebUI port",
- columns: [
- "web_ui_port",
- "integer",
- "WebUI port",
- ],
- },
- TableRow {
- raw: "`web_ui_upnp` | bool | True if UPnP is used for the WebUI port",
- columns: [
- "web_ui_upnp",
- "bool",
- "True if UPnP is used for the WebUI port",
- ],
- },
- TableRow {
- raw: "`web_ui_username` | string | WebUI username",
- columns: [
- "web_ui_username",
- "string",
- "WebUI username",
- ],
- },
- TableRow {
- raw: "`web_ui_password` | 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",
- "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` | bool | True if WebUI CSRF protection is enabled",
- columns: [
- "web_ui_csrf_protection_enabled",
- "bool",
- "True if WebUI CSRF protection is enabled",
- ],
- },
- TableRow {
- raw: "`web_ui_clickjacking_protection_enabled` | bool | True if WebUI clickjacking protection is enabled",
- columns: [
- "web_ui_clickjacking_protection_enabled",
- "bool",
- "True if WebUI clickjacking protection is enabled",
- ],
- },
- TableRow {
- raw: "`web_ui_secure_cookie_enabled` | bool | True if WebUI cookie `Secure` flag is enabled",
- columns: [
- "web_ui_secure_cookie_enabled",
- "bool",
- "True if WebUI cookie Secure flag is enabled",
- ],
- },
- TableRow {
- raw: "`web_ui_max_auth_fail_count` | integer | Maximum number of authentication failures before WebUI access ban",
- columns: [
- "web_ui_max_auth_fail_count",
- "integer",
- "Maximum number of authentication failures before WebUI access ban",
- ],
- },
- TableRow {
- raw: "`web_ui_ban_duration` | integer | WebUI access ban duration in seconds",
- columns: [
- "web_ui_ban_duration",
- "integer",
- "WebUI access ban duration in seconds",
- ],
- },
- TableRow {
- raw: "`web_ui_session_timeout` | integer | Seconds until WebUI is automatically signed off",
- columns: [
- "web_ui_session_timeout",
- "integer",
- "Seconds until WebUI is automatically signed off",
- ],
- },
- TableRow {
- raw: "`web_ui_host_header_validation_enabled` | bool | True if WebUI host header validation is enabled",
- columns: [
- "web_ui_host_header_validation_enabled",
- "bool",
- "True if WebUI host header validation is enabled",
- ],
- },
- TableRow {
- raw: "`bypass_local_auth` | bool | True if authentication challenge for loopback address (127.0.0.1) should be disabled",
- columns: [
- "bypass_local_auth",
- "bool",
- "True if authentication challenge for loopback address (127.0.0.1) should be disabled",
- ],
- },
- TableRow {
- raw: "`bypass_auth_subnet_whitelist_enabled` | 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",
- "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` | 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",
- "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` | bool | True if an alternative WebUI should be used",
- columns: [
- "alternative_webui_enabled",
- "bool",
- "True if an alternative WebUI should be used",
- ],
- },
- TableRow {
- raw: "`alternative_webui_path` | string | File path to the alternative WebUI",
- columns: [
- "alternative_webui_path",
- "string",
- "File path to the alternative WebUI",
- ],
- },
- TableRow {
- raw: "`use_https` | bool | True if WebUI HTTPS access is enabled",
- columns: [
- "use_https",
- "bool",
- "True if WebUI HTTPS access is enabled",
- ],
- },
- TableRow {
- raw: "`ssl_key` | string | For API < v2.0.1: SSL keyfile contents (this is a not a path)",
- columns: [
- "ssl_key",
- "string",
- "For API < v2.0.1: SSL keyfile contents (this is a not a path)",
- ],
- },
- TableRow {
- raw: "`ssl_cert` | string | For API < v2.0.1: SSL certificate contents (this is a not a path)",
- columns: [
- "ssl_cert",
- "string",
- "For API < v2.0.1: SSL certificate contents (this is a not a path)",
- ],
- },
- TableRow {
- raw: "`web_ui_https_key_path` | string | For API ≥ v2.0.1: Path to SSL keyfile",
- columns: [
- "web_ui_https_key_path",
- "string",
- "For API ≥ v2.0.1: Path to SSL keyfile",
- ],
- },
- TableRow {
- raw: "`web_ui_https_cert_path` | string | For API ≥ v2.0.1: Path to SSL certificate",
- columns: [
- "web_ui_https_cert_path",
- "string",
- "For API ≥ v2.0.1: Path to SSL certificate",
- ],
- },
- TableRow {
- raw: "`dyndns_enabled` | bool | True if server DNS should be updated dynamically",
- columns: [
- "dyndns_enabled",
- "bool",
- "True if server DNS should be updated dynamically",
- ],
- },
- TableRow {
- raw: "`dyndns_service` | integer | See list of possible values here below",
- columns: [
- "dyndns_service",
- "integer",
- "See list of possible values here below",
- ],
- },
- TableRow {
- raw: "`dyndns_username` | string | Username for DDNS service",
- columns: [
- "dyndns_username",
- "string",
- "Username for DDNS service",
- ],
- },
- TableRow {
- raw: "`dyndns_password` | string | Password for DDNS service",
- columns: [
- "dyndns_password",
- "string",
- "Password for DDNS service",
- ],
- },
- TableRow {
- raw: "`dyndns_domain` | string | Your DDNS domain name",
- columns: [
- "dyndns_domain",
- "string",
- "Your DDNS domain name",
- ],
- },
- TableRow {
- raw: "`rss_refresh_interval` | integer | RSS refresh interval",
- columns: [
- "rss_refresh_interval",
- "integer",
- "RSS refresh interval",
- ],
- },
- TableRow {
- raw: "`rss_max_articles_per_feed` | integer | Max stored articles per RSS feed",
- columns: [
- "rss_max_articles_per_feed",
- "integer",
- "Max stored articles per RSS feed",
- ],
- },
- TableRow {
- raw: "`rss_processing_enabled` | bool | Enable processing of RSS feeds",
- columns: [
- "rss_processing_enabled",
- "bool",
- "Enable processing of RSS feeds",
- ],
- },
- TableRow {
- raw: "`rss_auto_downloading_enabled` | bool | Enable auto-downloading of torrents from the RSS feeds",
- columns: [
- "rss_auto_downloading_enabled",
- "bool",
- "Enable auto-downloading of torrents from the RSS feeds",
- ],
- },
- TableRow {
- raw: "`rss_download_repack_proper_episodes` | bool | For API ≥ v2.5.1: Enable downloading of repack/proper Episodes",
- columns: [
- "rss_download_repack_proper_episodes",
- "bool",
- "For API ≥ v2.5.1: Enable downloading of repack/proper Episodes",
- ],
- },
- TableRow {
- raw: "`rss_smart_episode_filters` | string | For API ≥ v2.5.1: List of RSS Smart Episode Filters",
- columns: [
- "rss_smart_episode_filters",
- "string",
- "For API ≥ v2.5.1: List of RSS Smart Episode Filters",
- ],
- },
- TableRow {
- raw: "`add_trackers_enabled` | bool | Enable automatic adding of trackers to new torrents",
- columns: [
- "add_trackers_enabled",
- "bool",
- "Enable automatic adding of trackers to new torrents",
- ],
- },
- TableRow {
- raw: "`add_trackers` | string | List of trackers to add to new torrent",
- columns: [
- "add_trackers",
- "string",
- "List of trackers to add to new torrent",
- ],
- },
- TableRow {
- raw: "`web_ui_use_custom_http_headers_enabled` | bool | For API ≥ v2.5.1: Enable custom http headers",
- columns: [
- "web_ui_use_custom_http_headers_enabled",
- "bool",
- "For API ≥ v2.5.1: Enable custom http headers",
- ],
- },
- TableRow {
- raw: "`web_ui_custom_http_headers` | string | For API ≥ v2.5.1: List of custom http headers",
- columns: [
- "web_ui_custom_http_headers",
- "string",
- "For API ≥ v2.5.1: List of custom http headers",
- ],
- },
- TableRow {
- raw: "`max_seeding_time_enabled` | bool | True enables max seeding time ",
- columns: [
- "max_seeding_time_enabled",
- "bool",
- "True enables max seeding time",
- ],
- },
- TableRow {
- raw: "`max_seeding_time` | integer | Number of minutes to seed a torrent",
- columns: [
- "max_seeding_time",
- "integer",
- "Number of minutes to seed a torrent",
- ],
- },
- TableRow {
- raw: "`announce_ip` | string | TODO",
- columns: [
- "announce_ip",
- "string",
- "TODO",
- ],
- },
- TableRow {
- raw: "`announce_to_all_tiers` | bool | True always announce to all tiers",
- columns: [
- "announce_to_all_tiers",
- "bool",
- "True always announce to all tiers",
- ],
- },
- TableRow {
- raw: "`announce_to_all_trackers` | bool | True always announce to all trackers in a tier",
- columns: [
- "announce_to_all_trackers",
- "bool",
- "True always announce to all trackers in a tier",
- ],
- },
- TableRow {
- raw: "`async_io_threads` | integer | Number of asynchronous I/O threads",
- columns: [
- "async_io_threads",
- "integer",
- "Number of asynchronous I/O threads",
- ],
- },
- TableRow {
- raw: "`banned_IPs` | string | List of banned IPs",
- columns: [
- "banned_IPs",
- "string",
- "List of banned IPs",
- ],
- },
- TableRow {
- raw: "`checking_memory_use` | integer | Outstanding memory when checking torrents in MiB",
- columns: [
- "checking_memory_use",
- "integer",
- "Outstanding memory when checking torrents in MiB",
- ],
- },
- TableRow {
- raw: "`current_interface_address` | string | IP Address to bind to. Empty String means All addresses",
- columns: [
- "current_interface_address",
- "string",
- "IP Address to bind to. Empty String means All addresses",
- ],
- },
- TableRow {
- raw: "`current_network_interface` | string | Network Interface used",
- columns: [
- "current_network_interface",
- "string",
- "Network Interface used",
- ],
- },
- TableRow {
- raw: "`disk_cache` | integer | Disk cache used in MiB",
- columns: [
- "disk_cache",
- "integer",
- "Disk cache used in MiB",
- ],
- },
- TableRow {
- raw: "`disk_cache_ttl` | integer | Disk cache expiry interval in seconds",
- columns: [
- "disk_cache_ttl",
- "integer",
- "Disk cache expiry interval in seconds",
- ],
- },
- TableRow {
- raw: "`embedded_tracker_port` | integer | Port used for embedded tracker",
- columns: [
- "embedded_tracker_port",
- "integer",
- "Port used for embedded tracker",
- ],
- },
- TableRow {
- raw: "`enable_coalesce_read_write` | bool | True enables coalesce reads & writes",
- columns: [
- "enable_coalesce_read_write",
- "bool",
- "True enables coalesce reads & writes",
- ],
- },
- TableRow {
- raw: "`enable_embedded_tracker` | bool | True enables embedded tracker",
- columns: [
- "enable_embedded_tracker",
- "bool",
- "True enables embedded tracker",
- ],
- },
- TableRow {
- raw: "`enable_multi_connections_from_same_ip` | bool | True allows multiple connections from the same IP address",
- columns: [
- "enable_multi_connections_from_same_ip",
- "bool",
- "True allows multiple connections from the same IP address",
- ],
- },
- TableRow {
- raw: "`enable_os_cache` | bool | True enables os cache",
- columns: [
- "enable_os_cache",
- "bool",
- "True enables os cache",
- ],
- },
- TableRow {
- raw: "`enable_upload_suggestions` | bool | True enables sending of upload piece suggestions",
- columns: [
- "enable_upload_suggestions",
- "bool",
- "True enables sending of upload piece suggestions",
- ],
- },
- TableRow {
- raw: "`file_pool_size` | integer | File pool size",
- columns: [
- "file_pool_size",
- "integer",
- "File pool size",
- ],
- },
- TableRow {
- raw: "`outgoing_ports_max` | integer | Maximal outgoing port (0: Disabled)",
- columns: [
- "outgoing_ports_max",
- "integer",
- "Maximal outgoing port (0: Disabled)",
- ],
- },
- TableRow {
- raw: "`outgoing_ports_min` | integer | Minimal outgoing port (0: Disabled)",
- columns: [
- "outgoing_ports_min",
- "integer",
- "Minimal outgoing port (0: Disabled)",
- ],
- },
- TableRow {
- raw: "`recheck_completed_torrents` | bool | True rechecks torrents on completion",
- columns: [
- "recheck_completed_torrents",
- "bool",
- "True rechecks torrents on completion",
- ],
- },
- TableRow {
- raw: "`resolve_peer_countries` | bool | True resolves peer countries",
- columns: [
- "resolve_peer_countries",
- "bool",
- "True resolves peer countries",
- ],
- },
- TableRow {
- raw: "`save_resume_data_interval` | integer | Save resume data interval in min",
- columns: [
- "save_resume_data_interval",
- "integer",
- "Save resume data interval in min",
- ],
- },
- TableRow {
- raw: "`send_buffer_low_watermark` | integer | Send buffer low watermark in KiB",
- columns: [
- "send_buffer_low_watermark",
- "integer",
- "Send buffer low watermark in KiB",
- ],
- },
- TableRow {
- raw: "`send_buffer_watermark` | integer | Send buffer watermark in KiB",
- columns: [
- "send_buffer_watermark",
- "integer",
- "Send buffer watermark in KiB",
- ],
- },
- TableRow {
- raw: "`send_buffer_watermark_factor` | integer | Send buffer watermark factor in percent",
- columns: [
- "send_buffer_watermark_factor",
- "integer",
- "Send buffer watermark factor in percent",
- ],
- },
- TableRow {
- raw: "`socket_backlog_size` | integer | Socket backlog size",
- columns: [
- "socket_backlog_size",
- "integer",
- "Socket backlog size",
- ],
- },
- TableRow {
- raw: "`upload_choking_algorithm` | integer | Upload choking algorithm used (see list of possible values below)",
- columns: [
- "upload_choking_algorithm",
- "integer",
- "Upload choking algorithm used (see list of possible values below)",
- ],
- },
- TableRow {
- raw: "`upload_slots_behavior` | integer | Upload slots behavior used (see list of possible values below)",
- columns: [
- "upload_slots_behavior",
- "integer",
- "Upload slots behavior used (see list of possible values below)",
- ],
- },
- TableRow {
- raw: "`upnp_lease_duration` | integer | UPnP lease duration (0: Permanent lease)",
- columns: [
- "upnp_lease_duration",
- "integer",
- "UPnP lease duration (0: Permanent lease)",
- ],
- },
- TableRow {
- raw: "`utp_tcp_mixed_mode` | integer | μTP-TCP mixed mode algorithm (see list of possible values below)",
- columns: [
- "utp_tcp_mixed_mode",
- "integer",
- "μTP-TCP mixed mode algorithm (see list of possible values below)",
- ],
- },
- ],
- },
- ),
- 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(
- "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(
- "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(
- "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(
- "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(
- "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(
- "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(
- "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(
- "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(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Text(
- "/api/v2/log/main?normal=true&info=true&warning=true&critical=true&last_known_id=-1",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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)",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Text(
- "/api/v2/sync/maindata?rid=14",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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` | bool | Whether the response contains all the data or partial data",
- columns: [
- "full_update",
- "bool",
- "Whether the response contains all the data or partial data",
- ],
- },
- TableRow {
- raw: "`torrents` | object | Property: torrent hash, value: same as [torrent list](#get-torrent-list)",
- columns: [
- "torrents",
- "object",
- "Property: torrent hash, value: same as [torrent list](#get-torrent-list)",
- ],
- },
- TableRow {
- raw: "`torrents_removed` | array | List of hashes of torrents removed since last request",
- columns: [
- "torrents_removed",
- "array",
- "List of hashes of torrents removed since last request",
- ],
- },
- TableRow {
- raw: "`categories` | object | Info for categories added since last request",
- columns: [
- "categories",
- "object",
- "Info for categories added since last request",
- ],
- },
- TableRow {
- raw: "`categories_removed` | array | List of categories removed since last request",
- columns: [
- "categories_removed",
- "array",
- "List of categories removed since last request",
- ],
- },
- TableRow {
- raw: "`tags` | array | List of tags added since last request",
- columns: [
- "tags",
- "array",
- "List of tags added since last request",
- ],
- },
- TableRow {
- raw: "`tags_removed` | array | List of tags removed since last request",
- columns: [
- "tags_removed",
- "array",
- "List of tags removed since last request",
- ],
- },
- TableRow {
- raw: "`server_state` | object | Global transfer info",
- columns: [
- "server_state",
- "object",
- "Global transfer info",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```JSON",
- ),
- Text(
- "{",
- ),
- Text(
- " \"rid\":15,",
- ),
- Text(
- " \"torrents\":",
- ),
- Text(
- " {",
- ),
- Text(
- " \"8c212779b4abde7c6bc608063a0d008b7e40ce32\":",
- ),
- Text(
- " {",
- ),
- Text(
- " \"state\":\"pausedUP\"",
- ),
- Text(
- " }",
- ),
- Text(
- " }",
- ),
- Text(
- "}",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Get torrent peers data",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `torrentPeers`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Text(
- "/api/v2/sync/torrentPeers?hash=8c212779b4abde7c6bc608063a0d008b7e40ce32?rid=14",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "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(
- "Possible values of `connection_status`:",
- ),
- Text(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "Value |",
- columns: [
- "Value",
- "",
- ],
- },
- split: "--------------------|",
- rows: [
- TableRow {
- raw: "`connected` |",
- columns: [
- "connected",
- "",
- ],
- },
- TableRow {
- raw: "`firewalled` |",
- columns: [
- "firewalled",
- "",
- ],
- },
- TableRow {
- raw: "`disconnected` |",
- columns: [
- "disconnected",
- "",
- ],
- },
- ],
- },
- ),
- 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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Get global download limit",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `downloadLimit`",
- ),
- Text(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Get global upload limit",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `uploadLimit`",
- ),
- Text(
- "",
- ),
- Asterix(
- "Parameters:",
- ),
- Text(
- "",
- ),
- Text(
- "None",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Ban peers",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `banPeers`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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_ since 2.8.3 | 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_ since 2.8.3",
- "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's JSON array (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's JSON array (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 `\\|`",
- columns: [
- "hashes _optional_",
- "string",
- "Filter by hashes. Can contain multiple hashes separated by \\",
- "",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Text(
- "/api/v2/torrents/info?filter=downloading&category=sample%20category&sort=ratio",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- Asterix(
- "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(
- "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` | string | Torrent state. See table here below for the possible values",
- columns: [
- "state",
- "string",
- "Torrent state. See table here below for the possible values",
- ],
- },
- 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(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "The response is:",
- ),
- Text(
- "",
- ),
- Text(
- "- empty, if the torrent hash is invalid",
- ),
- Text(
- "- otherwise, a JSON object with 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(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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_ since 2.8.2 | string | The indexes of the files you want to retrieve. `indexes` can contain multiple values separated by `\\|`.",
- columns: [
- "indexes _optional_ since 2.8.2",
- "string",
- "The indexes of the files you want to retrieve. indexes can contain multiple values separated by \\",
- ".",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "The response is:",
- ),
- Text(
- "",
- ),
- Text(
- "- empty, if the torrent hash is invalid",
- ),
- Text(
- "- otherwise, a JSON array, where each element contains info about one file, with the following fields",
- ),
- Text(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "Property | Type | Description",
- columns: [
- "Property",
- "Type",
- "Description",
- ],
- },
- split: "---------------|---------------|-------------",
- rows: [
- TableRow {
- raw: "`index` since 2.8.2 | integer | File index",
- columns: [
- "index since 2.8.2",
- "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` | integer | File priority. See possible values here below",
- columns: [
- "priority",
- "integer",
- "File priority. See possible values here below",
- ],
- },
- TableRow {
- raw: "`is_seed` | bool | True if file is seeding/complete",
- columns: [
- "is_seed",
- "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(
- "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: "`6` | High priority",
- columns: [
- "6",
- "High priority",
- ],
- },
- TableRow {
- raw: "`7` | Maximal priority",
- columns: [
- "7",
- "Maximal priority",
- ],
- },
- ],
- },
- ),
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "The response is:",
- ),
- Text(
- "",
- ),
- Text(
- "- empty, if the torrent hash is invalid",
- ),
- Text(
- "- otherwise, an array of states (integers) of all pieces (in order) of a specific torrent.",
- ),
- Text(
- "",
- ),
- Text(
- "Value meanings are defined as below:",
- ),
- 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(
- "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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "The response is:",
- ),
- Text(
- "",
- ),
- Text(
- "- empty, if the torrent hash is invalid",
- ),
- Text(
- "- otherwise, an array of hashes (strings) of all pieces (in order) of a specific torrent.",
- ),
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to pause multiple torrents, or set to all, to pause all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/pause?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/pause?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to resume multiple torrents, or set to all, to resume all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/resume?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/resume?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to delete multiple torrents, or set to all, to delete all torrents.",
- ],
- },
- TableRow {
- raw: "`deleteFiles` | If set to `true`, the downloaded data will also be deleted, otherwise has no effect.",
- columns: [
- "deleteFiles",
- "If set to true, the downloaded data will also be deleted, otherwise has no effect.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Text(
- "/api/v2/torrents/delete?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32&deleteFiles=false",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to recheck multiple torrents, or set to all, to recheck all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/recheck?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/recheck?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to reannounce multiple torrents, or set to all, to reannounce all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/reannounce?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/reannounce?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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_ since 2.8.1 | float | Set torrent share ratio limit",
- columns: [
- "ratioLimit _optional_ since 2.8.1",
- "float",
- "Set torrent share ratio limit",
- ],
- },
- TableRow {
- raw: "`seedingTimeLimit` _optional_ since 2.8.1 | integer | Set torrent seeding time limit. Unit in seconds",
- columns: [
- "seedingTimeLimit _optional_ since 2.8.1",
- "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)",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Edit trackers",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `editTracker`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Remove trackers",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `removeTrackers`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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 `\\|`",
- columns: [
- "urls",
- "string",
- "URLs to remove, separated by \\",
- "",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Add peers",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `addPeers`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to increase the priority of multiple torrents, or set to all, to increase the priority of all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/increasePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/increasePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to decrease the priority of multiple torrents, or set to all, to decrease the priority of all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/decreasePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/decreasePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to set multiple torrents to the maximum priority, or set to all, to set all torrents to the maximum priority.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/topPrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/topPrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to set multiple torrents to the minimum priority, or set to all, to set all torrents to the minimum priority.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/bottomPrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/bottomPrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Set file priority",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `filePrio`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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 `\\|`",
- columns: [
- "id",
- "string",
- "File ids, separated by \\",
- "",
- ],
- },
- TableRow {
- raw: "`priority` | number | File priority to set (consult [torrent contents API](#get-torrent-contents) for possible values)",
- columns: [
- "priority",
- "number",
- "File priority to set (consult [torrent contents API](#get-torrent-contents) for possible values)",
- ],
- },
- ],
- },
- ),
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "",
- rows: [],
- },
- ),
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`limit` is the download speed limit in bytes per second you want to set.",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&ratioLimit=1.0&seedingTimeLimit=60",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&ratioLimit=1.0&seedingTimeLimit=60",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`ratioLimit` is the max ratio the torrent should be seeded until. `-2` means the global limit should be used, `-1` means no limit.",
- rows: [],
- },
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "",
- rows: [],
- },
- ),
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&limit=131072",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`limit` is the upload speed limit in bytes per second you want to set.",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&location=/mnt/nfs/media",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&location=/mnt/nfs/media",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`location` is the location to download the torrent to. If the location doesn't exist, the torrent's location is unchanged.",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&category=CategoryName",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&category=CategoryName",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "",
- rows: [],
- },
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "```",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&tags=TagName1,TagName2",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&tags=TagName1,TagName2",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "",
- rows: [],
- },
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&tags=TagName1,TagName2",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&tags=TagName1,TagName2",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "",
- rows: [],
- },
- ),
- Text(
- "Empty list removes all tags from relevant torrents.",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "```",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|284b83c9c7935002391129fd97f43db5d7cc2ba0&enable=true",
- columns: [
- "hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "284b83c9c7935002391129fd97f43db5d7cc2ba0&enable=true",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`enable` is a boolean, affects the torrents listed in `hashes`, default is `false`",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", to toggle sequential download for multiple torrents, or set to all, to toggle sequential download for all torrents.",
- ],
- },
- ],
- },
- ),
- Text(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/toggleSequentialDownload?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/toggleSequentialDownload?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Asterix(
- "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 `\\|`, 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 \\",
- ", 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(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```http",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "/api/v2/torrents/toggleFirstLastPiecePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32|54eddd830a5b58480a6143d616a97e3a6c23c439",
- columns: [
- "/api/v2/torrents/toggleFirstLastPiecePrio?hashes=8c212779b4abde7c6bc608063a0d008b7e40ce32",
- "54eddd830a5b58480a6143d616a97e3a6c23c439",
- ],
- },
- split: "```",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`value` is a boolean, affects the torrents listed in `hashes`, default is `false`",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "",
- ),
- Table(
- Table {
- header: TableRow {
- raw: "`hashes` can contain multiple hashes separated by `|` or set to `all`",
- columns: [
- "hashes can contain multiple hashes separated by",
- "or set to all",
- ],
- },
- split: "`value` is a boolean, affects the torrents listed in `hashes`, default is `false`",
- rows: [],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Rename file",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `renameFile`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Rename folder",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `renameFolder`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "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(
- "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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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\")",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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 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(
- "```",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- 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(
- "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(
- "",
- ),
- Asterix(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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 `\\|`. Also supports `all` and `enabled`",
- columns: [
- "plugins",
- "string",
- "Plugins to use for searching (e.g. \"legittorrents\"). Supports multiple plugins separated by \\",
- ". 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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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(
- "Example:",
- ),
- Text(
- "",
- ),
- Text(
- "```JSON",
- ),
- Text(
- "{",
- ),
- Text(
- " \"id\": 12345",
- ),
- Text(
- "}",
- ),
- Text(
- "```",
- ),
- Text(
- "",
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Stop search",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `stop`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- ],
- children: [],
- },
- TokenTree {
- title: Some(
- "Get search status",
- ),
- content: [
- Text(
- "",
- ),
- Text(
- "Name: `status`",
- ),
- Text(
- "",
- ),
- Asterix(
- "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",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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(
- "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(
- "",
- ),
- Asterix(
- "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)",
- ],
- },
- ],
- },
- ),
- Asterix(
- "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(
- "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: [],
- },
- ),
- ],
- children: [],
- },
- ],
- },
- ],
-}
\ No newline at end of file