pcsconfig

package
v0.0.0-...-caa18a3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package pcsconfig 配置包

Index

Constants

View Source
const (
	// EnvConfigDir 配置路径环境变量
	EnvConfigDir = "BAIDUPCS_GO_CONFIG_DIR"
	// ConfigName 配置文件名
	ConfigName = "pcs_config.json"
)

Variables

View Source
var (
	//ErrNoSuchBaiduUser 未登录任何百度帐号
	ErrNoSuchBaiduUser = errors.New("no such baidu user")
	//ErrBaiduUserNotFound 未找到百度帐号
	ErrBaiduUserNotFound = errors.New("baidu user not found")
)
View Source
var (
	//ErrNotLogin 未登录帐号错误
	ErrNotLogin = errors.New("baidu user not login")
	//ErrConfigFilePathNotSet 未设置配置文件
	ErrConfigFilePathNotSet = errors.New("config file not set")
	//ErrConfigFileNotExist 未设置Config, 未初始化
	ErrConfigFileNotExist = errors.New("config file not exist")
	//ErrConfigFileNoPermission Config文件无权限访问
	ErrConfigFileNoPermission = errors.New("config file permission denied")
	//ErrConfigContentsParseError 解析Config数据错误
	ErrConfigContentsParseError = errors.New("config contents parse error")
)
View Source
var (

	// Config 配置信息, 由外部调用
	Config = NewConfig(configFilePath)
)

Functions

func AverageParallel

func AverageParallel(parallel, downloadLoad int) int

AverageParallel 返回平均的下载最大并发量

func GetConfigDir

func GetConfigDir() string

GetConfigDir 获取配置路径

Types

type Baidu

type Baidu struct {
	BaiduBase
	Sex string  `json:"sex"` // 性别
	Age float64 `json:"age"` // 帐号年龄

	BDUSS   string `json:"bduss"`
	PTOKEN  string `json:"ptoken"`
	STOKEN  string `json:"stoken"`
	BAIDUID string `json:"baiduid"`
	SBOXTKN string `json:"sboxtkn"`
	COOKIES string `json:"cookies"`

	AccessToken string `json:"accesstoken"`

	Workdir string `json:"workdir"` // 工作目录
}

Baidu 百度帐号对象

func NewUserInfoByBDUSS

func NewUserInfoByBDUSS(bduss string) (b *Baidu, err error)

NewUserInfoByBDUSS 检测BDUSS有效性, 同时获取百度详细信息 (无法获取 ptoken 和 stoken)

func NewUserInfoByInput

func NewUserInfoByInput(bduss, name string) (b *Baidu, err error)

NewUserInfoByInput 不检测BDUSS有效性, 手动设置百度详细信息 (只适用tieba.baidu.com用户信息接口不可用的情况)

func (*Baidu) BaiduPCS

func (baidu *Baidu) BaiduPCS() *baidupcs.BaiduPCS

BaiduPCS 初始化*baidupcs.BaiduPCS

func (*Baidu) GetSavePath

func (baidu *Baidu) GetSavePath(pcspath string) string

GetSavePath 根据提供的网盘文件路径 pcspath, 返回本地储存路径, 返回绝对路径, 获取绝对路径出错时才返回相对路径...

func (*Baidu) PathJoin

func (baidu *Baidu) PathJoin(p string) string

PathJoin 合并工作目录和相对路径p, 若p为绝对路径则忽略

type BaiduBase

type BaiduBase struct {
	UID  uint64 `json:"uid"`  // 百度ID对应的uid
	Name string `json:"name"` // 真实ID
}

BaiduBase Baidu基

type BaiduUserList

type BaiduUserList []*Baidu

BaiduUserList 百度帐号列表

func (*BaiduUserList) String

func (bl *BaiduUserList) String() string

String 格式输出百度帐号列表

type PCSConfig

type PCSConfig struct {
	BaiduActiveUID uint64        `json:"baidu_active_uid"`
	BaiduUserList  BaiduUserList `json:"baidu_user_list"`

	AppID int `json:"appid"` // appid

	CacheSize         int `json:"cache_size"`          // 下载缓存
	MaxParallel       int `json:"max_parallel"`        // 最大下载并发量
	MaxUploadParallel int `json:"max_upload_parallel"` // 最大上传并发量
	MaxDownloadLoad   int `json:"max_download_load"`   // 同时进行下载文件的最大数量
	MaxUploadLoad     int `json:"max_upload_load"`     // 同时进行上传文件的最大数量

	MaxDownloadRate int64 `json:"max_download_rate"` // 限制最大下载速度
	MaxUploadRate   int64 `json:"max_upload_rate"`   // 限制最大上传速度

	UserAgent     string `json:"user_agent"`           // 浏览器标识
	PCSUA         string `json:"pcs_ua"`               // PCS浏览器标识
	PCSAddr       string `json:"pcs_addr"`             // PCS服务器域名
	PanUA         string `json:"pan_ua"`               // PAN浏览器标识
	SaveDir       string `json:"savedir"`              // 下载储存路径
	EnableHTTPS   bool   `json:"enable_https"`         // 启用https
	ForceLogin    string `json:"force_login_username"` // 强制登录
	Proxy         string `json:"proxy"`                // 代理
	LocalAddrs    string `json:"local_addrs"`          // 本地网卡地址
	NoCheck       bool   `json:"no_check"`             // 禁用下载md5校验
	IgnoreIllegal bool   `json:"ignore_illegal"`       // 禁用上传文件名非法字符检查
	UPolicy       string `json:"u_policy"`             // 上传重名文件处理策略
	// contains filtered or unexported fields
}

