Versions in this module Expand all Collapse all v1 v1.0.0 Mar 21, 2025 Changes in this version + const HashSize + const ServiceSeparator + var ExportTypes = []ExportType + func RegisterExportFlags(f []cli.Flag) []cli.Flag + func RegisterMagnet2TorrentFlags(f []cli.Flag) []cli.Flag + func RegisterNodesStatFlags(f []cli.Flag) []cli.Flag + func RegisterTorrentStoreFlags(f []cli.Flag) []cli.Flag + func RegisterVideoInfoServiceFlags(f []cli.Flag) []cli.Flag + func RegisterWebFlags(f []cli.Flag) []cli.Flag + type AudioTagBuider struct + func (s *AudioTagBuider) Build() (*ExportTag, error) + type BaseExporter struct + func (s *BaseExporter) BuildURL(r *Resource, i *ListItem, g ParamGetter) (*MyURL, error) + func (s *BaseExporter) Type() ExportType + type BaseTagBuilder struct + func (s *BaseTagBuilder) BuildAVTag(n ExportTagName) (*ExportTag, error) + func (s *BaseTagBuilder) BuildSource(u *MyURL) *ExportSource + func (s *BaseTagBuilder) BuildURL(i *ListItem) (*MyURL, error) + type BaseURLBuilder struct + func (s *BaseURLBuilder) BuildBaseURL(i *MyURL) (u *MyURL, err error) + func (s *BaseURLBuilder) BuildDomain(i *MyURL) (u *MyURL, err error) + func (s *BaseURLBuilder) BuildScheme(i *MyURL) (u *MyURL, err error) + func (s *BaseURLBuilder) GetLastName() string + type CacheMap struct + func NewCacheMap(cl *http.Client) *CacheMap + func (s *CacheMap) Get(u *MyURL) (bool, error) + type DownloadExporter struct + func NewDownloadExporter(ub *URLBuilder) *DownloadExporter + func (s *DownloadExporter) Export(r *Resource, i *ListItem, g ParamGetter) (*ExportItem, error) + type DownloadURLBuilder struct + func (s *DownloadURLBuilder) Build() (u *MyURL, err error) + func (s *DownloadURLBuilder) BuildDownloadURL(i *MyURL) (u *MyURL, err error) + type ErrorResponse struct + Error string + type Export struct + func NewExport(e ...Exporter) *Export + func (s *Export) Get(r *Resource, i *ListItem, args *ExportGetArgs, g ParamGetter) (*ExportResponse, error) + type ExportGetArgs struct + Types []ExportType + func ExportGetArgsFromParams(g ParamGetter) (*ExportGetArgs, error) + type ExportItem struct + Type string + URL string + type ExportKindType string + const ExportKindTypeSubtitles + type ExportMeta struct + Cache bool + Multibitrate bool + Transcode bool + TranscodeCache bool + type ExportMetaItem struct + Meta *ExportMeta + type ExportPreloadType string + const ExportPreloadTypeAuto + const ExportPreloadTypeNone + type ExportResponse struct + ExportItems map[string]ExportItem + Source ListItem + type ExportSource struct + Src string + Type string + type ExportStreamItem struct + Tag *ExportTag + type ExportTag struct + Alt string + Name ExportTagName + Poster string + Preload ExportPreloadType + Sources []ExportSource + Src string + Tracks []ExportTrack + type ExportTagName string + const ExportTagNameAudio + const ExportTagNameImage + const ExportTagNameVideo + type ExportTrack struct + Kind ExportKindType + Label string + Src string + SrcLang string + type ExportType string + const ExportTypeDownload + const ExportTypeMediaProbe + const ExportTypeStream + const ExportTypeSubtitles + const ExportTypeTorrentStat + type Exporter interface + Export func(r *Resource, i *ListItem, g ParamGetter) (*ExportItem, error) + Type func() ExportType + type File struct + Path []string + Pieces []Hash + Size int64 + type Hash [HashSize]byte + type ImageTagBuider struct + func (s *ImageTagBuider) Build() (et *ExportTag, err error) + type K8SClient struct + func NewK8SClient() *K8SClient + func (s *K8SClient) Get() (*kubernetes.Clientset, error) + type List struct + func NewList() *List + func (s *List) Get(r *Resource, args *ListGetArgs) (ListResponse, error) + type ListGetArgs struct + Limit int + Offset int + Output ListOutputType + Path []string + func ListGetArgsFromParams(g ParamGetter) (*ListGetArgs, error) + func NewListGetArgs() *ListGetArgs + type ListItem struct + Ext string + ID string + MediaFormat MediaFormat + MimeType string + Name string + Path []string + PathStr string + Size int64 + Type ListType + func (s *ListItem) SameDirectory(li *ListItem) bool + type ListOutputType string + const ListOutputTypeList + const ListOutputTypeTree + type ListResponse struct + Count int + Items []ListItem + type ListType string + const ListTypeDirectory + const ListTypeFile + type Magnet2Torrent struct + func NewMagnet2Torrent(c *cli.Context) *Magnet2Torrent + func (s *Magnet2Torrent) Close() + func (s *Magnet2Torrent) Get() (m2t.Magnet2TorrentClient, error) + type Magnet2TorrentClientMock struct + func (s *Magnet2TorrentClientMock) Magnet2Torrent(ctx context.Context, in *m2tp.Magnet2TorrentRequest, opts ...grpc.CallOption) (*m2tp.Magnet2TorrentReply, error) + type Magnet2TorrentGetter interface + Get func() (m2tp.Magnet2TorrentClient, error) + type Magnet2TorrentMock struct + func NewMagnet2TorrentMock() *Magnet2TorrentMock + func (s *Magnet2TorrentMock) Get() (m2tp.Magnet2TorrentClient, error) + type MediaFormat string + const Audio + const Image + const Subtitle + const Unknown + const Video + type MediaProbeExporter struct + func NewMediaProbeExporter(ub *URLBuilder) *MediaProbeExporter + func (s *MediaProbeExporter) Export(r *Resource, i *ListItem, g ParamGetter) (*ExportItem, error) + type MediaProbeURLBuilder struct + func (s *MediaProbeURLBuilder) Build() (u *MyURL, err error) + type MyURL struct + func (s *MyURL) BuildExportMeta() *ExportMeta + type NodeStat struct + Name string + Pools []string + RolesAllowed []string + RolesDenied []string + Subdomain string + func (s *NodeStat) IsAllowed(role string) bool + type NodeStatWithScore struct + Distance int + Score float64 + type NodesStat struct + func NewNodesStat(c *cli.Context, kcl *K8SClient) *NodesStat + func (s *NodesStat) Get() ([]NodeStat, error) + type ParamGetter interface + GetHeader func(s string) string + Param func(s string) string + Query func(s string) string + type Resource struct + Files []*File + ID string + MagnetURI string + Name string + Size int64 + Torrent []byte + Type ResourceType + type ResourceMap struct + func NewResourceMap(ts TorrentStoreGetter, m2t Magnet2TorrentGetter) *ResourceMap + func (s *ResourceMap) Get(ctx context.Context, b []byte) (*Resource, error) + type ResourceResponse struct + ID string + MagnetURI string + Name string + type ResourceType int + const ResourceTypeHash + const ResourceTypeMagnet + const ResourceTypeSha1 + const ResourceTypeTorrent + type ServiceType string + const ServiceTypeArchive + const ServiceTypeSRT2VTT + const ServiceTypeTranscode + const ServiceTypeVOD + const ServiceTypeVideoInfo + type StreamExporter struct + func NewStreamExporter(ub *URLBuilder, tb *TagBuilder) *StreamExporter + func (s *StreamExporter) Export(r *Resource, i *ListItem, g ParamGetter) (*ExportItem, error) + func (s *StreamExporter) MakeExportStreamItem(r *Resource, i *ListItem, g ParamGetter) (*ExportStreamItem, error) + func (s *StreamExporter) Type() ExportType + type StreamURLBuilder struct + func (s *StreamURLBuilder) Build() (u *MyURL, err error) + func (s *StreamURLBuilder) BuildAudioStreamURL(i *MyURL, suffix string) (u *MyURL, err error) + func (s *StreamURLBuilder) BuildSRT2VTTURL(i *MyURL) (u *MyURL) + func (s *StreamURLBuilder) BuildStreamURL(i *MyURL, suffix string) (u *MyURL, err error) + func (s *StreamURLBuilder) BuildSubtitleStreamURL(i *MyURL) (u *MyURL, err error) + func (s *StreamURLBuilder) BuildTranscodeURL(i *MyURL, suffix string) (u *MyURL, err error) + func (s *StreamURLBuilder) BuildVODURL(i *MyURL, suffix string) (u *MyURL) + func (s *StreamURLBuilder) BuildVideoStreamURL(i *MyURL, suffix string) (u *MyURL, err error) + type Subdomains struct + func NewSubdomains(nsp *NodesStat) *Subdomains + func (s *Subdomains) Get(infohash string, pool string, role string) ([]string, error) + type Subtitles struct + URL string + type SubtitlesExporter struct + func NewSubtitlesExporter(c *cli.Context, ub *URLBuilder) *SubtitlesExporter + func (s *SubtitlesExporter) Export(r *Resource, i *ListItem, g ParamGetter) (*ExportItem, error) + type SubtitlesURLBuilder struct + func (s *SubtitlesURLBuilder) Build() (u *MyURL, err error) + func (s *SubtitlesURLBuilder) BuildSubtitlesURL(i *MyURL) (u *MyURL) + type TagBuilder struct + func NewTagBuilder(ub *URLBuilder, l *List) *TagBuilder + func (s *TagBuilder) Build(r *Resource, i *ListItem, g ParamGetter) (*ExportTag, error) + type TorrentStatExporter struct + func NewTorrentStatExporter(ub *URLBuilder) *TorrentStatExporter + func (s *TorrentStatExporter) Export(r *Resource, i *ListItem, g ParamGetter) (*ExportItem, error) + type TorrentStatURLBuilder struct + func (s *TorrentStatURLBuilder) Build() (u *MyURL, err error) + func (s *TorrentStatURLBuilder) BuildStatURL(i *MyURL) *MyURL + type TorrentStore struct + func NewTorrentStore(c *cli.Context) *TorrentStore + func (s *TorrentStore) Close() + func (s *TorrentStore) Get() (ts.TorrentStoreClient, error) + type TorrentStoreClientMock struct + func (s *TorrentStoreClientMock) Pull(ctx context.Context, in *tsp.PullRequest, opts ...grpc.CallOption) (*tsp.PullReply, error) + func (s *TorrentStoreClientMock) Push(ctx context.Context, in *tsp.PushRequest, opts ...grpc.CallOption) (*tsp.PushReply, error) + func (s *TorrentStoreClientMock) Touch(ctx context.Context, in *tsp.TouchRequest, opts ...grpc.CallOption) (*tsp.TouchReply, error) + type TorrentStoreGetter interface + Get func() (tsp.TorrentStoreClient, error) + type TorrentStoreMock struct + func NewTorrentStoreMock() *TorrentStoreMock + func (s *TorrentStoreMock) Get() (tsp.TorrentStoreClient, error) + type URLBuilder struct + func NewURLBuilder(c *cli.Context, sd *Subdomains, cm *CacheMap) *URLBuilder + func (s *URLBuilder) Build(r *Resource, i *ListItem, g ParamGetter, et ExportType) (*MyURL, error) + type VideoTagBuider struct + func (s *VideoTagBuider) Build() (*ExportTag, error) + func (s *VideoTagBuider) BuildAttachedResources(et *ExportTag) (*ExportTag, error) + func (s *VideoTagBuider) BuildTrack(i *ListItem) (*ExportTrack, error) + type Web struct + func NewWeb(c *cli.Context, rm *ResourceMap, co *List, ex *Export) *Web + func (s *Web) Close() + func (s *Web) Serve() error