Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
agent
command
Command agent is the getnabbed agent command-line tool.
|
Command agent is the getnabbed agent command-line tool. |
|
internal
|
|
|
auth
Package auth implements the agent side of pairing (RFC 8628 device flow) and access-token management with Ed25519 proof of possession.
|
Package auth implements the agent side of pairing (RFC 8628 device flow) and access-token management with Ed25519 proof of possession. |
|
cli
Package cli implements the command-line interface for the agent binary.
|
Package cli implements the command-line interface for the agent binary. |
|
clock
Package clock provides a wall clock corrected by an offset learned from the control plane, so signed timestamps stay inside the server's freshness window even when the host clock is wrong.
|
Package clock provides a wall clock corrected by an offset learned from the control plane, so signed timestamps stay inside the server's freshness window even when the host clock is wrong. |
|
command
Package command applies control-plane commands to local state, exactly once and in order, and answers queries.
|
Package command applies control-plane commands to local state, exactly once and in order, and answers queries. |
|
config
Package config resolves the agent's settings from, in increasing order of precedence: built-in defaults, an optional YAML file, NABBED_* environment variables, then command-line flags (applied by the caller).
|
Package config resolves the agent's settings from, in increasing order of precedence: built-in defaults, an optional YAML file, NABBED_* environment variables, then command-line flags (applied by the caller). |
|
credstore
Package credstore persists the agent's credentials: identity keys, the rotating refresh token and the pairing metadata.
|
Package credstore persists the agent's credentials: identity keys, the rotating refresh token and the pairing metadata. |
|
download
Package download is the per-download state machine from design 0001 §7:
|
Package download is the per-download state machine from design 0001 §7: |
|
engine
Package engine defines the interface between the download state machine and the native download engines (usenet, BitTorrent).
|
Package engine defines the interface between the download state machine and the native download engines (usenet, BitTorrent). |
|
engine/torrent
Package torrent is the native BitTorrent engine, built on github.com/anacrolix/torrent (pure Go when built without cgo: Go uTP and a BoltDB piece-completion store).
|
Package torrent is the native BitTorrent engine, built on github.com/anacrolix/torrent (pure Go when built without cgo: Go uTP and a BoltDB piece-completion store). |
|
engine/usenet
Package usenet is the native usenet engine: it parses an NZB, fetches each article over NNTP, decodes yEnc and writes the parts at their offsets into the job's work directory.
|
Package usenet is the native usenet engine: it parses an NZB, fetches each article over NNTP, decodes yEnc and writes the parts at their offsets into the job's work directory. |
|
hoststats
Package hoststats measures the free space where the agent writes, the downloads folder and each library root (design 0008 §3).
|
Package hoststats measures the free space where the agent writes, the downloads folder and each library root (design 0008 §3). |
|
identity
Package identity holds the agent's long-lived key material and the canonical signing inputs used for proof of possession.
|
Package identity holds the agent's long-lived key material and the canonical signing inputs used for proof of possession. |
|
ids
Package ids generates identifiers for protocol messages and outbox rows.
|
Package ids generates identifiers for protocol messages and outbox rows. |
|
library
Package library manages library roots, the folders imports write into, and the local policy that bounds them.
|
Package library manages library roots, the folders imports write into, and the local policy that bounds them. |
|
link
Package link owns the agent's single Connect() stream to cloud-gateway: handshake, heartbeats, send lanes, dispatch, GoAway handling and reconnection with jittered backoff.
|
Package link owns the agent's single Connect() stream to cloud-gateway: handshake, heartbeats, send lanes, dispatch, GoAway handling and reconnection with jittered backoff. |
|
lock
Package lock provides an exclusive, process-level lock on the data directory so only one agent process uses a set of credentials at a time.
|
Package lock provides an exclusive, process-level lock on the data directory so only one agent process uses a set of credentials at a time. |
|
logging
Package logging configures structured logging for the agent binary.
|
Package logging configures structured logging for the agent binary. |
|
netguard
Package netguard decides which IP addresses the agent may talk to on behalf of untrusted input, such as a torrent's peers, trackers and web seeds, or a usenet source configured from the web app.
|
Package netguard decides which IP addresses the agent may talk to on behalf of untrusted input, such as a torrent's peers, trackers and web seeds, or a usenet source configured from the web app. |
|
notice
Package notice reports conditions of the agent itself to the control plane as AgentNotice events (design 0008 §2).
|
Package notice reports conditions of the agent itself to the control plane as AgentNotice events (design 0008 §2). |
|
par2
Package par2 reads PAR 2.0 recovery sets, verifies files against them and repairs damaged or missing files from recovery slices.
|
Package par2 reads PAR 2.0 recovery sets, verifies files against them and repairs damaged or missing files from recovery slices. |
|
paths
Package paths resolves where the agent keeps its state on each platform.
|
Package paths resolves where the agent keeps its state on each platform. |
|
postproc
Package postproc turns what an engine downloaded into complete files: PAR2 verification and name restoration, PAR2 repair with recovery volumes fetched on demand, then RAR, 7z and ZIP extraction (design 0005).
|
Package postproc turns what an engine downloaded into complete files: PAR2 verification and name restoration, PAR2 repair with recovery volumes fetched on demand, then RAR, 7z and ZIP extraction (design 0005). |
|
source
Package source manages download sources configured from the control plane (PutSource, RemoveSource).
|
Package source manages download sources configured from the control plane (PutSource, RemoveSource). |
|
store
Package store is the agent's durable local state: a SQLite database in the data directory, using the pure-Go modernc.org/sqlite driver so the binary stays cgo-free.
|
Package store is the agent's durable local state: a SQLite database in the data directory, using the pure-Go modernc.org/sqlite driver so the binary stays cgo-free. |
|
tlsconf
Package tlsconf builds the TLS configuration shared by the agent's HTTPS and gRPC clients.
|
Package tlsconf builds the TLS configuration shared by the agent's HTTPS and gRPC clients. |
|
version
Package version exposes build metadata for the agent binary.
|
Package version exposes build metadata for the agent binary. |
|
pkg
|
|
Click to show internal directories.
Click to hide internal directories.