QuackBin is a minimalist, pastebin service that prioritizes privacy and simplicity. Built with Go and powered by DuckDB, QuackBin offers a lightweight, single-binary solution for sharing encrypted text snippets.
- Client-Side Encryption: All encryption and decryption occur in the browser, ensuring zero-knowledge on the server's side
- Private Pastes: Option to create password-protected pastes for added security
- IP Rate Limiting: Prevents abuse through a mutex-based rate limiting system
- Backend: Go
- Database: DuckDB
- Frontend: HTML, CSS, JavaScript
- Encryption: CryptoJS library (AES-256 in CBC mode)
To get QuackBin up and running on your local machine, follow these simple steps:
-
Clone this repository:
git clone https://github.com/GiorgioBaldelli/quackbin.git
-
Navigate to the project directory:
cd quackbin
-
Build:
docker build -t quackbin .
-
Run the server:
docker run -p 8080:8080 quackbin
-
Navigate to
http://localhost:8080
If you have ideas for improvements, feel free to:
- Fork the repo
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request