Skip to content

Releases: kek-Sec/GopherDrop

1.0.9

23 Jul 12:34
3280f28

Choose a tag to compare

What's Changed

Full Changelog: 1.0.8...1.0.9

1.0.8

13 Jun 12:23
9d1b539

Choose a tag to compare

UI Enhancements

  • Redesigned Header and Footer: Modernized header/footer with theme toggle and improved visual consistency.
  • Improved 404 Page: Updated design for better responsiveness and refined typography.

Theme and Styling Updates

  • Custom Themes: Introduced custom light/dark themes and theme switching functionality.
  • Global Styling Updates: Updated font to "Inter" and added a gradient background.

Component Enhancements

  • Reusable Password Input: Created a component for password handling, including visibility and generation.
  • Secret Display Component: Added a component for secret copying and file downloading with alerts.

Code Cleanup and Refactoring

  • Removed Unused API Code: Deleted obsolete api.js to simplify codebase.
  • Form Reset Logic: Refactored Create.vue to use a centralized store for form reset.

1.0.7

22 Apr 10:05
84e72dc

Choose a tag to compare

Added

  • Customizable application title and description through environment variables
  • New build arguments in Dockerfile: VITE_APP_TITLE and VITE_APP_DESCRIPTION
  • Support for title and description customization in docker-compose configuration

1.0.6

20 Dec 15:15
dd55ee8

Choose a tag to compare

What's Changed

Full Changelog: 1.0.4...1.0.6

1.0.4

20 Dec 07:17

Choose a tag to compare

What's Changed

Full Changelog: 1.0.0...1.0.4

Initial Release πŸš€

19 Dec 11:53
54027cb

Choose a tag to compare

πŸ› οΈ GopherDrop – Secure One-Time Secret Sharing 🏁

Demo: https://gopherdrop.yup.gr

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.

GopherDrop Banner


πŸ“‹ Table of Contents

  1. Features
  2. Installation
  3. Build and Run
  4. Configuration
  5. Endpoints
  6. Docker Deployment
  7. Contributing
  8. License
  9. Community and Support

🌟 Features

  • Send Text or Files: Share sensitive information securely.
  • Password Protection: Encrypt your secrets with a password.
  • One-Time Retrieval: Automatically delete secrets after a single access.
  • Expiration Settings: Define how long a secret remains available.
  • Responsive UI: Built with Vue.js and Vuetify for a modern user experience.
  • Dockerized Deployment: Simple setup with Docker and Docker Compose.
  • Production and Debug Modes: Easily switch between production and debug builds.

🐳 Docker Deployment

Production docker-compose.yml

docker-compose.prod.sample.yaml


πŸ“₯ Installation

Prerequisites

Clone the Repository

git clone https://github.com/kek-Sec/gopherdrop.git
cd gopherdrop

πŸ› οΈ Build and Run

Local Setup

To build and run GopherDrop in production mode:

make build      # Build the Docker images
make up         # Start the backend, frontend, and database services

Debug Setup

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

Stopping Services

make down

Running Tests

make test

βš™οΈ Configuration

Using .env File

Create 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

Environment Variables

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)

πŸ–₯️ Endpoints

API Endpoints

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

🀝 Contributing

  1. Fork the repository.
  2. Create a new branch: git checkout -b my-feature-branch
  3. Make your changes and add tests.
  4. Submit a pull request.

πŸ“ License

GopherDrop is licensed under the MIT License.


πŸ’¬ Community and Support