Documentation ¶
Index ¶
- Constants
- Variables
- func IterStruct(in interface{}, tagName string, cb func(k string, value interface{}) error) error
- func RootCause(err error) (int, error)
- func ToMap(in interface{}, tagName string) (map[string]string, error)
- type AddNewCategoryReq
- type AddNewCategoryRsp
- type AddNewLinkReq
- type AddNewLinkRsp
- type AddNewTorrentReq
- type AddNewTorrentRsp
- type AddPeersReq
- type AddPeersRsp
- type AddTorrentMeta
- type AddTorrentTagsReq
- type AddTorrentTagsRsp
- type AddTrackersToTorrentReq
- type AddTrackersToTorrentRsp
- type BanPeersReq
- type BanPeersRsp
- type BuildInfo
- type CategoryInfo
- type Config
- type CreateTagsReq
- type CreateTagsRsp
- type Decoder
- type DecreaseTorrentPriorityReq
- type DecreaseTorrentPriorityRsp
- type DeleteTagsReq
- type DeleteTagsRsp
- type DeleteTorrentsReq
- type DeleteTorrentsRsp
- type EditCategoryReq
- type EditCategoryRsp
- type EditTrackersReq
- type EditTrackersRsp
- type FilePriority
- type GetAPIVersionReq
- type GetAPIVersionRsp
- type GetAllCategoriesReq
- type GetAllCategoriesRsp
- type GetAllTagsReq
- type GetAllTagsRsp
- type GetAlternativeSpeedLimitsStateReq
- type GetAlternativeSpeedLimitsStateRsp
- type GetApplicationPreferencesReq
- type GetApplicationPreferencesRsp
- type GetApplicationVersionReq
- type GetApplicationVersionRsp
- type GetBuildInfoReq
- type GetBuildInfoRsp
- type GetDefaultSavePathReq
- type GetDefaultSavePathRsp
- type GetGlobalDownloadLimitReq
- type GetGlobalDownloadLimitRsp
- type GetGlobalTransferInfoReq
- type GetGlobalTransferInfoRsp
- type GetGlobalUploadLimitReq
- type GetGlobalUploadLimitRsp
- type GetLogReq
- type GetLogRsp
- type GetMainDataReq
- type GetMainDataRsp
- type GetPeerLogReq
- type GetPeerLogRsp
- type GetTorrentContentsReq
- type GetTorrentContentsRsp
- type GetTorrentDownloadLimitReq
- type GetTorrentDownloadLimitRsp
- type GetTorrentGenericPropertiesReq
- type GetTorrentGenericPropertiesRsp
- type GetTorrentListReq
- type GetTorrentListRsp
- type GetTorrentPeerDataReq
- type GetTorrentPeerDataRsp
- type GetTorrentPiecesHashesReq
- type GetTorrentPiecesHashesRsp
- type GetTorrentPiecesStatesReq
- type GetTorrentPiecesStatesRsp
- type GetTorrentTrackersReq
- type GetTorrentTrackersRsp
- type GetTorrentUploadLimitReq
- type GetTorrentUploadLimitRsp
- type GetTorrentWebSeedsReq
- type GetTorrentWebSeedsRsp
- type GlobalTransferInfo
- type IncreaseTorrentPriorityReq
- type IncreaseTorrentPriorityRsp
- type LogItem
- type LoginReq
- type LoginRsp
- type MaximalTorrentPriorityReq
- type MaximalTorrentPriorityRsp
- type MinimalTorrentPriorityReq
- type MinimalTorrentPriorityRsp
- type Option
- type PauseTorrentsReq
- type PauseTorrentsRsp
- type PeerLogItem
- type QBAPI
- func (q *QBAPI) AddNewCategory(ctx context.Context, req *AddNewCategoryReq) (*AddNewCategoryRsp, error)
- func (q *QBAPI) AddNewLink(ctx context.Context, req *AddNewLinkReq) (*AddNewLinkRsp, error)
- func (q *QBAPI) AddNewTorrent(ctx context.Context, req *AddNewTorrentReq) (*AddNewTorrentRsp, error)
- func (q *QBAPI) AddPeers(ctx context.Context, req *AddPeersReq) (*AddPeersRsp, error)
- func (q *QBAPI) AddTorrentTags(ctx context.Context, req *AddTorrentTagsReq) (*AddTorrentTagsRsp, error)
- func (q *QBAPI) AddTrackersToTorrent(ctx context.Context, req *AddTrackersToTorrentReq) (*AddTrackersToTorrentRsp, error)
- func (q *QBAPI) BanPeers(ctx context.Context, req *BanPeersReq) (*BanPeersRsp, error)
- func (q *QBAPI) CreateTags(ctx context.Context, req *CreateTagsReq) (*CreateTagsRsp, error)
- func (q *QBAPI) DecreaseTorrentPriority(ctx context.Context, req *DecreaseTorrentPriorityReq) (*DecreaseTorrentPriorityRsp, error)
- func (q *QBAPI) DeleteTags(ctx context.Context, req *DeleteTagsReq) (*DeleteTagsRsp, error)
- func (q *QBAPI) DeleteTorrents(ctx context.Context, req *DeleteTorrentsReq) (*DeleteTorrentsRsp, error)
- func (q *QBAPI) EditCategory(ctx context.Context, req *EditCategoryReq) (*EditCategoryRsp, error)
- func (q *QBAPI) EditTrackers(ctx context.Context, req *EditTrackersReq) (*EditTrackersRsp, error)
- func (q *QBAPI) GetAPIVersion(ctx context.Context, req *GetAPIVersionReq) (*GetAPIVersionRsp, error)
- func (q *QBAPI) GetAllCategories(ctx context.Context, req *GetAllCategoriesReq) (*GetAllCategoriesRsp, error)
- func (q *QBAPI) GetAllTags(ctx context.Context, req *GetAllTagsReq) (*GetAllTagsRsp, error)
- func (q *QBAPI) GetAlternativeSpeedLimitsState(ctx context.Context, req *GetAlternativeSpeedLimitsStateReq) (*GetAlternativeSpeedLimitsStateRsp, error)
- func (q *QBAPI) GetApplicationPreferences(ctx context.Context, req *GetApplicationPreferencesReq) (*GetApplicationPreferencesRsp, error)
- func (q *QBAPI) GetApplicationVersion(ctx context.Context, req *GetApplicationVersionReq) (*GetApplicationVersionRsp, error)
- func (q *QBAPI) GetBuildInfo(ctx context.Context, req *GetBuildInfoReq) (*GetBuildInfoRsp, error)
- func (q *QBAPI) GetDefaultSavePath(ctx context.Context, req *GetDefaultSavePathReq) (*GetDefaultSavePathRsp, error)
- func (q *QBAPI) GetGlobalDownloadLimit(ctx context.Context, req *GetGlobalDownloadLimitReq) (*GetGlobalDownloadLimitRsp, error)
- func (q *QBAPI) GetGlobalTransferInfo(ctx context.Context, req *GetGlobalTransferInfoReq) (*GetGlobalTransferInfoRsp, error)
- func (q *QBAPI) GetGlobalUploadLimit(ctx context.Context, req *GetGlobalUploadLimitReq) (*GetGlobalUploadLimitRsp, error)
- func (q *QBAPI) GetLog(ctx context.Context, req *GetLogReq) (*GetLogRsp, error)
- func (q *QBAPI) GetMainData(ctx context.Context, req *GetMainDataReq) (*GetMainDataRsp, error)
- func (q *QBAPI) GetPeerLog(ctx context.Context, req *GetPeerLogReq) (*GetPeerLogRsp, error)
- func (q *QBAPI) GetTorrentContents(ctx context.Context, req *GetTorrentContentsReq) (*GetTorrentContentsRsp, error)
- func (q *QBAPI) GetTorrentDownloadLimit(ctx context.Context, req *GetTorrentDownloadLimitReq) (*GetTorrentDownloadLimitRsp, error)
- func (q *QBAPI) GetTorrentGenericProperties(ctx context.Context, req *GetTorrentGenericPropertiesReq) (*GetTorrentGenericPropertiesRsp, error)
- func (q *QBAPI) GetTorrentList(ctx context.Context, req *GetTorrentListReq) (*GetTorrentListRsp, error)
- func (q *QBAPI) GetTorrentPeerData(ctx context.Context, req *GetTorrentPeerDataReq) (*GetTorrentPeerDataRsp, error)
- func (q *QBAPI) GetTorrentPiecesHashes(ctx context.Context, req *GetTorrentPiecesHashesReq) (*GetTorrentPiecesHashesRsp, error)
- func (q *QBAPI) GetTorrentPiecesStates(ctx context.Context, req *GetTorrentPiecesStatesReq) (*GetTorrentPiecesStatesRsp, error)
- func (q *QBAPI) GetTorrentTrackers(ctx context.Context, req *GetTorrentTrackersReq) (*GetTorrentTrackersRsp, error)
- func (q *QBAPI) GetTorrentUploadLimit(ctx context.Context, req *GetTorrentUploadLimitReq) (*GetTorrentUploadLimitRsp, error)
- func (q *QBAPI) GetTorrentWebSeeds(ctx context.Context, req *GetTorrentWebSeedsReq) (*GetTorrentWebSeedsRsp, error)
- func (q *QBAPI) IncreaseTorrentPriority(ctx context.Context, req *IncreaseTorrentPriorityReq) (*IncreaseTorrentPriorityRsp, error)
- func (q *QBAPI) Login(ctx context.Context) error
- func (q *QBAPI) MaximalTorrentPriority(ctx context.Context, req *MaximalTorrentPriorityReq) (*MaximalTorrentPriorityRsp, error)
- func (q *QBAPI) MinimalTorrentPriority(ctx context.Context, req *MinimalTorrentPriorityReq) (*MinimalTorrentPriorityRsp, error)
- func (q *QBAPI) PauseTorrents(ctx context.Context, req *PauseTorrentsReq) (*PauseTorrentsRsp, error)
- func (q *QBAPI) ReannounceTorrents(ctx context.Context, req *ReannounceTorrentsReq) (*ReannounceTorrentsRsp, error)
- func (q *QBAPI) RecheckTorrents(ctx context.Context, req *RecheckTorrentsReq) (*RecheckTorrentsRsp, error)
- func (q *QBAPI) RemoveCategories(ctx context.Context, req *RemoveCategoriesReq) (*RemoveCategoriesRsp, error)
- func (q *QBAPI) RemoveTorrentTags(ctx context.Context, req *RemoveTorrentTagsReq) (*RemoveTorrentTagsRsp, error)
- func (q *QBAPI) RemoveTrackers(ctx context.Context, req *RemoveTrackersReq) (*RemoveTrackersRsp, error)
- func (q *QBAPI) RenameFile(ctx context.Context, req *RenameFileReq) (*RenameFileRsp, error)
- func (q *QBAPI) RenameFolder(ctx context.Context, req *RenameFolderReq) (*RenameFolderRsp, error)
- func (q *QBAPI) ResumeTorrents(ctx context.Context, req *ResumeTorrentsReq) (*ResumeTorrentsRsp, error)
- func (q *QBAPI) SetApplicationPreferences(ctx context.Context, req *SetApplicationPreferencesReq) (*SetApplicationPreferencesRsp, error)
- func (q *QBAPI) SetAutomaticTorrentManagement(ctx context.Context, req *SetAutomaticTorrentManagementReq) (*SetAutomaticTorrentManagementRsp, error)
- func (q *QBAPI) SetFilePriority(ctx context.Context, req *SetFilePriorityReq) (*SetFilePriorityRsp, error)
- func (q *QBAPI) SetFirstOrLastPiecePriority(ctx context.Context, req *SetFirstOrLastPiecePriorityReq) (*SetFirstOrLastPiecePriorityRsp, error)
- func (q *QBAPI) SetForceStart(ctx context.Context, req *SetForceStartReq) (*SetForceStartRsp, error)
- func (q *QBAPI) SetGlobalDownloadLimit(ctx context.Context, req *SetGlobalDownloadLimitReq) (*SetGlobalDownloadLimitRsp, error)
- func (q *QBAPI) SetGlobalUploadLimit(ctx context.Context, req *SetGlobalUploadLimitReq) (*SetGlobalUploadLimitRsp, error)
- func (q *QBAPI) SetSuperSeeding(ctx context.Context, req *SetSuperSeedingReq) (*SetSuperSeedingRsp, error)
- func (q *QBAPI) SetTorrentCategory(ctx context.Context, req *SetTorrentCategoryReq) (*SetTorrentCategoryRsp, error)
- func (q *QBAPI) SetTorrentDownloadLimit(ctx context.Context, req *SetTorrentDownloadLimitReq) (*SetTorrentDownloadLimitRsp, error)
- func (q *QBAPI) SetTorrentLocation(ctx context.Context, req *SetTorrentLocationReq) (*SetTorrentLocationRsp, error)
- func (q *QBAPI) SetTorrentName(ctx context.Context, req *SetTorrentNameReq) (*SetTorrentNameRsp, error)
- func (q *QBAPI) SetTorrentShareLimit(ctx context.Context, req *SetTorrentShareLimitReq) (*SetTorrentShareLimitRsp, error)
- func (q *QBAPI) SetTorrentUploadLimit(ctx context.Context, req *SetTorrentUploadLimitReq) (*SetTorrentUploadLimitRsp, error)
- func (q *QBAPI) ShutDownAPPlication(ctx context.Context, req *ShutdownApplicationReq) (*ShutdownApplicationRsp, error)
- func (q *QBAPI) ToggleAlternativeSpeedLimits(ctx context.Context, req *ToggleAlternativeSpeedLimitsReq) (*ToggleAlternativeSpeedLimitsRsp, error)
- func (q *QBAPI) ToggleSequentialDownload(ctx context.Context, req *ToggleSequentialDownloadReq) (*ToggleSequentialDownloadRsp, error)
- type QError
- type ReannounceTorrentsReq
- type ReannounceTorrentsRsp
- type RecheckTorrentsReq
- type RecheckTorrentsRsp
- type RemoveCategoriesReq
- type RemoveCategoriesRsp
- type RemoveTorrentTagsReq
- type RemoveTorrentTagsRsp
- type RemoveTrackersReq
- type RemoveTrackersRsp
- type RenameFileReq
- type RenameFileRsp
- type RenameFolderReq
- type RenameFolderRsp
- type ResumeTorrentsReq
- type ResumeTorrentsRsp
- type SetApplicationPreferencesReq
- type SetApplicationPreferencesRsp
- type SetAutomaticTorrentManagementReq
- type SetAutomaticTorrentManagementRsp
- type SetFilePriorityReq
- type SetFilePriorityRsp
- type SetFirstOrLastPiecePriorityReq
- type SetFirstOrLastPiecePriorityRsp
- type SetForceStartReq
- type SetForceStartRsp
- type SetGlobalDownloadLimitReq
- type SetGlobalDownloadLimitRsp
- type SetGlobalUploadLimitReq
- type SetGlobalUploadLimitRsp
- type SetSuperSeedingReq
- type SetSuperSeedingRsp
- type SetTorrentCategoryReq
- type SetTorrentCategoryRsp
- type SetTorrentDownloadLimitReq
- type SetTorrentDownloadLimitRsp
- type SetTorrentLocationReq
- type SetTorrentLocationRsp
- type SetTorrentNameReq
- type SetTorrentNameRsp
- type SetTorrentShareLimitReq
- type SetTorrentShareLimitRsp
- type SetTorrentUploadLimitReq
- type SetTorrentUploadLimitRsp
- type ShutdownApplicationReq
- type ShutdownApplicationRsp
- type StatusCodeErr
- type ToggleAlternativeSpeedLimitsReq
- type ToggleAlternativeSpeedLimitsRsp
- type ToggleSequentialDownloadReq
- type ToggleSequentialDownloadRsp
- type TorrentContentItem
- type TorrentGenericProperty
- type TorrentListItem
- type TorrentPeerData
- type TorrentPeerItem
- type TorrentTrackerItem
- type TorrentWebSeedItem
Constants ¶
const ( ErrOK = 0 ErrParams = -10000 ErrUnmarsal = -10001 ErrMarsal = -10002 ErrInternal = -10003 ErrNetwork = -10004 ErrStatusCode = -10005 ErrLogin = -10006 ErrUnknown = -10007 ErrFile = -10008 )
const ( FilePriorityDoNotDownload = 0 FilePriorityNormal = 1 FilePriorityHigh = 6 FilePriorityMaximal = 7 )
Variables ¶
var ( JsonDec = json.Unmarshal StrDec = strDec IntDec = intDec )
Functions ¶
func IterStruct ¶
Types ¶
type AddNewCategoryReq ¶
type AddNewCategoryRsp ¶
type AddNewCategoryRsp struct { }
type AddNewLinkReq ¶
type AddNewLinkReq struct { Url []string Meta *AddTorrentMeta }
type AddNewLinkRsp ¶
type AddNewLinkRsp struct { }
type AddNewTorrentReq ¶
type AddNewTorrentReq struct { File []string Meta *AddTorrentMeta }
type AddNewTorrentRsp ¶
type AddNewTorrentRsp struct { }
type AddPeersReq ¶
type AddPeersRsp ¶
type AddPeersRsp struct { }
type AddTorrentMeta ¶
type AddTorrentMeta struct { Savepath *string `json:"savepath"` //Download folder Cookie *string `json:"cookie"` //Cookie sent to download the .torrent file Category *string `json:"category"` //Category for the torrent Tags string `json:"tags"` //Tags for the torrent, split by ',' SkipChecking *bool `json:"skip_checking"` //Skip hash checking. Possible values are true, false (default) Paused *bool `json:"paused"` //Add torrents in the paused state. Possible values are true, false (default) RootFolder *bool `json:"root_folder"` //Create the root folder. Possible values are true, false, unset (default) Rename *string `json:"rename"` //Rename torrent UpLimit *int `json:"upLimit"` //Set torrent upload speed limit. Unit in bytes/second DlLimit *int `json:"dlLimit"` //Set torrent download speed limit. Unit in bytes/second RatioLimit *float64 `json:"ratioLimit"` //Set torrent share ratio limit SeedingTimeLimit *int `json:"seedingTimeLimit"` //Set torrent seeding time limit. Unit in seconds AutoTMM *bool `json:"autoTMM"` //Whether Automatic Torrent Management should be used SequentialDownload *string `json:"sequentialDownload"` //Enable sequential download. Possible values are true, false (default) FirstLastPiecePrio *string `json:"firstLastPiecePrio"` //Prioritize download first last piece. Possible values are true, false (default) }
type AddTorrentTagsReq ¶
type AddTorrentTagsRsp ¶
type AddTorrentTagsRsp struct { }
type AddTrackersToTorrentReq ¶
type AddTrackersToTorrentRsp ¶
type AddTrackersToTorrentRsp struct { }
type BanPeersReq ¶
type BanPeersReq struct {
Peers []string
}
type BanPeersRsp ¶
type BanPeersRsp struct { }
type CategoryInfo ¶
type CreateTagsReq ¶
type CreateTagsReq struct {
Tag []string
}
type CreateTagsRsp ¶
type CreateTagsRsp struct { }
type DecreaseTorrentPriorityRsp ¶
type DecreaseTorrentPriorityRsp struct { }
type DeleteTagsReq ¶
type DeleteTagsReq struct {
Tag []string
}
type DeleteTagsRsp ¶
type DeleteTagsRsp struct { }
type DeleteTorrentsReq ¶
type DeleteTorrentsRsp ¶
type DeleteTorrentsRsp struct { }
type EditCategoryReq ¶
type EditCategoryRsp ¶
type EditCategoryRsp struct { }
type EditTrackersReq ¶
type EditTrackersRsp ¶
type EditTrackersRsp struct { }
type FilePriority ¶
type FilePriority int
type GetAPIVersionReq ¶
type GetAPIVersionReq struct { }
type GetAPIVersionRsp ¶
type GetAPIVersionRsp struct {
Version string
}
type GetAllCategoriesReq ¶
type GetAllCategoriesReq struct { }
type GetAllCategoriesRsp ¶
type GetAllCategoriesRsp struct {
Categories map[string]*CategoryInfo
}
type GetAllTagsReq ¶
type GetAllTagsReq struct { }
type GetAllTagsRsp ¶
type GetAllTagsRsp struct {
Tags []string
}
type GetAlternativeSpeedLimitsStateReq ¶
type GetAlternativeSpeedLimitsStateReq struct { }
type GetAlternativeSpeedLimitsStateRsp ¶
type GetAlternativeSpeedLimitsStateRsp struct {
Enabled bool
}
type GetApplicationPreferencesReq ¶
type GetApplicationPreferencesReq struct { }
type GetApplicationPreferencesRsp ¶
type GetApplicationPreferencesRsp struct { Locale string `json:"locale"` CreateSubfolderEnabled bool `json:"create_subfolder_enabled"` StartPausedEnabled bool `json:"start_paused_enabled"` AutoDeleteMode int `json:"auto_delete_mode"` PreallocateAll bool `json:"preallocate_all"` IncompleteFilesExt bool `json:"incomplete_files_ext"` AutoTmmEnabled bool `json:"auto_tmm_enabled"` //True if Automatic Torrent Management is enabled by default TorrentChangedTmmEnabled bool `json:"torrent_changed_tmm_enabled"` //True if torrent should be relocated when its Category changes SavePathChangedTmmEnabled bool `json:"save_path_changed_tmm_enabled"` //True if torrent should be relocated when the default save path changes CategoryChangedTmmEnabled bool `json:"category_changed_tmm_enabled"` //True if torrent should be relocated when its Category's save path changes SavePath string `json:"save_path"` //Default save path for torrents, separated by slashes TempPathEnabled bool `json:"temp_path_enabled"` //True if folder for incomplete torrents is enabled TempPath string `json:"temp_path"` //Path for incomplete torrents, separated by slashes ScanDirs map[string]interface{} `json:"scan_dirs"` //Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified ExportDir string `json:"export_dir"` //Path to directory to copy .torrent files to. Slashes are used as path separators ExportDirFin string `json:"export_dir_fin"` //Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators MailNotificationEnabled bool `json:"mail_notification_enabled"` //True if e-mail notification should be enabled MailNotificationSender string `json:"mail_notification_sender"` //e-mail where notifications should originate from MailNotificationEmail string `json:"mail_notification_email"` //e-mail to send notifications to MailNotificationSmtp string `json:"mail_notification_smtp"` //smtp server for e-mail notifications MailNotificationSslEnabled bool `json:"mail_notification_ssl_enabled"` //True if smtp server requires SSL connection MailNotificationAuthEnabled bool `json:"mail_notification_auth_enabled"` //True if smtp server requires authentication MailNotificationUsername string `json:"mail_notification_username"` //Username for smtp authentication MailNotificationPassword string `json:"mail_notification_password"` //Password for smtp authentication AutorunEnabled bool `json:"autorun_enabled"` //True if external program should be run after torrent has finished downloading AutorunProgram string `json:"autorun_program"` //Program path/name/arguments to run if autorun_enabled is enabled; path is separated by slashes; you can use %f and %n arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively QueueingEnabled bool `json:"queueing_enabled"` //True if torrent queuing is enabled MaxActiveDownloads int `json:"max_active_downloads"` //Maximum number of active simultaneous downloads MaxActiveTorrents int `json:"max_active_torrents"` //Maximum number of active simultaneous downloads and uploads MaxActiveUploads int `json:"max_active_uploads"` //Maximum number of active simultaneous uploads DontCountSlowTorrents bool `json:"dont_count_slow_torrents"` //If true torrents w/o any activity (stalled ones) will not be counted towards max_active_* limits; see dont_count_slow_torrents for more information SlowTorrentDlRateThreshold int `json:"slow_torrent_dl_rate_threshold"` //Download rate in KiB/s for a torrent to be considered "slow" SlowTorrentUlRateThreshold int `json:"slow_torrent_ul_rate_threshold"` //Upload rate in KiB/s for a torrent to be considered "slow" SlowTorrentInactiveTimer int `json:"slow_torrent_inactive_timer"` //Seconds a torrent should be inactive before considered "slow" MaxRatioEnabled bool `json:"max_ratio_enabled"` //True if share ratio limit is enabled MaxRatio float64 `json:"max_ratio"` //Get the global share ratio limit MaxRatioAct int `json:"max_ratio_act"` //Action performed when a torrent reaches the maximum share ratio. See list of possible values here below. ListenPort int `json:"listen_port"` //Port for incoming connections Upnp bool `json:"upnp"` //True if UPnP/NAT-PMP is enabled RandomPort bool `json:"random_port"` //True if the port is randomly selected DlLimit int `json:"dl_limit"` //Global download speed limit in KiB/s; -1 means no limit is applied UpLimit int `json:"up_limit"` //Global upload speed limit in KiB/s; -1 means no limit is applied MaxConnec int `json:"max_connec"` //Maximum global number of simultaneous connections MaxConnecPerTorrent int `json:"max_connec_per_torrent"` //Maximum number of simultaneous connections per torrent MaxUploads int `json:"max_uploads"` //Maximum number of upload slots MaxUploadsPerTorrent int `json:"max_uploads_per_torrent"` //Maximum number of upload slots per torrent StopTrackerTimeout int `json:"stop_tracker_timeout"` //Timeout in seconds for a stopped announce request to trackers EnablePieceExtentAffinity bool `json:"enable_piece_extent_affinity"` //True if the advanced libtorrent option piece_extent_affinity is enabled BittorrentProtocol int `json:"bittorrent_protocol"` //Bittorrent Protocol to use (see list of possible values below) LimitUtpRate bool `json:"limit_utp_rate"` //True if [du]l_limit should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher LimitTcpOverhead bool `json:"limit_tcp_overhead"` //True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers) LimitLanPeers bool `json:"limit_lan_peers"` //True if [du]l_limit should be applied to peers on the LAN AltDlLimit int `json:"alt_dl_limit"` //Alternative global download speed limit in KiB/s AltUpLimit int `json:"alt_up_limit"` //Alternative global upload speed limit in KiB/s SchedulerEnabled bool `json:"scheduler_enabled"` //True if alternative limits should be applied according to schedule ScheduleFromHour int `json:"schedule_from_hour"` //Scheduler starting hour ScheduleFromMin int `json:"schedule_from_min"` //Scheduler starting minute ScheduleToHour int `json:"schedule_to_hour"` //Scheduler ending hour ScheduleToMin int `json:"schedule_to_min"` //Scheduler ending minute SchedulerDays int `json:"scheduler_days"` //Scheduler days. See possible values here below Dht bool `json:"dht"` //True if DHT is enabled Pex bool `json:"pex"` //True if PeX is enabled Lsd bool `json:"lsd"` //True if LSD is enabled Encryption int `json:"encryption"` //See list of possible values here below AnonymousMode bool `json:"anonymous_mode"` //If true anonymous mode will be enabled; read more here; this option is only available in qBittorent built against libtorrent version 0.16.X and higher ProxyType int `json:"proxy_type"` //See list of possible values here below ProxyIp string `json:"proxy_ip"` //Proxy IP address or domain name ProxyPort int `json:"proxy_port"` //Proxy port ProxyPeerConnections bool `json:"proxy_peer_connections"` //True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher ProxyAuthEnabled bool `json:"proxy_auth_enabled"` //True proxy requires authentication; doesn't apply to SOCKS4 proxies ProxyUsername string `json:"proxy_username"` //Username for proxy authentication ProxyPassword string `json:"proxy_password"` //Password for proxy authentication ProxyTorrentsOnly bool `json:"proxy_torrents_only"` //True if proxy is only used for torrents IpFilterEnabled bool `json:"ip_filter_enabled"` //True if external IP filter should be enabled IpFilterPath string `json:"ip_filter_path"` //Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes IpFilterTrackers bool `json:"ip_filter_trackers"` //True if IP filters are applied to trackers WebUiDomainList string `json:"web_ui_domain_list"` //Comma-separated list of domains to accept when performing Host header validation WebUiAddress string `json:"web_ui_address"` //IP address to use for the WebUI WebUiPort int `json:"web_ui_port"` //WebUI port WebUiUpnp bool `json:"web_ui_upnp"` //True if UPnP is used for the WebUI port WebUiUsername string `json:"web_ui_username"` //WebUI username WebUiPassword string `json:"web_ui_password"` //For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: username:Web UI Access:plain_text_web_ui_password WebUiCsrfProtectionEnabled bool `json:"web_ui_csrf_protection_enabled"` //True if WebUI CSRF protection is enabled WebUiClickjackingProtectionEnabled bool `json:"web_ui_clickjacking_protection_enable"` //True if WebUI clickjacking protection is enabled WebUiSecureCookieEnabled bool `json:"web_ui_secure_cookie_enabled"` //True if WebUI cookie Secure flag is enabled WebUiMaxAuthFailCount int `json:"web_ui_max_auth_fail_count"` //Maximum number of authentication failures before WebUI access ban WebUiBanDuration int `json:"web_ui_ban_duration"` //WebUI access ban duration in seconds WebUiSessionTimeout int `json:"web_ui_session_timeout"` //Seconds until WebUI is automatically signed off WebUiHostHeaderValidationEnabled bool `json:"web_ui_host_header_validation_enabled"` //True if WebUI host header validation is enabled BypassLocalAuth bool `json:"bypass_local_auth"` //True if authentication challenge for loopback address (127.0.0.1) should be disabled BypassAuthSubnetWhitelistEnabled bool `json:"bypass_auth_subnet_whitelist_enabled"` //True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist BypassAuthSubnetWhitelist string `json:"bypass_auth_subnet_whitelist"` //(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas AlternativeWebuiEnabled bool `json:"alternative_webui_enabled"` //True if an alternative WebUI should be used AlternativeWebuiPath string `json:"alternative_webui_path"` //File path to the alternative WebUI UseHttps bool `json:"use_https"` //True if WebUI HTTPS access is enabled SslKey string `json:"ssl_key"` //For API < v2.0.1: SSL keyfile contents (this is a not a path) SslCert string `json:"ssl_cert"` //For API < v2.0.1: SSL certificate contents (this is a not a path) WebUiHttpsKeyPath string `json:"web_ui_https_key_path"` //For API ≥ v2.0.1: Path to SSL keyfile WebUiHttpsCertPath string `json:"web_ui_https_cert_path"` //For API ≥ v2.0.1: Path to SSL certificate DyndnsEnabled bool `json:"dyndns_enabled"` //True if server DNS should be updated dynamically DyndnsService int `json:"dyndns_service"` //See list of possible values here below DyndnsUsername string `json:"dyndns_username"` //Username for DDNS service DyndnsPassword string `json:"dyndns_password"` //Password for DDNS service DyndnsDomain string `json:"dyndns_domain"` //Your DDNS domain name RssRefreshInterval int `json:"rss_refresh_interval"` //RSS refresh interval RssMaxArticlesPerFeed int `json:"rss_max_articles_per_feed"` //Max stored articles per RSS feed RssProcessingEnabled bool `json:"rss_processing_enabled"` //Enable processing of RSS feeds RssAutoDownloadingEnabled bool `json:"rss_auto_downloading_enabled"` //Enable auto-downloading of torrents from the RSS feeds RssDownloadRepackProperEpisodes bool `json:"rss_download_repack_proper_episodes"` //For API ≥ v2.5.1: Enable downloading of repack/proper Episodes RssSmartEpisodeFilters string `json:"rss_smart_episode_filters"` //For API ≥ v2.5.1: List of RSS Smart Episode Filters AddTrackersEnabled bool `json:"add_trackers_enabled"` //Enable automatic adding of trackers to new torrents AddTrackers string `json:"add_trackers"` //List of trackers to add to new torrent WebUiUseCustomHttpHeadersEnabled bool `json:"web_ui_use_custom_http_headers_enable"` //For API ≥ v2.5.1: Enable custom http headers WebUiCustomHttpHeaders string `json:"web_ui_custom_http_headers"` //For API ≥ v2.5.1: List of custom http headers MaxSeedingTimeEnabled bool `json:"max_seeding_time_enabled"` //True enables max seeding time MaxSeedingTime int `json:"max_seeding_time"` //Number of minutes to seed a torrent AnnounceIp string `json:"announce_ip"` //TODO AnnounceToAllTiers bool `json:"announce_to_all_tiers"` //True always announce to all tiers AnnounceToAllTrackers bool `json:"announce_to_all_trackers"` //True always announce to all trackers in a tier AsyncIoThreads int `json:"async_io_threads"` //Number of asynchronous I/O threads BannedIps string `json:"banned_IPs"` //List of banned IPs CheckingMemoryUse int `json:"checking_memory_use"` //Outstanding memory when checking torrents in MiB CurrentInterfaceAddress string `json:"current_interface_address"` //IP Address to bind to. Empty String means All addresses CurrentNetworkInterface string `json:"current_network_interface"` //Network Interface used DiskCache int `json:"disk_cache"` //Disk cache used in MiB DiskCacheTtl int `json:"disk_cache_ttl"` //Disk cache expiry interval in seconds EmbeddedTrackerPort int `json:"embedded_tracker_port"` //Port used for embedded tracker EnableCoalesceReadWrite bool `json:"enable_coalesce_read_write"` //True enables coalesce reads & writes EnableEmbeddedTracker bool `json:"enable_embedded_tracker"` //True enables embedded tracker EnableMultiConnectionsFromSameIp bool `json:"enable_multi_connections_from_same_ip"` //True allows multiple connections from the same IP address EnableOsCache bool `json:"enable_os_cache"` //True enables os cache EnableUploadSuggestions bool `json:"enable_upload_suggestions"` //True enables sending of upload piece suggestions FilePoolSize int `json:"file_pool_size"` //File pool size OutgoingPortsMax int `json:"outgoing_ports_max"` //Maximal outgoing port (0: Disabled) OutgoingPortsMin int `json:"outgoing_ports_min"` //Minimal outgoing port (0: Disabled) RecheckCompletedTorrents bool `json:"recheck_completed_torrents"` //True rechecks torrents on completion ResolvePeerCountries bool `json:"resolve_peer_countries"` //True resolves peer countries SaveResumeDataInterval int `json:"save_resume_data_interval"` //Save resume data interval in min SendBufferLowWatermark int `json:"send_buffer_low_watermark"` //Send buffer low watermark in KiB SendBufferWatermark int `json:"send_buffer_watermark"` //Send buffer watermark in KiB SendBufferWatermarkFactor int `json:"send_buffer_watermark_factor"` //Send buffer watermark factor in percent SocketBacklogSize int `json:"socket_backlog_size"` //Socket backlog size UploadChokingAlgorithm int `json:"upload_choking_algorithm"` //Upload choking algorithm used (see list of possible values below) UploadSlotsBehavior int `json:"upload_slots_behavior"` //Upload slots behavior used (see list of possible values below) UpnpLeaseDuration int `json:"upnp_lease_duration"` //UPnP lease duration (0: Permanent lease) UtpTcpMixedMode int `json:"utp_tcp_mixed_mode"` }
type GetApplicationVersionReq ¶
type GetApplicationVersionReq struct { }
type GetApplicationVersionRsp ¶
type GetApplicationVersionRsp struct {
Version string
}
type GetBuildInfoReq ¶
type GetBuildInfoReq struct{}
type GetBuildInfoRsp ¶
type GetBuildInfoRsp struct {
Info *BuildInfo
}
type GetDefaultSavePathReq ¶
type GetDefaultSavePathReq struct { }
type GetDefaultSavePathRsp ¶
type GetDefaultSavePathRsp struct {
Path string
}
type GetGlobalDownloadLimitReq ¶
type GetGlobalDownloadLimitReq struct { }
type GetGlobalDownloadLimitRsp ¶
type GetGlobalDownloadLimitRsp struct {
Speed int
}
type GetGlobalTransferInfoReq ¶
type GetGlobalTransferInfoReq struct { }
type GetGlobalTransferInfoRsp ¶
type GetGlobalTransferInfoRsp struct {
Info *GlobalTransferInfo
}
type GetGlobalUploadLimitReq ¶
type GetGlobalUploadLimitReq struct { }
type GetGlobalUploadLimitRsp ¶
type GetGlobalUploadLimitRsp struct {
Speed int
}
type GetMainDataReq ¶
type GetMainDataReq struct {
Rid int `json:"rid"`
}
type GetMainDataRsp ¶
type GetMainDataRsp struct { Rid int `json:"rid"` //Response ID FullUpdate bool `json:"full_update"` //Whether the response contains all the data or partial data Torrents map[string]*TorrentListItem `json:"torrents"` //Property: torrent hash, value: same as torrent list TorrentsRemoved []interface{} `json:"torrents_removed"` //List of hashes of torrents removed since last request Categories map[string]interface{} `json:"categories"` //Info for categories added since last request CategoriesRemoved []interface{} `json:"categories_removed"` //List of categories removed since last request Tags []interface{} `json:"tags"` //List of tags added since last request TagsRemoved []interface{} `json:"tags_removed"` //List of tags removed since last request ServerState *GlobalTransferInfo `json:"server_state"` //Global transfer info }
type GetPeerLogReq ¶
type GetPeerLogReq struct {
LastKnownId int `json:"last_known_id"`
}
type GetPeerLogRsp ¶
type GetPeerLogRsp struct {
Items []*PeerLogItem
}
type GetTorrentContentsReq ¶
type GetTorrentContentsRsp ¶
type GetTorrentContentsRsp struct {
Contents []*TorrentContentItem
}
type GetTorrentGenericPropertiesReq ¶
type GetTorrentGenericPropertiesReq struct {
Hash string `json:"hash"`
}
type GetTorrentGenericPropertiesRsp ¶
type GetTorrentGenericPropertiesRsp struct {
Property *TorrentGenericProperty
}
type GetTorrentListReq ¶
type GetTorrentListReq struct { Filter *string `json:"filter,omitempty"` Category *string `json:"category,omitempty"` Tag *string `json:"tag,omitempty"` Sort *string `json:"sort,omitempty"` Reverse *bool `json:"reverse,omitempty"` Limit *int `json:"limit,omitempty"` Offset *int `json:"offset,omitempty"` Hashes *string `json:"hashes,omitempty"` }
type GetTorrentListRsp ¶
type GetTorrentListRsp struct {
Items []*TorrentListItem
}
type GetTorrentPeerDataReq ¶
type GetTorrentPeerDataRsp ¶
type GetTorrentPeerDataRsp struct {
Data *TorrentPeerData
}
type GetTorrentPiecesHashesReq ¶
type GetTorrentPiecesHashesReq struct {
Hash string `json:"hash"`
}
type GetTorrentPiecesHashesRsp ¶
type GetTorrentPiecesHashesRsp struct {
Hashes []string
}
type GetTorrentPiecesStatesReq ¶
type GetTorrentPiecesStatesReq struct {
Hash string `json:"hash"`
}
type GetTorrentPiecesStatesRsp ¶
type GetTorrentPiecesStatesRsp struct {
States []int
}
type GetTorrentTrackersReq ¶
type GetTorrentTrackersReq struct {
Hash string `json:"hash"`
}
type GetTorrentTrackersRsp ¶
type GetTorrentTrackersRsp struct {
Trackers []*TorrentTrackerItem
}
type GetTorrentWebSeedsReq ¶
type GetTorrentWebSeedsReq struct {
Hash string `json:"hash"`
}
type GetTorrentWebSeedsRsp ¶
type GetTorrentWebSeedsRsp struct {
WebSeeds []*TorrentWebSeedItem
}
type GlobalTransferInfo ¶
type GlobalTransferInfo struct { DlInfoSpeed int `json:"dl_info_speed"` //Global download rate (bytes/s) DlInfoData int `json:"dl_info_data"` //Data downloaded this session (bytes) UpInfoSpeed int `json:"up_info_speed"` //Global upload rate (bytes/s) UpInfoData int `json:"up_info_data"` //Data uploaded this session (bytes) DlRateLimit int `json:"dl_rate_limit"` //Download rate limit (bytes/s) UpRateLimit int `json:"up_rate_limit"` //Upload rate limit (bytes/s) DhtNodes int `json:"dht_nodes"` //DHT nodes connected to ConnectionStatus string `json:"connection_status"` //Connection status. See possible values here below }
type IncreaseTorrentPriorityRsp ¶
type IncreaseTorrentPriorityRsp struct { }
type MaximalTorrentPriorityRsp ¶
type MaximalTorrentPriorityRsp struct { }
type MinimalTorrentPriorityRsp ¶
type MinimalTorrentPriorityRsp struct { }
type PauseTorrentsReq ¶
type PauseTorrentsReq struct {
Hash []string
}
type PauseTorrentsRsp ¶
type PauseTorrentsRsp struct { }
type PeerLogItem ¶
type QBAPI ¶
type QBAPI struct {
// contains filtered or unexported fields
}
func (*QBAPI) AddNewCategory ¶
func (q *QBAPI) AddNewCategory(ctx context.Context, req *AddNewCategoryReq) (*AddNewCategoryRsp, error)
400 Category name is empty 409 Category name is invalid 200 All other scenarios
AddNewCategory /api/v2/torrents/createCategory
func (*QBAPI) AddNewLink ¶
func (q *QBAPI) AddNewLink(ctx context.Context, req *AddNewLinkReq) (*AddNewLinkRsp, error)
AddNewLink /api/v2/torrents/add
func (*QBAPI) AddNewTorrent ¶
func (q *QBAPI) AddNewTorrent(ctx context.Context, req *AddNewTorrentReq) (*AddNewTorrentRsp, error)
AddNewTorrent /api/v2/torrents/add
func (*QBAPI) AddPeers ¶
func (q *QBAPI) AddPeers(ctx context.Context, req *AddPeersReq) (*AddPeersRsp, error)
400 None of the supplied peers are valid 200 All other scenarios
AddPeers /api/v2/torrents/addPeers
func (*QBAPI) AddTorrentTags ¶
func (q *QBAPI) AddTorrentTags(ctx context.Context, req *AddTorrentTagsReq) (*AddTorrentTagsRsp, error)
AddTorrentTags /api/v2/torrents/addTags
func (*QBAPI) AddTrackersToTorrent ¶
func (q *QBAPI) AddTrackersToTorrent(ctx context.Context, req *AddTrackersToTorrentReq) (*AddTrackersToTorrentRsp, error)
AddTrackersToTorrent /api/v2/torrents/addTrackers
func (*QBAPI) BanPeers ¶
func (q *QBAPI) BanPeers(ctx context.Context, req *BanPeersReq) (*BanPeersRsp, error)
BanPeers /api/v2/transfer/banPeers
func (*QBAPI) CreateTags ¶
func (q *QBAPI) CreateTags(ctx context.Context, req *CreateTagsReq) (*CreateTagsRsp, error)
CreateTags /api/v2/torrents/createTags
func (*QBAPI) DecreaseTorrentPriority ¶
func (q *QBAPI) DecreaseTorrentPriority(ctx context.Context, req *DecreaseTorrentPriorityReq) (*DecreaseTorrentPriorityRsp, error)
409 Torrent queueing is not enabled 200 All other scenarios
DecreaseTorrentPriority /api/v2/torrents/decreasePrio
func (*QBAPI) DeleteTags ¶
func (q *QBAPI) DeleteTags(ctx context.Context, req *DeleteTagsReq) (*DeleteTagsRsp, error)
DeleteTags /api/v2/torrents/deleteTags
func (*QBAPI) DeleteTorrents ¶
func (q *QBAPI) DeleteTorrents(ctx context.Context, req *DeleteTorrentsReq) (*DeleteTorrentsRsp, error)
DeleteTorrents /api/v2/torrents/delete
func (*QBAPI) EditCategory ¶
func (q *QBAPI) EditCategory(ctx context.Context, req *EditCategoryReq) (*EditCategoryRsp, error)
400 Category name is empty 409 Category editing failed 200 All other scenarios
EditCategory /api/v2/torrents/editCategory
func (*QBAPI) EditTrackers ¶
func (q *QBAPI) EditTrackers(ctx context.Context, req *EditTrackersReq) (*EditTrackersRsp, error)
400 newUrl is not a valid URL 404 Torrent hash was not found 409 newUrl already exists for the torrent 409 origUrl was not found 200 All other scenarios
EditTrackers /api/v2/torrents/editTracker
func (*QBAPI) GetAPIVersion ¶
func (q *QBAPI) GetAPIVersion(ctx context.Context, req *GetAPIVersionReq) (*GetAPIVersionRsp, error)
GetAPIVersion /api/v2/app/webapiVersion
func (*QBAPI) GetAllCategories ¶
func (q *QBAPI) GetAllCategories(ctx context.Context, req *GetAllCategoriesReq) (*GetAllCategoriesRsp, error)
GetAllCategories /api/v2/torrents/categories
func (*QBAPI) GetAllTags ¶
func (q *QBAPI) GetAllTags(ctx context.Context, req *GetAllTagsReq) (*GetAllTagsRsp, error)
GetAllTags /api/v2/torrents/tags
func (*QBAPI) GetAlternativeSpeedLimitsState ¶
func (q *QBAPI) GetAlternativeSpeedLimitsState(ctx context.Context, req *GetAlternativeSpeedLimitsStateReq) (*GetAlternativeSpeedLimitsStateRsp, error)
GetAlternativeSpeedLimitsState /api/v2/transfer/speedLimitsMode
func (*QBAPI) GetApplicationPreferences ¶
func (q *QBAPI) GetApplicationPreferences(ctx context.Context, req *GetApplicationPreferencesReq) (*GetApplicationPreferencesRsp, error)
GetApplicationPreferences /api/v2/app/preferences
func (*QBAPI) GetApplicationVersion ¶
func (q *QBAPI) GetApplicationVersion(ctx context.Context, req *GetApplicationVersionReq) (*GetApplicationVersionRsp, error)
GetApplicationVersion /api/v2/app/version
func (*QBAPI) GetBuildInfo ¶
func (q *QBAPI) GetBuildInfo(ctx context.Context, req *GetBuildInfoReq) (*GetBuildInfoRsp, error)
GetBuildInfo /api/v2/app/buildInfo
func (*QBAPI) GetDefaultSavePath ¶
func (q *QBAPI) GetDefaultSavePath(ctx context.Context, req *GetDefaultSavePathReq) (*GetDefaultSavePathRsp, error)
GetDefaultSavePath /api/v2/app/defaultSavePath
func (*QBAPI) GetGlobalDownloadLimit ¶
func (q *QBAPI) GetGlobalDownloadLimit(ctx context.Context, req *GetGlobalDownloadLimitReq) (*GetGlobalDownloadLimitRsp, error)
GetGlobalDownloadLimit /api/v2/transfer/downloadLimit
func (*QBAPI) GetGlobalTransferInfo ¶
func (q *QBAPI) GetGlobalTransferInfo(ctx context.Context, req *GetGlobalTransferInfoReq) (*GetGlobalTransferInfoRsp, error)
GetGlobalTransferInfo /api/v2/transfer/info
func (*QBAPI) GetGlobalUploadLimit ¶
func (q *QBAPI) GetGlobalUploadLimit(ctx context.Context, req *GetGlobalUploadLimitReq) (*GetGlobalUploadLimitRsp, error)
GetGlobalUploadLimit /api/v2/transfer/uploadLimit
func (*QBAPI) GetMainData ¶
func (q *QBAPI) GetMainData(ctx context.Context, req *GetMainDataReq) (*GetMainDataRsp, error)
GetMainData /api/v2/sync/maindata
func (*QBAPI) GetPeerLog ¶
func (q *QBAPI) GetPeerLog(ctx context.Context, req *GetPeerLogReq) (*GetPeerLogRsp, error)
GetPeerLog /api/v2/log/peers
func (*QBAPI) GetTorrentContents ¶
func (q *QBAPI) GetTorrentContents(ctx context.Context, req *GetTorrentContentsReq) (*GetTorrentContentsRsp, error)
GetTorrentContents /api/v2/torrents/files
func (*QBAPI) GetTorrentDownloadLimit ¶
func (q *QBAPI) GetTorrentDownloadLimit(ctx context.Context, req *GetTorrentDownloadLimitReq) (*GetTorrentDownloadLimitRsp, error)
GetTorrentDownloadLimit /api/v2/torrents/downloadLimit
func (*QBAPI) GetTorrentGenericProperties ¶
func (q *QBAPI) GetTorrentGenericProperties(ctx context.Context, req *GetTorrentGenericPropertiesReq) (*GetTorrentGenericPropertiesRsp, error)
GetTorrentGenericProperties /api/v2/torrents/properties
func (*QBAPI) GetTorrentList ¶
func (q *QBAPI) GetTorrentList(ctx context.Context, req *GetTorrentListReq) (*GetTorrentListRsp, error)
GetTorrentList /api/v2/torrents/info
func (*QBAPI) GetTorrentPeerData ¶
func (q *QBAPI) GetTorrentPeerData(ctx context.Context, req *GetTorrentPeerDataReq) (*GetTorrentPeerDataRsp, error)
GetTorrentPeerData /api/v2/sync/torrentPeers
func (*QBAPI) GetTorrentPiecesHashes ¶
func (q *QBAPI) GetTorrentPiecesHashes(ctx context.Context, req *GetTorrentPiecesHashesReq) (*GetTorrentPiecesHashesRsp, error)
GetTorrentPiecesHashes /api/v2/torrents/pieceHashes
func (*QBAPI) GetTorrentPiecesStates ¶
func (q *QBAPI) GetTorrentPiecesStates(ctx context.Context, req *GetTorrentPiecesStatesReq) (*GetTorrentPiecesStatesRsp, error)
GetTorrentPiecesStates /api/v2/torrents/pieceStates
func (*QBAPI) GetTorrentTrackers ¶
func (q *QBAPI) GetTorrentTrackers(ctx context.Context, req *GetTorrentTrackersReq) (*GetTorrentTrackersRsp, error)
GetTorrentTrackers /api/v2/torrents/trackers
func (*QBAPI) GetTorrentUploadLimit ¶
func (q *QBAPI) GetTorrentUploadLimit(ctx context.Context, req *GetTorrentUploadLimitReq) (*GetTorrentUploadLimitRsp, error)
GetTorrentUploadLimit /api/v2/torrents/uploadLimit
func (*QBAPI) GetTorrentWebSeeds ¶
func (q *QBAPI) GetTorrentWebSeeds(ctx context.Context, req *GetTorrentWebSeedsReq) (*GetTorrentWebSeedsRsp, error)
GetTorrentWebSeeds /api/v2/torrents/webseeds
func (*QBAPI) IncreaseTorrentPriority ¶
func (q *QBAPI) IncreaseTorrentPriority(ctx context.Context, req *IncreaseTorrentPriorityReq) (*IncreaseTorrentPriorityRsp, error)
409 Torrent queueing is not enabled 200 All other scenarios
IncreaseTorrentPriority /api/v2/torrents/increasePrio
func (*QBAPI) MaximalTorrentPriority ¶
func (q *QBAPI) MaximalTorrentPriority(ctx context.Context, req *MaximalTorrentPriorityReq) (*MaximalTorrentPriorityRsp, error)
MaximalTorrentPriority /api/v2/torrents/topPrio
func (*QBAPI) MinimalTorrentPriority ¶
func (q *QBAPI) MinimalTorrentPriority(ctx context.Context, req *MinimalTorrentPriorityReq) (*MinimalTorrentPriorityRsp, error)
MinimalTorrentPriority /api/v2/torrents/bottomPrio
func (*QBAPI) PauseTorrents ¶
func (q *QBAPI) PauseTorrents(ctx context.Context, req *PauseTorrentsReq) (*PauseTorrentsRsp, error)
PauseTorrents /api/v2/torrents/pause
func (*QBAPI) ReannounceTorrents ¶
func (q *QBAPI) ReannounceTorrents(ctx context.Context, req *ReannounceTorrentsReq) (*ReannounceTorrentsRsp, error)
ReannounceTorrents /api/v2/torrents/reannounce
func (*QBAPI) RecheckTorrents ¶
func (q *QBAPI) RecheckTorrents(ctx context.Context, req *RecheckTorrentsReq) (*RecheckTorrentsRsp, error)
RecheckTorrents /api/v2/torrents/recheck
func (*QBAPI) RemoveCategories ¶
func (q *QBAPI) RemoveCategories(ctx context.Context, req *RemoveCategoriesReq) (*RemoveCategoriesRsp, error)
RemoveCategories /api/v2/torrents/removeCategories
func (*QBAPI) RemoveTorrentTags ¶
func (q *QBAPI) RemoveTorrentTags(ctx context.Context, req *RemoveTorrentTagsReq) (*RemoveTorrentTagsRsp, error)
RemoveTorrentTags /api/v2/torrents/removeTags
func (*QBAPI) RemoveTrackers ¶
func (q *QBAPI) RemoveTrackers(ctx context.Context, req *RemoveTrackersReq) (*RemoveTrackersRsp, error)
404 Torrent hash was not found 409 All urls were not found 200 All other scenarios
RemoveTrackers /api/v2/torrents/removeTrackers
func (*QBAPI) RenameFile ¶
func (q *QBAPI) RenameFile(ctx context.Context, req *RenameFileReq) (*RenameFileRsp, error)
400 Missing newPath parameter 409 Invalid newPath or oldPath, or newPath already in use 200 All other scenarios
RenameFile /api/v2/torrents/renameFile
func (*QBAPI) RenameFolder ¶
func (q *QBAPI) RenameFolder(ctx context.Context, req *RenameFolderReq) (*RenameFolderRsp, error)
RenameFolder /api/v2/torrents/renameFolder
func (*QBAPI) ResumeTorrents ¶
func (q *QBAPI) ResumeTorrents(ctx context.Context, req *ResumeTorrentsReq) (*ResumeTorrentsRsp, error)
ResumeTorrents /api/v2/torrents/resume
func (*QBAPI) SetApplicationPreferences ¶
func (q *QBAPI) SetApplicationPreferences(ctx context.Context, req *SetApplicationPreferencesReq) (*SetApplicationPreferencesRsp, error)
SetApplicationPreferences /api/v2/app/setPreferences
func (*QBAPI) SetAutomaticTorrentManagement ¶
func (q *QBAPI) SetAutomaticTorrentManagement(ctx context.Context, req *SetAutomaticTorrentManagementReq) (*SetAutomaticTorrentManagementRsp, error)
SetAutomaticTorrentManagement /api/v2/torrents/setAutoManagement
func (*QBAPI) SetFilePriority ¶
func (q *QBAPI) SetFilePriority(ctx context.Context, req *SetFilePriorityReq) (*SetFilePriorityRsp, error)
400 Priority is invalid 400 At least one file id is not a valid integer 404 Torrent hash was not found 409 Torrent metadata hasn't downloaded yet 409 At least one file id was not found 200 All other scenarios
SetFilePriority /api/v2/torrents/filePrio
func (*QBAPI) SetFirstOrLastPiecePriority ¶
func (q *QBAPI) SetFirstOrLastPiecePriority(ctx context.Context, req *SetFirstOrLastPiecePriorityReq) (*SetFirstOrLastPiecePriorityRsp, error)
SetFirstOrLastPiecePriority /api/v2/torrents/toggleFirstLastPiecePrio
func (*QBAPI) SetForceStart ¶
func (q *QBAPI) SetForceStart(ctx context.Context, req *SetForceStartReq) (*SetForceStartRsp, error)
SetForceStart /api/v2/torrents/setForceStart
func (*QBAPI) SetGlobalDownloadLimit ¶
func (q *QBAPI) SetGlobalDownloadLimit(ctx context.Context, req *SetGlobalDownloadLimitReq) (*SetGlobalDownloadLimitRsp, error)
SetGlobalDownloadLimit /api/v2/transfer/setDownloadLimit
func (*QBAPI) SetGlobalUploadLimit ¶
func (q *QBAPI) SetGlobalUploadLimit(ctx context.Context, req *SetGlobalUploadLimitReq) (*SetGlobalUploadLimitRsp, error)
SetGlobalUploadLimit /api/v2/transfer/setUploadLimit
func (*QBAPI) SetSuperSeeding ¶
func (q *QBAPI) SetSuperSeeding(ctx context.Context, req *SetSuperSeedingReq) (*SetSuperSeedingRsp, error)
SetSuperSeeding /api/v2/torrents/setSuperSeeding
func (*QBAPI) SetTorrentCategory ¶
func (q *QBAPI) SetTorrentCategory(ctx context.Context, req *SetTorrentCategoryReq) (*SetTorrentCategoryRsp, error)
409 Category name does not exist 200 All other scenarios
SetTorrentCategory /api/v2/torrents/setCategory
func (*QBAPI) SetTorrentDownloadLimit ¶
func (q *QBAPI) SetTorrentDownloadLimit(ctx context.Context, req *SetTorrentDownloadLimitReq) (*SetTorrentDownloadLimitRsp, error)
SetTorrentDownloadLimit /api/v2/torrents/setDownloadLimit
func (*QBAPI) SetTorrentLocation ¶
func (q *QBAPI) SetTorrentLocation(ctx context.Context, req *SetTorrentLocationReq) (*SetTorrentLocationRsp, error)
400 Save path is empty 403 User does not have write access to directory 409 Unable to create save path directory 200 All other scenarios
SetTorrentLocation /api/v2/torrents/setLocation
func (*QBAPI) SetTorrentName ¶
func (q *QBAPI) SetTorrentName(ctx context.Context, req *SetTorrentNameReq) (*SetTorrentNameRsp, error)
404 Torrent hash is invalid 409 Torrent name is empty 200 All other scenarios
SetTorrentName /api/v2/torrents/rename
func (*QBAPI) SetTorrentShareLimit ¶
func (q *QBAPI) SetTorrentShareLimit(ctx context.Context, req *SetTorrentShareLimitReq) (*SetTorrentShareLimitRsp, error)
SetTorrentShareLimit /api/v2/torrents/setShareLimits
func (*QBAPI) SetTorrentUploadLimit ¶
func (q *QBAPI) SetTorrentUploadLimit(ctx context.Context, req *SetTorrentUploadLimitReq) (*SetTorrentUploadLimitRsp, error)
SetTorrentUploadLimit /api/v2/torrents/setUploadLimit
func (*QBAPI) ShutDownAPPlication ¶
func (q *QBAPI) ShutDownAPPlication(ctx context.Context, req *ShutdownApplicationReq) (*ShutdownApplicationRsp, error)
ShutDownAPPlication /api/v2/app/shutdown
func (*QBAPI) ToggleAlternativeSpeedLimits ¶
func (q *QBAPI) ToggleAlternativeSpeedLimits(ctx context.Context, req *ToggleAlternativeSpeedLimitsReq) (*ToggleAlternativeSpeedLimitsRsp, error)
ToggleAlternativeSpeedLimits /api/v2/transfer/toggleSpeedLimitsMode
func (*QBAPI) ToggleSequentialDownload ¶
func (q *QBAPI) ToggleSequentialDownload(ctx context.Context, req *ToggleSequentialDownloadReq) (*ToggleSequentialDownloadRsp, error)
ToggleSequentialDownload /api/v2/torrents/toggleSequentialDownload
type ReannounceTorrentsReq ¶
type ReannounceTorrentsRsp ¶
type ReannounceTorrentsRsp struct { }
type RecheckTorrentsReq ¶
type RecheckTorrentsRsp ¶
type RecheckTorrentsRsp struct { }
type RemoveCategoriesReq ¶
type RemoveCategoriesReq struct {
Category []string
}
type RemoveCategoriesRsp ¶
type RemoveCategoriesRsp struct { }
type RemoveTorrentTagsReq ¶
type RemoveTorrentTagsRsp ¶
type RemoveTorrentTagsRsp struct { }
type RemoveTrackersReq ¶
type RemoveTrackersRsp ¶
type RemoveTrackersRsp struct { }
type RenameFileReq ¶
type RenameFileRsp ¶
type RenameFileRsp struct { }
type RenameFolderReq ¶
type RenameFolderRsp ¶
type RenameFolderRsp struct { }
type ResumeTorrentsReq ¶
type ResumeTorrentsReq struct {
Hash []string
}
type ResumeTorrentsRsp ¶
type ResumeTorrentsRsp struct { }
type SetApplicationPreferencesReq ¶
type SetApplicationPreferencesReq struct { TorrentContentLayout *string `json:"torrent_content_layout,omitempty"` Locale *string `json:"locale,omitempty"` CreateSubfolderEnabled *bool `json:"create_subfolder_enabled,omitempty"` StartPausedEnabled *bool `json:"start_paused_enabled,omitempty"` AutoDeleteMode *int `json:"auto_delete_mode,omitempty"` PreallocateAll *bool `json:"preallocate_all,omitempty"` IncompleteFilesExt *bool `json:"incomplete_files_ext,omitempty"` AutoTmmEnabled *bool `json:"auto_tmm_enabled,omitempty"` //True if Automatic Torrent Management is enabled by default TorrentChangedTmmEnabled *bool `json:"torrent_changed_tmm_enabled,omitempty"` //True if torrent should be relocated when its Category changes SavePathChangedTmmEnabled *bool `json:"save_path_changed_tmm_enabled,omitempty"` //True if torrent should be relocated when the default save path changes CategoryChangedTmmEnabled *bool `json:"category_changed_tmm_enabled,omitempty"` //True if torrent should be relocated when its Category's save path changes SavePath *string `json:"save_path,omitempty"` //Default save path for torrents, separated by slashes TempPathEnabled *bool `json:"temp_path_enabled,omitempty"` //True if folder for incomplete torrents is enabled TempPath *string `json:"temp_path,omitempty"` //Path for incomplete torrents, separated by slashes ScanDirs map[string]interface{} `json:"scan_dirs,omitempty"` //Property: directory to watch for torrent files, value: where torrents loaded from this directory should be downloaded to (see list of possible values below). Slashes are used as path separators; multiple key/value pairs can be specified ExportDir *string `json:"export_dir,omitempty"` //Path to directory to copy .torrent files to. Slashes are used as path separators ExportDirFin *string `json:"export_dir_fin,omitempty"` //Path to directory to copy .torrent files of completed downloads to. Slashes are used as path separators MailNotificationEnabled *bool `json:"mail_notification_enabled,omitempty"` //True if e-mail notification should be enabled MailNotificationSender *string `json:"mail_notification_sender,omitempty"` //e-mail where notifications should originate from MailNotificationEmail *string `json:"mail_notification_email,omitempty"` //e-mail to send notifications to MailNotificationSmtp *string `json:"mail_notification_smtp,omitempty"` //smtp server for e-mail notifications MailNotificationSslEnabled *bool `json:"mail_notification_ssl_enabled,omitempty"` //True if smtp server requires SSL connection MailNotificationAuthEnabled *bool `json:"mail_notification_auth_enabled,omitempty"` //True if smtp server requires authentication MailNotificationUsername *string `json:"mail_notification_username,omitempty"` //Username for smtp authentication MailNotificationPassword *string `json:"mail_notification_password,omitempty"` //Password for smtp authentication AutorunEnabled *bool `json:"autorun_enabled,omitempty"` //True if external program should be run after torrent has finished downloading AutorunProgram *string `json:"autorun_program,omitempty"` //Program path/name/arguments to run if autorun_enabled is enabled; path is separated by slashes; you can use %f and %n arguments, which will be expanded by qBittorent as path_to_torrent_file and torrent_name (from the GUI; not the .torrent file name) respectively QueueingEnabled *bool `json:"queueing_enabled,omitempty"` //True if torrent queuing is enabled MaxActiveDownloads *int `json:"max_active_downloads,omitempty"` //Maximum number of active simultaneous downloads MaxActiveTorrents *int `json:"max_active_torrents,omitempty"` //Maximum number of active simultaneous downloads and uploads MaxActiveUploads *int `json:"max_active_uploads,omitempty"` //Maximum number of active simultaneous uploads DontCountSlowTorrents *bool `json:"dont_count_slow_torrents,omitempty"` //If true torrents w/o any activity (stalled ones) will not be counted towards max_active_* limits; see dont_count_slow_torrents for more information SlowTorrentDlRateThreshold *int `json:"slow_torrent_dl_rate_threshold,omitempty"` //Download rate in KiB/s for a torrent to be considered "slow" SlowTorrentUlRateThreshold *int `json:"slow_torrent_ul_rate_threshold,omitempty"` //Upload rate in KiB/s for a torrent to be considered "slow" SlowTorrentInactiveTimer *int `json:"slow_torrent_inactive_timer,omitempty"` //Seconds a torrent should be inactive before considered "slow" MaxRatioEnabled *bool `json:"max_ratio_enabled,omitempty"` //True if share ratio limit is enabled MaxRatio *float64 `json:"max_ratio,omitempty"` //Get the global share ratio limit MaxRatioAct *int `json:"max_ratio_act,omitempty"` //Action performed when a torrent reaches the maximum share ratio. See list of possible values here below. ListenPort *int `json:"listen_port,omitempty"` //Port for incoming connections Upnp *bool `json:"upnp,omitempty"` //True if UPnP/NAT-PMP is enabled RandomPort *bool `json:"random_port,omitempty"` //True if the port is randomly selected DlLimit *int `json:"dl_limit,omitempty"` //Global download speed limit in KiB/s; -1 means no limit is applied UpLimit *int `json:"up_limit,omitempty"` //Global upload speed limit in KiB/s; -1 means no limit is applied MaxConnec *int `json:"max_connec,omitempty"` //Maximum global number of simultaneous connections MaxConnecPerTorrent *int `json:"max_connec_per_torrent,omitempty"` //Maximum number of simultaneous connections per torrent MaxUploads *int `json:"max_uploads,omitempty"` //Maximum number of upload slots MaxUploadsPerTorrent *int `json:"max_uploads_per_torrent,omitempty"` //Maximum number of upload slots per torrent StopTrackerTimeout *int `json:"stop_tracker_timeout,omitempty"` //Timeout in seconds for a stopped announce request to trackers EnablePieceExtentAffinity *bool `json:"enable_piece_extent_affinity,omitempty"` //True if the advanced libtorrent option piece_extent_affinity is enabled BittorrentProtocol *int `json:"bittorrent_protocol,omitempty"` //Bittorrent Protocol to use (see list of possible values below) LimitUtpRate *bool `json:"limit_utp_rate,omitempty"` //True if [du]l_limit should be applied to uTP connections; this option is only available in qBittorent built against libtorrent version 0.16.X and higher LimitTcpOverhead *bool `json:"limit_tcp_overhead,omitempty"` //True if [du]l_limit should be applied to estimated TCP overhead (service data: e.g. packet headers) LimitLanPeers *bool `json:"limit_lan_peers,omitempty"` //True if [du]l_limit should be applied to peers on the LAN AltDlLimit *int `json:"alt_dl_limit,omitempty"` //Alternative global download speed limit in KiB/s AltUpLimit *int `json:"alt_up_limit,omitempty"` //Alternative global upload speed limit in KiB/s SchedulerEnabled *bool `json:"scheduler_enabled,omitempty"` //True if alternative limits should be applied according to schedule ScheduleFromHour *int `json:"schedule_from_hour,omitempty"` //Scheduler starting hour ScheduleFromMin *int `json:"schedule_from_min,omitempty"` //Scheduler starting minute ScheduleToHour *int `json:"schedule_to_hour,omitempty"` //Scheduler ending hour ScheduleToMin *int `json:"schedule_to_min,omitempty"` //Scheduler ending minute SchedulerDays *int `json:"scheduler_days,omitempty"` //Scheduler days. See possible values here below Dht *bool `json:"dht,omitempty"` //True if DHT is enabled Pex *bool `json:"pex,omitempty"` //True if PeX is enabled Lsd *bool `json:"lsd,omitempty"` //True if LSD is enabled Encryption *int `json:"encryption,omitempty"` //See list of possible values here below AnonymousMode *bool `json:"anonymous_mode,omitempty"` //If true anonymous mode will be enabled; read more here; this option is only available in qBittorent built against libtorrent version 0.16.X and higher ProxyType *int `json:"proxy_type,omitempty"` //See list of possible values here below ProxyIp *string `json:"proxy_ip,omitempty"` //Proxy IP address or domain name ProxyPort *int `json:"proxy_port,omitempty"` //Proxy port ProxyPeerConnections *bool `json:"proxy_peer_connections,omitempty"` //True if peer and web seed connections should be proxified; this option will have any effect only in qBittorent built against libtorrent version 0.16.X and higher ProxyAuthEnabled *bool `json:"proxy_auth_enabled,omitempty"` //True proxy requires authentication; doesn't apply to SOCKS4 proxies ProxyUsername *string `json:"proxy_username,omitempty"` //Username for proxy authentication ProxyPassword *string `json:"proxy_password,omitempty"` //Password for proxy authentication ProxyTorrentsOnly *bool `json:"proxy_torrents_only,omitempty"` //True if proxy is only used for torrents IpFilterEnabled *bool `json:"ip_filter_enabled,omitempty"` //True if external IP filter should be enabled IpFilterPath *string `json:"ip_filter_path,omitempty"` //Path to IP filter file (.dat, .p2p, .p2b files are supported); path is separated by slashes IpFilterTrackers *bool `json:"ip_filter_trackers,omitempty"` //True if IP filters are applied to trackers WebUiDomainList *string `json:"web_ui_domain_list,omitempty"` //Comma-separated list of domains to accept when performing Host header validation WebUiAddress *string `json:"web_ui_address,omitempty"` //IP address to use for the WebUI WebUiPort *int `json:"web_ui_port,omitempty"` //WebUI port WebUiUpnp *bool `json:"web_ui_upnp,omitempty"` //True if UPnP is used for the WebUI port WebUiUsername *string `json:"web_ui_username,omitempty"` //WebUI username WebUiPassword *string `json:"web_ui_password,omitempty"` //For API ≥ v2.3.0: Plaintext WebUI password, not readable, write-only. For API < v2.3.0: MD5 hash of WebUI password, hash is generated from the following string: username:Web UI Access:plain_text_web_ui_password WebUiCsrfProtectionEnabled *bool `json:"web_ui_csrf_protection_enabled,omitempty"` //True if WebUI CSRF protection is enabled WebUiClickjackingProtectionEnabled *bool `json:"web_ui_clickjacking_protection_enable,omitempty"` //True if WebUI clickjacking protection is enabled WebUiSecureCookieEnabled *bool `json:"web_ui_secure_cookie_enabled,omitempty"` //True if WebUI cookie Secure flag is enabled WebUiMaxAuthFailCount *int `json:"web_ui_max_auth_fail_count,omitempty"` //Maximum number of authentication failures before WebUI access ban WebUiBanDuration *int `json:"web_ui_ban_duration,omitempty"` //WebUI access ban duration in seconds WebUiSessionTimeout *int `json:"web_ui_session_timeout,omitempty"` //Seconds until WebUI is automatically signed off WebUiHostHeaderValidationEnabled *bool `json:"web_ui_host_header_validation_enabled,omitempty"` //True if WebUI host header validation is enabled BypassLocalAuth *bool `json:"bypass_local_auth,omitempty"` //True if authentication challenge for loopback address (127.0.0.1) should be disabled BypassAuthSubnetWhitelistEnabled *bool `json:"bypass_auth_subnet_whitelist_enabled,omitempty"` //True if webui authentication should be bypassed for clients whose ip resides within (at least) one of the subnets on the whitelist BypassAuthSubnetWhitelist *string `json:"bypass_auth_subnet_whitelist,omitempty"` //(White)list of ipv4/ipv6 subnets for which webui authentication should be bypassed; list entries are separated by commas AlternativeWebuiEnabled *bool `json:"alternative_webui_enabled,omitempty"` //True if an alternative WebUI should be used AlternativeWebuiPath *string `json:"alternative_webui_path,omitempty"` //File path to the alternative WebUI UseHttps *bool `json:"use_https,omitempty"` //True if WebUI HTTPS access is enabled SslKey *string `json:"ssl_key,omitempty"` //For API < v2.0.1: SSL keyfile contents (this is a not a path) SslCert *string `json:"ssl_cert,omitempty"` //For API < v2.0.1: SSL certificate contents (this is a not a path) WebUiHttpsKeyPath *string `json:"web_ui_https_key_path,omitempty"` //For API ≥ v2.0.1: Path to SSL keyfile WebUiHttpsCertPath *string `json:"web_ui_https_cert_path,omitempty"` //For API ≥ v2.0.1: Path to SSL certificate DyndnsEnabled *bool `json:"dyndns_enabled,omitempty"` //True if server DNS should be updated dynamically DyndnsService *int `json:"dyndns_service,omitempty"` //See list of possible values here below DyndnsUsername *string `json:"dyndns_username,omitempty"` //Username for DDNS service DyndnsPassword *string `json:"dyndns_password,omitempty"` //Password for DDNS service DyndnsDomain *string `json:"dyndns_domain,omitempty"` //Your DDNS domain name RssRefreshInterval *int `json:"rss_refresh_interval,omitempty"` //RSS refresh interval RssMaxArticlesPerFeed *int `json:"rss_max_articles_per_feed,omitempty"` //Max stored articles per RSS feed RssProcessingEnabled *bool `json:"rss_processing_enabled,omitempty"` //Enable processing of RSS feeds RssAutoDownloadingEnabled *bool `json:"rss_auto_downloading_enabled,omitempty"` //Enable auto-downloading of torrents from the RSS feeds RssDownloadRepackProperEpisodes *bool `json:"rss_download_repack_proper_episodes,omitempty"` //For API ≥ v2.5.1: Enable downloading of repack/proper Episodes RssSmartEpisodeFilters *string `json:"rss_smart_episode_filters,omitempty"` //For API ≥ v2.5.1: List of RSS Smart Episode Filters AddTrackersEnabled *bool `json:"add_trackers_enabled,omitempty"` //Enable automatic adding of trackers to new torrents AddTrackers *string `json:"add_trackers,omitempty"` //List of trackers to add to new torrent WebUiUseCustomHttpHeadersEnabled *bool `json:"web_ui_use_custom_http_headers_enable,omitempty"` //For API ≥ v2.5.1: Enable custom http headers WebUiCustomHttpHeaders *string `json:"web_ui_custom_http_headers,omitempty"` //For API ≥ v2.5.1: List of custom http headers MaxSeedingTimeEnabled *bool `json:"max_seeding_time_enabled,omitempty"` //True enables max seeding time MaxSeedingTime *int `json:"max_seeding_time,omitempty"` //Number of minutes to seed a torrent AnnounceIp *string `json:"announce_ip,omitempty"` //TODO AnnounceToAllTiers *bool `json:"announce_to_all_tiers,omitempty"` //True always announce to all tiers AnnounceToAllTrackers *bool `json:"announce_to_all_trackers,omitempty"` //True always announce to all trackers in a tier AsyncIoThreads *int `json:"async_io_threads,omitempty"` //Number of asynchronous I/O threads BannedIps *string `json:"banned_IPs,omitempty"` //List of banned IPs CheckingMemoryUse *int `json:"checking_memory_use,omitempty"` //Outstanding memory when checking torrents in MiB CurrentInterfaceAddress *string `json:"current_interface_address,omitempty"` //IP Address to bind to. Empty String means All addresses CurrentNetworkInterface *string `json:"current_network_interface,omitempty"` //Network Interface used DiskCache *int `json:"disk_cache,omitempty"` //Disk cache used in MiB DiskCacheTtl *int `json:"disk_cache_ttl,omitempty"` //Disk cache expiry interval in seconds EmbeddedTrackerPort *int `json:"embedded_tracker_port,omitempty"` //Port used for embedded tracker EnableCoalesceReadWrite *bool `json:"enable_coalesce_read_write,omitempty"` //True enables coalesce reads & writes EnableEmbeddedTracker *bool `json:"enable_embedded_tracker,omitempty"` //True enables embedded tracker EnableMultiConnectionsFromSameIp *bool `json:"enable_multi_connections_from_same_ip,omitempty"` //True allows multiple connections from the same IP address EnableOsCache *bool `json:"enable_os_cache,omitempty"` //True enables os cache EnableUploadSuggestions *bool `json:"enable_upload_suggestions,omitempty"` //True enables sending of upload piece suggestions FilePoolSize *int `json:"file_pool_size,omitempty"` //File pool size OutgoingPortsMax *int `json:"outgoing_ports_max,omitempty"` //Maximal outgoing port (0: Disabled) OutgoingPortsMin *int `json:"outgoing_ports_min,omitempty"` //Minimal outgoing port (0: Disabled) RecheckCompletedTorrents *bool `json:"recheck_completed_torrents,omitempty"` //True rechecks torrents on completion ResolvePeerCountries *bool `json:"resolve_peer_countries,omitempty"` //True resolves peer countries SaveResumeDataInterval *int `json:"save_resume_data_interval,omitempty"` //Save resume data interval in min SendBufferLowWatermark *int `json:"send_buffer_low_watermark,omitempty"` //Send buffer low watermark in KiB SendBufferWatermark *int `json:"send_buffer_watermark,omitempty"` //Send buffer watermark in KiB SendBufferWatermarkFactor *int `json:"send_buffer_watermark_factor,omitempty"` //Send buffer watermark factor in percent SocketBacklogSize *int `json:"socket_backlog_size,omitempty"` //Socket backlog size UploadChokingAlgorithm *int `json:"upload_choking_algorithm,omitempty"` //Upload choking algorithm used (see list of possible values below) UploadSlotsBehavior *int `json:"upload_slots_behavior,omitempty"` //Upload slots behavior used (see list of possible values below) UpnpLeaseDuration *int `json:"upnp_lease_duration,omitempty"` //UPnP lease duration (0: Permanent lease) UtpTcpMixedMode *int `json:"utp_tcp_mixed_mode,omitempty"` }
type SetApplicationPreferencesRsp ¶
type SetApplicationPreferencesRsp struct { }
type SetAutomaticTorrentManagementRsp ¶
type SetAutomaticTorrentManagementRsp struct { }
type SetFilePriorityReq ¶
type SetFilePriorityReq struct { Hash string Id []string Priority FilePriority }
type SetFilePriorityRsp ¶
type SetFilePriorityRsp struct { }
type SetFirstOrLastPiecePriorityRsp ¶
type SetFirstOrLastPiecePriorityRsp struct { }
type SetForceStartReq ¶
type SetForceStartRsp ¶
type SetForceStartRsp struct { }
type SetGlobalDownloadLimitReq ¶
type SetGlobalDownloadLimitReq struct {
Speed int `json:"limit"`
}
type SetGlobalDownloadLimitRsp ¶
type SetGlobalDownloadLimitRsp struct { }
type SetGlobalUploadLimitReq ¶
type SetGlobalUploadLimitReq struct {
Speed int `json:"limit"`
}
type SetGlobalUploadLimitRsp ¶
type SetGlobalUploadLimitRsp struct { }
type SetSuperSeedingReq ¶
type SetSuperSeedingRsp ¶
type SetSuperSeedingRsp struct { }
type SetTorrentCategoryReq ¶
type SetTorrentCategoryRsp ¶
type SetTorrentCategoryRsp struct { }
type SetTorrentDownloadLimitRsp ¶
type SetTorrentDownloadLimitRsp struct { }
type SetTorrentLocationReq ¶
type SetTorrentLocationRsp ¶
type SetTorrentLocationRsp struct { }
type SetTorrentNameReq ¶
type SetTorrentNameRsp ¶
type SetTorrentNameRsp struct { }
type SetTorrentShareLimitReq ¶
type SetTorrentShareLimitReq struct {}
type SetTorrentShareLimitRsp ¶
type SetTorrentShareLimitRsp struct { }
type SetTorrentUploadLimitRsp ¶
type SetTorrentUploadLimitRsp struct { }
type ShutdownApplicationReq ¶
type ShutdownApplicationReq struct { }
type ShutdownApplicationRsp ¶
type ShutdownApplicationRsp struct { }
type StatusCodeErr ¶
type StatusCodeErr struct {
// contains filtered or unexported fields
}
func NewStatusCodeErr ¶
func NewStatusCodeErr(code int) *StatusCodeErr
func (*StatusCodeErr) Code ¶
func (s *StatusCodeErr) Code() int
func (*StatusCodeErr) Error ¶
func (s *StatusCodeErr) Error() string
type ToggleAlternativeSpeedLimitsReq ¶
type ToggleAlternativeSpeedLimitsReq struct { }
type ToggleAlternativeSpeedLimitsRsp ¶
type ToggleAlternativeSpeedLimitsRsp struct { }
type ToggleSequentialDownloadRsp ¶
type ToggleSequentialDownloadRsp struct { }
type TorrentContentItem ¶
type TorrentContentItem struct { Index int `json:"index"` //File index Name string `json:"name"` //File name (including relative path) Size int `json:"size"` //File size (bytes) Progress float64 `json:"progress"` //File progress (percentage/100) Priority int `json:"priority"` //File priority. See possible values here below IsSeed bool `json:"is_seed"` //True if file is seeding/complete PieceRange []int `json:"piece_range"` //The first number is the starting piece index and the second number is the ending piece index (inclusive) Availability float64 `json:"availability"` //Percentage of file pieces currently available (percentage/100) }
type TorrentGenericProperty ¶
type TorrentGenericProperty struct { SavePath string `json:"save_path"` //Torrent save path CreationDate int `json:"creation_date"` //Torrent creation date (Unix timestamp) PieceSize int `json:"piece_size"` //Torrent piece size (bytes) Comment string `json:"comment"` //Torrent comment TotalWasted int `json:"total_wasted"` //Total data wasted for torrent (bytes) TotalUploaded int `json:"total_uploaded"` //Total data uploaded for torrent (bytes) TotalUploadedSession int `json:"total_uploaded_session"` //Total data uploaded this session (bytes) TotalDownloaded int `json:"total_downloaded"` //Total data downloaded for torrent (bytes) TotalDownloadedSession int `json:"total_downloaded_session"` //Total data downloaded this session (bytes) UpLimit int `json:"up_limit"` //Torrent upload limit (bytes/s) DlLimit int `json:"dl_limit"` //Torrent download limit (bytes/s) TimeElapsed int `json:"time_elapsed"` //Torrent elapsed time (seconds) SeedingTime int `json:"seeding_time"` //Torrent elapsed time while complete (seconds) NbConnections int `json:"nb_connections"` //Torrent connection count NbConnectionsLimit int `json:"nb_connections_limit"` //Torrent connection count limit AdditionDate int `json:"addition_date"` //When this torrent was added (unix timestamp) CompletionDate int `json:"completion_date"` //Torrent completion date (unix timestamp) CreatedBy string `json:"created_by"` //Torrent creator DlSpeedAvg int `json:"dl_speed_avg"` //Torrent average download speed (bytes/second) DlSpeed int `json:"dl_speed"` //Torrent download speed (bytes/second) Eta int `json:"eta"` //Torrent ETA (seconds) LastSeen int `json:"last_seen"` //Last seen complete date (unix timestamp) Peers int `json:"peers"` //Number of peers connected to PeersTotal int `json:"peers_total"` //Number of peers in the swarm PiecesHave int `json:"pieces_have"` //Number of pieces owned PiecesNum int `json:"pieces_num"` //Number of pieces of the torrent Reannounce int `json:"reannounce"` //Number of seconds until the next announce Seeds int `json:"seeds"` //Number of seeds connected to SeedsTotal int `json:"seeds_total"` //Number of seeds in the swarm TotalSize int `json:"total_size"` //Torrent total size (bytes) UpSpeedAvg int `json:"up_speed_avg"` //Torrent average upload speed (bytes/second) UpSpeed int `json:"up_speed"` //Torrent upload speed (bytes/second) }
type TorrentListItem ¶
type TorrentListItem struct { AddedOn int `json:"added_on"` AmountLeft int `json:"amount_left"` AutoTmm bool `json:"auto_tmm"` Availability float64 `json:"availability"` Category string `json:"category"` Completed int `json:"completed"` CompletionOn int `json:"completion_on"` ContentPath string `json:"content_path"` DlLimit int `json:"dl_limit"` Dlspeed int `json:"dlspeed"` Downloaded int `json:"downloaded"` DownloadedSession int `json:"downloaded_session"` Eta int `json:"eta"` FLPiecePrio bool `json:"f_l_piece_prio"` ForceStart bool `json:"force_start"` Hash string `json:"hash"` LastActivity int `json:"last_activity"` MagnetUri string `json:"magnet_uri"` MaxRatio float64 `json:"max_ratio"` MaxSeedingTime int `json:"max_seeding_time"` Name string `json:"name"` NumComplete int `json:"num_complete"` NumIncomplete int `json:"num_incomplete"` NumLeechs int `json:"num_leechs"` NumSeeds int `json:"num_seeds"` Priority int `json:"priority"` Progress float64 `json:"progress"` Ratio float64 `json:"ratio"` RatioLimit float64 `json:"ratio_limit"` SavePath string `json:"save_path"` SeedingTime int `json:"seeding_time"` SeedingTimeLimit int `json:"seeding_time_limit"` SeenComplete int `json:"seen_complete"` SeqDl bool `json:"seq_dl"` Size int `json:"size"` State string `json:"state"` SuperSeeding bool `json:"super_seeding"` Tags string `json:"tags"` TimeActive int `json:"time_active"` TotalSize int `json:"total_size"` Tracker string `json:"tracker"` UpLimit int `json:"up_limit"` Uploaded int `json:"uploaded"` UploadedSession int `json:"uploaded_session"` Upspeed int `json:"upspeed"` }
type TorrentPeerData ¶
type TorrentPeerData struct { FullUpdate bool `json:"full_update"` Rid int `json:"rid"` ShowFlags bool `json:"show_flags"` Peers map[string]*TorrentPeerItem `json:"peers"` }
type TorrentPeerItem ¶
type TorrentPeerItem struct { Client string `json:"client"` Connection string `json:"connection"` Country string `json:"country"` CountryCode string `json:"country_code"` DlSpeed int `json:"dl_speed"` Downloaded int `json:"downloaded"` Files string `json:"files"` Flags string `json:"flags"` FlagsDesc string `json:"flags_desc"` Ip string `json:"ip"` Port int `json:"port"` Progress float64 `json:"progress"` Relevance float64 `json:"relevance"` UpSpeed int `json:"up_speed"` Uploaded int `json:"uploaded"` }
type TorrentTrackerItem ¶
type TorrentTrackerItem struct { Url string `json:"url"` //Tracker url Status int `json:"status"` //Tracker status. See the table below for possible values Tier interface{} `json:"tier"` //Tracker priority tier. Lower tier trackers are tried before higher tiers NumPeers int `json:"num_peers"` //Number of peers for current torrent, as reported by the tracker NumSeeds int `json:"num_seeds"` //Number of seeds for current torrent, asreported by the tracker NumLeeches int `json:"num_leeches"` //Number of leeches for current torrent, as reported by the tracker NumDownloaded int `json:"num_downloaded"` //Number of completed downlods for current torrent, as reported by the tracker Msg string `json:"msg"` //Tracker message (there is no way of knowing what this message is - it's up to tracker admins) }
Note: tier should be integer, but in some trackers, it returns empty string
type TorrentWebSeedItem ¶
type TorrentWebSeedItem struct {
Url string `json:"url"`
}