Application preferences returned by GET app/preferences and accepted
(as a partial object) by POST app/setPreferences.
The exact key set drifts between qBittorrent/libtorrent builds — the wiki
documents ~150 keys while a live qB 5.2.3 / WebAPI 2.15.1 instance
emits 223 (all typed below). To survive that drift in both directions this
model:
- includes
JSON::Serializable::Unmapped, so keys not declared here are
preserved in #json_unmapped and re-emitted on #to_json (round-trip
safe against newer builds); and
- makes every field nilable, so an older/partial payload that omits a
key parses without raising and
#to_json (nil fields omitted by default)
only sends what was set — matching setPreferences' "changed fields
only" contract.
Several integer fields are enum-like (see the qBittorrent wiki / api-map
§4): encryption (0 prefer / 1 force on / 2 force off), bittorrent_protocol
(0 TCP+µTP / 1 TCP / 2 µTP), scheduler_days (0 every day … 9 Sun),
max_ratio_act, upload_choking_algorithm, upload_slots_behavior,
utp_tcp_mixed_mode, dyndns_service, auto_delete_mode, and the
libtorrent disk_io_* modes. They are kept as their raw Int32? (no shared
enum exists in this library yet). proxy_type drifted from an int enum
(4.x) to a string (5.x: "None"/"HTTP"/"SOCKS4"/"SOCKS5") — the
live 5.2.3 payload sends the string form, so it is typed String? here.
Instance methods
add_stopped_enabled=(add_stopped_enabled :
Bool |
Nil)
Sourceadd_to_top_of_queue=(add_to_top_of_queue :
Bool |
Nil)
Sourceadd_trackers_enabled=(add_trackers_enabled :
Bool |
Nil)
Sourceadd_trackers_from_url_enabled
Sourceadd_trackers_from_url_enabled=(add_trackers_from_url_enabled :
Bool |
Nil)
Sourceadd_trackers_url_list=(add_trackers_url_list :
String |
Nil)
Sourcealternative_webui_enabled
Sourcealternative_webui_enabled=(alternative_webui_enabled :
Bool |
Nil)
Sourcealternative_webui_path=(alternative_webui_path :
String |
Nil)
Sourceannounce_to_all_tiers=(announce_to_all_tiers :
Bool |
Nil)
Sourceannounce_to_all_trackers
Sourceannounce_to_all_trackers=(announce_to_all_trackers :
Bool |
Nil)
Sourceanonymous_mode=(anonymous_mode :
Bool |
Nil)
Sourceasync_io_threads=(async_io_threads :
Int32 |
Nil)
Sourceauto_delete_mode
Enum-like: 0 never, 1 if added as file, 2 if added as folder, 3 always.
Sourceauto_delete_mode=(auto_delete_mode :
Int32 |
Nil)
Enum-like: 0 never, 1 if added as file, 2 if added as folder, 3 always.
Sourceauto_tmm_enabled=(auto_tmm_enabled :
Bool |
Nil)
Sourceautorun_enabled=(autorun_enabled :
Bool |
Nil)
Sourceautorun_on_torrent_added_enabled
Sourceautorun_on_torrent_added_enabled=(autorun_on_torrent_added_enabled :
Bool |
Nil)
Sourceautorun_on_torrent_added_program
Sourceautorun_on_torrent_added_program=(autorun_on_torrent_added_program :
String |
Nil)
Sourcebdecode_depth_limit=(bdecode_depth_limit :
Int32 |
Nil)
Sourcebdecode_token_limit=(bdecode_token_limit :
Int64 |
Nil)
Sourcebittorrent_protocol
Enum-like: 0 TCP+µTP, 1 TCP, 2 µTP.
Sourcebittorrent_protocol=(bittorrent_protocol :
Int32 |
Nil)
Enum-like: 0 TCP+µTP, 1 TCP, 2 µTP.
Sourceblock_peers_on_privileged_ports
Sourceblock_peers_on_privileged_ports=(block_peers_on_privileged_ports :
Bool |
Nil)
Sourcebypass_auth_subnet_whitelist
Sourcebypass_auth_subnet_whitelist=(bypass_auth_subnet_whitelist :
String |
Nil)
Sourcebypass_auth_subnet_whitelist_enabled
Sourcebypass_auth_subnet_whitelist_enabled=(bypass_auth_subnet_whitelist_enabled :
Bool |
Nil)
Sourcebypass_local_auth=(bypass_local_auth :
Bool |
Nil)
Sourcecategory_changed_tmm_enabled
Sourcecategory_changed_tmm_enabled=(category_changed_tmm_enabled :
Bool |
Nil)
Sourcechecking_memory_use=(checking_memory_use :
Int32 |
Nil)
Sourceconfirm_torrent_deletion
Sourceconfirm_torrent_deletion=(confirm_torrent_deletion :
Bool |
Nil)
Sourceconfirm_torrent_recheck=(confirm_torrent_recheck :
Bool |
Nil)
Sourceconnection_speed=(connection_speed :
Int32 |
Nil)
Sourcecurrent_interface_address
Sourcecurrent_interface_address=(current_interface_address :
String |
Nil)
Sourcecurrent_interface_name=(current_interface_name :
String |
Nil)
Sourcecurrent_network_interface
Sourcecurrent_network_interface=(current_network_interface :
String |
Nil)
Sourcedelete_torrent_content_files
Sourcedelete_torrent_content_files=(delete_torrent_content_files :
Bool |
Nil)
Sourcedht_bootstrap_nodes=(dht_bootstrap_nodes :
String |
Nil)
Sourcedisk_io_read_mode
Enum-like (libtorrent I/O mode): 0 disable OS cache, 1 enable, 2 write-through.
Sourcedisk_io_read_mode=(disk_io_read_mode :
Int32 |
Nil)
Enum-like (libtorrent I/O mode): 0 disable OS cache, 1 enable, 2 write-through.
Sourcedisk_io_type
Enum-like (libtorrent I/O backend): 0 default, 1 mmap, 2 posix, ...
Sourcedisk_io_type=(disk_io_type :
Int32 |
Nil)
Enum-like (libtorrent I/O backend): 0 default, 1 mmap, 2 posix, ...
Sourcedisk_io_write_mode
Enum-like (libtorrent I/O mode), see disk_io_read_mode.
Sourcedisk_io_write_mode=(disk_io_write_mode :
Int32 |
Nil)
Enum-like (libtorrent I/O mode), see disk_io_read_mode.
Sourcedont_count_slow_torrents
Sourcedont_count_slow_torrents=(dont_count_slow_torrents :
Bool |
Nil)
Sourcedyndns_domain=(dyndns_domain :
String |
Nil)
Sourcedyndns_enabled=(dyndns_enabled :
Bool |
Nil)
Sourcedyndns_service
Enum-like: 0 DynDNS, 1 NO-IP.
Sourcedyndns_service=(dyndns_service :
Int32 |
Nil)
Enum-like: 0 DynDNS, 1 NO-IP.
Sourceembedded_tracker_port=(embedded_tracker_port :
Int32 |
Nil)
Sourceembedded_tracker_port_forwarding
Sourceembedded_tracker_port_forwarding=(embedded_tracker_port_forwarding :
Bool |
Nil)
Sourceenable_coalesce_read_write
Sourceenable_coalesce_read_write=(enable_coalesce_read_write :
Bool |
Nil)
Sourceenable_embedded_tracker=(enable_embedded_tracker :
Bool |
Nil)
Sourceenable_multi_connections_from_same_ip
Sourceenable_multi_connections_from_same_ip=(enable_multi_connections_from_same_ip :
Bool |
Nil)
Sourceenable_piece_extent_affinity
Sourceenable_piece_extent_affinity=(enable_piece_extent_affinity :
Bool |
Nil)
Sourceenable_upload_suggestions
Sourceenable_upload_suggestions=(enable_upload_suggestions :
Bool |
Nil)
Sourceencryption
Enum-like: 0 prefer encryption, 1 force on, 2 force off.
Sourceencryption=(encryption :
Int32 |
Nil)
Enum-like: 0 prefer encryption, 1 force on, 2 force off.
Sourceexcluded_file_names=(excluded_file_names :
String |
Nil)
Sourceexcluded_file_names_enabled
Sourceexcluded_file_names_enabled=(excluded_file_names_enabled :
Bool |
Nil)
Sourcefile_log_age_type
Enum-like: 0 days, 1 months, 2 years.
Sourcefile_log_age_type=(file_log_age_type :
Int32 |
Nil)
Enum-like: 0 days, 1 months, 2 years.
Sourcefile_log_backup_enabled=(file_log_backup_enabled :
Bool |
Nil)
Sourcefile_log_delete_old=(file_log_delete_old :
Bool |
Nil)
Sourcefile_log_enabled=(file_log_enabled :
Bool |
Nil)
Sourcefile_log_max_size=(file_log_max_size :
Int32 |
Nil)
Sourcehostname_cache_ttl=(hostname_cache_ttl :
Int32 |
Nil)
Sourcei2p_inbound_length=(i2p_inbound_length :
Int32 |
Nil)
Sourcei2p_inbound_quantity=(i2p_inbound_quantity :
Int32 |
Nil)
Sourcei2p_mixed_mode=(i2p_mixed_mode :
Bool |
Nil)
Sourcei2p_outbound_length=(i2p_outbound_length :
Int32 |
Nil)
Sourcei2p_outbound_quantity=(i2p_outbound_quantity :
Int32 |
Nil)
Sourceidn_support_enabled=(idn_support_enabled :
Bool |
Nil)
Sourceignore_ssl_errors=(ignore_ssl_errors :
Bool |
Nil)
Sourceincomplete_files_ext=(incomplete_files_ext :
Bool |
Nil)
Sourceip_filter_enabled=(ip_filter_enabled :
Bool |
Nil)
Sourceip_filter_trackers=(ip_filter_trackers :
Bool |
Nil)
Sourcelimit_lan_peers=(limit_lan_peers :
Bool |
Nil)
Sourcelimit_tcp_overhead=(limit_tcp_overhead :
Bool |
Nil)
Sourcelimit_utp_rate=(limit_utp_rate :
Bool |
Nil)
Sourcemail_notification_auth_enabled
Sourcemail_notification_auth_enabled=(mail_notification_auth_enabled :
Bool |
Nil)
Sourcemail_notification_email=(mail_notification_email :
String |
Nil)
Sourcemail_notification_enabled
Sourcemail_notification_enabled=(mail_notification_enabled :
Bool |
Nil)
Sourcemail_notification_password
Sourcemail_notification_password=(mail_notification_password :
String |
Nil)
Sourcemail_notification_sender
Sourcemail_notification_sender=(mail_notification_sender :
String |
Nil)
Sourcemail_notification_smtp=(mail_notification_smtp :
String |
Nil)
Sourcemail_notification_ssl_enabled
Sourcemail_notification_ssl_enabled=(mail_notification_ssl_enabled :
Bool |
Nil)
Sourcemail_notification_username
Sourcemail_notification_username=(mail_notification_username :
String |
Nil)
Sourcemark_of_the_web=(mark_of_the_web :
Bool |
Nil)
Sourcemax_active_checking_torrents
Sourcemax_active_checking_torrents=(max_active_checking_torrents :
Int32 |
Nil)
Sourcemax_active_downloads=(max_active_downloads :
Int32 |
Nil)
Sourcemax_active_torrents=(max_active_torrents :
Int32 |
Nil)
Sourcemax_active_uploads=(max_active_uploads :
Int32 |
Nil)
Sourcemax_concurrent_http_announces
Sourcemax_concurrent_http_announces=(max_concurrent_http_announces :
Int32 |
Nil)
Sourcemax_connec_per_torrent=(max_connec_per_torrent :
Int32 |
Nil)
Sourcemax_inactive_seeding_time
Sourcemax_inactive_seeding_time=(max_inactive_seeding_time :
Int32 |
Nil)
Sourcemax_inactive_seeding_time_enabled
Sourcemax_inactive_seeding_time_enabled=(max_inactive_seeding_time_enabled :
Bool |
Nil)
Sourcemax_ratio_act
Enum-like: 0 pause/stop torrent, 1 remove torrent, 2 remove torrent + files, 3 enable superseeding.
Sourcemax_ratio_act=(max_ratio_act :
Int32 |
Nil)
Enum-like: 0 pause/stop torrent, 1 remove torrent, 2 remove torrent + files, 3 enable superseeding.
Sourcemax_ratio_enabled=(max_ratio_enabled :
Bool |
Nil)
Sourcemax_seeding_time=(max_seeding_time :
Int32 |
Nil)
Sourcemax_seeding_time_enabled
Sourcemax_seeding_time_enabled=(max_seeding_time_enabled :
Bool |
Nil)
Sourcemax_uploads_per_torrent=(max_uploads_per_torrent :
Int32 |
Nil)
Sourcememory_working_set_limit
Sourcememory_working_set_limit=(memory_working_set_limit :
Int64 |
Nil)
Sourcemerge_trackers=(merge_trackers :
Bool |
Nil)
Sourceoutgoing_ports_max=(outgoing_ports_max :
Int32 |
Nil)
Sourceoutgoing_ports_min=(outgoing_ports_min :
Int32 |
Nil)
Sourcepeer_turnover_cutoff=(peer_turnover_cutoff :
Int32 |
Nil)
Sourcepeer_turnover_interval=(peer_turnover_interval :
Int32 |
Nil)
Sourcepreallocate_all=(preallocate_all :
Bool |
Nil)
Sourceproxy_auth_enabled=(proxy_auth_enabled :
Bool |
Nil)
Sourceproxy_bittorrent=(proxy_bittorrent :
Bool |
Nil)
Sourceproxy_hostname_lookup=(proxy_hostname_lookup :
Bool |
Nil)
Sourceproxy_peer_connections=(proxy_peer_connections :
Bool |
Nil)
Sourceproxy_type
Type drift: 4.x sent an int enum, 5.x sends a string ("None"/"HTTP"/"SOCKS4"/"SOCKS5").
The live 5.2.3 payload is a string, so this is typed String?.
Sourceproxy_type=(proxy_type :
String |
Nil)
Type drift: 4.x sent an int enum, 5.x sends a string ("None"/"HTTP"/"SOCKS4"/"SOCKS5").
The live 5.2.3 payload is a string, so this is typed String?.
Sourcepython_executable_path=(python_executable_path :
String |
Nil)
Sourcequeueing_enabled=(queueing_enabled :
Bool |
Nil)
Sourcereannounce_when_address_changed
Sourcereannounce_when_address_changed=(reannounce_when_address_changed :
Bool |
Nil)
Sourcerecheck_completed_torrents
Sourcerecheck_completed_torrents=(recheck_completed_torrents :
Bool |
Nil)
Sourcerefresh_interval=(refresh_interval :
Int32 |
Nil)
Sourcerequest_queue_size=(request_queue_size :
Int32 |
Nil)
Sourceresolve_peer_countries=(resolve_peer_countries :
Bool |
Nil)
Sourceresolve_peer_host_names=(resolve_peer_host_names :
Bool |
Nil)
Sourceresume_data_storage_type
Sourceresume_data_storage_type=(resume_data_storage_type :
String |
Nil)
Sourcerss_max_articles_per_feed
Sourcerss_max_articles_per_feed=(rss_max_articles_per_feed :
Int32 |
Nil)
Sourcesave_path_changed_tmm_enabled
Sourcesave_path_changed_tmm_enabled=(save_path_changed_tmm_enabled :
Bool |
Nil)
Sourcesave_resume_data_interval
Sourcesave_resume_data_interval=(save_resume_data_interval :
Int32 |
Nil)
Sourcesave_statistics_interval
Sourcesave_statistics_interval=(save_statistics_interval :
Int32 |
Nil)
Sourcescan_dirs
Scanned folders: { "/path": 0|1|"/custom/path" } — value is an int mode
(0 monitored folder, 1 default save path) or a custom path string.
SourceScanned folders: { "/path": 0|1|"/custom/path" } — value is an int mode
(0 monitored folder, 1 default save path) or a custom path string.
Sourceschedule_from_hour=(schedule_from_hour :
Int32 |
Nil)
Sourceschedule_from_min=(schedule_from_min :
Int32 |
Nil)
Sourceschedule_to_hour=(schedule_to_hour :
Int32 |
Nil)
Sourcescheduler_days
Enum-like: 0 every day, 1 weekdays, 2 weekends, 3 Mon … 9 Sun.
Sourcescheduler_days=(scheduler_days :
Int32 |
Nil)
Enum-like: 0 every day, 1 weekdays, 2 weekends, 3 Mon … 9 Sun.
Sourcescheduler_enabled=(scheduler_enabled :
Bool |
Nil)
Sourcesend_buffer_low_watermark
Sourcesend_buffer_low_watermark=(send_buffer_low_watermark :
Int32 |
Nil)
Sourcesend_buffer_watermark=(send_buffer_watermark :
Int32 |
Nil)
Sourcesend_buffer_watermark_factor
Sourcesend_buffer_watermark_factor=(send_buffer_watermark_factor :
Int32 |
Nil)
Sourceslow_torrent_dl_rate_threshold
Sourceslow_torrent_dl_rate_threshold=(slow_torrent_dl_rate_threshold :
Int32 |
Nil)
Sourceslow_torrent_inactive_timer
Sourceslow_torrent_inactive_timer=(slow_torrent_inactive_timer :
Int32 |
Nil)
Sourceslow_torrent_ul_rate_threshold
Sourceslow_torrent_ul_rate_threshold=(slow_torrent_ul_rate_threshold :
Int32 |
Nil)
Sourcesocket_backlog_size=(socket_backlog_size :
Int32 |
Nil)
Sourcesocket_receive_buffer_size
Sourcesocket_receive_buffer_size=(socket_receive_buffer_size :
Int32 |
Nil)
Sourcesocket_send_buffer_size=(socket_send_buffer_size :
Int32 |
Nil)
Sourcessrf_mitigation=(ssrf_mitigation :
Bool |
Nil)
Sourcestatus_bar_external_ip=(status_bar_external_ip :
Bool |
Nil)
Sourcestop_tracker_timeout=(stop_tracker_timeout :
Int32 |
Nil)
Sourcetemp_path_enabled=(temp_path_enabled :
Bool |
Nil)
Sourcetorrent_changed_tmm_enabled
Sourcetorrent_changed_tmm_enabled=(torrent_changed_tmm_enabled :
Bool |
Nil)
Sourcetorrent_content_layout
Sourcetorrent_content_layout=(torrent_content_layout :
String |
Nil)
Sourcetorrent_content_remove_option
Sourcetorrent_content_remove_option=(torrent_content_remove_option :
String |
Nil)
Sourcetorrent_file_size_limit=(torrent_file_size_limit :
Int64 |
Nil)
Sourcetorrent_stop_condition=(torrent_stop_condition :
String |
Nil)
Sourceupload_choking_algorithm
Enum-like: 0 round-robin, 1 fastest upload, 2 anti-leech.
Sourceupload_choking_algorithm=(upload_choking_algorithm :
Int32 |
Nil)
Enum-like: 0 round-robin, 1 fastest upload, 2 anti-leech.
Sourceupload_slots_behavior
Enum-like: 0 fixed slots, 1 upload-rate based.
Sourceupload_slots_behavior=(upload_slots_behavior :
Int32 |
Nil)
Enum-like: 0 fixed slots, 1 upload-rate based.
Sourceupnp_lease_duration=(upnp_lease_duration :
Int32 |
Nil)
Sourceuse_category_paths_in_manual_mode
Sourceuse_category_paths_in_manual_mode=(use_category_paths_in_manual_mode :
Bool |
Nil)
Sourceuse_unwanted_folder=(use_unwanted_folder :
Bool |
Nil)
Sourceutp_tcp_mixed_mode
Enum-like: 0 prefer TCP, 1 peer proportional.
Sourceutp_tcp_mixed_mode=(utp_tcp_mixed_mode :
Int32 |
Nil)
Enum-like: 0 prefer TCP, 1 peer proportional.
Sourcevalidate_https_tracker_certificate
Sourcevalidate_https_tracker_certificate=(validate_https_tracker_certificate :
Bool |
Nil)
Sourceweb_ui_ban_duration=(web_ui_ban_duration :
Int32 |
Nil)
Sourceweb_ui_clickjacking_protection_enabled
Sourceweb_ui_clickjacking_protection_enabled=(web_ui_clickjacking_protection_enabled :
Bool |
Nil)
Sourceweb_ui_csrf_protection_enabled
Sourceweb_ui_csrf_protection_enabled=(web_ui_csrf_protection_enabled :
Bool |
Nil)
Sourceweb_ui_domain_list=(web_ui_domain_list :
String |
Nil)
Sourceweb_ui_https_cert_path=(web_ui_https_cert_path :
String |
Nil)
Sourceweb_ui_https_key_path=(web_ui_https_key_path :
String |
Nil)
Sourceweb_ui_max_auth_fail_count
Sourceweb_ui_max_auth_fail_count=(web_ui_max_auth_fail_count :
Int32 |
Nil)
Sourceweb_ui_reverse_proxies_list
Sourceweb_ui_reverse_proxies_list=(web_ui_reverse_proxies_list :
String |
Nil)
Sourceweb_ui_reverse_proxy_enabled
Sourceweb_ui_reverse_proxy_enabled=(web_ui_reverse_proxy_enabled :
Bool |
Nil)
Sourceweb_ui_secure_cookie_enabled
Sourceweb_ui_secure_cookie_enabled=(web_ui_secure_cookie_enabled :
Bool |
Nil)
Sourceweb_ui_session_timeout=(web_ui_session_timeout :
Int32 |
Nil)
Source