A secure and efficient file sharing application that allows you to share files across devices on your local network using QR codes.
- Secure File Transfer: Uses HTTPS with TLS encryption for secure file transfers
- QR Code Integration: Automatically generates QR codes for easy access from mobile devices
- Multiple File Support: Upload and share multiple files simultaneously
- ZIP Download: Download multiple files as a ZIP archive
- Web Interface: Clean and simple web interface for file management
- Local Network: Works within your local network for fast transfers
- Go 1.23.2 or higher
- TLS certificates (for HTTPS)
- Make (for using Makefile commands)
-
Clone the repository:
git clone https://github.com/20ritiksingh/sharego.git cd sharego
-
Install dependencies:
go mod download
-
Generate TLS certificates:
make tls
-
Build and run the server:
make run
Alternatively, you can build and run separately:
make build ./bin/app
-
The application will display QR codes for each network interface along with their URLs
-
Scan the QR code with your mobile device or visit the displayed URL in your browser
-
Upload files through the web interface
-
Share the generated links or QR codes with others on your network
The server runs on port 8088 by default. You can modify this in the server.go
file if needed.
-
Build for your current platform:
make build
-
Build for all supported platforms:
make build-for-all
-
Run all tests:
make test
-
Run code vetting:
make vet
-
Run linter:
make lint
-
Run all checks (vet, lint, test, build):
make all
- Clean build artifacts and generated files:
make clean
sharego/
├── bin/ # Binary files
├── certs/ # SSL certificates
├── dist/ # Distribution files
├── handlers/ # HTTP request handlers
├── server.go # Main server file
├── networkAddr.go # Network interface handling
├── go.mod # Go module file
└── go.sum # Go module checksum
- The application uses TLS encryption for all communications
- Files are transferred securely over HTTPS
- Runs only on your local network for added security
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Before submitting a PR, ensure all tests pass:
make all
This project is licensed under the MIT License - see the LICENSE file for details.
- go-qrcode for QR code generation
- Ritik Singh - Initial work - 20ritiksingh
For support, please open an issue in the GitHub repository.