utils

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2025 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	E_PROJECT_DATA   = "PROJECT_DATA"
	E_PROJECT_SM4KEY = "PROJECT_SM4KEY"
	E_PROJECT_LANG   = "PROJECT_LANG"

	E_OPENLIST_DOMAIN   = "OPENLIST_DOMAIN"
	E_OPENLIST_USERNAME = "OPENLIST_USERNAME"
	E_OPENLIST_PASSWORD = "OPENLIST_PASSWORD"
	E_OPENLIST_CODE     = "OPENLIST_CODE"
)

Variables

View Source
var (
	DATA_PATH     = getEnvWithDefault(E_PROJECT_DATA)
	SM4_KEY       = getEnvWithDefault(E_PROJECT_SM4KEY)
	LANG          = getEnvWithDefault(E_PROJECT_LANG)
	STREAM_PATH   = DATA_PATH + "/stream"
	DOWNLOAD_PATH = DATA_PATH + "/download"

	OPENLIST_DOMAIN   = getEnvWithDefault(E_OPENLIST_DOMAIN)
	OPENLIST_USERNAME = getEnvWithDefault(E_OPENLIST_USERNAME)
	OPENLIST_PASSWORD = getEnvWithDefault(E_OPENLIST_PASSWORD)
	OPENLIST_CODE     = getEnvWithDefault(E_OPENLIST_CODE)
)

Functions

func BuildSegmentTemplate added in v0.0.8

func BuildSegmentTemplate(file string, ext string) string

func CalcNextDate

func CalcNextDate(cycleNum, cycleType, cycleDay int, startDate *gtime.Time) *gtime.Time

func ClacDateBetween

func ClacDateBetween(now, nextDate *gtime.Time) int

func CompletedCheckFile added in v0.0.9

func CompletedCheckFile(ctx context.Context, absPath string) error

func Decrypt

func Decrypt(ctx context.Context, ciphertextHex string) (string, error)

Decrypt 使用 SM4-CBC 模式解密数据

func DiffNowSeconds added in v0.0.9

func DiffNowSeconds(t *gtime.Time) int

func Encrypt

func Encrypt(ctx context.Context, ciphertext string) (string, error)

Decrypt 使用 SM4-CBC 模式解密数据

func EnsureSuffix added in v0.0.8

func EnsureSuffix(path string, suffix string) string

func FileAbsPath added in v0.0.9

func FileAbsPath(path, filename string) (string, error)

func FindFirstMatch added in v0.0.3

func FindFirstMatch(s, reg string) string

func GenRandomString

func GenRandomString(length int, validChars string) string

func GetCookieList

func GetCookieList(cookie string) []*http.Cookie

func GetCookieMap added in v0.0.3

func GetCookieMap(platform, cookie, refer string) map[string]string

func GetDefaultFFmpegPath

func GetDefaultFFmpegPath() (string, error)

func GetDefaultFFprobePath added in v0.0.9

func GetDefaultFFprobePath() (string, error)

func GetDefaultLang added in v0.2.0

func GetDefaultLang() string

func GetDiskFreeGBInt added in v0.0.10

func GetDiskFreeGBInt() int

func GetDiskUsage added in v0.0.2

func GetDiskUsage() int

func GetDownloadFilenameTemplate

func GetDownloadFilenameTemplate(outputPath, format string, random string) *template.Template

func GetDownloadPath

func GetDownloadPath() string

func GetDownloadPathTemplate

func GetDownloadPathTemplate(isTemp bool) *template.Template

func GetFilenameTemplate

func GetFilenameTemplate(outputPath, format string, index int) *template.Template

func GetOutputPath

func GetOutputPath() string

func GetOutputPathTemplate

func GetOutputPathTemplate(index int) *template.Template

func GetTempDownloadPath

func GetTempDownloadPath() string

func HasAnyFile added in v0.1.0

func HasAnyFile(path string) bool

func IsTimeRange

func IsTimeRange(st, et string) bool

func Md5En

func Md5En(data string) string

对字符串进行MD5哈希

func Now

func Now() *gtime.Time

func ParseChineseNumberToInt added in v0.0.3

func ParseChineseNumberToInt(s string) int

func QuickCheckFile added in v0.0.9

func QuickCheckFile(ctx context.Context, absPath string) error

func RandomSecondsBatesInt added in v0.0.5

func RandomSecondsBatesInt(lower, upper int, n int) int

func RemoveEmoji added in v0.2.3

func RemoveEmoji(s string) string

func ReplaceColonWithDash added in v0.2.3

func ReplaceColonWithDash(name string) string

func SanitizeFilename

func SanitizeFilename(filename string) string

func Sha1En

func Sha1En(data string) string

sha1加密

func T added in v0.2.0

func T(ctx context.Context, key string) string

func TError added in v0.2.0

func TError(ctx context.Context, key string) error

func Text

func Text(r *http.Response) (string, error)

func Tf added in v0.2.0

func Tf(ctx context.Context, key string, format any) string

func TfError added in v0.2.0

