# Hayate ## Docs - [Hayate Zstd Compression: Fast, Automatic, and Smart](https://hayate.shiina.xyz/concepts/compression.md): Hayate compresses transfers with Zstd level 1 by default, automatically skipping pre-compressed formats like ZIP, MP4, and JPEG to avoid wasted CPU. - [Automatic LAN Peer Discovery with mDNS and UDP Broadcast](https://hayate.shiina.xyz/concepts/peer-discovery.md): Hayate discovers peers automatically on any LAN using RFC 6762 mDNS with UDP broadcast fallback — no IP addresses, no server, no configuration. - [Hayate Security Model: Encryption, Key Exchange, and Trust](https://hayate.shiina.xyz/concepts/security-model.md): Hayate uses ephemeral X25519 key exchange, HKDF-SHA256 derivation, and AES-256-GCM or ChaCha20-Poly1305 AEAD to secure every transfer end-to-end. - [Pairing Mode vs Direct Mode: Hayate Transfer Modes](https://hayate.shiina.xyz/concepts/transfer-modes.md): Hayate offers two transfer modes: Pairing Mode for automatic LAN discovery with a shared code phrase, and Direct Mode for known IP:port connections. - [Use Hayate on Android with Termux](https://hayate.shiina.xyz/guides/android-termux.md): Install and use Hayate on Android via Termux to send and receive files between your phone and any device on your local network. - [Transfer Entire Directories with Hayate](https://hayate.shiina.xyz/guides/directory-transfers.md): Hayate streams entire directories as encrypted tar archives with automatic compression and strict path-traversal protection for safe extraction. - [Receive Files with Hayate on Any Platform](https://hayate.shiina.xyz/guides/receive-files.md): Run hayate receive to accept incoming transfers on your LAN. Use Pairing Mode with a code phrase or listen on a specific port for direct connections. - [Send Files and Directories with Hayate](https://hayate.shiina.xyz/guides/send-files.md): Use hayate send to transfer files and directories to any Hayate receiver on your LAN using Pairing Mode or a direct IP:port connection. - [Troubleshoot Common Hayate Transfer Issues](https://hayate.shiina.xyz/guides/troubleshooting.md): Fix common Hayate issues: peers not found, transfers timing out, permission errors, progress bar glitches, and Windows firewall blocking QUIC. - [Install Hayate on macOS, Linux, Windows, and Android](https://hayate.shiina.xyz/installation.md): Download and install the Hayate binary on macOS, Linux, Windows (winget or PowerShell), Android Termux, or build from source with cargo. - [Hayate: Encrypted LAN File Transfers at Wire Speed](https://hayate.shiina.xyz/introduction.md): Hayate transfers files and directories across your LAN using QUIC, X25519 encryption, and automatic peer discovery — no cloud, no accounts needed. - [Handling EngineError Variants in the Hayate Rust Library](https://hayate.shiina.xyz/library/error-handling.md): EngineError is the top-level error returned by all Hayate async functions. Match variants, cancel transfers, and recover from failures. - [HayateReceiver: Accept File Transfers in Your Rust App](https://hayate.shiina.xyz/library/hayatereceiver.md): HayateReceiver binds a QUIC listener to accept incoming file or directory transfers. Configure bind address, pairing code, and consent behavior. - [HayateSender: Send Files and Directories from Rust](https://hayate.shiina.xyz/library/hayatesender.md): HayateSender is a builder for sending files or directories over QUIC. Configure target, code, compression, and hash algorithm, then call .send(). - [Low-Level Hayate Modules for Custom QUIC Integrations](https://hayate.shiina.xyz/library/modules.md): Access hayate's public modules directly for custom transport control, protocol-level handshakes, discovery management, and buffer pooling. - [Embed Hayate as a Rust Library for Encrypted File Transfers](https://hayate.shiina.xyz/library/overview.md): Add the hayate crate to your Rust project to embed encrypted QUIC file transfers using the HayateSender and HayateReceiver builders. - [Quickstart: Transfer Encrypted Files Across Your LAN](https://hayate.shiina.xyz/quickstart.md): Send your first encrypted file across your LAN with Hayate using Pairing Mode. Learn both transfer modes and discover peers on your network. - [hayate completions — Generate Shell Tab Completion Scripts](https://hayate.shiina.xyz/reference/completions.md): hayate completions generates completion scripts for bash, zsh, fish, PowerShell, and Elvish. Tab-complete every Hayate flag and subcommand. - [hayate discover — Scan for Hayate Receivers on Your LAN](https://hayate.shiina.xyz/reference/discover.md): hayate discover probes your LAN for active Hayate receivers using QUIC. Key flags: --timeout to control scan duration, --cidr to specify a subnet. - [hayate receive — Accept Incoming QUIC File Transfers](https://hayate.shiina.xyz/reference/receive.md): hayate receive starts a QUIC listener for incoming transfers. Key flags: --code for Pairing Mode, --output for the save directory, --auto-accept. - [hayate send — Transfer Files and Directories Securely](https://hayate.shiina.xyz/reference/send.md): hayate send transfers a file or directory to a Hayate receiver. Key flags: --code for Pairing Mode, --hash for integrity, --compress to toggle Zstd.