Documentation ¶
Index ¶
- Constants
- Variables
- type AppPreferences
- type Category
- type Client
- func (c *Client) AddTags(hashes []string, tags string) error
- func (c *Client) AddTagsCtx(ctx context.Context, hashes []string, tags string) error
- func (c *Client) AddTorrentFromFile(filePath string, options map[string]string) error
- func (c *Client) AddTorrentFromFileCtx(ctx context.Context, filePath string, options map[string]string) error
- func (c *Client) AddTorrentFromMemory(buf []byte, options map[string]string) error
- func (c *Client) AddTorrentFromMemoryCtx(ctx context.Context, buf []byte, options map[string]string) error
- func (c *Client) AddTorrentFromUrl(url string, options map[string]string) error
- func (c *Client) AddTorrentFromUrlCtx(ctx context.Context, url string, options map[string]string) error
- func (c *Client) CreateCategory(category string, path string) error
- func (c *Client) CreateCategoryCtx(ctx context.Context, category string, path string) error
- func (c *Client) CreateTags(tags []string) error
- func (c *Client) CreateTagsCtx(ctx context.Context, tags []string) error
- func (c *Client) DecreasePriority(hashes []string) error
- func (c *Client) DecreasePriorityCtx(ctx context.Context, hashes []string) error
- func (c *Client) DeleteTags(tags []string) error
- func (c *Client) DeleteTagsCtx(ctx context.Context, tags []string) error
- func (c *Client) DeleteTorrents(hashes []string, deleteFiles bool) error
- func (c *Client) DeleteTorrentsCtx(ctx context.Context, hashes []string, deleteFiles bool) error
- func (c *Client) EditCategory(category string, path string) error
- func (c *Client) EditCategoryCtx(ctx context.Context, category string, path string) error
- func (c *Client) EditTracker(hash string, old, new string) error
- func (c *Client) EditTrackerCtx(ctx context.Context, hash string, old, new string) error
- func (c *Client) ExportTorrent(hash string) ([]byte, error)
- func (c *Client) ExportTorrentCtx(ctx context.Context, hash string) ([]byte, error)
- func (c *Client) GetAppPreferences() (AppPreferences, error)
- func (c *Client) GetAppPreferencesCtx(ctx context.Context) (AppPreferences, error)
- func (c *Client) GetAppVersion() (string, error)
- func (c *Client) GetAppVersionCtx(ctx context.Context) (string, error)
- func (c *Client) GetCategories() (map[string]Category, error)
- func (c *Client) GetCategoriesCtx(ctx context.Context) (map[string]Category, error)
- func (c *Client) GetFilesInformation(hash string) (*TorrentFiles, error)
- func (c *Client) GetFilesInformationCtx(ctx context.Context, hash string) (*TorrentFiles, error)
- func (c *Client) GetFreeSpaceOnDisk() (uint64, error)
- func (c *Client) GetFreeSpaceOnDiskCtx(ctx context.Context) (uint64, error)
- func (c *Client) GetTags() ([]string, error)
- func (c *Client) GetTagsCtx(ctx context.Context) ([]string, error)
- func (c *Client) GetTorrentProperties(hash string) (TorrentProperties, error)
- func (c *Client) GetTorrentPropertiesCtx(ctx context.Context, hash string) (TorrentProperties, error)
- func (c *Client) GetTorrentTrackers(hash string) ([]TorrentTracker, error)
- func (c *Client) GetTorrentTrackersCtx(ctx context.Context, hash string) ([]TorrentTracker, error)
- func (c *Client) GetTorrents(o TorrentFilterOptions) ([]Torrent, error)
- func (c *Client) GetTorrentsActiveDownloads() ([]Torrent, error)
- func (c *Client) GetTorrentsActiveDownloadsCtx(ctx context.Context) ([]Torrent, error)
- func (c *Client) GetTorrentsCtx(ctx context.Context, o TorrentFilterOptions) ([]Torrent, error)
- func (c *Client) GetTorrentsRaw() (string, error)
- func (c *Client) GetTorrentsRawCtx(ctx context.Context) (string, error)
- func (c *Client) GetTransferInfo() (*TransferInfo, error)
- func (c *Client) GetTransferInfoCtx(ctx context.Context) (*TransferInfo, error)
- func (c *Client) GetWebAPIVersion() (string, error)
- func (c *Client) GetWebAPIVersionCtx(ctx context.Context) (string, error)
- func (c *Client) IncreasePriority(hashes []string) error
- func (c *Client) IncreasePriorityCtx(ctx context.Context, hashes []string) error
- func (c *Client) Login() error
- func (c *Client) LoginCtx(ctx context.Context) error
- func (c *Client) Pause(hashes []string) error
- func (c *Client) PauseCtx(ctx context.Context, hashes []string) error
- func (c *Client) ReAnnounceTorrents(hashes []string) error
- func (c *Client) ReAnnounceTorrentsCtx(ctx context.Context, hashes []string) error
- func (c *Client) ReannounceTorrentWithRetry(ctx context.Context, hash string, opts *ReannounceOptions) error
- func (c *Client) Recheck(hashes []string) error
- func (c *Client) RecheckCtx(ctx context.Context, hashes []string) error
- func (c *Client) RemoveCategories(categories []string) error
- func (c *Client) RemoveCategoriesCtx(ctx context.Context, categories []string) error
- func (c *Client) RemoveTags(hashes []string, tags string) error
- func (c *Client) RemoveTagsCtx(ctx context.Context, hashes []string, tags string) error
- func (c *Client) RenameFile(hash, oldPath, newPath string) error
- func (c *Client) RenameFileCtx(ctx context.Context, hash, oldPath, newPath string) error
- func (c *Client) Resume(hashes []string) error
- func (c *Client) ResumeCtx(ctx context.Context, hashes []string) error
- func (c *Client) SetAutoManagement(hashes []string, enable bool) error
- func (c *Client) SetAutoManagementCtx(ctx context.Context, hashes []string, enable bool) error
- func (c *Client) SetCategory(hashes []string, category string) error
- func (c *Client) SetCategoryCtx(ctx context.Context, hashes []string, category string) error
- func (c *Client) SetForceStart(hashes []string, value bool) error
- func (c *Client) SetForceStartCtx(ctx context.Context, hashes []string, value bool) error
- func (c *Client) SetLocation(hashes []string, location string) error
- func (c *Client) SetLocationCtx(ctx context.Context, hashes []string, location string) error
- func (c *Client) SetMaxPriority(hashes []string) error
- func (c *Client) SetMaxPriorityCtx(ctx context.Context, hashes []string) error
- func (c *Client) SetMinPriority(hashes []string) error
- func (c *Client) SetMinPriorityCtx(ctx context.Context, hashes []string) error
- func (c *Client) SetPreferences(prefs map[string]interface{}) error
- func (c *Client) SetPreferencesCtx(ctx context.Context, prefs map[string]interface{}) error
- func (c *Client) SetPreferencesMaxActiveDownloads(max int) error
- func (c *Client) SetPreferencesMaxActiveTorrents(max int) error
- func (c *Client) SetPreferencesMaxActiveUploads(max int) error
- func (c *Client) SetPreferencesQueueingEnabled(enabled bool) error
- func (c *Client) SetTorrentUploadLimit(hash string, limit int64) error
- func (c *Client) SetTorrentUploadLimitCtx(ctx context.Context, hash string, limit int64) error
- func (c *Client) Start(hashes []string) error
- func (c *Client) StartCtx(ctx context.Context, hashes []string) error
- func (c *Client) Stop(hashes []string) error
- func (c *Client) StopCtx(ctx context.Context, hashes []string) error
- func (c *Client) SyncMainDataCtx(ctx context.Context, rid int64) (*MainData, error)
- func (c *Client) ToggleFirstLastPiecePrio(hashes []string) error
- func (c *Client) ToggleFirstLastPiecePrioCtx(ctx context.Context, hashes []string) error
- type Config
- type ConnectionStatus
- type ContentLayout
- type MainData
- type ReannounceOptions
- type ServerState
- type Torrent
- type TorrentAddOptions
- type TorrentFiles
- type TorrentFilter
- type TorrentFilterOptions
- type TorrentProperties
- type TorrentState
- type TorrentTracker
- type TorrentTrackersResponse
- type TrackerStatus
- type TransferInfo
Constants ¶
const ( ConnectionStatusConnected = "connected" ConnectionStatusFirewalled = "firewalled" ConnectionStatusDisconnected = "disconnected" )
const ( ReannounceMaxAttempts = 50 ReannounceInterval = 7 // interval in seconds )
Variables ¶
var (
DefaultTimeout = 60 * time.Second
)
var (
ErrReannounceTookTooLong = errors.New("reannounce took too long, deleted torrent")
)
Functions ¶
This section is empty.
Types ¶
type AppPreferences ¶ added in v1.7.2
type AppPreferences struct { AddTrackers string `json:"add_trackers"` AddTrackersEnabled bool `json:"add_trackers_enabled"` AltDlLimit int `json:"alt_dl_limit"` AltUpLimit int `json:"alt_up_limit"` AlternativeWebuiEnabled bool `json:"alternative_webui_enabled"` AlternativeWebuiPath string `json:"alternative_webui_path"` AnnounceIP string `json:"announce_ip"` AnnounceToAllTiers bool `json:"announce_to_all_tiers"` AnnounceToAllTrackers bool `json:"announce_to_all_trackers"` AnonymousMode bool `json:"anonymous_mode"` AsyncIoThreads int `json:"async_io_threads"` AutoDeleteMode int `json:"auto_delete_mode"` AutoTmmEnabled bool `json:"auto_tmm_enabled"` AutorunEnabled bool `json:"autorun_enabled"` AutorunOnTorrentAddedEnabled bool `json:"autorun_on_torrent_added_enabled"` AutorunOnTorrentAddedProgram string `json:"autorun_on_torrent_added_program"` AutorunProgram string `json:"autorun_program"` BannedIPs string `json:"banned_IPs"` BittorrentProtocol int `json:"bittorrent_protocol"` BlockPeersOnPrivilegedPorts bool `json:"block_peers_on_privileged_ports"` BypassAuthSubnetWhitelist string `json:"bypass_auth_subnet_whitelist"` BypassAuthSubnetWhitelistEnabled bool `json:"bypass_auth_subnet_whitelist_enabled"` BypassLocalAuth bool `json:"bypass_local_auth"` CategoryChangedTmmEnabled bool `json:"category_changed_tmm_enabled"` CheckingMemoryUse int `json:"checking_memory_use"` ConnectionSpeed int `json:"connection_speed"` CurrentInterfaceAddress string `json:"current_interface_address"` CurrentNetworkInterface string `json:"current_network_interface"` Dht bool `json:"dht"` DiskCache int `json:"disk_cache"` DiskCacheTTL int `json:"disk_cache_ttl"` DiskIoReadMode int `json:"disk_io_read_mode"` DiskIoType int `json:"disk_io_type"` DiskIoWriteMode int `json:"disk_io_write_mode"` DiskQueueSize int `json:"disk_queue_size"` DlLimit int `json:"dl_limit"` DontCountSlowTorrents bool `json:"dont_count_slow_torrents"` DyndnsDomain string `json:"dyndns_domain"` DyndnsEnabled bool `json:"dyndns_enabled"` DyndnsPassword string `json:"dyndns_password"` DyndnsService int `json:"dyndns_service"` DyndnsUsername string `json:"dyndns_username"` EmbeddedTrackerPort int `json:"embedded_tracker_port"` EmbeddedTrackerPortForwarding bool `json:"embedded_tracker_port_forwarding"` EnableCoalesceReadWrite bool `json:"enable_coalesce_read_write"` EnableEmbeddedTracker bool `json:"enable_embedded_tracker"` EnableMultiConnectionsFromSameIP bool `json:"enable_multi_connections_from_same_ip"` EnablePieceExtentAffinity bool `json:"enable_piece_extent_affinity"` EnableUploadSuggestions bool `json:"enable_upload_suggestions"` Encryption int `json:"encryption"` ExcludedFileNames string `json:"excluded_file_names"` ExcludedFileNamesEnabled bool `json:"excluded_file_names_enabled"` ExportDir string `json:"export_dir"` ExportDirFin string `json:"export_dir_fin"` FilePoolSize int `json:"file_pool_size"` HashingThreads int `json:"hashing_threads"` IdnSupportEnabled bool `json:"idn_support_enabled"` IncompleteFilesExt bool `json:"incomplete_files_ext"` IPFilterEnabled bool `json:"ip_filter_enabled"` IPFilterPath string `json:"ip_filter_path"` IPFilterTrackers bool `json:"ip_filter_trackers"` LimitLanPeers bool `json:"limit_lan_peers"` LimitTCPOverhead bool `json:"limit_tcp_overhead"` LimitUtpRate bool `json:"limit_utp_rate"` ListenPort int `json:"listen_port"` Locale string `json:"locale"` Lsd bool `json:"lsd"` MailNotificationAuthEnabled bool `json:"mail_notification_auth_enabled"` MailNotificationEmail string `json:"mail_notification_email"` MailNotificationEnabled bool `json:"mail_notification_enabled"` MailNotificationPassword string `json:"mail_notification_password"` MailNotificationSender string `json:"mail_notification_sender"` MailNotificationSMTP string `json:"mail_notification_smtp"` MailNotificationSslEnabled bool `json:"mail_notification_ssl_enabled"` MailNotificationUsername string `json:"mail_notification_username"` MaxActiveCheckingTorrents int `json:"max_active_checking_torrents"` MaxActiveDownloads int `json:"max_active_downloads"` MaxActiveTorrents int `json:"max_active_torrents"` MaxActiveUploads int `json:"max_active_uploads"` MaxConcurrentHTTPAnnounces int `json:"max_concurrent_http_announces"` MaxConnec int `json:"max_connec"` MaxConnecPerTorrent int `json:"max_connec_per_torrent"` MaxRatio int `json:"max_ratio"` MaxRatioAct int `json:"max_ratio_act"` MaxRatioEnabled bool `json:"max_ratio_enabled"` MaxSeedingTime int `json:"max_seeding_time"` MaxSeedingTimeEnabled bool `json:"max_seeding_time_enabled"` MaxUploads int `json:"max_uploads"` MaxUploadsPerTorrent int `json:"max_uploads_per_torrent"` MemoryWorkingSetLimit int `json:"memory_working_set_limit"` OutgoingPortsMax int `json:"outgoing_ports_max"` OutgoingPortsMin int `json:"outgoing_ports_min"` PeerTos int `json:"peer_tos"` PeerTurnover int `json:"peer_turnover"` PeerTurnoverCutoff int `json:"peer_turnover_cutoff"` PeerTurnoverInterval int `json:"peer_turnover_interval"` PerformanceWarning bool `json:"performance_warning"` Pex bool `json:"pex"` PreallocateAll bool `json:"preallocate_all"` ProxyAuthEnabled bool `json:"proxy_auth_enabled"` ProxyHostnameLookup bool `json:"proxy_hostname_lookup"` ProxyIP string `json:"proxy_ip"` ProxyPassword string `json:"proxy_password"` ProxyPeerConnections bool `json:"proxy_peer_connections"` ProxyPort int `json:"proxy_port"` ProxyTorrentsOnly bool `json:"proxy_torrents_only"` ProxyType interface{} `json:"proxy_type"` // pre 4.5.x this is an int and post 4.6.x it's a string ProxyUsername string `json:"proxy_username"` QueueingEnabled bool `json:"queueing_enabled"` RandomPort bool `json:"random_port"` ReannounceWhenAddressChanged bool `json:"reannounce_when_address_changed"` RecheckCompletedTorrents bool `json:"recheck_completed_torrents"` RefreshInterval int `json:"refresh_interval"` RequestQueueSize int `json:"request_queue_size"` ResolvePeerCountries bool `json:"resolve_peer_countries"` ResumeDataStorageType string `json:"resume_data_storage_type"` RssAutoDownloadingEnabled bool `json:"rss_auto_downloading_enabled"` RssDownloadRepackProperEpisodes bool `json:"rss_download_repack_proper_episodes"` RssMaxArticlesPerFeed int `json:"rss_max_articles_per_feed"` RssProcessingEnabled bool `json:"rss_processing_enabled"` RssRefreshInterval int `json:"rss_refresh_interval"` RssSmartEpisodeFilters string `json:"rss_smart_episode_filters"` SavePath string `json:"save_path"` SavePathChangedTmmEnabled bool `json:"save_path_changed_tmm_enabled"` SaveResumeDataInterval int `json:"save_resume_data_interval"` ScanDirs struct { } `json:"scan_dirs"` ScheduleFromHour int `json:"schedule_from_hour"` ScheduleFromMin int `json:"schedule_from_min"` ScheduleToHour int `json:"schedule_to_hour"` ScheduleToMin int `json:"schedule_to_min"` SchedulerDays int `json:"scheduler_days"` SchedulerEnabled bool `json:"scheduler_enabled"` SendBufferLowWatermark int `json:"send_buffer_low_watermark"` SendBufferWatermark int `json:"send_buffer_watermark"` SendBufferWatermarkFactor int `json:"send_buffer_watermark_factor"` SlowTorrentDlRateThreshold int `json:"slow_torrent_dl_rate_threshold"` SlowTorrentInactiveTimer int `json:"slow_torrent_inactive_timer"` SlowTorrentUlRateThreshold int `json:"slow_torrent_ul_rate_threshold"` SocketBacklogSize int `json:"socket_backlog_size"` SsrfMitigation bool `json:"ssrf_mitigation"` StartPausedEnabled bool `json:"start_paused_enabled"` StopTrackerTimeout int `json:"stop_tracker_timeout"` TempPath string `json:"temp_path"` TempPathEnabled bool `json:"temp_path_enabled"` TorrentChangedTmmEnabled bool `json:"torrent_changed_tmm_enabled"` TorrentContentLayout string `json:"torrent_content_layout"` TorrentStopCondition string `json:"torrent_stop_condition"` UpLimit int `json:"up_limit"` UploadChokingAlgorithm int `json:"upload_choking_algorithm"` UploadSlotsBehavior int `json:"upload_slots_behavior"` Upnp bool `json:"upnp"` UpnpLeaseDuration int `json:"upnp_lease_duration"` UseCategoryPathsInManualMode bool `json:"use_category_paths_in_manual_mode"` UseHTTPS bool `json:"use_https"` UtpTCPMixedMode int `json:"utp_tcp_mixed_mode"` ValidateHTTPSTrackerCertificate bool `json:"validate_https_tracker_certificate"` WebUIAddress string `json:"web_ui_address"` WebUIBanDuration int `json:"web_ui_ban_duration"` WebUIClickjackingProtectionEnabled bool `json:"web_ui_clickjacking_protection_enabled"` WebUICsrfProtectionEnabled bool `json:"web_ui_csrf_protection_enabled"` WebUICustomHTTPHeaders string `json:"web_ui_custom_http_headers"` WebUIDomainList string `json:"web_ui_domain_list"` WebUIHostHeaderValidationEnabled bool `json:"web_ui_host_header_validation_enabled"` WebUIHTTPSCertPath string `json:"web_ui_https_cert_path"` WebUIHTTPSKeyPath string `json:"web_ui_https_key_path"` WebUIMaxAuthFailCount int `json:"web_ui_max_auth_fail_count"` WebUIPort int `json:"web_ui_port"` WebUIReverseProxiesList string `json:"web_ui_reverse_proxies_list"` WebUIReverseProxyEnabled bool `json:"web_ui_reverse_proxy_enabled"` WebUISecureCookieEnabled bool `json:"web_ui_secure_cookie_enabled"` WebUISessionTimeout int `json:"web_ui_session_timeout"` WebUIUpnp bool `json:"web_ui_upnp"` WebUIUseCustomHTTPHeadersEnabled bool `json:"web_ui_use_custom_http_headers_enabled"` WebUIUsername string `json:"web_ui_username"` }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AddTagsCtx ¶ added in v1.3.3
func (*Client) AddTorrentFromFile ¶
AddTorrentFromFile add new torrent from torrent file
func (*Client) AddTorrentFromFileCtx ¶
func (*Client) AddTorrentFromMemory ¶ added in v1.7.2
func (*Client) AddTorrentFromMemoryCtx ¶ added in v1.7.2
func (*Client) AddTorrentFromUrl ¶
AddTorrentFromUrl add new torrent from torrent file
func (*Client) AddTorrentFromUrlCtx ¶
func (*Client) CreateCategoryCtx ¶
func (*Client) CreateTags ¶ added in v1.4.0
func (*Client) CreateTagsCtx ¶ added in v1.4.0
func (*Client) DecreasePriority ¶ added in v1.7.0
DecreasePriority decrease priority for torrents specified by hashes
func (*Client) DecreasePriorityCtx ¶ added in v1.7.0
DecreasePriorityCtx decrease priority for torrents specified by hashes
func (*Client) DeleteTags ¶ added in v1.4.0
DeleteTags delete tags from qBittorrent
func (*Client) DeleteTagsCtx ¶ added in v1.4.0
DeleteTagsCtx delete tags from qBittorrent
func (*Client) DeleteTorrents ¶
func (*Client) DeleteTorrentsCtx ¶
func (*Client) EditCategoryCtx ¶
func (*Client) EditTracker ¶ added in v1.5.0
EditTracker edit tracker of torrent
func (*Client) EditTrackerCtx ¶ added in v1.5.0
EditTrackerCtx edit tracker of torrent
func (*Client) ExportTorrent ¶ added in v1.3.0
func (*Client) ExportTorrentCtx ¶ added in v1.3.0
func (*Client) GetAppPreferences ¶ added in v1.7.2
func (c *Client) GetAppPreferences() (AppPreferences, error)
func (*Client) GetAppPreferencesCtx ¶ added in v1.7.2
func (c *Client) GetAppPreferencesCtx(ctx context.Context) (AppPreferences, error)
func (*Client) GetAppVersion ¶ added in v1.4.0
func (*Client) GetAppVersionCtx ¶ added in v1.4.0
func (*Client) GetCategoriesCtx ¶
func (*Client) GetFilesInformation ¶
func (c *Client) GetFilesInformation(hash string) (*TorrentFiles, error)
func (*Client) GetFilesInformationCtx ¶
func (*Client) GetFreeSpaceOnDisk ¶ added in v1.11.0
func (*Client) GetFreeSpaceOnDiskCtx ¶ added in v1.11.0
GetFreeSpaceOnDiskCtx get free space on disk for default download dir. Expensive call
func (*Client) GetTagsCtx ¶ added in v1.4.0
func (*Client) GetTorrentProperties ¶ added in v1.7.2
func (c *Client) GetTorrentProperties(hash string) (TorrentProperties, error)
func (*Client) GetTorrentPropertiesCtx ¶ added in v1.7.2
func (*Client) GetTorrentTrackers ¶
func (c *Client) GetTorrentTrackers(hash string) ([]TorrentTracker, error)
func (*Client) GetTorrentTrackersCtx ¶
func (*Client) GetTorrents ¶
func (c *Client) GetTorrents(o TorrentFilterOptions) ([]Torrent, error)
func (*Client) GetTorrentsActiveDownloads ¶
func (*Client) GetTorrentsActiveDownloadsCtx ¶
func (*Client) GetTorrentsCtx ¶
func (*Client) GetTorrentsRaw ¶
func (*Client) GetTorrentsRawCtx ¶
func (*Client) GetTransferInfo ¶
func (c *Client) GetTransferInfo() (*TransferInfo, error)
func (*Client) GetTransferInfoCtx ¶
func (c *Client) GetTransferInfoCtx(ctx context.Context) (*TransferInfo, error)
func (*Client) GetWebAPIVersion ¶ added in v1.4.0
func (*Client) GetWebAPIVersionCtx ¶ added in v1.4.0
func (*Client) IncreasePriority ¶ added in v1.7.0
IncreasePriority increase priority for torrents specified by hashes
func (*Client) IncreasePriorityCtx ¶ added in v1.7.0
IncreasePriorityCtx increase priority for torrents specified by hashes
func (*Client) Login ¶
Login https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#authentication
func (*Client) ReAnnounceTorrents ¶
func (*Client) ReAnnounceTorrentsCtx ¶
func (*Client) ReannounceTorrentWithRetry ¶ added in v1.1.0
func (*Client) RemoveCategories ¶
func (*Client) RemoveCategoriesCtx ¶
func (*Client) RemoveTags ¶ added in v1.3.3
RemoveTags remove tags from torrents specified by hashes
func (*Client) RemoveTagsCtx ¶ added in v1.3.3
RemoveTagsCtx remove tags from torrents specified by hashes
func (*Client) RenameFile ¶
func (*Client) RenameFileCtx ¶
func (*Client) SetAutoManagement ¶
func (*Client) SetAutoManagementCtx ¶
func (*Client) SetCategoryCtx ¶
func (*Client) SetForceStartCtx ¶
func (*Client) SetLocationCtx ¶
func (*Client) SetMaxPriority ¶ added in v1.7.0
SetMaxPriority set torrents to max priority specified by hashes
func (*Client) SetMaxPriorityCtx ¶ added in v1.7.0
SetMaxPriorityCtx set torrents to max priority specified by hashes
func (*Client) SetMinPriority ¶ added in v1.7.0
SetMinPriority set torrents to min priority specified by hashes
func (*Client) SetMinPriorityCtx ¶ added in v1.7.0
SetMinPriorityCtx set torrents to min priority specified by hashes
func (*Client) SetPreferences ¶ added in v1.8.0
func (*Client) SetPreferencesCtx ¶ added in v1.8.0
func (*Client) SetPreferencesMaxActiveDownloads ¶ added in v1.8.0
SetPreferencesMaxActiveDownloads set max active downloads
func (*Client) SetPreferencesMaxActiveTorrents ¶ added in v1.8.0
SetPreferencesMaxActiveTorrents set max active torrents
func (*Client) SetPreferencesMaxActiveUploads ¶ added in v1.8.0
SetPreferencesMaxActiveUploads set max active uploads
func (*Client) SetPreferencesQueueingEnabled ¶ added in v1.8.0
SetPreferencesQueueingEnabled enable/disable torrent queueing
func (*Client) SetTorrentUploadLimit ¶ added in v1.10.0
SetTorrentUploadLimit set upload limit for torrent specified by hash
func (*Client) SetTorrentUploadLimitCtx ¶ added in v1.10.0
SetTorrentUploadLimitCtx set upload limit for torrent specified by hash
func (*Client) SyncMainDataCtx ¶ added in v1.11.0
SyncMainDataCtx Sync API implements requests for obtaining changes since the last request. 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)
func (*Client) ToggleFirstLastPiecePrio ¶ added in v1.9.0
ToggleFirstLastPiecePrio toggles the priority of the first and last pieces of torrents specified by hashes
type ConnectionStatus ¶
type ConnectionStatus string
type ContentLayout ¶
type ContentLayout string
const ( ContentLayoutOriginal ContentLayout = "Original" ContentLayoutSubfolderNone ContentLayout = "NoSubfolder" ContentLayoutSubfolderCreate ContentLayout = "Subfolder" )
type MainData ¶ added in v1.11.0
type MainData struct { Rid int `json:"rid"` FullUpdate bool `json:"full_update"` Torrents map[string]Torrent `json:"torrents"` TorrentsRemoved []string `json:"torrents_removed"` Categories map[string]Category `json:"categories"` CategoriesRemoved []string `json:"categories_removed"` Tags []string `json:"tags"` TagsRemoved []string `json:"tags_removed"` Trackers map[string][]string `json:"trackers"` ServerState ServerState `json:"server_state"` }
type ReannounceOptions ¶ added in v1.1.0
type ServerState ¶ added in v1.11.0
type ServerState struct { AlltimeDl int64 `json:"alltime_dl"` AlltimeUl int64 `json:"alltime_ul"` AverageTimeQueue int `json:"average_time_queue"` ConnectionStatus string `json:"connection_status"` DhtNodes int `json:"dht_nodes"` DlInfoData int64 `json:"dl_info_data"` DlInfoSpeed int `json:"dl_info_speed"` DlRateLimit int `json:"dl_rate_limit"` FreeSpaceOnDisk uint64 `json:"free_space_on_disk"` GlobalRatio string `json:"global_ratio"` QueuedIoJobs int `json:"queued_io_jobs"` Queueing bool `json:"queueing"` ReadCacheHits string `json:"read_cache_hits"` ReadCacheOverload string `json:"read_cache_overload"` RefreshInterval int `json:"refresh_interval"` TotalBuffersSize int `json:"total_buffers_size"` TotalPeerConnections int `json:"total_peer_connections"` TotalQueuedSize int `json:"total_queued_size"` TotalWastedSession int64 `json:"total_wasted_session"` UpInfoData int64 `json:"up_info_data"` UpInfoSpeed int `json:"up_info_speed"` UpRateLimit int `json:"up_rate_limit"` UseAltSpeedLimits bool `json:"use_alt_speed_limits"` WriteCacheOverload string `json:"write_cache_overload"` }
type Torrent ¶
type Torrent struct { AddedOn int64 `json:"added_on"` AmountLeft int64 `json:"amount_left"` AutoManaged bool `json:"auto_tmm"` Availability float64 `json:"availability"` Category string `json:"category"` Completed int64 `json:"completed"` CompletionOn int64 `json:"completion_on"` ContentPath string `json:"content_path"` DlLimit int64 `json:"dl_limit"` DlSpeed int64 `json:"dlspeed"` DownloadPath string `json:"download_path"` Downloaded int64 `json:"downloaded"` DownloadedSession int64 `json:"downloaded_session"` ETA int64 `json:"eta"` FirstLastPiecePrio bool `json:"f_l_piece_prio"` ForceStart bool `json:"force_start"` Hash string `json:"hash"` InfohashV1 string `json:"infohash_v1"` InfohashV2 string `json:"infohash_v2"` LastActivity int64 `json:"last_activity"` MagnetURI string `json:"magnet_uri"` MaxRatio float64 `json:"max_ratio"` MaxSeedingTime int64 `json:"max_seeding_time"` Name string `json:"name"` NumComplete int64 `json:"num_complete"` NumIncomplete int64 `json:"num_incomplete"` NumLeechs int64 `json:"num_leechs"` NumSeeds int64 `json:"num_seeds"` Priority int64 `json:"priority"` Progress float64 `json:"progress"` Ratio float64 `json:"ratio"` RatioLimit float64 `json:"ratio_limit"` SavePath string `json:"save_path"` SeedingTime int64 `json:"seeding_time"` SeedingTimeLimit int64 `json:"seeding_time_limit"` SeenComplete int64 `json:"seen_complete"` SequentialDownload bool `json:"seq_dl"` Size int64 `json:"size"` State TorrentState `json:"state"` SuperSeeding bool `json:"super_seeding"` Tags string `json:"tags"` TimeActive int64 `json:"time_active"` TotalSize int64 `json:"total_size"` Tracker string `json:"tracker"` TrackersCount int64 `json:"trackers_count"` UpLimit int64 `json:"up_limit"` Uploaded int64 `json:"uploaded"` UploadedSession int64 `json:"uploaded_session"` UpSpeed int64 `json:"upspeed"` }
type TorrentAddOptions ¶
type TorrentAddOptions struct { Stopped bool // introduced in Web API v2.11.0 (v5.0.0) Paused bool SkipHashCheck bool ContentLayout ContentLayout SavePath string AutoTMM bool Category string Tags string LimitUploadSpeed int64 LimitDownloadSpeed int64 LimitRatio float64 LimitSeedTime int64 Rename string FirstLastPiecePrio bool SequentialDownload bool }
func (*TorrentAddOptions) Prepare ¶
func (o *TorrentAddOptions) Prepare() map[string]string
type TorrentFiles ¶
type TorrentFilter ¶
type TorrentFilter string
const ( // Torrent is paused TorrentFilterAll TorrentFilter = "all" // Torrent is active TorrentFilterActive TorrentFilter = "active" // Torrent is inactive TorrentFilterInactive TorrentFilter = "inactive" // Torrent is completed TorrentFilterCompleted TorrentFilter = "completed" // Torrent is resumed TorrentFilterResumed TorrentFilter = "resumed" // Torrent is paused TorrentFilterPaused TorrentFilter = "paused" // Torrent is stopped TorrentFilterStopped TorrentFilter = "stopped" // Torrent is stalled TorrentFilterStalled TorrentFilter = "stalled" // Torrent is being seeded and data is being transferred TorrentFilterUploading TorrentFilter = "uploading" // Torrent is being seeded, but no connection were made TorrentFilterStalledUploading TorrentFilter = "stalled_uploading" // Torrent is being downloaded and data is being transferred TorrentFilterDownloading TorrentFilter = "downloading" // Torrent is being downloaded, but no connection were made TorrentFilterStalledDownloading TorrentFilter = "stalled_downloading" // Torrent is errored TorrentFilterError TorrentFilter = "errored" )
type TorrentFilterOptions ¶
type TorrentProperties ¶ added in v1.7.2
type TorrentProperties struct { AdditionDate int `json:"addition_date"` Comment string `json:"comment"` CompletionDate int `json:"completion_date"` CreatedBy string `json:"created_by"` CreationDate int `json:"creation_date"` DlLimit int `json:"dl_limit"` DlSpeed int `json:"dl_speed"` DlSpeedAvg int `json:"dl_speed_avg"` DownloadPath string `json:"download_path"` Eta int `json:"eta"` Hash string `json:"hash"` InfohashV1 string `json:"infohash_v1"` InfohashV2 string `json:"infohash_v2"` IsPrivate bool `json:"is_private"` LastSeen int `json:"last_seen"` Name string `json:"name"` NbConnections int `json:"nb_connections"` NbConnectionsLimit int `json:"nb_connections_limit"` Peers int `json:"peers"` PeersTotal int `json:"peers_total"` PieceSize int `json:"piece_size"` PiecesHave int `json:"pieces_have"` PiecesNum int `json:"pieces_num"` Reannounce int `json:"reannounce"` SavePath string `json:"save_path"` SeedingTime int `json:"seeding_time"` Seeds int `json:"seeds"` SeedsTotal int `json:"seeds_total"` TimeElapsed int `json:"time_elapsed"` TotalDownloaded int64 `json:"total_downloaded"` TotalDownloadedSession int64 `json:"total_downloaded_session"` TotalSize int64 `json:"total_size"` TotalUploaded int64 `json:"total_uploaded"` TotalUploadedSession int64 `json:"total_uploaded_session"` TotalWasted int64 `json:"total_wasted"` UpLimit int `json:"up_limit"` UpSpeed int `json:"up_speed"` UpSpeedAvg int `json:"up_speed_avg"` }
type TorrentState ¶
type TorrentState string
const ( // Some error occurred, applies to paused torrents TorrentStateError TorrentState = "error" // Torrent data files is missing TorrentStateMissingFiles TorrentState = "missingFiles" // Torrent is being seeded and data is being transferred TorrentStateUploading TorrentState = "uploading" // Torrent is paused and has finished downloading TorrentStatePausedUp TorrentState = "pausedUP" // Torrent is stopped and has finished downloading TorrentStateStoppedUp TorrentState = "stoppedUP" // Queuing is enabled and torrent is queued for upload TorrentStateQueuedUp TorrentState = "queuedUP" // Torrent is being seeded, but no connection were made TorrentStateStalledUp TorrentState = "stalledUP" // Torrent has finished downloading and is being checked TorrentStateCheckingUp TorrentState = "checkingUP" // Torrent is forced to uploading and ignore queue limit TorrentStateForcedUp TorrentState = "forcedUP" // Torrent is allocating disk space for download TorrentStateAllocating TorrentState = "allocating" // Torrent is being downloaded and data is being transferred TorrentStateDownloading TorrentState = "downloading" // Torrent has just started downloading and is fetching metadata TorrentStateMetaDl TorrentState = "metaDL" // Torrent is paused and has NOT finished downloading TorrentStatePausedDl TorrentState = "pausedDL" // Torrent is stopped and has NOT finished downloading TorrentStateStoppedDl TorrentState = "stoppedDL" // Queuing is enabled and torrent is queued for download TorrentStateQueuedDl TorrentState = "queuedDL" // Torrent is being downloaded, but no connection were made TorrentStateStalledDl TorrentState = "stalledDL" // Same as checkingUP, but torrent has NOT finished downloading TorrentStateCheckingDl TorrentState = "checkingDL" // Torrent is forced to downloading to ignore queue limit TorrentStateForcedDl TorrentState = "forcedDL" // Checking resume data on qBt startup TorrentStateCheckingResumeData TorrentState = "checkingResumeData" // Torrent is moving to another location TorrentStateMoving TorrentState = "moving" // Unknown status TorrentStateUnknown TorrentState = "unknown" )
type TorrentTracker ¶
type TorrentTracker struct { //Tier int `json:"tier"` // can be both empty "" and int Url string `json:"url"` Status TrackerStatus `json:"status"` NumPeers int `json:"num_peers"` NumSeeds int `json:"num_seeds"` NumLeechers int `json:"num_leechers"` NumDownloaded int `json:"num_downloaded"` Message string `json:"msg"` }
type TorrentTrackersResponse ¶
type TorrentTrackersResponse struct {
Trackers []TorrentTracker `json:"trackers"`
}
type TrackerStatus ¶
type TrackerStatus int
TrackerStatus https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#get-torrent-trackers
const ( // 0 Tracker is disabled (used for DHT, PeX, and LSD) TrackerStatusDisabled TrackerStatus = 0 // 1 Tracker has not been contacted yet TrackerStatusNotContacted TrackerStatus = 1 // 2 Tracker has been contacted and is working TrackerStatusOK TrackerStatus = 2 // 3 Tracker is updating TrackerStatusUpdating TrackerStatus = 3 // 4 Tracker has been contacted, but it is not working (or doesn't send proper replies) TrackerStatusNotWorking TrackerStatus = 4 )
type TransferInfo ¶
type TransferInfo struct { ConnectionStatus ConnectionStatus `json:"connection_status"` DHTNodes int64 `json:"dht_nodes"` DlInfoData int64 `json:"dl_info_data"` DlInfoSpeed int64 `json:"dl_info_speed"` DlRateLimit int64 `json:"dl_rate_limit"` UpInfoData int64 `json:"up_info_data"` UpInfoSpeed int64 `json:"up_info_speed"` UpRateLimit int64 `json:"up_rate_limit"` }
TransferInfo
https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#get-global-transfer-info
dl_info_speed integer Global download rate (bytes/s)
dl_info_data integer Data downloaded this session (bytes)
up_info_speed integer Global upload rate (bytes/s)
up_info_data integer Data uploaded this session (bytes)
dl_rate_limit integer Download rate limit (bytes/s)
up_rate_limit integer Upload rate limit (bytes/s)
dht_nodes integer DHT nodes connected to
connection_status string Connection status. See possible values here below