# ferry **Repository Path**: PhiloKun/ferry ## Basic Information - **Project Name**: ferry - **Description**: 🚢 LAN file transfer - cross-platform desktop app. Share files via QR code. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-04 - **Last Updated**: 2026-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚢 Ferry **Ferry** is a cross-platform desktop application for transferring files over a local area network (LAN). Files are sent directly between devices — no cloud, no external server, no internet connection required. Pick files or a folder, click send, and a QR code appears. Other devices on the same network scan the QR or open the URL in their browser to download instantly. ## Features - **No installation for receivers** — recipients just need a browser (phone, tablet, laptop) - **One-click file picker** — select individual files or an entire folder - **QR code sharing** — scan with any device to start downloading - **Background HTTP server** — runs while the app is open, serves files to LAN - **Cross-platform** — native desktop app for macOS and Windows (single binary, no dependencies) - **Private** — all traffic stays on your LAN, never touches the internet - **Zero configuration** — open the app, select files, done ## Download Get the latest release for your platform: | Platform | Architecture | File | |----------|-------------|------| | macOS | Apple Silicon (M1/M2/M3/M4) | `ferry-darwin-arm64` | | macOS | Intel | `ferry-darwin-amd64` | | Windows | 64-bit | `ferry-windows-amd64.exe` | [⬇️ Download from GitHub Releases](https://github.com/PhiloKun/ferry/releases) ### macOS ```bash chmod +x ferry-darwin-arm64 # or ferry-darwin-amd64 for Intel Macs ./ferry-darwin-arm64 ``` ### Windows Double-click `ferry-windows-amd64.exe` or run from terminal: ```cmd ferry-windows-amd64.exe ``` ## Usage ### Send files 1. Open **Ferry** 2. Click **Add Files** → select **Select Files** or **Select Folder** 3. Click **Send** 4. A QR code and URL appear — share either with someone on your network ### Receive files The recipient does **not** need Ferry installed. They just need a browser: 1. Scan the QR code with their phone camera 2. Or open the URL shown in the app (e.g. `http://192.168.1.5:8080/r/abc123`) 3. Files download directly from the sender's machine > **Tip:** The Receive tab shows the server address and port for reference. ### Port By default the HTTP server runs on port **8080**. To use a different port: ```bash ./ferry -port 9090 ``` ## How it works ``` ┌──────────────┐ QR / URL ┌──────────────┐ │ Sender │ ──────────────────► │ Receiver │ │ (Desktop │ │ (Browser) │ │ App) │ ◄── HTTP download ── │ │ │ │ (LAN direct) │ │ ├──────────────┤ └──────────────┘ │ HTTP Server │ │ (background) │ └──────────────┘ ``` 1. The Ferry desktop app starts an HTTP server on your machine 2. When you select and send files, they're stored in memory and assigned a unique ID 3. The app generates a QR code pointing to `http://:8080/r/` 4. Any device on the same network can open that URL in a browser 5. Files are downloaded directly via HTTP — no intermediary, no cloud ## Build from source ### Prerequisites - Go 1.22+ - On macOS: Xcode Command Line Tools (`xcode-select --install`) - For Windows cross-compilation: [mingw-w64](https://www.mingw-w64.org/) ### macOS ```bash git clone https://github.com/PhiloKun/ferry.git cd ferry CGO_ENABLED=1 go build -o ferry . ``` ### Cross-compile for other platforms ```bash # macOS Intel (from Apple Silicon) CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -o ferry-darwin-amd64 . # Windows (from macOS) CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build -o ferry.exe . ``` ## Tech stack - **[Go](https://go.dev/)** — compiled language, single binary output - **[Fyne](https://fyne.io/)** — cross-platform GUI toolkit - **Go standard library** — HTTP server, file handling, templates - **[go-qrcode](https://github.com/skip2/go-qrcode)** — QR code generation ## License MIT