quick-clip is a web-based quick clipboard for images.
Upload, copy URL/image to clipboard, and manage stored images from a simple gallery UI.
한국어 문서는 README.ko.md에서 확인할 수 있습니다.
Use the management script to run the service:
./manage.sh install # first time: create virtualenv + install dependencies
./manage.sh setup # create .env from .env.example
./manage.sh start # launch quick-clip in backgroundmanage.sh also supports:
./manage.sh status # check running state
./manage.sh logs # stream application logs (`tail -f app.log`)
./manage.sh stop # stop background process
./manage.sh restart # restart the service
./manage.sh help # show full command usagemain.py reads .env values automatically:
LOCAL_BUCKET_HOST(default:127.0.0.1)LOCAL_BUCKET_PORT(default:8000)LOCAL_BUCKET_DIR(default:./bucket)LOCAL_BUCKET_STATIC(default:./static)LOCAL_BUCKET_ALLOWED_PREFIXES(default:image/)LOCAL_BUCKET_MAX_BYTES(default:10485760)LOCAL_BUCKET_TTL_SECONDS(default:0)LOCAL_BUCKET_MAX_FILES(default:0)LOCAL_BUCKET_RELOAD(default:false)
For reload during local development:
LOCAL_BUCKET_RELOAD=true- Upload image files via file picker or drag-and-drop.
- Generate direct local URLs for quick sharing and clipboard copy.
- Copy:
- image URL
- binary image data (image clipboard)
- Preview uploaded images in a gallery.
- Latest uploads panel for quick recent-file confirmation.
- Gallery management:
- pagination with
Load more - multi-select delete
- bulk delete confirmation
- mobile-friendly layout for gallery actions
- pagination with
/purgeendpoint exists on backend, but the UI keeps multi-select delete as the main bulk deletion flow.- Image editor modal in image preview:
- Drawing tools for brush, line, rectangle, and text.
- Select mode with move/resize/rotate handles.
- Object selection and deletion, plus undo support.
- Keyboard shortcuts:
V(select),P(brush),L(line),B(rect),T(text),Del/Backspace(delete),Ctrl/Cmd+Z(undo).
POST /upload: Upload image and receive URLGET /s/{filename}: Serve imageGET /list: List stored images (supports?limit=<n>&offset=<n>)DELETE /s/{filename}: Delete an imagePOST /purge: Remove all stored imagesGET /health: Health check
manage.sh is the preferred way to bootstrap and manage the app process.



