Pairlane
Overview
Use Pairlane as an executable CLI tool. Prefer npx -y pairlane for user-facing operation and verification.
Pairlane transfers file bytes peer-to-peer over WebRTC. The service endpoint creates rooms and coordinates signaling; file contents are not uploaded for storage.
Workflow
- Use help output when syntax is uncertain:
npx -y pairlane --help
npx -y pairlane send --help
npx -y pairlane receive --help
- Run
sendandreceivein long-lived terminal sessions because each side waits for a peer. - Keep the sender session open until the receiver connects and the transfer completes.
- Treat room URLs containing
#k=as secret-bearing transfer links. Share them only where the user intends. - If
npxneeds network access and the environment blocks it, request approval for thenpxcommand.
Commands
Create a room and send a file:
npx -y pairlane send /path/to/file
Receive from a room URL:
npx -y pairlane receive "https://getpairlane.com/r/ROOM_ID#k=KEY" --output-dir ./downloads
Receive from a room ID when encryption is disabled:
npx -y pairlane receive ROOM_ID --output-dir ./downloads
Send to an existing room or URL:
npx -y pairlane send /path/to/file "ROOM_ID_OR_URL"
Disable encryption only when requested:
npx -y pairlane send /path/to/file --no-encrypt
Keep a sender or receiver open for additional transfers:
npx -y pairlane send /path/to/file --stay-open
npx -y pairlane receive "ROOM_ID_OR_URL" --output-dir ./downloads --stay-open
Use a custom endpoint:
npx -y pairlane send /path/to/file --endpoint https://your-server.example
npx -y pairlane receive "ROOM_ID_OR_URL" --endpoint https://your-server.example --output-dir ./downloads
Use an endpoint through the environment:
PAIRLANE_ENDPOINT=https://your-server.example npx -y pairlane send /path/to/file
PAIRLANE_ENDPOINT=https://your-server.example npx -y pairlane receive "ROOM_ID_OR_URL" --output-dir ./downloads
Transfer Checks
For a full CLI transfer check:
- Start the sender and capture the printed
[room] url. - Start the receiver with that URL and a chosen
--output-dir. - Wait for both commands to report completion.
- Compare file size or checksum when the user needs proof of integrity.
Capture these details in the final answer:
- Exact commands run.
- Endpoint used.
- Room ID or redacted room URL when a key is present.
- Sender and receiver completion lines.
- Saved output path for received files.
Troubleshooting
binary not found: reinstall or rerunnpx -y pairlane; the npm package downloads the platform binary during install.- Room role error on
send: the sender must connect before receivers unless sending to an existing sender-created room. - Room role error on
receive: connect after the sender has created the room. - WebSocket connection failure: check the endpoint, network access, and whether the endpoint supports Pairlane signaling routes.
- Decryption failure: verify that the URL fragment key (
#k=...) or--keyvalue matches the sender key. - File write failure: verify
--output-direxists or can be created by the current user.
Source: kiyo-e/pairlane — distributed by TomeVault.