Skip to content

Releases: george-petrakis/GopherDrop

1.0.10

Choose a tag to compare

@george-petrakis george-petrakis released this 21 Apr 12:52
3557087

What's Changed

  • chore(deps-dev): bump vite from 4.5.5 to 4.5.9 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in #15
  • feat: add curl-friendly endpoints for text and file pastes, enhance A… by @kek-Sec in #21

New Contributors

Full Changelog: 1.0.9...1.0.10

1.0.9

Choose a tag to compare

@george-petrakis george-petrakis released this 23 Jul 12:34
3280f28

What's Changed

  • Fix/file upload by @kek-Sec in #19

Full Changelog: 1.0.8...1.0.9

1.0.8

Choose a tag to compare

@george-petrakis george-petrakis released this 13 Jun 12:23
9d1b539

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

Choose a tag to compare

@george-petrakis george-petrakis released this 22 Apr 10:05
84e72dc

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

Choose a tag to compare

@george-petrakis george-petrakis released this 20 Dec 15:15
dd55ee8

What's Changed

  • Fix/CVE 2024 45337 by @kek-Sec in #9
  • Fix code scanning alert no. 19: Size computation for allocation may overflow by @kek-Sec in #11
  • Feat/UI additions by @kek-Sec in #12
  • Feat/ratelimiting by @kek-Sec in #13

Full Changelog: 1.0.4...1.0.6

1.0.4

Choose a tag to compare

@george-petrakis george-petrakis released this 20 Dec 07:17

What's Changed

  • Feat/go versioning by @kek-Sec in #6
  • Feat/semver by @kek-Sec in #7
  • Fix: version in build workflow by @kek-Sec in #8

Full Changelog: 1.0.0...1.0.4

Initial Release πŸš€

Choose a tag to compare

@george-petrakis george-petrakis released this 19 Dec 11:53
54027cb

πŸ› οΈ 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