PCSConfig 配置详情

func NewConfig

func NewConfig(configFilePath string) *PCSConfig

NewConfig 返回 PCSConfig 指针对象

func (*PCSConfig) ActiveUser

func (c *PCSConfig) ActiveUser() *Baidu

ActiveUser 获取当前登录的用户

func (*PCSConfig) ActiveUserBaiduPCS

func (c *PCSConfig) ActiveUserBaiduPCS() *baidupcs.BaiduPCS

ActiveUserBaiduPCS 获取当前登录的用户的baidupcs.BaiduPCS

func (*PCSConfig) AverageParallel

func (c *PCSConfig) AverageParallel() int

AverageParallel 返回平均的下载最大并发量

func (*PCSConfig) CheckBaiduUserExist

func (c *PCSConfig) CheckBaiduUserExist(baidubase *BaiduBase) bool

CheckBaiduUserExist 检查百度用户是否存在于已登录列表

func (*PCSConfig) Close

func (c *PCSConfig) Close() error

Close 关闭配置文件

func (*PCSConfig) DeleteUser

func (c *PCSConfig) DeleteUser(baiduBase *BaiduBase) (*Baidu, error)

DeleteUser 删除用户, 返回删除成功的用户

func (*PCSConfig) GetBaiduUser

func (c *PCSConfig) GetBaiduUser(baidubase *BaiduBase) (*Baidu, error)

GetBaiduUser 获取百度用户信息

func (*PCSConfig) HTTPClient

func (c *PCSConfig) HTTPClient() *requester.HTTPClient

HTTPClient 返回设置好的 HTTPClient

func (*PCSConfig) Init

func (c *PCSConfig) Init() error

Init 初始化配置

func (*PCSConfig) InitDefaultConfig

func (c *PCSConfig) InitDefaultConfig()

func (*PCSConfig) NumLogins

func (c *PCSConfig) NumLogins() int

NumLogins 获取登录的用户数量

func (*PCSConfig) PCSHTTPClient

func (c *PCSConfig) PCSHTTPClient() *requester.HTTPClient

PCSHTTPClient 返回设置好的 PCS HTTPClient

func (*PCSConfig) PanHTTPClient

func (c *PCSConfig) PanHTTPClient() *requester.HTTPClient

PanHTTPClient 返回设置好的 Pan HTTPClient

func (*PCSConfig) PrintTable

func (c *PCSConfig) PrintTable()

PrintTable 输出表格

func (*PCSConfig) Reload

func (c *PCSConfig) Reload() error

Reload 从文件重载配置

func (*PCSConfig) SETPCSAddr

func (c *PCSConfig) SETPCSAddr(pcsaddr string) bool

SetPCSAddr 设置 PCS 服务器地址

func (*PCSConfig) Save

func (c *PCSConfig) Save() error

Save 保存配置信息到配置文件

func (*PCSConfig) SetAppID

func (c *PCSConfig) SetAppID(appID int)

SetAppID 设置app_id

func (*PCSConfig) SetCacheSizeByStr

func (c *PCSConfig) SetCacheSizeByStr(sizeStr string) error

SetCacheSizeByStr 设置cache_size

func (*PCSConfig) SetEnableHTTPS

func (c *PCSConfig) SetEnableHTTPS(https bool)

SetEnableHTTPS 设置是否启用https

func (*PCSConfig) SetForceLogin

func (c *PCSConfig) SetForceLogin(username string)

SetForceLogin 设置强制登录

func (*PCSConfig) SetIgnoreIllegal

func (c *PCSConfig) SetIgnoreIllegal(ignore bool)

SetIgnoreIllegal 设置忽略上传文件名非法字符

func (*PCSConfig) SetLocalAddrs

func (c *PCSConfig) SetLocalAddrs(localAddrs string)

SetLocalAddrs 设置localAddrs

func (*PCSConfig) SetMaxDownloadRateByStr

func (c *PCSConfig) SetMaxDownloadRateByStr(sizeStr string) error

SetMaxDownloadRateByStr 设置 max_download_rate

func (*PCSConfig) SetMaxUploadRateByStr

func (c *PCSConfig) SetMaxUploadRateByStr(sizeStr string) error

SetMaxUploadRateByStr 设置 max_upload_rate

func (*PCSConfig) SetNoCheck

func (c *PCSConfig) SetNoCheck(nocheck bool)

func (*PCSConfig) SetPCSUA

func (c *PCSConfig) SetPCSUA(pcsUA string)

SetPCSUA 设置 PCS User-Agent

func (*PCSConfig) SetPanUA

func (c *PCSConfig) SetPanUA(panUA string)

SetPanUA 设置 Pan User-Agent

func (*PCSConfig) SetProxy

func (c *PCSConfig) SetProxy(proxy string)

SetProxy 设置代理

func (*PCSConfig) SetUploadPolicy

func (c *PCSConfig) SetUploadPolicy(upolicy string)

SetUploadPolicy 设置上传文件重名时的处理策略

func (*PCSConfig) SetUserAgent

func (c *PCSConfig) SetUserAgent(userAgent string)

SetUserAgent 设置User-Agent

func (*PCSConfig) SetupUserByBDUSS

func (c *PCSConfig) SetupUserByBDUSS(bduss, ptoken, stoken, cookies string) (baidu *Baidu, err error)

SetupUserByBDUSS 设置百度 bduss, ptoken, stoken, cookies 并保存

func (*PCSConfig) SwitchUser

func (c *PCSConfig) SwitchUser(baiduBase *BaiduBase) (*Baidu, error)

SwitchUser 切换用户, 返回切换成功的用户

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL