** website is a demo do not use real credentials **
Secure, Self-Hosted File Storage
ShadowBox is an easy-to-use, encrypted file storage system you can run on your own PC, Raspberry Pi, or server. Access files securely from any device on your local network or set up remote access. Files are encrypted with AES-256 before storage and only decrypted when you download them. You control your data with no third-party services.
- Sync files across devices with one account
- AES-256 encryption for all uploads
- Files decrypted only on download
- Secure file deletion (removed from database and device)
- Simple web interface (Dart-based, easy to customize)
- Lightweight Python Flask backend
- Backend: Python, Flask, SQLAlchemy
- Frontend: Dart (replaceable with any frontend)
- Encryption: AES-256
- Database: SQLite (swappable)
- Python 3.8+ (for backend)
- Dart (optional, for frontend)
- OR Docker (easiest setup)
-
Clone the repo
git clone https://github.com/dillionhuston/Shadow.git cd Shadow -
Run the backend
cd backend pip install -r requirements.txt flask run -
Run the frontend
cd ../frontend dart pub get dart run
-
Clone the repo
git clone https://github.com/dillionhuston/Shadow.git cd Shadow -
Build and run
cd backend docker build -t shadowbox . docker run -p 5000:5000 shadowbox
- Local encryption key management
- User accounts and file permissions
- File versioning and shared folders
- Support for decentralized storage (e.g., IPFS)
- Improve the web interface
- Optimize backend performance
- Add new features
- Test encryption and security
- Full control over your files and server
- No third-party tracking or storage
- Runs on low-power devices like Raspberry Pi
- Great starting point for custom projects
MIT—free to use, modify, and share
