Documentation ¶
Index ¶
- Constants
- Variables
- type Category
- type CategoryMap
- type Client
- func (c *Client) GetAPIVersion() (string, error)
- func (c *Client) GetBuildInfo() (e GetBuildInfoResponse, err 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) (*TorrentProperties, 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) TorrentAddTags(req *TorrentAddTagsRequest) error
- func (c *Client) TorrentAddTracker(req *TorrentAddTrackerRequest) error
- func (c *Client) TorrentCreateCategory(category *Category) error
- func (c *Client) TorrentDelete(req *TorrentDeleteRequest) error
- func (c *Client) TorrentEditCategory(category *Category) error
- func (c *Client) TorrentEditTracker(req *TorrentEditTrackerRequest) error
- func (c *Client) TorrentGetAllCategory() (CategoryMap, error)
- func (c *Client) TorrentPause(req *TorrentPauseRequest) error
- func (c *Client) TorrentReannounce()
- func (c *Client) TorrentRecheck(req *TorrentRecheckRequest) error
- func (c *Client) TorrentRemoveCategory(categories []string) error
- func (c *Client) TorrentRemoveTags(req *TorrentRemoveTagsRequest) error
- func (c *Client) TorrentRemoveTracker(req *TorrentRemoveTrackerRequest) error
- func (c *Client) TorrentResume(req *TorrentResumeRequest) error
- func (c *Client) TorrentSetCategory(req *TorrentSetCategoryRequest) error
- type GetBuildInfoResponse
- type GetLogRequest
- type GetLogResponse
- type GetLogResponseData
- type GetTorrentContentsRequest
- type GetTorrentContentsResponse
- type GetTorrentGenericPropertiesRequest
- type GetTorrentListRequest
- type GetTorrentListResponse
- type GetTorrentPeerDataRequest
- type GetTorrentPeerDataResponse
- type GetTorrentTrackersRequest
- type GetTorrentTrackersResponse
- type Preferences
- type Torrent
- type TorrentAddRequest
- type TorrentAddRequestFileReader
- type TorrentAddResponse
- type TorrentAddTagsRequest
- type TorrentAddTrackerRequest
- type TorrentDeleteRequest
- type TorrentEditTrackerRequest
- type TorrentPauseRequest
- type TorrentPeerData
- type TorrentProperties
- type TorrentRecheckRequest
- type TorrentRecheckResponse
- type TorrentRemoveTagsRequest
- type TorrentRemoveTrackerRequest
- type TorrentResumeRequest
- type TorrentSetCategoryRequest
- type TorrentState
- type TorrentTracker
- type TorrentTrackerTier
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 Category ¶
type Category struct { Name string `json:"name,omitempty"` SavePath string `json:"savePath,omitempty"` }
Category .
type Client ¶
type Client struct { BaseURL string Cookies http.CookieJar Host string Authorize string // contains filtered or unexported fields }
Client .
func NewWithLogger ¶
NewWithLogger .
func (*Client) GetBuildInfo ¶
func (c *Client) GetBuildInfo() (e GetBuildInfoResponse, err error)
GetBuildInfo .
func (*Client) GetDefaultSavePath ¶
GetDefaultSavePath .
func (*Client) GetLog ¶
func (c *Client) GetLog(req *GetLogRequest) (*GetLogResponse, error)
GetLog .
func (*Client) GetPreferences ¶
func (c *Client) GetPreferences() (p Preferences, err error)
GetPreferences .
func (*Client) GetTorrentContents ¶
func (c *Client) GetTorrentContents(req *GetTorrentContentsRequest) (*GetTorrentContentsResponse, error)
GetTorrentContents .
func (*Client) GetTorrentGenericProperties ¶
func (c *Client) GetTorrentGenericProperties(req *GetTorrentGenericPropertiesRequest) (*TorrentProperties, error)
GetTorrentGenericProperties .
func (*Client) GetTorrentList ¶
func (c *Client) GetTorrentList(req *GetTorrentListRequest) (*GetTorrentListResponse, error)
GetTorrentList .
func (*Client) GetTorrentPeerData ¶
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) TorrentAddTags ¶
func (c *Client) TorrentAddTags(req *TorrentAddTagsRequest) error
TorrentAddTags .
func (*Client) TorrentAddTracker ¶
func (c *Client) TorrentAddTracker(req *TorrentAddTrackerRequest) error
TorrentAddTracker .
func (*Client) TorrentCreateCategory ¶
TorrentCreateCategory .
func (*Client) TorrentDelete ¶
func (c *Client) TorrentDelete(req *TorrentDeleteRequest) error
TorrentDelete .
func (*Client) TorrentEditCategory ¶
TorrentEditCategory .
func (*Client) TorrentEditTracker ¶
func (c *Client) TorrentEditTracker(req *TorrentEditTrackerRequest) error
TorrentEditTracker .
func (*Client) TorrentGetAllCategory ¶
func (c *Client) TorrentGetAllCategory() (CategoryMap, error)
TorrentGetAllCategory .
func (*Client) TorrentPause ¶
func (c *Client) TorrentPause(req *TorrentPauseRequest) error
TorrentPause .
func (*Client) TorrentRecheck ¶
func (c *Client) TorrentRecheck(req *TorrentRecheckRequest) error
TorrentRecheck .
func (*Client) TorrentRemoveCategory ¶
TorrentRemoveCategory .
func (*Client) TorrentRemoveTags ¶
func (c *Client) TorrentRemoveTags(req *TorrentRemoveTagsRequest) error
TorrentRemoveTags .
func (*Client) TorrentRemoveTracker ¶
func (c *Client) TorrentRemoveTracker(req *TorrentRemoveTrackerRequest) error
TorrentRemoveTracker .
func (*Client) TorrentResume ¶
func (c *Client) TorrentResume(req *TorrentResumeRequest) error
TorrentResume .
func (*Client) TorrentSetCategory ¶
func (c *Client) TorrentSetCategory(req *TorrentSetCategoryRequest) error
TorrentSetCategory .
type GetBuildInfoResponse ¶
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 ¶
GetLogRequest .
type GetLogResponseData ¶
GetLogResponseData .
type GetTorrentContentsRequest ¶
type GetTorrentContentsRequest struct {
Hash string
}
GetTorrentContentsRequest .
type GetTorrentContentsResponse ¶
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 GetTorrentListRequest ¶
type GetTorrentListRequest struct { Filter string /* Get torrents with the given category (empty string means "without category"; no "category" parameter means "any category" <- broken until #11748 is resolved). Remember to URL-encode the category name. For example, My category becomes My%20category */ Category string EmptyCategory bool Sort string Reverse string Limit int Offset int Hashes []string }
GetTorrentListRequest .
type GetTorrentListResponse ¶
type GetTorrentListResponse struct {
Torrents []Torrent
}
GetTorrentListResponse .
type GetTorrentPeerDataRequest ¶
type GetTorrentPeerDataRequest struct {
Hash string
}
GetTorrentPeerDataRequest .
type GetTorrentPeerDataResponse ¶
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 { AddedOn int64 `json:"added_on"` AmountLeft int64 `json:"amount_left"` AutoTmm 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"` Downloaded int64 `json:"downloaded"` DownloadedSession int64 `json:"downloaded_session"` ETA int64 `json:"eta"` FLPiecePrio bool `json:"f_l_piece_prio"` ForceStart bool `json:"force_start"` Hash string `json:"hash"` 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"` SeedingTimeLimit int64 `json:"seeding_time_limit"` SeenComplete int64 `json:"seen_complete"` SeqDl bool `json:"seq_dl"` Size int64 `json:"size"` State string `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"` UpLimit int64 `json:"up_limit"` Uploaded int64 `json:"uploaded"` UploadedSession int64 `json:"uploaded_session"` Upspeed int64 `json:"upspeed"` }
Torrent .
type TorrentAddRequest ¶
type TorrentAddRequest struct { FilesReader []TorrentAddRequestFileReader 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 Tags string } }
TorrentAddRequest .
type TorrentAddRequestFileReader ¶ added in v1.1.1
type TorrentAddTagsRequest ¶
TorrentAddTagsRequest .
type TorrentAddTrackerRequest ¶
TorrentAddTrackerRequest .
type TorrentDeleteRequest ¶
TorrentDeleteRequest .
type TorrentEditTrackerRequest ¶
TorrentEditTrackerRequest .
type TorrentPauseRequest ¶
type TorrentPauseRequest struct {
Hashes []string
}
TorrentPauseRequest .
type TorrentPeerData ¶
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 ¶
type TorrentRecheckRequest struct {
Hashes []string
}
TorrentRecheckRequest .
type TorrentRemoveTagsRequest ¶
TorrentRemoveTagsRequest .
type TorrentRemoveTrackerRequest ¶
TorrentRemoveTrackerRequest .
type TorrentResumeRequest ¶
type TorrentResumeRequest struct {
Hashes []string
}
TorrentResumeRequest .
type TorrentSetCategoryRequest ¶
TorrentSetCategoryRequest .
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 ¶
type TorrentTrackerTier struct {
Value *int
}
TorrentTrackerTier .
func (*TorrentTrackerTier) UnmarshalJSON ¶
func (t *TorrentTrackerTier) UnmarshalJSON(d []byte) error
UnmarshalJSON .