> ## Documentation Index
> Fetch the complete documentation index at: https://hayate.shiina.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Hayate: Encrypted LAN File Transfer at Wire Speed

> Transfer files and directories across your local network — encrypted, compressed, and at full wire speed. No cloud, no accounts, no configuration required.

Hayate sends files and folders directly between devices on your local network using QUIC transport, hardware-accelerated encryption, and automatic peer discovery. There's nothing to sign up for — just install the binary, run a command, and your transfer starts.

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/installation">
    Install Hayate on macOS, Linux, Windows, or Android in under a minute.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Send your first file in three commands — no configuration needed.
  </Card>

  <Card title="Transfer Modes" icon="arrows-left-right" href="/concepts/transfer-modes">
    Learn the difference between Pairing Mode and Direct Mode.
  </Card>

  <Card title="CLI Reference" icon="terminal" href="/reference/send">
    Every flag and option for `send`, `receive`, and `discover`.
  </Card>
</CardGroup>

## How Hayate works

Hayate establishes a QUIC connection between two devices on the same LAN, performs an ephemeral X25519 key exchange, and streams encrypted, compressed data at wire speed. Peers find each other automatically using mDNS and UDP broadcast — you share a short code phrase instead of an IP address.

<Steps>
  <Step title="Install Hayate">
    Download the single binary for your platform. macOS and Linux users can use the one-line installer; Windows users can use winget or PowerShell.
  </Step>

  <Step title="Start a receiver">
    On the destination device, run `hayate receive --code my-phrase` to begin listening. Hayate will display the phrase and wait.
  </Step>

  <Step title="Send a file or folder">
    On the source device, run `hayate send ./file.zip --code my-phrase`. Hayate finds the receiver automatically and begins the transfer.
  </Step>

  <Step title="Transfer complete">
    Both sides display a progress bar, speed, and a checksum on completion. No cloud, no accounts — just your LAN.
  </Step>
</Steps>

## Key capabilities

<CardGroup cols={3}>
  <Card title="Zero Setup Discovery" icon="wifi">
    mDNS + UDP broadcast — peers find each other on any platform without entering IP addresses.
  </Card>

  <Card title="Hardware Encryption" icon="lock">
    AES-256-GCM (hardware-accelerated) or ChaCha20-Poly1305 with X25519 key exchange and forward secrecy.
  </Card>

  <Card title="Smart Compression" icon="file-zipper">
    Zstd compression with automatic skip for already-compressed formats like ZIP, MP4, and JPEG.
  </Card>

  <Card title="Directory Transfers" icon="folder-open">
    Stream entire directories as encrypted tar archives with built-in path-traversal protection.
  </Card>

  <Card title="Cross Platform" icon="globe">
    Native binaries for macOS, Linux, Windows, and Android (Termux) — all from one 15 MB download.
  </Card>

  <Card title="Rust Library" icon="cube">
    Embed the transfer engine directly in your Rust application with the `hayate` crate.
  </Card>
</CardGroup>
