| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
AList v4 remote agent: reverse pairing, encrypted channel, cross-drive copy executor
A companion process for AList v4 that pairs to a running server over an ed25519-authenticated channel and then executes delegated cross-storage-driver copy tasks on that machine — useful when the data being moved is closer to the agent than to the server (e.g. copying between two drives only reachable from a NAS/VPS the agent runs on).
go install github.com/AlistGo/alist-agent/cmd/alist-agent@latestOr download a prebuilt binary from the Releases page.
Reverse pairing (the agent listens; the server dials in — for agents behind NAT with no server-reachable address):
On the AList server's admin page, issue a one-time reverse pairing token for a new agent.
On the agent machine, start it in serve mode with pairing armed:
alist-agent serve --listen 0.0.0.0:5343 --pair --pair-web 127.0.0.1:5344--pair-web binds a local, loopback-only web page (reach it via ssh -L 5344:127.0.0.1:5344) where you paste the token the server just issued. Binding --pair-web to a non-loopback address over plain HTTP is refused unless you pass --pair-web-allow-public (the token would otherwise transit in cleartext).
Paste the token into that page. Once it verifies, the agent pins the server's public key and brings its data channel live.
Compare the SAS shown on the pairing page against the one on the server's admin page — they must match exactly — then confirm on the server. Only after that does the server start dispatching tasks to this agent.
On later restarts, once already paired, just run:
alist-agent serve --listen 0.0.0.0:5343(re-adding --pair requires --repair too, since a persistent serve --pair must not silently re-pair on every restart).
Outbound pairing is also available for agents that can reach the server directly:
alist-agent join --host http://your-alist-server:5244 --code <pairing-code>
alist-agent runRun alist-agent --help (or --help on any subcommand) for the full, current flag reference.
| Package | Description |
|---|---|
| proto | Wire protocol: pairing handshake, SAS derivation, capability tokens, frame codec |
| channel | Transport-agnostic authenticated session layer the protocol runs over (dial + listener, handshake, encryption) |
| agent | Agent-side runtime: identity, config, heartbeat runner, reverse agent, task execution, log ring |
| cli | The join/run/serve cobra command tree, shared by this repo's cmd/alist-agent and the AList core's alist agent subcommand |
This repository is a release snapshot of the agent/ directory in the AlistGo/alist v4 monorepo. Development happens there; each tagged release here mirrors a corresponding point in the main repository's history. Projects depending on this agent should pin a tag of this repository rather than the agent/ path in the main repo.
Issues and pull requests for the agent itself are welcome on AlistGo/alist, where development on agent/ actually happens.
AGPL-3.0 — see LICENSE.
| Back | FazBrowse Home | New Git URL |