DOCS · Two-minute read

Docs

Quick start and fixed parameters. Full engineering notes live in the repo docs/.

章节
7
默认端口
39551
配对 TTL
120s

Quick start

Install → grant local network permission → start discovery → QR or manual IP pair → confirm SAS → pick files.

  1. 01

    Install & grant

    Install the client and allow the Local Network permission. Mobile also needs LAN discovery.

  2. 02

    Start discovery

    With both ends on the same LAN, tap discover to see candidate devices.

  3. 03

    Compare SAS

    After QR or manual connect, both screens show the same short digits — confirm only if they match.

  4. 04

    Send & receive

    Pick files and send; the receiver confirms within 60 seconds, then transfer starts and can resume.

Discover

Candidates are advertised over mDNS as _ssnd._tcp on the same LAN. Results carry a name and address only — never an identity claim. Discovered never means trusted.

  • AP isolation, cross-VLAN setups, and corporate firewalls block discovery, which then falls back to limited discovery.
  • Manual connect: enter the peer IP directly, default port 39551.
  • Nothing about your devices is uploaded during discovery.

Pairing & SAS

The pairing payload is signed with the long-term Ed25519 identity key and verified inside the engine before the SAS is shown. SAS is an app-layer check; TLS cannot replace it (ADR-001).

  • The pairing window is 120 seconds; after that, start over.
  • Mismatched digits mean a man in the middle — abort rather than confirm "close enough".
  • Paired devices land in a local trust store and can be revoked per device.

Send files

A FileOffer from an untrusted peer is rejected by the engine itself — this is a state-machine constraint, not a UI guard.

  • The receiver must confirm within 60 seconds; a timeout counts as a refusal.
  • Directories and single files are both handled as transfer tasks; partial delivery never counts as success.
  • Every byte stays app-layer authenticated-encrypted, including over relay paths.

Resume

Interrupted transfers resume via a resumeToken. Data lands in a .ssnd.partial file and is atomically renamed on completion.

  • There is no "shown as done but truncated" state.
  • A checksum mismatch marks the task failed and retryable.

Diagnostics

The diagnostics screen exports a log bundle for troubleshooting. It never contains private keys or identity keys from the trust store.

  • You can preview entries before export; sensitive fields are redacted by default.
  • If you cannot connect, check network, firewall, port 39551, and version parity first.

Install first, decide later

The client runs Local by default. Read the security model in two minutes if you prefer.