GopherDrop is a secure, self-hostable REST API and UI for sharing encrypted one-time secrets
616
GopherDrop is a secure, self-hostable REST API and UI for sharing encrypted one-time secrets and files, inspired by Bitwarden's Send feature. Built with Go, Vue.js, and Vuetify, GopherDrop is designed for simplicity, security, and ease of deployment.
docker-compose.ymldocker-compose.prod.sample.yaml
git clone https://github.com/kek-Sec/gopherdrop.git
cd gopherdrop
To build and run GopherDrop in production mode:
make build # Build the Docker images
make up # Start the backend, frontend, and database services
To build and run GopherDrop in debug mode:
make build-debug # Build the Docker images with debug mode enabled
make up # Start the backend, frontend, and database services in debug mode
make down
make test
.env FileCreate a .env file in the project root to securely store your secrets:
DB_HOST=db
DB_USER=user
DB_PASSWORD=pass
DB_NAME=gopherdropdb
DB_SSLMODE=disable
SECRET_KEY=supersecretkeysupersecretkey32
LISTEN_ADDR=:8080
STORAGE_PATH=/app/storage
MAX_FILE_SIZE=10485760
| Variable | Description | Default Value |
|---|---|---|
DB_HOST | Database host | db |
DB_USER | Database username | user |
DB_PASSWORD | Database password | pass |
DB_NAME | Database name | gopherdropdb |
SECRET_KEY | Secret key for encryption | supersecretkeysupersecretkey32 |
LISTEN_ADDR | API listen address | :8080 |
STORAGE_PATH | Path for storing uploaded files | /app/storage |
MAX_FILE_SIZE | Maximum file size in bytes | 10485760 (10 MB) |
| Method | Endpoint | Description |
|---|---|---|
POST | /send | Create a new send (text or file) |
GET | /send/:id | Retrieve a send by its hash |
GET | /send/:id/check | Check if a send requires a password |
git checkout -b my-feature-branchGopherDrop is licensed under the MIT License.
Content type
Image
Digest
sha256:0edb1c4ce…
Size
34.2 MB
Last updated
about 1 year ago
docker pull petrakisg/gopherdrop:1.0.9