https://github.com/mesci/wizzit
P2P file transfer platform with no servers, direct peer-to-peer transfers.
https://github.com/mesci/wizzit
file-transfer p2p privacy serverless webrtc
Last synced: 9 months ago
JSON representation
P2P file transfer platform with no servers, direct peer-to-peer transfers.
- Host: GitHub
- URL: https://github.com/mesci/wizzit
- Owner: mesci
- License: mit
- Created: 2025-07-07T07:04:53.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-07-07T08:57:00.000Z (9 months ago)
- Last Synced: 2025-07-07T09:44:30.311Z (9 months ago)
- Topics: file-transfer, p2p, privacy, serverless, webrtc
- Language: TypeScript
- Homepage: https://www.wizzit.org/
- Size: 1.26 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Wizzit - Open Source P2P File Transfer
**Secure, Private, Direct File Transfers**
[](LICENSE)
[](https://vercel.com/new/clone?repository-url=https://github.com/mesci/wizzit)
[Live Site](https://wizzit.org) • [How It Works](https://wizzit.org/how-it-works) • [Contributing Guide](CONTRIBUTING.md) • [TURN Setup](TURN_SERVER_CONFIG.md)
## What is Wizzit?
Wizzit is a **zero-server, peer-to-peer file transfer platform** that enables direct, secure file sharing between devices. Built with privacy-first principles, Wizzit never stores your files on any server.
### Key Features
- **End-to-End Encryption** - Bank-level security with WebRTC
- **No Server Storage** - Files transfer directly between devices
- **Browser-Based** - No downloads, works in any modern browser
- **Cross-Platform** - Desktop, mobile, tablet compatible
- **Simple Sharing** - One-click link generation
- **Beautiful UI** - Clean, intuitive interface
- **Open Source** - Transparent, community-driven
- **Eco-Friendly** - Minimal server infrastructure
## Quick Start
### One-Click Deploy
Deploy your own Wizzit instance instantly:
[](https://vercel.com/new/clone?repository-url=https://github.com/mesci/wizzit)
[](https://app.netlify.com/start/deploy?repository=https://github.com/mesci/wizzit)
### Local Development
```bash
# Clone the repository
git clone https://github.com/mesci/wizzit.git
cd wizzit
# Install dependencies
npm install
# Copy environment variables
cp env.example .env.local
# Add your TURN server credentials to .env.local
# TURN_SERVER=turn.your-server.com:3478
# TURN_SECRET=your-secret
# Start development server
npm run dev
# Open http://localhost:3000
```
## TURN Server Setup
**For production use, you MUST set up a TURN server.** This is required for users behind firewalls/NATs.
### Option 1: Use a Service
- **Twilio** - Paid, reliable
- **Xirsys** - Paid, good for WebRTC
- **Metered** - Free tier available
### Option 2: Self-Host with Coturn
See `TURN_SERVER_CONFIG.md` for detailed setup instructions.
### Environment Variables
```bash
# Copy example environment file
cp env.example .env.local
# Configure your TURN server
TURN_SERVER=turn.your-server.com:3478
TURN_SECRET=your-secret-key
STUN_SERVER=stun.l.google.com:19302
```
## How It Works
1. **File Selection**: Choose files to share
2. **Link Generation**: Get a unique sharing link
3. **P2P Connection**: WebRTC establishes direct connection
4. **Encrypted Transfer**: Files transfer directly between browsers
5. **No Storage**: Files never touch our servers
### Deployment
1. Fork this repository
2. Choose your platform:
- **Vercel (Recommended)**: Connect and deploy through Vercel dashboard
- **Netlify**: Connect and deploy through Netlify dashboard
- **Self-Hosted**: Run `npm run build && npm start`
3. Add environment variables (TURN/STUN configuration)
4. Your instance is ready!
## Development
### Tech Stack
- **Framework**: Next.js 15 (React 18)
- **Styling**: Tailwind CSS
- **WebRTC**: Native browser APIs
- **Icons**: Lucide React
- **TypeScript**: Full type safety
### Development Commands
```bash
# Development
npm run dev # Start dev server
npm run build # Build for production
npm run start # Start production server
```
## Contributing
Found a bug or have an idea? We'd love your help!
- **Bug Reports**: [Create an issue](../../issues/new) with details
- **Feature Requests**: [Suggest improvements](../../issues/new)
- **Code Contributions**: See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- **Email**: [yusuf@mesci.dev](mailto:yusuf@mesci.dev)
- **Issues**: [GitHub Issues](../../issues)
- **Discussions**: [GitHub Discussions](../../discussions)
---