Securely share secrets and files
4.2K
š Githubā Ā Ā š³ Docker Hubā
š Demoā (wait for Render to instanciate it)
Share is a secure web service designed to safely transfer passwords, rich text, code snippets, and large files.
ā”ļø Simply paste your content or upload a file, generate a secure link, and deliver it safely to your recipient !
Tips
ā”ļø Share integrates seamlessly with reverse proxy authentication. For example, you can allow internal-only share creation while keeping unlock pages publicly accessible.
See the example belowā .
git clone [email protected]:ggtrd/share.git \
&& cd share \
&& go mod tidy \
&& go build
./share init
./share web
docker-compose.yml
curl -O https://raw.githubusercontent.com/ggtrd/share/refs/heads/main/docker-compose.yml
.env
curl https://raw.githubusercontent.com/ggtrd/share/refs/heads/main/.env.example -o .env
.env according to your needsdocker compose up -d
If run with Docker:
docker exec -it <container> sh
./share help
Customizations are handled within
/static/customdirectory.
A default mount point is configured in docker-compose.ymlā .
CSS overwrites must be placed in/static/custom/theme.cssfile.
/static/custom/logo.png or /static/custom/logo.svg/static/custom/logo-darkmode.png or /static/custom/logo-darkmode.svg:root {
--logo-height: 60px;
}
A color theme will be automatically calculated from this color
:root {
--color: #4cd137;
}
Details (such as version) are available at URL/about
Apache HTTP Server with authentication on share creation
sudo a2enmod ssl proxy proxy_http
/etc/apache2/sites-available/001-share.conf
ServerName share.<domain>
<VirtualHost *:80>
Redirect permanent / https://share.<domain>
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/<cert>.pem
SSLCertificateKeyFile /etc/ssl/private/<cert>.key
# Allow everyone to get /share (= unlock share page)
<Location "/share">
AuthType none
Satisfy any
</Location>
# Allow everyone to get /static (= style, images and JS files)
<Location "/static">
AuthType none
Satisfy any
</Location>
# Require an authentication for everything else like /secret and /files (= create shares)
# The authentication can be anything (basic auth, OIDC etc...)
<Location "/">
AuthType Basic
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
ProxyPreserveHost On
ProxyRequests On
ProxyPass / http://0.0.0.0:8080/
ProxyPassReverse / http://0.0.0.0:8080/
</VirtualHost>
sudo a2ensite 001-share.conf
OpenPGP is used to cipher the password of a share when unlocking. It doesn't cipher anything else (like file download for example), please consider using HTTPS with a TLS certificate.
This project is licensed under the MIT License. See the LICENSE fileā for details.
Content type
Image
Digest
sha256:1efeaa720ā¦
Size
434.7 MB
Last updated
15 days ago
docker pull ggtrd/share