Documentation ¶
Index ¶
- Constants
- Variables
- func GetGroupSites(name string) []string
- func MatchSite(domain string, siteConfig *SiteConfigStruct) bool
- func ParseGroupAndOtherNames(names ...string) []string
- func ParseGroupAndOtherNamesWithoutDeduplicate(names ...string) []string
- type ClientConfigStruct
- type ConfigStruct
- type GroupConfigStruct
- type SiteConfigStruct
Constants ¶
View Source
const ( BRUSH_CAT = "_brush" XSEED_TAG = "_xseed" STATS_FILENAME = "ptool_stats.txt" HISTORY_FILENAME = "ptool_history" DEFAULT_SHELL_MAX_SUGGESTIONS = int64(5) DEFAULT_SHELL_MAX_HISTORY = int64(500) DEFAULT_SITE_TIMEZONE = "Asia/Shanghai" DEFAULT_CLIENT_BRUSH_MIN_DISK_SPACE = int64(5 * 1024 * 1024 * 1024) DEFAULT_CLIENT_BRUSH_SLOW_UPLOAD_SPEED_TIER = int64(100 * 1024) DEFAULT_CLIENT_BRUSH_MAX_DOWNLOADING_TORRENTS = int64(6) DEFAULT_CLIENT_BRUSH_MAX_TORRENTS = int64(9999) DEFAULT_CLIENT_BRUSH_MIN_RATION = float64(0.2) DEFAULT_CLIENT_BRUSH_DEFAULT_UPLOAD_SPEED_LIMIT = int64(10 * 1024 * 1024) DEFAULT_SITE_BRUSH_TORRENT_MIN_SIZE_LIMIT = int64(0) DEFAULT_SITE_BRUSH_TORRENT_MAX_SIZE_LIMIT = int64(1024 * 1024 * 1024 * 1024 * 1024) // 1PB, that's say, unlimited DEFAULT_SITE_TORRENT_UPLOAD_SPEED_LIMIT = int64(10 * 1024 * 1024) )
Variables ¶
View Source
var ( VerboseLevel = 0 InShell = false Initialized = false ConfigDir = "" // "/root/.config/ptool" ConfigFile = "" // "ptool.toml" ConfigName = "" // "ptool" ConfigType = "" // "toml" LockFile = "" Fork = false )
Functions ¶
func GetGroupSites ¶
if name is a group, return it's sites, otherwise return nil
func MatchSite ¶ added in v0.1.1
func MatchSite(domain string, siteConfig *SiteConfigStruct) bool
func ParseGroupAndOtherNames ¶
parse an slice of groupOrOther names, expand group name to site names, return the final slice of names
Types ¶
type ClientConfigStruct ¶
type ClientConfigStruct struct { Type string `yaml:"type"` Name string `yaml:"name"` Disabled bool `yaml:"disabled"` Url string `yaml:"url"` Username string `yaml:"username"` Password string `yaml:"password"` BrushMinDiskSpace string `yaml:"brushMinDiskSpace"` BrushSlowUploadSpeedTier string `yaml:"brushSlowUploadSpeedTier"` BrushMaxDownloadingTorrents int64 `yaml:"brushMaxDownloadingTorrents"` BrushMaxTorrents int64 `yaml:"brushMaxTorrents"` BrushMinRatio float64 `yaml:"brushMinRatio"` BrushDefaultUploadSpeedLimit string `yaml:"brushDefaultUploadSpeedLimit"` BrushMinDiskSpaceValue int64 BrushSlowUploadSpeedTierValue int64 BrushDefaultUploadSpeedLimitValue int64 QbittorrentNoLogin bool `yaml:"qbittorrentNoLogin"` // if set, will NOT send login request QbittorrentNoLogout bool `yaml:"qbittorrentNoLogout"` // if set, will NOT send logout request }
func GetClientConfig ¶
func GetClientConfig(name string) *ClientConfigStruct
type ConfigStruct ¶
type ConfigStruct struct { Hushshell bool `yaml:"hushshell"` ShellMaxSuggestions int64 `yaml:"shellMaxSuggestions"` ShellMaxHistory int64 `yaml:"shellMaxHistory"` IyuuToken string `yaml:"iyuuToken"` SiteProxy string `yaml:"siteProxy"` SiteUserAgent string `yaml:"siteUserAgent"` SiteJa3 string `yaml:"siteJa3"` BrushEnableStats bool `yaml:"brushEnableStats"` Clients []*ClientConfigStruct `yaml:"clients"` Sites []*SiteConfigStruct `yaml:"sites"` Groups []*GroupConfigStruct `yaml:"groups"` }
func Get ¶
func Get() *ConfigStruct
type GroupConfigStruct ¶
func GetGroupConfig ¶ added in v0.1.6
func GetGroupConfig(name string) *GroupConfigStruct
type SiteConfigStruct ¶
type SiteConfigStruct struct { Type string `yaml:"type"` Name string `yaml:"name"` Aliases []string // for internal use only Comment string `yaml:"comment"` Disabled bool `yaml:"disabled"` Url string `yaml:"url"` Domains []string `yaml:"domains"` // other site domains (do not include subdomain part) TorrentsUrl string `yaml:"torrentsUrl"` SearchUrl string `yaml:"searchUrl"` TorrentsExtraUrls []string `yaml:"torrentsExtraUrls"` Cookie string `yaml:"cookie"` UserAgent string `yaml:"userAgent"` Ja3 string `yaml:"ja3"` Proxy string `yaml:"proxy"` TorrentUploadSpeedLimit string `yaml:"torrentUploadSpeedLimit"` GlobalHnR bool `yaml:"globalHnR"` Timezone string `yaml:"timezone"` BrushTorrentMinSizeLimit string `yaml:"brushTorrentMinSizeLimit"` BrushTorrentMaxSizeLimit string `yaml:"brushTorrentMaxSizeLimit"` BrushAllowNoneFree bool `yaml:"brushAllowNoneFree"` BrushAllowPaid bool `yaml:"brushAllowPaid"` BrushAllowHr bool `yaml:"brushAllowHr"` BrushAllowZeroSeeders bool `yaml:"brushAllowZeroSeeders"` SelectorTorrentsListHeader string `yaml:"selectorTorrentsListHeader"` SelectorTorrentsList string `yaml:"selectorTorrentsList"` SelectorTorrentBlock string `yaml:"selectorTorrentBlock"` // dom block of a torrent in list SelectorTorrent string `yaml:"selectorTorrent"` SelectorTorrentDownloadLink string `yaml:"selectorTorrentDownloadLink"` SelectorTorrentDetailsLink string `yaml:"selectorTorrentDetailsLink"` SelectorTorrentTime string `yaml:"selectorTorrentTime"` SelectorTorrentSeeders string `yaml:"selectorTorrentSeeders"` SelectorTorrentLeechers string `yaml:"selectorTorrentLeechers"` SelectorTorrentSnatched string `yaml:"selectorTorrentSnatched"` SelectorTorrentSize string `yaml:"selectorTorrentSize"` SelectorTorrentProcessBar string `yaml:"selectorTorrentProcessBar"` SelectorTorrentFree string `yaml:"SelectorTorrentFree"` SelectorTorrentPaid string `yaml:"selectorTorrentPaid"` SelectorTorrentDiscountEndTime string `yaml:"selectorTorrentDiscountEndTime"` SelectorUserInfo string `yaml:"selectorUserInfo"` SelectorUserInfoUserName string `yaml:"selectorUserInfoUserName"` SelectorUserInfoUploaded string `yaml:"selectorUserInfoUploaded"` SelectorUserInfoDownloaded string `yaml:"selectorUserInfoDownloaded"` UseCuhash bool `yaml:"useCuhash"` // hdcity 使用机制。种子下载地址里必须有cuhash参数。 TorrentUrlIdRegexp string `yaml:"torrentUrlIdRegexp"` TorrentUploadSpeedLimitValue int64 BrushTorrentMinSizeLimitValue int64 BrushTorrentMaxSizeLimitValue int64 }
func GetSiteConfig ¶ added in v0.1.1
func GetSiteConfig(name string) *SiteConfigStruct
func (*SiteConfigStruct) GetName ¶
func (siteConfig *SiteConfigStruct) GetName() string
func (*SiteConfigStruct) ParseSiteUrl ¶
func (siteConfig *SiteConfigStruct) ParseSiteUrl(siteUrl string, appendQueryStringDelimiter bool) string
parse a site internal url (eg. special.php), return absolute url
Click to show internal directories.
Click to hide internal directories.