func TfError(ctx context.Context, key string, format any) error

Types

type FFmpegBuilder

type FFmpegBuilder struct {
	// contains filtered or unexported fields
}

func NewFFmpegBuilder

func NewFFmpegBuilder() *FFmpegBuilder

func (*FFmpegBuilder) AddArg

func (b *FFmpegBuilder) AddArg(arg string) *FFmpegBuilder

func (*FFmpegBuilder) AddArgs

func (b *FFmpegBuilder) AddArgs(args ...string) *FFmpegBuilder

func (*FFmpegBuilder) AddCookie

func (b *FFmpegBuilder) AddCookie(cookie string) *FFmpegBuilder

func (*FFmpegBuilder) AddCpuUsage

func (b *FFmpegBuilder) AddCpuUsage(usage string) *FFmpegBuilder

func (*FFmpegBuilder) AddDefaultThreads

func (b *FFmpegBuilder) AddDefaultThreads() *FFmpegBuilder

func (*FFmpegBuilder) AddDefaultUserAgent

func (b *FFmpegBuilder) AddDefaultUserAgent() *FFmpegBuilder

func (*FFmpegBuilder) AddHeader

func (b *FFmpegBuilder) AddHeader(key, value string) *FFmpegBuilder

func (*FFmpegBuilder) AddReferer

func (b *FFmpegBuilder) AddReferer(referer string) *FFmpegBuilder

func (*FFmpegBuilder) AddThreads

func (b *FFmpegBuilder) AddThreads(threads int) *FFmpegBuilder

func (*FFmpegBuilder) AddUserAgent

func (b *FFmpegBuilder) AddUserAgent(userAgent string) *FFmpegBuilder

func (*FFmpegBuilder) AudioCodec

func (b *FFmpegBuilder) AudioCodec(codec string) *FFmpegBuilder

func (*FFmpegBuilder) Build

func (b *FFmpegBuilder) Build() *exec.Cmd

Build 构建 FFmpeg 命令

func (*FFmpegBuilder) BuildWithContext

func (b *FFmpegBuilder) BuildWithContext(ctx context.Context) *exec.Cmd

BuildWithContext 构建带有上下文的 FFmpeg 命令

func (*FFmpegBuilder) Codec

func (b *FFmpegBuilder) Codec(codecType, codec string) *FFmpegBuilder

func (*FFmpegBuilder) CopyCodec

func (b *FFmpegBuilder) CopyCodec() *FFmpegBuilder

func (*FFmpegBuilder) Execute

func (b *FFmpegBuilder) Execute(ctx context.Context) ([]byte, error)

Execute 执行 FFmpeg 命令

func (*FFmpegBuilder) ExecuteWithProgress

func (b *FFmpegBuilder) ExecuteWithProgress(ctx context.Context) (io.ReadCloser, error)

ExecuteWithProgress 执行 FFmpeg 命令并返回进度读取器

func (*FFmpegBuilder) FastStart

func (b *FFmpegBuilder) FastStart() *FFmpegBuilder

func (*FFmpegBuilder) Input

func (b *FFmpegBuilder) Input(input string) *FFmpegBuilder

func (*FFmpegBuilder) InputOption

func (b *FFmpegBuilder) InputOption(option string) *FFmpegBuilder

func (*FFmpegBuilder) Output

func (b *FFmpegBuilder) Output(output string) *FFmpegBuilder

func (*FFmpegBuilder) Overwrite

func (b *FFmpegBuilder) Overwrite() *FFmpegBuilder

func (*FFmpegBuilder) ShowProgress

func (b *FFmpegBuilder) ShowProgress() *FFmpegBuilder

func (*FFmpegBuilder) String

func (b *FFmpegBuilder) String() string

String 返回完整的命令字符串

func (*FFmpegBuilder) VideoCodec

func (b *FFmpegBuilder) VideoCodec(codec string) *FFmpegBuilder

type FFprobeBuilder added in v0.0.9

type FFprobeBuilder struct {
	// contains filtered or unexported fields
}

func NewFFprobeBuilder added in v0.0.9

func NewFFprobeBuilder() *FFprobeBuilder

func (*FFprobeBuilder) AddArg added in v0.0.9

func (b *FFprobeBuilder) AddArg(arg string) *FFprobeBuilder

func (*FFprobeBuilder) AddArgs added in v0.0.9

func (b *FFprobeBuilder) AddArgs(args ...string) *FFprobeBuilder

func (*FFprobeBuilder) Build added in v0.0.9

func (b *FFprobeBuilder) Build(ctx context.Context) *exec.Cmd

func (*FFprobeBuilder) BuildArgs added in v0.0.9

func (b *FFprobeBuilder) BuildArgs() []string

func (*FFprobeBuilder) Execute added in v0.0.9

func (b *FFprobeBuilder) Execute(ctx context.Context) (string, string, error)

func (*FFprobeBuilder) Input added in v0.0.9

func (b *FFprobeBuilder) Input(absPath string) *FFprobeBuilder

type SingleI18n added in v0.2.0

type SingleI18n struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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