File Transfer Go is a peer-to-peer file transfer tool built with Go and React that enables end-to-end encrypted file, text, and desktop sharing over WebRTC.
The tool solves the problem of securely sharing files and screen content without relying on centralized servers to store data. It uses WebRTC DataChannel for direct peer-to-peer connections, with STUN/TURN support for NAT traversal. Data transmission is end-to-end encrypted, meaning the server never stores files or transmitted content. The application supports multiple simultaneous file transfers, text sharing, real-time screen sharing, and directory synchronization in modern browsers. It also includes resumable transfer capability for large files over both P2P and WebSocket connections.
The tool suits anyone needing quick, secure file sharing without account creation or server-side storage concerns. It works across Linux, macOS, and Windows with single-file deployment, and the responsive design adapts to phones, tablets, and desktops. The frontend uses Next.js 15 with React 18 and TypeScript for type safety, while the backend runs on Go 1.22 with WebSocket support and in-memory storage. Docker deployment with multi-architecture support is available for simplified setup.
The project shows active development with recent updates to its core dependencies and infrastructure. The codebase demonstrates attention to modern web standards through its use of current framework versions and accessibility-focused component libraries. Documentation includes deployment guides covering Docker, local builds, and development environments, along with configuration options for environment variables and multi-architecture container images.