aarch64-linux-android, so you get the same encrypted QUIC transfers on your phone that you’d expect on a desktop. There’s no Python runtime to install and no SSH server to configure — just a single binary running in Termux. Auto-discovery via mDNS works on most home Wi-Fi networks, so your phone and laptop can find each other the same way they would on any other platform.
Prerequisites
Before installing Hayate, make sure you have:- Termux installed from F-Droid (recommended) or Google Play
- Your Android device connected to the same Wi-Fi network as the devices you want to transfer to or from
- Storage permission granted to Termux (see setup tips below)
Installation
Run the following commands inside Termux to download the prebuilt arm64 binary and make it executable:bin directory and becomes available on your PATH immediately.
Verify Installation
Confirm the binary runs correctly:Sending a File from Android
You can send files from your Android device to any Hayate receiver on your LAN — whether that’s a laptop, desktop, or another phone running Termux.hayate receive --port 50001 before you send.
Receiving a File on Android
Start a receiver on your phone and tell the sender to use the matching code or your phone’s IP address:Tips for Termux
1
Grant storage permission
Run this command once to give Termux access to After accepting the permission prompt, you can read and write files in
/sdcard/ and your shared storage:/sdcard/ from Termux.2
Disable the progress bar if it looks broken
Some Android terminal apps don’t render Unicode block characters correctly. If the progress bar looks garbled, suppress it:
3
Fall back to Direct Mode if mDNS doesn't work
mDNS auto-discovery works on most home Wi-Fi routers, but some routers and Android hotspot configurations isolate clients from each other. If
hayate discover doesn’t find your peers, switch to Direct Mode:Platform Notes
Hayate uses the epoll I/O backend on Android (via theaarch64-linux-android target), the same backend used on Linux systems that predate io_uring. Performance is excellent for LAN transfers; you won’t notice a difference compared to desktop in practice.
Only the arm64 (aarch64) architecture is officially supported with prebuilt binaries. If you’re on an x86 Android device or a 32-bit ARM device, you’ll need to build Hayate from source targeting your architecture.