GoDrop is a lightweight, no-login file sharing system built with Go and powered by Cloudflare R2 (or any S3-compatible storage). With a minimal interface and no authentication barrier, sharing files becomes instant and hassle-free.
- 🌐 Clean web UI for uploading and downloading files
- ☁️ Supports S3-compatible storage (Cloudflare R2, MinIO, AWS S3, etc.)
- ⚙️ Fully configurable via
.envor environment variables - 🧠 Optionally assign user-friendly code words to files for easy reference
- Clone the repository:
git clone https://github.com/yourusername/GoDrop.git
cd GoDrop- Install dependencies:
go mod download- Build the application:
go build -o bin/godrop main.go💡 You can rename the binary to whatever suits your workflow (
godrop,dropper, etc.)
Set the following environment variables, either in your shell or in a .env file in the project root:
# Server configuration
PORT=8080 # Web server port
NODE_PORT=8081 # (Optional) Node communication port
MODE=web # Run mode: 'web' or 'node'
# Storage configuration
STORAGE_TYPE=s3 # Only 's3' is supported
STORAGE_ENDPOINT= # Cloudflare R2 or other S3-compatible endpoint
STORAGE_ACCESS_KEY= # Your storage access key
STORAGE_SECRET_KEY= # Your storage secret key
STORAGE_BUCKET= # Target bucket name
STORAGE_USE_SSL=true # Set false if using HTTP- Start the web server:
go run main.go- Open your browser:
Navigate to http://localhost:8080
✅ You can now upload and share files via the intuitive UI.
We welcome contributions to improve GoDrop!
- Fork the repository
- Create your feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m "Add your message" - Push to the branch:
git push origin feature/your-feature - Create a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.