Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- func (c *Client) GetAPIVersion() (string, error)
- func (c *Client) GetBuildInfo() (*GetBuildInfoResponse, error)
- func (c *Client) GetDefaultSavePath() (string, error)
- func (c *Client) GetLog(req *GetLogRequest) (*GetLogResponse, error)
- func (c *Client) GetPreferences() (p Preferences, err error)
- func (c *Client) GetTorrentContents(req *GetTorrentContentsRequest) (*GetTorrentContentsResponse, error)
- func (c *Client) GetTorrentGenericProperties(req *GetTorrentGenericPropertiesRequest) (*GetTorrentGenericPropertiesResponse, error)
- func (c *Client) GetTorrentList(req *GetTorrentListRequest) (*GetTorrentListResponse, error)
- func (c *Client) GetTorrentPeerData(req *GetTorrentPeerDataRequest) (res *GetTorrentPeerDataResponse, err error)
- func (c *Client) GetTorrentPiecesHash()
- func (c *Client) GetTorrentPiecesStates()
- func (c *Client) GetTorrentTrackers(req *GetTorrentTrackersRequest) (*GetTorrentTrackersResponse, error)
- func (c *Client) GetTorrentWebSeeds()
- func (c *Client) GetVersion() (string, error)
- func (c *Client) Login(username, password string) error
- func (c *Client) Logout() error
- func (c *Client) SetPreferences(p *Preferences) error
- func (c *Client) Shutdown() error
- func (c *Client) TorrentAdd(req *TorrentAddRequest) error
- func (c *Client) TorrentAddTracker(req *TorrentAddTrackerRequest) error
- func (c *Client) TorrentDelete(req *TorrentDeleteRequest) error
- func (c *Client) TorrentEditTracker(req *TorrentEditTrackerRequest) error
- func (c *Client) TorrentPause(req *TorrentPauseRequest) error
- func (c *Client) TorrentReannounce()
- func (c *Client) TorrentRecheck(req *TorrentRecheckRequest) error
- func (c *Client) TorrentRemoveTracker(req *TorrentRemoveTrackerRequest) error
- func (c *Client) TorrentResume(req *TorrentResumeRequest) error
- type GetBuildInfoResponse
- type GetLogRequest
- type GetLogResponse
- type GetLogResponseData
- type GetTorrentContentsRequest
- type GetTorrentContentsResponse
- type GetTorrentGenericPropertiesRequest
- type GetTorrentGenericPropertiesResponse
- type GetTorrentListRequest
- type GetTorrentListResponse
- type GetTorrentPeerDataRequest
- type GetTorrentPeerDataResponse
- type GetTorrentTrackersRequest
- type GetTorrentTrackersResponse
- type Preferences
- type Torrent
- type TorrentAddRequest
- type TorrentAddResponse
- type TorrentAddTrackerRequest
- type TorrentDeleteRequest
- type TorrentEditTrackerRequest
- type TorrentPauseRequest
- type TorrentPeerData
- type TorrentProperties
- type TorrentRecheckRequest
- type TorrentRecheckResponse
- type TorrentRemoveTrackerRequest
- type TorrentResumeRequest
- type TorrentState
- type TorrentTracker
- type TorrentTrackerTier
- type TorrentTrackerTierValueType
Constants ¶
const ( TorrentStateError = "error" // Some error occurred, applies to paused torrents TorrentStateMissingFiles = "missingFiles" // Torrent data files is missing TorrentStateUploading = "uploading" // Torrent is being seeded and data is being transferred TorrentStatePausedUP = "pausedUP" // Torrent is paused and has finished downloading TorrentStateQueuedUP = "queuedUP" // Queuing is enabled and torrent is queued for upload TorrentStateStalledUP = "stalledUP" // Torrent is being seeded, but no connection were made TorrentStateCheckingUP = "checkingUP" // Torrent has finished downloading and is being checked TorrentStateForcedUP = "forcedUP" // Torrent is forced to uploading and ignore queue limit TorrentStateAllocating = "allocating" // Torrent is allocating disk space for download TorrentStateDownloading = "downloading" // Torrent is being downloaded and data is being transferred TorrentStateMetaDL = "metaDL" // Torrent has just started downloading and is fetching metadata TorrentStatePausedDL = "pausedDL" // Torrent is paused and has NOT finished downloading TorrentStateQueuedDL = "queuedDL" // Queuing is enabled and torrent is queued for download TorrentStateStalledDL = "stalledDL" // Torrent is being downloaded, but no connection were made TorrentStateCheckingDL = "checkingDL" // Same as checkingUP, but torrent has NOT finished downloading TorrentStateForceDL = "forceDL" // Torrent is forced to downloading to ignore queue limit TorrentStateCheckingResumeData = "checkingResumeData" // Checking resume data on qBt startup TorrentStateMoving = "moving" // Torrent is moving to another location TorrentStateUnknown = "unknown" // Unknown status )
.
Variables ¶
var (
ErrNoImplementation = errors.New("No implementation")
)
.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { BaseURL string Cookies http.CookieJar Host string Authorize string // contains filtered or unexported fields }
Client .
func (*Client) GetBuildInfo ¶
func (c *Client) GetBuildInfo() (*GetBuildInfoResponse, error)
GetBuildInfo .
func (*Client) GetDefaultSavePath ¶
GetDefaultSavePath .
func (*Client) GetLog ¶ added in v1.0.3
func (c *Client) GetLog(req *GetLogRequest) (*GetLogResponse, error)
GetLog .
func (*Client) GetPreferences ¶
func (c *Client) GetPreferences() (p Preferences, err error)
GetPreferences .
func (*Client) GetTorrentContents ¶ added in v1.0.12
func (c *Client) GetTorrentContents(req *GetTorrentContentsRequest) (*GetTorrentContentsResponse, error)
GetTorrentContents .
func (*Client) GetTorrentGenericProperties ¶
func (c *Client) GetTorrentGenericProperties(req *GetTorrentGenericPropertiesRequest) (*GetTorrentGenericPropertiesResponse, error)
GetTorrentGenericProperties .
func (*Client) GetTorrentList ¶
func (c *Client) GetTorrentList(req *GetTorrentListRequest) (*GetTorrentListResponse, error)
GetTorrentList .
func (*Client) GetTorrentPeerData ¶ added in v1.0.11
func (c *Client) GetTorrentPeerData(req *GetTorrentPeerDataRequest) (res *GetTorrentPeerDataResponse, err error)
GetTorrentPeerData .
func (*Client) GetTorrentPiecesHash ¶
func (c *Client) GetTorrentPiecesHash()
GetTorrentPiecesHash .
func (*Client) GetTorrentPiecesStates ¶
func (c *Client) GetTorrentPiecesStates()
GetTorrentPiecesStates .
func (*Client) GetTorrentTrackers ¶
func (c *Client) GetTorrentTrackers(req *GetTorrentTrackersRequest) (*GetTorrentTrackersResponse, error)
GetTorrentTrackers .
func (*Client) SetPreferences ¶
func (c *Client) SetPreferences(p *Preferences) error
SetPreferences .
func (*Client) TorrentAddTracker ¶
func (c *Client) TorrentAddTracker(req *TorrentAddTrackerRequest) error
TorrentAddTracker .
func (*Client) TorrentDelete ¶
func (c *Client) TorrentDelete(req *TorrentDeleteRequest) error
TorrentDelete .
func (*Client) TorrentEditTracker ¶
func (c *Client) TorrentEditTracker(req *TorrentEditTrackerRequest) error
TorrentEditTracker .
func (*Client) TorrentPause ¶
func (c *Client) TorrentPause(req *TorrentPauseRequest) error
TorrentPause .
func (*Client) TorrentRecheck ¶
func (c *Client) TorrentRecheck(req *TorrentRecheckRequest) error
TorrentRecheck .
func (*Client) TorrentRemoveTracker ¶
func (c *Client) TorrentRemoveTracker(req *TorrentRemoveTrackerRequest) error
TorrentRemoveTracker .
func (*Client) TorrentResume ¶
func (c *Client) TorrentResume(req *TorrentResumeRequest) error
TorrentResume .
type GetBuildInfoResponse ¶ added in v1.0.11
type GetBuildInfoResponse struct { Qt string `json:"qt"` LibTorrent string `json:"libtorrent"` Boost string `json:"boost"` OpenSSL string `json:"openssl"` Bitness string `json:"bitness"` }
GetBuildInfoResponse .
type GetLogRequest ¶ added in v1.0.3
GetLogRequest .
type GetLogResponse ¶ added in v1.0.3
type GetLogResponse struct {
Data []GetLogResponseData
}
GetLogResponse .
type GetLogResponseData ¶ added in v1.0.3
GetLogResponseData .
type GetTorrentContentsRequest ¶ added in v1.0.12
type GetTorrentContentsRequest struct {
Hash string
}
GetTorrentContentsRequest .
type GetTorrentContentsResponse ¶ added in v1.0.12
type GetTorrentContentsResponse struct { Name string `json:"name,omitempty"` Size int64 `json:"size,omitempty"` Progress float32 `json:"progress,omitempty"` Priority int64 `json:"priority,omitempty"` IsSeed bool `json:"is_seed,omitempty"` PieceRange []int64 `json:"piece_range,omitempty"` Availability float32 `json:"availability,omitempty"` }
GetTorrentContentsResponse .
type GetTorrentGenericPropertiesRequest ¶
type GetTorrentGenericPropertiesRequest struct {
Hash string
}
GetTorrentGenericPropertiesRequest .
type GetTorrentGenericPropertiesResponse ¶
type GetTorrentGenericPropertiesResponse struct { AdditionDate int64 `json:"addition_date"` Comment string `json:"comment"` CompletionDate int64 `json:"completion_date"` CreatedBy string `json:"created_by"` CreationDate int64 `json:"creation_date"` DlLimit int64 `json:"dl_limit"` DlSpeed int64 `json:"dl_speed"` DlSpeedAvg int64 `json:"dl_speed_avg"` Eta int64 `json:"eta"` LastSeen int64 `json:"last_seen"` NbConnections int64 `json:"nb_connections"` NbConnectionsLimit int64 `json:"nb_connections_limit"` Peers int64 `json:"peers"` PeersTotal int64 `json:"peers_total"` PieceSize int64 `json:"piece_size"` PiecesHave int64 `json:"pieces_have"` PiecesNum int64 `json:"pieces_num"` Reannounce int64 `json:"reannounce"` SavePath string `json:"save_path"` SeedingTime int64 `json:"seeding_time"` Seeds int64 `json:"seeds"` SeedsTotal int64 `json:"seeds_total"` TimeElapsed int64 `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 int64 `json:"up_limit"` UpSpeed int64 `json:"up_speed"` UpSpeedAvg int64 `json:"up_speed_avg"` }
GetTorrentGenericPropertiesResponse .
type GetTorrentListRequest ¶
type GetTorrentListRequest struct { Filter string Category string Sort string Reverse string Limit int Offset int Hashes []string }
GetTorrentListRequest .
type GetTorrentListResponse ¶
type GetTorrentListResponse struct {
Torrents []Torrent
}
GetTorrentListResponse .
type GetTorrentPeerDataRequest ¶ added in v1.0.11
type GetTorrentPeerDataRequest struct {
Hash string
}
GetTorrentPeerDataRequest .
type GetTorrentPeerDataResponse ¶ added in v1.0.11
type GetTorrentPeerDataResponse struct {
Data TorrentPeerData
}
GetTorrentPeerDataResponse .
type GetTorrentTrackersRequest ¶
type GetTorrentTrackersRequest struct {
Hash string
}
GetTorrentTrackersRequest .
type GetTorrentTrackersResponse ¶
type GetTorrentTrackersResponse struct {
TorrentTracker []TorrentTracker
}
GetTorrentTrackersResponse .
type Preferences ¶
type Preferences 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"` }
Preferences .
type Torrent ¶
type Torrent struct { Hash string `json:"hash,omitempty"` Name string `json:"name,omitempty"` Size int `json:"size,omitempty"` Progress float32 `json:"progress,omitempty"` DownloadSpeed int `json:"dlspeed,omitempty"` UploadSpeed int `json:"upspeed,omitempty"` Priority int `json:"priority,omitempty"` NumSeeds int `json:"num_seeds,omitempty"` NumComplete int `json:"num_complete,omitempty"` NumLeechs int `json:"num_leechs,omitempty"` NumIncomplete int `json:"num_incomplete,omitempty"` Ratio float64 `json:"ratio,omitempty"` ETA int `json:"eta,omitempty"` State string `json:"state,omitempty"` SeqDl bool `json:"seq_dl,omitempty"` FLPiecePrio bool `json:"f_l_piece_prio,omitempty"` Category string `json:"category,omitempty"` SuperSeeding bool `json:"super_seeding,omitempty"` ForceStart bool `json:"force_start,omitempty"` }
Torrent .
type TorrentAddRequest ¶
type TorrentAddRequest struct { Files []string URLs []string Option struct { SavePath string Cookie string Category string SkipChecking bool Paused bool RootFolder bool Rename string UploadLimit uint64 DownloadLimit uint64 UseAutoTMM bool SequentialDownload bool FirstLastPiecePrio bool } }
TorrentAddRequest .
type TorrentAddTrackerRequest ¶ added in v1.0.6
TorrentAddTrackerRequest .
type TorrentDeleteRequest ¶ added in v1.0.6
TorrentDeleteRequest .
type TorrentEditTrackerRequest ¶ added in v1.0.6
TorrentEditTrackerRequest .
type TorrentPauseRequest ¶ added in v1.0.6
type TorrentPauseRequest struct {
Hashes []string
}
TorrentPauseRequest .
type TorrentPeerData ¶ added in v1.0.11
type TorrentPeerData struct { FullUpdate bool `json:"full_update"` Peers map[string]struct { Client string `json:"client"` Connection string `json:"connection"` Country string `json:"country"` CountryCode string `json:"country_code"` DownloadSpeed uint64 `json:"dl_speed"` Downloaded uint64 `json:"downloaded"` Files string `json:"files"` Flags string `json:"flags"` FlagsDesc string `json:"flags_desc"` IP string `json:"ip"` Port uint16 `json:"port"` Progress float32 `json:"progress"` Relevance uint32 `json:"relevance"` UploadSpeed uint64 `json:"ul_speed"` Uploaded uint64 `json:"uploaded"` } `json:"peers"` Rid uint64 `json:"rid"` ShowFlag bool `json:"show_flags"` }
TorrentPeerData .
type TorrentProperties ¶
type TorrentProperties struct { SavePath string `json:",save_path,omitempty"` CreationDate int `json:",creation_date,omitempty"` PieceSize int `json:",piece_size,omitempty"` Comment string `json:",comment,omitempty"` TotalWasted int `json:",total_wasted,omitempty"` TotalUploaded int `json:",total_uploaded,omitempty"` TotalUploadedSession int `json:",total_uploaded_session,omitempty"` TotalDownloaded int `json:",total_downloaded,omitempty"` TotalDownloadedSession int `json:",total_downloaded_session,omitempty"` UpLimit int `json:",up_limit,omitempty"` DlLimit int `json:",dl_limit,omitempty"` TimeElapsed int `json:",time_elapsed,omitempty"` SeedingTime int `json:",seeding_time,omitempty"` NbConnections int `json:",nb_connections,omitempty"` NbConnectionsLimit int `json:",nb_connections_limit,omitempty"` AdditionDate int `json:",addition_date,omitempty"` CompletionDate int `json:",completion_date,omitempty"` CreatedBy string `json:",created_by,omitempty"` DlSpeedAvg int `json:",dl_speed_avg,omitempty"` DlSpeed int `json:",dl_speed,omitempty"` Eta int `json:",eta,omitempty"` LastSeen int `json:",last_seen,omitempty"` Peers int `json:",peers,omitempty"` PeersTotal int `json:",peers_total,omitempty"` PiecesHave int `json:",pieces_have,omitempty"` PiecesNum int `json:",pieces_num,omitempty"` Reannounce int `json:",reannounce,omitempty"` Seeds int `json:",seeds,omitempty"` SeedsTotal int `json:",seeds_total,omitempty"` TotalSize int `json:",total_size,omitempty"` UpSpeedAvg int `json:",up_speed_avg,omitempty"` UpSpeed int `json:",up_speed,omitempty"` }
TorrentProperties .
type TorrentRecheckRequest ¶ added in v1.0.13
type TorrentRecheckRequest struct {
Hashes []string
}
TorrentRecheckRequest .
type TorrentRecheckResponse ¶ added in v1.0.13
type TorrentRecheckResponse struct{}
TorrentRecheckResponse .
type TorrentRemoveTrackerRequest ¶ added in v1.0.6
TorrentRemoveTrackerRequest .
type TorrentResumeRequest ¶ added in v1.0.6
type TorrentResumeRequest struct {
Hashes []string
}
TorrentResumeRequest .
type TorrentTracker ¶
type TorrentTracker struct { URL string `json:"url,omitempty"` // Tracker url Status int `json:"status,omitempty"` // Tracker status. See the table below for possible values Tier TorrentTrackerTier `json:"tier,omitempty"` // Tracker priority tier. Lower tier trackers are tried before higher tiers NumPeers int `json:"num_peers,omitempty"` // Number of peers for current torrent, as reported by the tracker NumSeeds int `json:"num_seeds,omitempty"` // Number of seeds for current torrent, asreported by the tracker NumLeeches int `json:"num_leeches,omitempty"` // Number of leeches for current torrent, as reported by the tracker NumDownloaded int `json:"num_downloaded,omitempty"` // Number of completed downlods for current torrent, as reported by the tracker Msg string `json:"msg,omitempty"` // Tracker message (there is no way of knowing what this message is - it's up to tracker admins) }
TorrentTracker .
type TorrentTrackerTier ¶ added in v1.0.27
type TorrentTrackerTier struct { StringValue string IntValue int // contains filtered or unexported fields }
TorrentTrackerTier .
func (*TorrentTrackerTier) UnmarshalJSON ¶ added in v1.0.27
func (t *TorrentTrackerTier) UnmarshalJSON(d []byte) error
UnmarshalJSON .
type TorrentTrackerTierValueType ¶ added in v1.0.37
type TorrentTrackerTierValueType int
TorrentTrackerTierValueType .
const ( TorrentTrackerTierValueTypeInt TorrentTrackerTierValueType = iota TorrentTrackerTierValueTypeString )
.