Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- func (qb *Client) APIMinimumVersion() (string, error)
- func (qb *Client) APIVersion() (string, error)
- func (qb *Client) Command(action string, hash []string) error
- func (qb *Client) GetPreference() (*Preference, error)
- func (qb *Client) ListTorrent() (torrents *[]Torrent, err error)
- func (qb *Client) Logout() error
- func (qb *Client) Pause(hash []string) error
- func (qb *Client) PauseAll(hash []string) error
- func (qb *Client) Recheck(hash []string) error
- func (qb *Client) Remove(hash []string) error
- func (qb *Client) RemoveData(hash []string) error
- func (qb *Client) Start(hash []string) error
- func (qb *Client) StartAll(hash []string) error
- func (qb *Client) UploadFile(file *os.File, option *UploadOption) (err error)
- type Preference
- type State
- type Torrent
- type UploadOption
Constants ¶
const ( StateError = "Error" //Some error occurred, applies to paused torrents StatePausedUP = "Upload Paused" //Torrent is paused and has finished downloading StatePausedDL = "Download Paused" //Torrent is paused and has NOT finished downloading StateQueuedUP = "Upload Queued" //Queuing is enabled and torrent is queued for upload StateQueuedDL = "Download Queued" //Queuing is enabled and torrent is queued for download StateUploading = "Uploading" //Torrent is being seeded and data is being transfered StateStalledUP = "Uploading, connection waiting" //Torrent is being seeded, but no connection were made StateCheckingUP = "Upload Checking" //Torrent has finished downloading and is being checked; this status also applies to preallocation (if enabled) and checking resume data on qBt startup StateCheckingDL = "Download File Checking" //Same as checkingUP, but torrent has NOT finished downloading StateDownloading = "Downloading" //Torrent is being downloaded and data is being transfered StateStalledDL = "Donwloading, connection waiting" //Torrent is being downloaded, but no connection were made StateMetaDL = "Fetching Metadata" //Torrent has just started downloading and is fetching metadata )
Variables ¶
var TorrentState = &State{ "error": StateError, "pausedUP": StatePausedUP, "pausedDL": StatePausedDL, "queuedUP": StateQueuedUP, "queuedDL": StateQueuedDL, "uploading": StateUploading, "stalledUP": StateStalledUP, "checkingUP": StateCheckingUP, "checkingDL": StateCheckingDL, "downloading": StateDownloading, "stalledDL": StateStalledDL, "metaDL": StateMetaDL, }
TorrentState ...
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { BaseURL string Username string Password string Token string Cookies http.CookieJar Authorize string // contains filtered or unexported fields }
Client ... qBittorrent Configure
func NewClientEx ¶
func NewClientEx(baseURL string, username string, password string, debug bool) (qb *Client, err error)
NewClientEx ...
func (*Client) APIMinimumVersion ¶
APIMinimumVersion ...
func (*Client) GetPreference ¶
func (qb *Client) GetPreference() (*Preference, error)
GetPreference .
func (*Client) ListTorrent ¶
ListTorrent ...
func (*Client) Pause ¶
Pause ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#pause-torrent
func (*Client) PauseAll ¶
PauseAll ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#pause-all-torrents
func (*Client) Recheck ¶
Recheck ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#recheck-torrent
func (*Client) Remove ¶
Remove ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#delete-torrent
func (*Client) RemoveData ¶
RemoveData ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#delete-torrent-with-downloaded-data
func (*Client) Start ¶
Start ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#resume-torrent
func (*Client) StartAll ¶
StartAll ... https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#resume-all-torrents
func (*Client) UploadFile ¶
func (qb *Client) UploadFile(file *os.File, option *UploadOption) (err error)
UploadFile . https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#upload-torrent-from-disk
type Preference ¶
type Preference struct { Locale string `json:"locale,omitempty"` SavePath string `json:"save_path,omitempty"` TempPathEnabled bool `json:"temp_path_enabled,omitempty"` TempPath string `json:"temp_path,omitempty"` ScanDirs map[string]string `json:"scan_dirs,omitempty"` ExportDirEnabled bool `json:"export_dir_enabled,omitempty"` ExportDir string `json:"export_dir,omitempty"` MailNotificationEnabled bool `json:"mail_notification_enabled,omitempty"` MailNotificationEmail string `json:"mail_notification_email,omitempty"` MailNotificationSMTP string `json:"mail_notification_smtp,omitempty"` MailNotificationSSLEnabled bool `json:"mail_notification_ssl_enabled,omitempty"` MailNotificationAuthEnabled bool `json:"mail_notification_auth_enabled,omitempty"` MailNotificationUsername string `json:"mail_notification_username,omitempty"` MailNotificationPassword string `json:"mail_notification_password,omitempty"` AutorunEnable bool `json:"autorun_enable,omitempty"` AutorunProgram string `json:"autorun_program,omitempty"` PreallocateAll bool `json:"preallocate_all,omitempty"` QueuingEnabled bool `json:"queuing_enabled,omitempty"` MaxActiveDownloads int `json:"max_active_downloads,omitempty"` MaxActiveTorrents int `json:"max_active_torrents,omitempty"` MaxActiveUploads int `json:"max_active_uploads,omitempty"` DontCountSlowTorrents bool `json:"dont_count_slow_torrents,omitempty"` MaxRatioEnabled bool `json:"max_ratio_enabled,omitempty"` MaxRatio float32 `json:"max_ratio,omitempty"` MaxRatioAct int `json:"max_ratio_act,omitempty"` IncompleteFileExt bool `json:"incomplete_file_ext,omitempty"` ListenPort int `json:"listen_port,omitempty"` UPNP bool `json:"upnp,omitempty"` RandomPort bool `json:"random_port,omitempty"` DlLimit int `json:"dl_limit,omitempty"` UpLimit int `json:"up_limit,omitempty"` MaxConnec int `json:"max_connec,omitempty"` MaxConnecPerTorrent int `json:"max_connec_per_torrent,omitempty"` MaxUploads int `json:"max_uploads,omitempty"` MaxUploadPerTorrent int `json:"max_upload_per_torrent,omitempty"` EnableUTP bool `json:"enable_utp,omitempty"` LimitUTPRate bool `json:"limit_utp_rate,omitempty"` LimitTCPOverhead bool `json:"limit_tcp_overhead,omitempty"` AltDlLimit int `json:"alt_dl_limit,omitempty"` AltUpLimit int `json:"alt_up_limit,omitempty"` SchedulerEnabled bool `json:"scheduler_enabled,omitempty"` ScheduleFromHour int `json:"schedule_from_hour,omitempty"` ScheduleFromMin int `json:"schedule_from_min,omitempty"` ScheduleToHour int `json:"schedule_to_hour,omitempty"` ScheduleToMin int `json:"schedule_to_min,omitempty"` SchedulerDays int `json:"scheduler_days,omitempty"` DHT bool `json:"dht,omitempty"` DHTSameAsBT bool `json:"dht_same_as_bt,omitempty"` DHTPort int `json:"dht_port,omitempty"` PEX bool `json:"pex,omitempty"` LSD bool `json:"lsd,omitempty"` Encryption int `json:"encryption,omitempty"` AnonymousMode bool `json:"anonymous_mode,omitempty"` ProxyType int `json:"proxy_type,omitempty"` ProxyIP string `json:"proxy_ip,omitempty"` ProxyPort int `json:"proxy_port,omitempty"` ProxyPeerConnections bool `json:"proxy_peer_connections,omitempty"` ForceProxy bool `json:"force_proxy,omitempty"` ProxyAuthEnabled bool `json:"proxy_auth_enabled,omitempty"` ProxyUsername string `json:"proxy_username,omitempty"` ProxyPassword string `json:"proxy_password,omitempty"` IPFilterEnabled bool `json:"ip_filter_enabled,omitempty"` IPFilterPath string `json:"ip_filter_path,omitempty"` IPFilterTrackers bool `json:"ip_filter_trackers,omitempty"` WebUIPort int `json:"web_ui_port,omitempty"` WebUIUPNP bool `json:"web_uiupnp,omitempty"` WebUIUsername string `json:"web_ui_username,omitempty"` WebUIPassword string `json:"web_ui_password,omitempty"` BypassLocalAuth bool `json:"bypass_local_auth,omitempty"` BypassAuthSubnetWhitelistEnabled bool `json:"bypass_auth_subnet_whitelist_enabled,omitempty"` BypassAuthSubnetWhiteList string `json:"bypass_auth_subnet_white_list,omitempty"` UseHTTPS bool `json:"use_https,omitempty"` SSLKey string `json:"ssl_key,omitempty"` SSLCert string `json:"ssl_cert,omitempty"` DyndnsEnabled bool `json:"dyndns_enabled,omitempty"` DyndnsService int `json:"dyndns_service,omitempty"` DyndnsUsername string `json:"dyndns_username,omitempty"` DyndnsPassword string `json:"dyndns_password,omitempty"` DyndnsDomain string `json:"dyndns_domain,omitempty"` }
Preference .
type Torrent ¶
type Torrent struct { //https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation#get-torrent-list Hash string `json:"hash"` //Torrent hash Name string `json:"name"` //Torrent name Size int64 `json:"size"` //Total size (bytes) of files selected for download Progress float32 `json:"progress"` //Torrent progress (percentage/100) Dlspeed int64 `json:"dlspeed"` //Torrent download speed (bytes/s) Upspeed int64 `json:"upspeed"` //Torrent upload speed (bytes/s) Priority int64 `json:"priority"` //Torrent priority. Returns -1 if queuing is disabled or torrent is in seed mode NumSeeds int64 `json:"num_seeds"` //Number of seeds connected to NumComplete int64 `json:"num_complete"` //Number of seeds in the swarm NumLeechs int64 `json:"num_leechs"` //Number of leechers connected to NumIncomplete int64 `json:"num_incomplete"` //Number of leechers in the swarm Ratio float32 `json:"ratio"` //Torrent share ratio. Max ratio value: 9999. Eta int64 `json:"eta"` //Torrent ETA (seconds) State string `json:"state"` //Torrent state. See table here below for the possible values SeqDl bool `json:"seq_dl"` //True if sequential download is enabled FirstLastPiecePriority bool `json:"f_l_piece_prio"` //True if first last piece are prioritized Category string `json:"category"` //Category of the torrent SuperSeeding bool `json:"super_seeding"` //True if super seeding is enabled ForceStart bool `json:"force_start"` //True if force start is enabled for this torrent DateAdded uint64 `json:"added_on"` //Not On Wiki: Timestamp of Added Time DateCompleted uint64 `json:"completion_on"` //Not On Wiki: Timestamp of Completed Time LastActivity uint64 `json:"last_activity"` //Not On Wiki: Timestamp of LastActivity Time }
Torrent ...
type UploadOption ¶
type UploadOption struct { SavePath string //(optional) Download folder Cookie string //(optional) Cookie sent to download the .torrent file Category string //(optional) Category for the torrent SkipChecking bool //(optional) Skip hash checking. Possible values are true, false (default) Paused bool //(optional) Add torrents in the paused state. Possible values are true, false (default) RootFolder bool //(optional) Create the root folder. Possible values are true, false, unset (default) Rename string //(optional) Rename torrent UploadLimit uint64 //(optional) Set torrent upload speed limit. Unit in bytes/second DownloadLimit uint64 //(optional) Set torrent download speed limit. Unit in bytes/second SequentialDownload bool //(optional) Enable sequential download. Possible values are true, false (default) FirstLastPiecePrio bool //(optional) Prioritize download first last piece. Possible values are true, false (default) }
UploadOption .