Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
conformdiff
command
conformdiff records and compares protocol responses and checks offline reference drift.
|
conformdiff records and compares protocol responses and checks offline reference drift. |
|
ether
command
Command ether runs the Ether media server: a TMDB catalogue with on-demand streaming from owner-configured Usenet and debrid sources.
|
Command ether runs the Ether media server: a TMDB catalogue with on-demand streaming from owner-configured Usenet and debrid sources. |
|
ether-livebench
command
Command ether-livebench measures time-to-playable against real services: it resolves a title over the owner's indexers and Usenet providers, opens it, reads the first bytes, seeks, and probes it.
|
Command ether-livebench measures time-to-playable against real services: it resolves a title over the owner's indexers and Usenet providers, opens it, reads the first bytes, seeks, and probes it. |
|
ether-release-sign
command
Command ether-release-sign manages Ether's release-signing keys and signs update manifests.
|
Command ether-release-sign manages Ether's release-signing keys and signs update manifests. |
|
ether-repairbench
command
ether-repairbench performs explicitly invoked live experiments; ordinary Go tests remain offline.
|
ether-repairbench performs explicitly invoked live experiments; ordinary Go tests remain offline. |
|
ether-transcodebench
command
Command ether-transcodebench measures Ether's real transcode.Manager (probe, explicit decision, simultaneous HLS sessions consumed through ServeSegment) against a local fixture served over loopback range HTTP.
|
Command ether-transcodebench measures Ether's real transcode.Manager (probe, explicit decision, simultaneous HLS sessions consumed through ServeSegment) against a local fixture served over loopback range HTTP. |
|
ether-tray
command
Command ether-tray is Ether's tray / menu-bar companion: it shows server status, opens the web UI, starts/stops the service, checks the signed update feed (notify only: the server installs updates itself) and can launch at login.
|
Command ether-tray is Ether's tray / menu-bar companion: it shows server status, opens the web UI, starts/stops the service, checks the signed update feed (notify only: the server installs updates itself) and can launch at login. |
|
etherperf
command
Command etherperf measures Ether the way clients use it: it copies a real data directory, starts a real Ether process on it with outbound network blocked, replays each client's request sequence (Plex, Jellyfin and Emby apps including Infuse, Silo, Stremio and the owner console) cold, warm, under concurrent viewers and beside a busy catalogue writer, and reports every endpoint against its latency budget together with the database work the server did for it.
|
Command etherperf measures Ether the way clients use it: it copies a real data directory, starts a real Ether process on it with outbound network blocked, replays each client's request sequence (Plex, Jellyfin and Emby apps including Infuse, Silo, Stremio and the owner console) cold, warm, under concurrent viewers and beside a busy catalogue writer, and reports every endpoint against its latency budget together with the database work the server did for it. |
|
plexparity
command
Command plexparity compares Plex responses using disposable offline fixtures.
|
Command plexparity compares Plex responses using disposable offline fixtures. |
|
scorecard
command
Scorecard measures explicitly configured, read-only HTTP requests against two servers.
|
Scorecard measures explicitly configured, read-only HTTP requests against two servers. |
|
usenetbench
command
usenetbench generates a deterministic local NNTP fixture and downloads it through Ether's production fetcher or streaming engine.
|
usenetbench generates a deterministic local NNTP fixture and downloads it through Ether's production fetcher or streaming engine. |
|
internal
|
|
|
admin
Package admin is Ether's owner-facing HTTP surface: the JSON API under /ether/api/ and the embedded React SPA (setup wizard, dashboard, settings, logs, resolver traces) served under /ether/.
|
Package admin is Ether's owner-facing HTTP surface: the JSON API under /ether/api/ and the embedded React SPA (setup wizard, dashboard, settings, logs, resolver traces) served under /ether/. |
|
animemap
Package animemap maps TMDB titles to the anime databases (Kitsu, MyAnimeList, AniList, AniDB) whose ids anime-only Stremio addons look titles up by.
|
Package animemap maps TMDB titles to the anime databases (Kitsu, MyAnimeList, AniList, AniDB) whose ids anime-only Stremio addons look titles up by. |
|
app
Package app wires Ether's components into one running server: the Plex front end and the owner UI on one port, and the background services (catalogue sync, plex.tv registration, prefetch, LAN discovery) behind it.
|
Package app wires Ether's components into one running server: the Plex front end and the owner UI on one port, and the background services (catalogue sync, plex.tv registration, prefetch, LAN discovery) behind it. |
|
archive
Package archive reads the headers of RAR (4.x and 5.x) and 7z archives and maps each inner file onto byte ranges (extents) of the archive volumes, so that store-mode members can be streamed (with native decryption when needed) out of the volumes without extracting anything.
|
Package archive reads the headers of RAR (4.x and 5.x) and 7z archives and maps each inner file onto byte ranges (extents) of the archive volumes, so that store-mode members can be streamed (with native decryption when needed) out of the volumes without extracting anything. |
|
archive/archivetest
Package archivetest builds small RAR 4.x / RAR 5.0 archives (and Copy-mode 7z archives) for tests.
|
Package archivetest builds small RAR 4.x / RAR 5.0 archives (and Copy-mode 7z archives) for tests. |
|
artwork
Package artwork serves and makes Ether's artwork: a caching proxy for TMDB images (memory LRU over a disk cache) and a pure-Go poster generator for collections (collage and backdrop treatments with the title set in the Go fonts).
|
Package artwork serves and makes Ether's artwork: a caching proxy for TMDB images (memory LRU over a disk cache) and a pure-Go poster generator for collections (collage and backdrop treatments with the title set in the Go fonts). |
|
artwork/service
Package service owns shared artwork authorization, selection and rendering.
|
Package service owns shared artwork authorization, selection and rendering. |
|
auth
Package auth implements core.Auth: it maps the X-Plex-Token a Plex app presents to an Ether user, and keeps the users table with per-user settings (stream limit, content rating cap, languages, sections).
|
Package auth implements core.Auth: it maps the X-Plex-Token a Plex app presents to an Ether user, and keeps the users table with per-user settings (stream limit, content rating cap, languages, sections). |
|
availability
Package availability discovers releases incrementally and spends a bounded background allowance validating useful candidates.
|
Package availability discovers releases incrementally and spends a bounded background allowance validating useful candidates. |
|
backup
Package backup creates integrity-checked, portable snapshots without copying live WAL files.
|
Package backup creates integrity-checked, portable snapshots without copying live WAL files. |
|
cachefill
Package cachefill maintains an opt-in, bounded local shelf of complete media sources.
|
Package cachefill maintains an opt-in, bounded local shelf of complete media sources. |
|
calendar
Package calendar assembles the owner's release calendar: upcoming and recent episodes of the shows the household watches or has watchlisted, and movie releases from watchlists, Look Ahead collections and the household's taste.
|
Package calendar assembles the owner's release calendar: upcoming and recent episodes of the shows the household watches or has watchlisted, and movie releases from watchlists, Look Ahead collections and the household's taste. |
|
cardigann
Package cardigann runs owner-supplied indexer definitions written in the Cardigann YAML format (the format Prowlarr and Jackett use for their built-in sites).
|
Package cardigann runs owner-supplied indexer definitions written in the Cardigann YAML format (the format Prowlarr and Jackett use for their built-in sites). |
|
catalog
Package catalog implements core.Catalog: a SQLite mirror of a filtered TMDB slice plus on-demand fetches for anything else.
|
Package catalog implements core.Catalog: a SQLite mirror of a filtered TMDB slice plus on-demand fetches for anything else. |
|
clientreg
Package clientreg is the data-driven client capability engine.
|
Package clientreg is the data-driven client capability engine. |
|
cluster
Package cluster is Ether's multi-node runtime: node identity, liveness heartbeats, leader election and a small cross-node event bus.
|
Package cluster is Ether's multi-node runtime: node identity, liveness heartbeats, leader election and a small cross-node event bus. |
|
clusterbus
Package clusterbus is the small surface components use to take part in a cluster: publishing and receiving events on the cluster bus, knowing their own node ID and which nodes are alive, and dropping in-memory caches when another node writes the shared database (Invalidator).
|
Package clusterbus is the small surface components use to take part in a cluster: publishing and receiving events on the cluster bus, knowing their own node ID and which nodes are alive, and dropping in-memory caches when another node writes the shared database (Invalidator). |
|
clusterconfig
Package clusterconfig keeps the settings and identity material that the nodes of an Ether cluster share in the owner's PostgreSQL database:
|
Package clusterconfig keeps the settings and identity material that the nodes of an Ether cluster share in the owner's PostgreSQL database: |
|
collections
Package collections is Ether's collection engine.
|
Package collections is Ether's collection engine. |
|
config
Package config is Ether's owner-editable settings, stored as JSON in the data directory.
|
Package config is Ether's owner-editable settings, stored as JSON in the data directory. |
|
conform/capture
Package capture records sanitized HTTP traffic while proxying client requests.
|
Package capture records sanitized HTTP traffic while proxying client requests. |
|
conform/mediabrowser
Package mediabrowser implements profile-driven Jellyfin and Emby probes.
|
Package mediabrowser implements profile-driven Jellyfin and Emby probes. |
|
conform/openapi
Package openapi validates JSON responses against OpenAPI 3 and Swagger 2 documents.
|
Package openapi validates JSON responses against OpenAPI 3 and Swagger 2 documents. |
|
conform/silo
Package silo provides Silo's native profile-driven conformance protocol.
|
Package silo provides Silo's native profile-driven conformance protocol. |
|
conform/specs
Package specs exposes the pinned conformance manifest to offline tools.
|
Package specs exposes the pinned conformance manifest to offline tools. |
|
contentrating
Package contentrating is Ether's one content-rating model.
|
Package contentrating is Ether's one content-rating model. |
|
core
Package core holds the domain types and the interfaces between Ether's components.
|
Package core holds the domain types and the interfaces between Ether's components. |
|
debrid
Package debrid streams torrent releases through owner-configured debrid services (Real-Debrid, TorBox, AllDebrid, Premiumize, Debrid-Link, Offcloud), and Stremio addons' own HTTP stream links (direct.go).
|
Package debrid streams torrent releases through owner-configured debrid services (Real-Debrid, TorBox, AllDebrid, Premiumize, Debrid-Link, Offcloud), and Stremio addons' own HTTP stream links (direct.go). |
|
diagnostics
Package diagnostics records a bounded, owner-confirmed support capture and builds one redacted ZIP.
|
Package diagnostics records a bounded, owner-confirmed support capture and builds one redacted ZIP. |
|
discovery
Package discovery owns shared discovery enrichment and its bounded worker.
|
Package discovery owns shared discovery enrichment and its bounded worker. |
|
egress
Package egress routes Ether's outbound dials.
|
Package egress routes Ether's outbound dials. |
|
episodeorder
Package episodeorder provides presentation-only TV ordering.
|
Package episodeorder provides presentation-only TV ordering. |
|
experience
Package experience contains protocol-independent viewer experience logic.
|
Package experience contains protocol-independent viewer experience logic. |
|
extras
Package extras lists and resolves trailers and other clips attached to catalogue titles (Plex "Extras" and Cinema Trailers).
|
Package extras lists and resolves trailers and other clips attached to catalogue titles (Plex "Extras" and Cinema Trailers). |
|
faillog
Package faillog logs a repeating background failure (a heartbeat or sync loop that cannot reach the database) without flooding the log: the first failure is logged at WARN, later ones are summarised at most once per interval, and the recovery is logged once at INFO.
|
Package faillog logs a repeating background failure (a heartbeat or sync loop that cannot reach the database) without flooding the log: the first failure is logged at WARN, later ones are summarised at most once per interval, and the recovery is logged once at INFO. |
|
favorites
Package favorites owns per-viewer favorite identities.
|
Package favorites owns per-viewer favorite identities. |
|
flight
Package flight collapses concurrent calls for the same key into one execution whose result every caller shares.
|
Package flight collapses concurrent calls for the same key into one execution whose result every caller shares. |
|
frontend
Package frontend defines the protocol-facing contracts provided by Ether.
|
Package frontend defines the protocol-facing contracts provided by Ether. |
|
frontend/compactids
Package compactids allocates durable compact protocol identifiers.
|
Package compactids allocates durable compact protocol identifiers. |
|
frontend/frontendtest
Package frontendtest supplies configurable fakes for protocol implementations.
|
Package frontendtest supplies configurable fakes for protocol implementations. |
|
frontend/kit/authhdr
Package authhdr parses client authentication headers without exposing tokens in URLs.
|
Package authhdr parses client authentication headers without exposing tokens in URLs. |
|
frontend/kit/caps
Package caps builds neutral client capabilities from protocol profiles.
|
Package caps builds neutral client capabilities from protocol profiles. |
|
frontend/kit/conformance
Package conformance reads release-generated, embedded protocol evidence.
|
Package conformance reads release-generated, embedded protocol evidence. |
|
frontend/kit/hls
Package hls writes token-free playlists under random session paths.
|
Package hls writes token-free playlists under random session paths. |
|
frontend/kit/ids
Package ids provides stable, stateless protocol identifiers.
|
Package ids provides stable, stateless protocol identifiers. |
|
frontend/kit/images
Package images contains protocol-independent artwork helpers.
|
Package images contains protocol-independent artwork helpers. |
|
frontend/kit/language
Package language exposes the shared language-tag validation to frontends.
|
Package language exposes the shared language-tag validation to frontends. |
|
frontend/kit/libpath
Package libpath defines the shared virtual library names exposed by clients.
|
Package libpath defines the shared virtual library names exposed by clients. |
|
frontend/kit/paging
Package paging applies bounded offset/limit windows without integer overflow.
|
Package paging applies bounded offset/limit windows without integer overflow. |
|
frontend/kit/quality
Package quality exposes the transcoder's published H.264 rung targets without a frontend importing the transcoder.
|
Package quality exposes the transcoder's published H.264 rung targets without a frontend importing the transcoder. |
|
frontend/kit/route
Package route provides an enumerable case-insensitive protocol router.
|
Package route provides an enumerable case-insensitive protocol router. |
|
frontend/kit/rows
Package rows supplies helpers for rendering supported neutral row entries.
|
Package rows supplies helpers for rendering supported neutral row entries. |
|
frontend/kit/sort
Package sort translates protocol sort keys into Ether browse orders.
|
Package sort translates protocol sort keys into Ether browse orders. |
|
frontends/dlna
Package dlna presents a LAN-only UPnP MediaServer.
|
Package dlna presents a LAN-only UPnP MediaServer. |
|
frontends/m3u
Package m3u exports viewer-filtered channels and guide data.
|
Package m3u exports viewer-filtered channels and guide data. |
|
frontends/mediabrowser
Personalized home rows are extra CollectionFolders on this engine.
|
Personalized home rows are extra CollectionFolders on this engine. |
|
frontends/silo
Package silo translates Silo's native API into the frontend host contracts.
|
Package silo translates Silo's native API into the frontend host contracts. |
|
frontends/stremio
Package stremio presents Ether's viewer-specific Stremio addon.
|
Package stremio presents Ether's viewer-specific Stremio addon. |
|
frontends/webdav
Package webdav exposes a viewer-scoped, read-only virtual filesystem.
|
Package webdav exposes a viewer-scoped, read-only virtual filesystem. |
|
handles
Package handles provides shared mechanics for scoped opaque handles.
|
Package handles provides shared mechanics for scoped opaque handles. |
|
handles/capability
Package capability contains shared capability storage.
|
Package capability contains shared capability storage. |
|
handles/reservations
Package reservations registers retirement migrations for the former store.
|
Package reservations registers retirement migrations for the former store. |
|
hoststat
Package hoststat reads process-tree, network and GPU presence for soak telemetry.
|
Package hoststat reads process-tree, network and GPU presence for soak telemetry. |
|
identity
Package identity contains protocol-neutral household identity services.
|
Package identity contains protocol-neutral household identity services. |
|
langfeat
Package langfeat runs the owner's language-model features that a viewer or admin asks for explicitly: translating an existing subtitle, writing subtitles from audio, and translating an overview and tagline.
|
Package langfeat runs the owner's language-model features that a viewer or admin asks for explicitly: translating an existing subtitle, writing subtitles from audio, and translating an overview and tagline. |
|
langtag
Package langtag is the single shared language-tag helper for Ether.
|
Package langtag is the single shared language-tag helper for Ether. |
|
libraryfilter
Package libraryfilter evaluates owner catalogue visibility rules without network access.
|
Package libraryfilter evaluates owner catalogue visibility rules without network access. |
|
livetv
Package livetv implements owner-defined virtual channels and IPTV playout.
|
Package livetv implements owner-defined virtual channels and IPTV playout. |
|
llm
Package llm is an optional multi-provider chat client (OpenAI, Anthropic, Gemini, OpenRouter, Ollama, LM Studio, any OpenAI-compatible server, …) used for natural-language recommendation rows: "more like this" for a title and themed rows from a user's history ("Slow-burn sci-fi with a twist").
|
Package llm is an optional multi-provider chat client (OpenAI, Anthropic, Gemini, OpenRouter, Ollama, LM Studio, any OpenAI-compatible server, …) used for natural-language recommendation rows: "more like this" for a title and themed rows from a user's history ("Slow-burn sci-fi with a twist"). |
|
logfile
Package logfile provides Ether's on-disk logs: a size-rotated log file (stderr is discarded under a Windows service and unrotated under launchd) and the crash log that receives fatal runtime traces.
|
Package logfile provides Ether's on-disk logs: a size-rotated log file (stderr is discarded under a Windows service and unrotated under launchd) and the crash log that receives fatal runtime traces. |
|
logredact
Package logredact removes credentials from log output.
|
Package logredact removes credentials from log output. |
|
lru
Package lru provides a least-recently-used cache bounded by entry count and total cost.
|
Package lru provides a least-recently-used cache bounded by entry count and total cost. |
|
markers
Package markers supplies release-duration-specific skip ranges.
|
Package markers supplies release-duration-specific skip ranges. |
|
migrate
Package migrate performs read-only PMS discovery and reviewed, idempotent local imports.
|
Package migrate performs read-only PMS discovery and reviewed, idempotent local imports. |
|
newznab
Package newznab implements core.Indexer against Newznab-compatible Usenet indexers, with per-indexer daily budgets and a result cache.
|
Package newznab implements core.Indexer against Newznab-compatible Usenet indexers, with per-indexer daily budgets and a result cache. |
|
notify
Package notify provides durable, rule-filtered owner notifications.
|
Package notify provides durable, rule-filtered owner notifications. |
|
notinterested
Package notinterested stores viewer-specific title exclusions.
|
Package notinterested stores viewer-specific title exclusions. |
|
nzb
Package nzb parses NZB documents: the XML index of a Usenet post that lists every file, its newsgroups and the message IDs of its segments (articles).
|
Package nzb parses NZB documents: the XML index of a Usenet post that lists every file, its newsgroups and the message IDs of its segments (articles). |
|
overlays
Package overlays creates truthful, versioned poster variants in pure Go.
|
Package overlays creates truthful, versioned poster variants in pure Go. |
|
par2
Package par2 parses PAR2 2.0 metadata and performs bounded GF16 recovery.
|
Package par2 parses PAR2 2.0 metadata and performs bounded GF16 recovery. |
|
par2/par2test
Package par2test builds PAR2 2.0 metadata packets and index files for tests.
|
Package par2test builds PAR2 2.0 metadata packets and index files for tests. |
|
personalize
Package personalize is Ether's Netflix-style personalization engine.
|
Package personalize is Ether's Netflix-style personalization engine. |
|
playback
Package playback implements core.Playback: it binds a user, a client and a title to a resolved, open release, enforces stream limits, serves the source to clients (direct play) and to ffmpeg (a loopback HTTP server), fails over to another release mid-stream when articles go missing, and protects the releases of live and in-progress titles in the segment cache.
|
Package playback implements core.Playback: it binds a user, a client and a title to a resolved, open release, enforces stream limits, serves the source to clients (direct play) and to ffmpeg (a loopback HTTP server), fails over to another release mid-stream when articles go missing, and protects the releases of live and in-progress titles in the segment cache. |
|
plex
Package plex is Ether's Plex Media Server front end: the HTTP API that official Plex apps (Web, iOS, Apple TV, Android, TVs) talk to.
|
Package plex is Ether's Plex Media Server front end: the HTTP API that official Plex apps (Web, iOS, Apple TV, Android, TVs) talk to. |
|
plex/model
Package model holds the Plex Media Server response models and the encoder that renders one model as either PMS-style XML or PMS-style JSON.
|
Package model holds the Plex Media Server response models and the encoder that renders one model as either PMS-style XML or PMS-style JSON. |
|
plexguid
Package plexguid maps verified external identities through Plex's metadata provider.
|
Package plexguid maps verified external identities through Plex's metadata provider. |
|
plexmeta
Package plexmeta caches Plex metadata-provider details for Plex apps.
|
Package plexmeta caches Plex metadata-provider details for Plex apps. |
|
plextv
Package plextv is Ether's plex.tv client: PIN sign-in, server claim, connection publishing, resources, shared users and their server access tokens, and plex.direct certificates.
|
Package plextv is Ether's plex.tv client: PIN sign-in, server claim, connection publishing, resources, shared users and their server access tokens, and plex.direct certificates. |
|
plexwatch
Package plexwatch delivers one viewer's watched state, and whole-star ratings, to that viewer's own Plex account.
|
Package plexwatch delivers one viewer's watched state, and whole-star ratings, to that viewer's own Plex account. |
|
prefetch
Package prefetch warms the segment cache in the background so the next episode and the resume point of in-progress titles start instantly.
|
Package prefetch warms the segment cache in the background so the next episode and the resume point of in-progress titles start instantly. |
|
ratings
Package ratings caches licensed, owner-keyed rating data.
|
Package ratings caches licensed, owner-keyed rating data. |
|
recommend
Package recommend supplies detail-page related rows.
|
Package recommend supplies detail-page related rows. |
|
releaseparse
Package releaseparse parses scene and P2P release names into core.ReleaseInfo.
|
Package releaseparse parses scene and P2P release names into core.ReleaseInfo. |
|
releasepolicy
Package releasepolicy evaluates the same bounded, declarative rules for playback, release search and unsaved previews.
|
Package releasepolicy evaluates the same bounded, declarative rules for playback, release search and unsaved previews. |
|
remote
Package remote handles Ether's network presence: LAN address enumeration, WAN IP detection, Plex connection URIs (plain IP and *.plex.direct), UPnP IGD and NAT-PMP port mapping, GDM LAN discovery and reachability probes.
|
Package remote handles Ether's network presence: LAN address enumeration, WAN IP detection, Plex connection URIs (plain IP and *.plex.direct), UPnP IGD and NAT-PMP port mapping, GDM LAN discovery and reachability probes. |
|
reqmemo
Package reqmemo memoizes point reads for the length of one read request.
|
Package reqmemo memoizes point reads for the length of one read request. |
|
resolver
Package resolver implements core.Resolver: it turns a catalogue title plus client capabilities into a health-checked release.
|
Package resolver implements core.Resolver: it turns a catalogue title plus client capabilities into a health-checked release. |
|
retryafter
Package retryafter parses HTTP Retry-After values.
|
Package retryafter parses HTTP Retry-After values. |
|
safefetch
Package safefetch guards HTTP fetches of untrusted URLs against SSRF.
|
Package safefetch guards HTTP fetches of untrusted URLs against SSRF. |
|
safety
Package safety persists owner policy and enforces it at Plex request boundaries.
|
Package safety persists owner policy and enforces it at Plex request boundaries. |
|
schedule
Package schedule provides wall-clock deadlines for periodic background work.
|
Package schedule provides wall-clock deadlines for periodic background work. |
|
segcache
Package segcache is Ether's on-disk cache of decoded Usenet segments.
|
Package segcache is Ether's on-disk cache of decoded Usenet segments. |
|
service
Package service runs Ether as an operating-system service: systemd on Linux, launchd on macOS and the Service Control Manager on Windows, via github.com/kardianos/service.
|
Package service runs Ether as an operating-system service: systemd on Linux, launchd on macOS and the Service Control Manager on Windows, via github.com/kardianos/service. |
|
sessions
Package sessions owns protocol-independent playback sessions.
|
Package sessions owns protocol-independent playback sessions. |
|
sharefilter
Package sharefilter parses plex.tv shared-server filter specs.
|
Package sharefilter parses plex.tv shared-server filter specs. |
|
simkl
Package simkl implements the optional Simkl integration.
|
Package simkl implements the optional Simkl integration. |
|
speech
Package speech sends audio to an OpenAI-compatible transcription endpoint (Whisper and the servers that speak its API).
|
Package speech sends audio to an OpenAI-compatible transcription endpoint (Whisper and the servers that speak its API). |
|
spike
Package spike serves a handful of local video files as a Plex library so the Plex front end (internal/plex) can be tested against official Plex apps before the Usenet engine exists.
|
Package spike serves a handful of local video files as a Plex library so the Plex front end (internal/plex) can be tested against official Plex apps before the Usenet engine exists. |
|
spike/cmd/ether-spike
command
Command ether-spike serves local video files through Ether's Plex front end, for testing official Plex apps (and pmsdiff) before the Usenet engine is wired in.
|
Command ether-spike serves local video files through Ether's Plex front end, for testing official Plex apps (and pmsdiff) before the Usenet engine is wired in. |
|
startup
Package startup tells the owner what a starting server is doing.
|
Package startup tells the owner what a starting server is doing. |
|
state
Package state implements per-user watch state and playlists over SQLite: core.State and core.Playlists.
|
Package state implements per-user watch state and playlists over SQLite: core.State and core.Playlists. |
|
stats
Package stats records owner analytics from observed playback and provider data.
|
Package stats records owner analytics from observed playback and provider data. |
|
store
Package store opens Ether's database and applies each component's migrations.
|
Package store opens Ether's database and applies each component's migrations. |
|
stream
Package stream is Ether's stream engine: it turns an NZB into a seekable core.MediaSource without writing the full file anywhere.
|
Package stream is Ether's stream engine: it turns an NZB into a seekable core.MediaSource without writing the full file anywhere. |
|
streamgrant
Package streamgrant issues and checks playback-scoped stream grants: capability tokens appended to media URLs in place of account credentials.
|
Package streamgrant issues and checks playback-scoped stream grants: capability tokens appended to media URLs in place of account credentials. |
|
stremio
Package stremio searches Stremio stream addons for torrent releases.
|
Package stremio searches Stremio stream addons for torrent releases. |
|
subtitles
Package subtitles fetches missing subtitle languages from OpenSubtitles and serves them as external (sidecar) tracks.
|
Package subtitles fetches missing subtitle languages from OpenSubtitles and serves them as external (sidecar) tracks. |
|
sysload
Package sysload samples this machine's load for the owner Overview: CPU, memory, network throughput, GPU (when the platform reports it) and Ether's own CPU and memory.
|
Package sysload samples this machine's load for the owner Overview: CPU, memory, network throughput, GPU (when the platform reports it) and Ether's own CPU and memory. |
|
tmdb
Package tmdb is a TMDB API v3 client with rate limiting, retries, request coalescing and an ETag/TTL response cache.
|
Package tmdb is a TMDB API v3 client with rate limiting, retries, request coalescing and an ETag/TTL response cache. |
|
trackprefs
Package trackprefs persists viewer stream policy and show-specific choices.
|
Package trackprefs persists viewer stream policy and show-specific choices. |
|
trakt
Package trakt is the optional per-user Trakt integration: OAuth device flow sign-in, scrobbling Ether watch events to Trakt, and pulling Trakt history / recommendations / watchlist back in as recommendation sources.
|
Package trakt is the optional per-user Trakt integration: OAuth device flow sign-in, scrobbling Ether watch events to Trakt, and pulling Trakt history / recommendations / watchlist back in as recommendation sources. |
|
transcode
Package transcode wraps Ether's bundled ffmpeg: discovery, hardware encoder detection, probing, the direct play / remux / transcode decision and HLS and MPEG-DASH sessions.
|
Package transcode wraps Ether's bundled ffmpeg: discovery, hardware encoder detection, probing, the direct play / remux / transcode decision and HLS and MPEG-DASH sessions. |
|
transcodebench
Package transcodebench implements a reproducible benchmark harness that drives the real transcode.Manager (probe, decision, HLS sessions and ServeSegment) against a loopback range-capable HTTP source serving a local fixture file.
|
Package transcodebench implements a reproducible benchmark harness that drives the real transcode.Manager (probe, decision, HLS sessions and ServeSegment) against a loopback range-capable HTTP source serving a local fixture file. |
|
trickplay
Package trickplay fences shared thumbnail generation by source lifetime.
|
Package trickplay fences shared thumbnail generation by source lifetime. |
|
updater
Package updater implements Ether's signed self-update feed.
|
Package updater implements Ether's signed self-update feed. |
|
usenet
Package usenet is Ether's Usenet layer: an NNTP client, per-provider connection pools with priority scheduling and circuit breakers, and a multi-provider fetcher that implements core.ArticleFetcher with primary-first ordering and backfill from block accounts.
|
Package usenet is Ether's Usenet layer: an NNTP client, per-provider connection pools with priority scheduling and circuit breakers, and a multi-provider fetcher that implements core.ArticleFetcher with primary-first ordering and backfill from block accounts. |
|
usenet/nntptest
Package nntptest provides an in-memory NNTP server for tests across Ether: articles keyed by message-id (yEnc-encoded on the way in), optional AUTHINFO, TLS, missing articles, latency, a connection limit and fault injection, plus Post, which uploads files as multipart yEnc segments and returns a matching NZB document.
|
Package nntptest provides an in-memory NNTP server for tests across Ether: articles keyed by message-id (yEnc-encoded on the way in), optional AUTHINFO, TLS, missing articles, latency, a connection limit and fault injection, plus Post, which uploads files as multipart yEnc segments and returns a matching NZB document. |
|
viewerpolicy
Package viewerpolicy fences authorization snapshots against durable policy writes.
|
Package viewerpolicy fences authorization snapshots against durable policy writes. |
|
watchlist
Package watchlist ingests authorized viewers' watchlists and lazily checks their release availability.
|
Package watchlist ingests authorized viewers' watchlists and lazily checks their release availability. |
|
watchparty
Package watchparty is the shared room both Silo Watch Party and Jellyfin SyncPlay speak.
|
Package watchparty is the shared room both Silo Watch Party and Jellyfin SyncPlay speak. |
|
yenc
Package yenc implements the yEnc binary encoding used for Usenet binary posts (http://www.yenc.org/yenc-draft.1.3.txt): a fast streaming decoder with =ybegin/=ypart/=yend parsing and CRC32 verification, and an encoder used by tests and the fake NNTP server.
|
Package yenc implements the yEnc binary encoding used for Usenet binary posts (http://www.yenc.org/yenc-draft.1.3.txt): a fast streaming decoder with =ybegin/=ypart/=yend parsing and CRC32 verification, and an encoder used by tests and the fake NNTP server. |
|
scripts
|
|
|
api-drift
command
api-drift checks pinned protocol descriptions against upstream releases.
|
api-drift checks pinned protocol descriptions against upstream releases. |
|
certification-gate
command
certification-gate checks the published client matrix before a release tag.
|
certification-gate checks the published client matrix before a release tag. |
|
drift-watch
command
drift-watch plans reference image bumps and a pull request for API drift.
|
drift-watch plans reference image bumps and a pull request for API drift. |
Click to show internal directories.
Click to hide internal directories.







