✨ A lightweight Cloud Note & PasteBin alternative. Save text, code, images, videos, and any content with just one click for easier sharing!
[English] · 简体中文 · [Demo Website] · Documentation · Self-hosting Guide · REST API
QBin focuses on "fast, secure, and lightweight" online editing and content sharing, suitable for personal notes, temporary storage, team collaboration, cross-platform sharing, and many other scenarios.
- Frontend uses pure HTML+JS+CSS without heavy frameworks, featuring Monaco code editor, Cherry Markdown renderer, and a universal editor for various content types.
- Backend uses Deno Oak framework + PostgreSQL database, combined with Deno KV and Edge Cache for multi-level caching, providing excellent performance for both reading and writing.
- Built-in PWA and IndexedDB support lets you edit, save, and preview even when offline.
- Freely set access paths, passwords, and expiration dates for flexible sharing while protecting privacy.
- Compared to traditional PasteBin services, QBin offers richer editing capabilities, multi-layered security, and higher extensibility.
- 🚀 Simple Storage: Easily save text, code, images, audio/video, and other content with one-click sharing
- 🔒 Secure Control: Support for custom access paths and password protection
- ⏱️ Flexible Expiration: Set storage validity periods with automatic deletion of expired data
- 🌓 Light/Dark Mode: Support for dark/light/system theme for comfortable viewing day or night
- 📱 PWA Offline: Edit and access local cache without internet, take notes anytime, anywhere
- 🔄 Real-time Saving: Automatic periodic saving to local and remote storage to prevent data loss
- 🔑 Multiple Logins: Support for username/password and OAuth2 (Google, GitHub, Microsoft, custom)
- ♻️ Multi-level Cache: Combining Deno KV, PostgreSQL, Edge Cache, and ETag for faster access
- ⚡ One-click Deploy: Support for Docker Compose, Deno Deploy, and more for easy self-hosting
- Visit a deployed QBin link (or local environment)
- Enter the default admin username and password
- After logging in, enter content or paste/drag-and-drop files in any editor (General/Code/Markdown)
- Set link path, expiration time, password protection (optional)
- Content is automatically saved and sharing links or QR codes are generated
- Visit the link to view or download content (password required if set)
For more detailed usage, please refer to the User Guide.
Frontend:
- Pure HTML + JS + CSS (no third-party frameworks)
- Monaco code editor + Cherry Markdown + Universal editor
Backend:
- Deno Oak framework
- PostgreSQL database
- Deno KV & Edge Cache multi-level caching + ETag cache validation
Security and Authentication:
- JWT + username/password
- OAuth2 login (Google, GitHub, Microsoft, Custom)
Several deployment methods are provided below.
git clone https://github.com/Quick-Bin/qbin.git
cd qbin
docker-compose up -dAfter running, visit http://localhost:8000 to start using. (Default admin account and password can be modified in docker-compose.yml)
Suitable for environments with existing PostgreSQL:
# Pull the latest image
docker pull naiher/qbin:latest
# Start the container
docker run -it -p 8000:8000 \
-e DATABASE_URL="postgresql://user:password@host:5432/dbname" \
-e JWT_SECRET="your_jwt_secret" \
-e ADMIN_PASSWORD="qbin" \
-e ADMIN_EMAIL="admin@qbin.github" \
naiher/qbinThen visit http://localhost:8000.
Tip: You can use free PostgreSQL from Neon, Aiven, or Render.
QBin can run on Deno Deploy, local Deno environments, and other platforms. See Self-hosting Guide for details.
- Implement end-to-end encryption
- Markdown, audio/video, image preview
- Personal dashboard
- Docker deployment support
- Third-party OAuth2 login (Google / GitHub / Microsoft / Custom)
- Multi-level hot-cold storage
- Mobile + light/dark/system theme adaptation
- ETag cache + IndexedDB local storage
- Custom storage path, password, and expiration
- Automatic local data backup
- Fork this project
- Create a new branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m "Add amazing feature" - Push to the branch:
git push origin feature/amazing-feature - Create a Pull Request and wait for it to be merged
If QBin has helped you or your team, please consider sponsoring through Afdian to help the project continue to update and improve!
Special thanks to the projects that provided support and inspiration:
This project is open-source under the GPL-3.0 license. Feel free to use and develop it further. Let's build an open and efficient cloud storage and sharing ecosystem together!

