Update README.md
This commit is contained in:
parent
ec116246b1
commit
6062ed12c1
50
README.md
50
README.md
|
@ -4,17 +4,16 @@ Your files, your server, your privacy. Litecloud is a lightweight, secure cloud
|
|||
|
||||
## What makes Litecloud special?
|
||||
|
||||
🔒 **Privacy-first**: Your files are encrypted with military-grade AES-256-GCM encryption before they ever touch the disk
|
||||
🏠 **Self-hosted**: Run it on your own server—you control your data
|
||||
⚡ **Lightning fast**: Built with Rust for maximum performance and safety
|
||||
🔧 **Developer-friendly**: Clean REST API lets you build custom apps and integrations
|
||||
🚀 **Dead simple**: One Docker command and you're running your own cloud
|
||||
**Privacy-first**: Your files are encrypted with military-grade AES-256-GCM encryption before they ever touch the disk
|
||||
**Lightning fast**: Built with Rust for maximum performance and safety
|
||||
**Developer-friendly**: Clean REST API lets you build custom apps and integrations
|
||||
**Dead simple**: One Docker command and you're running your own cloud
|
||||
|
||||
## Features at a glance
|
||||
|
||||
- **Secure authentication** with JWT-based sessions
|
||||
- **File encryption** using AES-256-GCM (the same standard used by banks)
|
||||
- **Share files easily** with customizable access controls and expiration dates
|
||||
- **File encryption** using AES-256-GCM
|
||||
- **Share files easily** with customizable access controls and expiration dates*
|
||||
- **Full REST API** for building your own clients or automations
|
||||
- **Modern web interface** built with React and TypeScript
|
||||
- **Single binary deployment** — no complex setup required
|
||||
|
@ -25,7 +24,6 @@ Your files, your server, your privacy. Litecloud is a lightweight, secure cloud
|
|||
- **Rust + Rocket**: For blazing-fast, memory-safe performance
|
||||
- **AES-256-GCM encryption**: Your files are scrambled before they hit storage
|
||||
- **JWT authentication**: Secure, stateless session management
|
||||
- **Docker-ready**: Runs on port 8082 by default
|
||||
|
||||
### Frontend
|
||||
- **React + Vite + TypeScript**: Modern, type-safe user interface, with all the added benefits of vite
|
||||
|
@ -34,10 +32,10 @@ Your files, your server, your privacy. Litecloud is a lightweight, secure cloud
|
|||
|
||||
## Why Rust? Why not just use Node.js?
|
||||
|
||||
Great question! Rust gives us superpowers:
|
||||
Great question! Rust seemed to *just work* for this scenario:
|
||||
|
||||
- **Memory safety without garbage collection** — no mysterious crashes or memory leaks, hence safer handling of encrypted files.
|
||||
- **Fearless concurrency** — handle thousands of simultaneous uploads without breaking a sweat
|
||||
- **Insanely good concurrency** — handle thousands of simultaneous uploads without breaking a sweat
|
||||
- **Zero-cost abstractions** — all the safety with none of the performance overhead
|
||||
- **Type safety for encryption** — this really is a no-brainer for an app built with security in mind
|
||||
|
||||
|
@ -45,11 +43,11 @@ Rocket framework adds the cherry on top with its elegant routing system and buil
|
|||
|
||||
## How secure is "secure"?
|
||||
|
||||
We take security seriously:
|
||||
We take this *security* thing quite seriously:
|
||||
|
||||
- **AES-256-GCM encryption**: The same encryption standard trusted by governments and militaries
|
||||
- **Server-side encryption**: Files are encrypted before they're written to your server's disk — even system administrators can't read your files without the keys
|
||||
- **No plaintext storage**: Your original files never exist unencrypted on the server
|
||||
- **On-pipe encryption**: Files are encrypted before they're written to your server's disk — even system administrators can't read your files without the keys
|
||||
- **No plaintext storage**: Your original files exist only before you upload them and after you download them back on your machine
|
||||
- **JWT-based auth**: Secure, industry-standard authentication tokens
|
||||
|
||||
## API-first design
|
||||
|
@ -61,7 +59,7 @@ Everything you can do in the web interface, you can do programmatically. The ent
|
|||
- Integrate file storage into your existing applications
|
||||
- Build a command-line client for power users
|
||||
|
||||
*API documentation is coming soon — we're working on comprehensive docs with examples!*
|
||||
*API documentation is coming as soon as all the routes are battle-tested*
|
||||
|
||||
## Getting started in 30 seconds
|
||||
|
||||
|
@ -106,7 +104,7 @@ That's it! Caddy will automatically get SSL certificates and proxy requests to y
|
|||
If you prefer a web interface for managing your reverse proxy:
|
||||
|
||||
1. Set up [Nginx Proxy Manager](https://nginxproxymanager.com/)
|
||||
2. Create a new proxy host pointing to `localhost:8082`
|
||||
2. Create a new proxy host pointing to `ip:8082`
|
||||
3. Enable SSL and let NPM handle the certificate generation
|
||||
4. Configure any additional security headers you want
|
||||
|
||||
|
@ -123,14 +121,14 @@ server {
|
|||
ssl_certificate_key /path/to/your/private.key;
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8082;
|
||||
proxy_pass http://ip:8082;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# Important for file uploads, app default is 5 gb
|
||||
client_max_body_size 100M;
|
||||
# Important for file uploads
|
||||
client_max_body_size 5G;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -146,10 +144,10 @@ When exposing to the internet:
|
|||
|
||||
## What's next?
|
||||
|
||||
- 📱 Mobile app development
|
||||
- 📚 Comprehensive API documentation
|
||||
- 🔍 File search and tagging
|
||||
- 🔄 Client-side sync capabilities
|
||||
- Mobile app development
|
||||
- Comprehensive API documentation
|
||||
- File search and tagging
|
||||
- Client-side sync capabilities
|
||||
|
||||
## Contributing
|
||||
|
||||
|
@ -159,10 +157,10 @@ Found a bug? Have a feature idea? We'd love your help! Check out our issues page
|
|||
|
||||
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means:
|
||||
|
||||
- ✅ You can use, modify, and distribute this software freely
|
||||
- ✅ You can use it for commercial purposes
|
||||
- ✅ You must provide source code to users (even if they access it over a network)
|
||||
- ✅ Any modifications must also be open source under AGPL-3.0
|
||||
- You can use, modify, and distribute this software freely
|
||||
- You can use it for commercial purposes
|
||||
- You must provide source code to users, or a way to get to this page (even if they access it over a local network)
|
||||
- Any modifications must also be open source under AGPL-3.0
|
||||
|
||||
The AGPL ensures that if you run a modified version of Litecloud as a service, your users have the right to access the source code. This keeps the project truly open and prevents proprietary forks from closing off improvements to the community.
|
||||
|
||||
|
|
Loading…
Reference in a new issue