Secure file sharing with E2E encryption and zero-knowledge architecture. Easy to use! 🚀🔒📁
2.4K
SecureSling makes file sharing simple and straightforward with an intuitive interface that's easy to use.
Files are encrypted with AES-GCM using a 256-bit key to ensure data privacy and security. This state-of-the-art encryption standard provides robust protection for your files.
Enable one-time downloads to ensure your files are only accessible once
Choose a maximum number of downloads
Set an expiration date for your files
Set Global expiration date (optional)
Set Max Filesize
File for configuration (config.yaml)
Optionally choose a password to encrypt/access files
With SecureSling, your files are encrypted and decrypted directly on your device.
This means that only you and the recipient can access the content of the files.
The server never have access to your unencrypted files, ensuring maximum privacy and security.
You can optionally choose a password to encrypt files. In this case the password is required (in addition to the sharing link) to download the file.
How it Works
You can choose to lock the upload section to ensure that no one without permission can share files.
| Screenshot |
|---|
![]() |
![]() |
![]() |
![]() |
Only a randomly generated identifier that refers to the shared file is sent to the server.
The link parameters for the decryption key and original file name are never sent to the server, so no one other than the recipient and the sender can decrypt the file.
The server can work as either HTTP (if you use a reverse proxy, see next section) or HTTPS.
It is possible to use an image on Docker Hub with the following command:
docker run -p 8080:8080 --name securesling -v /home/user/config.yaml:/config.yaml -v /home/user/credentials.yaml:/credentials.yaml -v /home/user/uploads:/uploads jackyes/securesling:latest
/home/user/config.yaml is the path to your config.yaml file (copy and edit the one in this repository).
/home/user/credentials.yaml is the path to your credentials.yaml file (copy and edit the one in this repository).
/home/user/uploads is where ecrypted uploaded file are stored.
change the default port 8080 accordingly with the one in config.yaml if you modify it.
Follow these steps to build and run the Docker container:
git clone https://github.com/jackyes/SecureSling.git
cd SecureSling
# Edit config.yaml as needed
nano config.yaml
nano credentials.yaml
docker build -t securesling .
docker run -p 8080:8080 securesling
location /share/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
rewrite ^/share$ /share/ permanent;
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-Scheme $scheme;
location /share/static {
proxy_pass http://localhost:8080/static;
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-Scheme $scheme;
}
Content type
Image
Digest
sha256:d65a4f4d1…
Size
23.6 MB
Last updated
5 months ago
docker pull jackyes/securesling