Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
server
command
|
|
|
internal
|
|
|
ai
Package ai is a small OpenAI-compatible LLM client with a configurable fallback chain, used to turn a messy torrent name into a clean title before the TMDB lookup.
|
Package ai is a small OpenAI-compatible LLM client with a configurable fallback chain, used to turn a messy torrent name into a clean title before the TMDB lookup. |
|
audiometa
Package audiometa reads ID3/MP4/Vorbis/FLAC tags from local audio files via the pure-Go github.com/dhowden/tag (no CGO — keeps the Docker build simple).
|
Package audiometa reads ID3/MP4/Vorbis/FLAC tags from local audio files via the pure-Go github.com/dhowden/tag (no CGO — keeps the Docker build simple). |
|
auth
Package auth implements user authentication with JWT access tokens + opaque refresh tokens.
|
Package auth implements user authentication with JWT access tokens + opaque refresh tokens. |
|
contentid
Package contentid derives identities for files so the SAME content can be recognised across torrents and mounts without re-downloading it.
|
Package contentid derives identities for files so the SAME content can be recognised across torrents and mounts without re-downloading it. |
|
db
Package db owns the shared PostgreSQL connection pool and schema migrations.
|
Package db owns the shared PostgreSQL connection pool and schema migrations. |
|
dbtest
Package dbtest provides an isolated PostgreSQL handle for store tests.
|
Package dbtest provides an isolated PostgreSQL handle for store tests. |
|
dbutil
Package dbutil holds tiny helpers shared by SQLite-backed stores.
|
Package dbutil holds tiny helpers shared by SQLite-backed stores. |
|
diskutil
Package diskutil exposes filesystem-level disk usage, shared by the local mounts browser and the streaming cache stats so neither has to embed its own statfs call (and so the streamer doesn't have to import the handlers package).
|
Package diskutil exposes filesystem-level disk usage, shared by the local mounts browser and the streaming cache stats so neither has to embed its own statfs call (and so the streamer doesn't have to import the handlers package). |
|
downloads
Package downloads persists per-user background downloads — full-file torrent transfers that run to completion regardless of player activity.
|
Package downloads persists per-user background downloads — full-file torrent transfers that run to completion regardless of player activity. |
|
gluetun
Package gluetun talks to a gluetun VPN container's control server to obtain the provider's forwarded port.
|
Package gluetun talks to a gluetun VPN container's control server to obtain the provider's forwarded port. |
|
handlers/httpshared
Package httpshared holds the leaf HTTP helpers shared between package handlers and its subpackage handlers/local.
|
Package httpshared holds the leaf HTTP helpers shared between package handlers and its subpackage handlers/local. |
|
httpretry
Package httpretry retries idempotent HTTP calls with exponential backoff.
|
Package httpretry retries idempotent HTTP calls with exponential backoff. |
|
imagesearch
Package imagesearch finds a poster/cover image for a title on the open web.
|
Package imagesearch finds a poster/cover image for a title on the open web. |
|
library
Package library persists per-user metadata about every torrent the user has streamed.
|
Package library persists per-user metadata about every torrent the user has streamed. |
|
localcache
Package localcache pre-fetches whole files from slow/remote mounts (rclone / Google Drive) onto fast local disk so playback is instant, seekable, and immune to the intermittent I/O errors the FUSE mount throws.
|
Package localcache pre-fetches whole files from slow/remote mounts (rclone / Google Drive) onto fast local disk so playback is instant, seekable, and immune to the intermittent I/O errors the FUSE mount throws. |
|
localstream
Package localstream wraps the io.ReadSeeker of a local mounted file so the server can do two things at once while a video plays:
|
Package localstream wraps the io.ReadSeeker of a local mounted file so the server can do two things at once while a video plays: |
|
lyrics
Package lyrics proxies the public LrcLib API (https://lrclib.net) from the backend, mirroring how tmdb/subtitles/imagesearch call external services server-side.
|
Package lyrics proxies the public LrcLib API (https://lrclib.net) from the backend, mirroring how tmdb/subtitles/imagesearch call external services server-side. |
|
mailer
Package mailer sends transactional email (password reset, email verification, invites) over SMTP.
|
Package mailer sends transactional email (password reset, email verification, invites) over SMTP. |
|
middleware
Package middleware holds cross-cutting Gin middlewares that don't fit a single feature package.
|
Package middleware holds cross-cutting Gin middlewares that don't fit a single feature package. |
|
musictrending
Package musictrending proxies Apple's keyless "Marketing Tools" RSS feed (top albums per country) from the backend, mirroring how tmdb/lyrics call external services server-side.
|
Package musictrending proxies Apple's keyless "Marketing Tools" RSS feed (top albums per country) from the backend, mirroring how tmdb/lyrics call external services server-side. |
|
parser
Package parser extracts release metadata from torrent titles.
|
Package parser extracts release metadata from torrent titles. |
|
playlists
Package playlists manages per-user ordered collections of torrent references.
|
Package playlists manages per-user ordered collections of torrent references. |
|
preview
Package preview implements safe, read-only inspection of container files (zip/tar/tar.gz/rar archives, CBZ/CBR comics, EPUB books) for the universal file viewer.
|
Package preview implements safe, read-only inspection of container files (zip/tar/tar.gz/rar archives, CBZ/CBR comics, EPUB books) for the universal file viewer. |
|
push
Package push persists Web Push subscriptions + the in-app notification feed and delivers notifications to both.
|
Package push persists Web Push subscriptions + the in-app notification feed and delivers notifications to both. |
|
stats
Package stats aggregates per-user usage statistics from data the app already records (library resume positions, downloads, search history, watchlists).
|
Package stats aggregates per-user usage statistics from data the app already records (library resume positions, downloads, search history, watchlists). |
|
streamer
Package streamer manages active torrents for HTTP streaming.
|
Package streamer manages active torrents for HTTP streaming. |
|
subtitles
Package subtitles searches and downloads subtitles via OpenSubtitles REST v1.
|
Package subtitles searches and downloads subtitles via OpenSubtitles REST v1. |
|
tmdb
Package tmdb is a minimal The Movie Database client + on-disk cache.
|
Package tmdb is a minimal The Movie Database client + on-disk cache. |
|
transcode
Package transcode probes the host environment for hardware-accelerated video encoding/decoding options and exposes a runtime capability matrix.
|
Package transcode probes the host environment for hardware-accelerated video encoding/decoding options and exposes a runtime capability matrix. |
|
transfer
Package transfer is a small in-memory tracker for long-running file move/copy operations (post-download move, Local-tab move, AI/promote), so the UI can show ONE consistent progress pattern for all of them: X/Y files, bytes done/total, transfer rate and ETA.
|
Package transfer is a small in-memory tracker for long-running file move/copy operations (post-download move, Local-tab move, AI/promote), so the UI can show ONE consistent progress pattern for all of them: X/Y files, bytes done/total, transfer rate and ETA. |
|
version
Package version exposes build metadata (git commit, build time, version).
|
Package version exposes build metadata (git commit, build time, version). |
|
watchlist
Package watchlist persists per-user search queries that the server polls in the background.
|
Package watchlist persists per-user search queries that the server polls in the background. |
Click to show internal directories.
Click to hide internal directories.