2026年10月09日 本项目停更,项目已切换至 https://github.com/Jonnyan404/clip9
A cross-platform cloud clipboard tool for sending text, images, and files in real-time across multiple devices and platforms.
| Feature | Description |
|---|---|
| 🔒 Privacy & Security | Deploy on your local machine or private server; keep full ownership of your data |
| 📦 Easy Deployment | Supports Docker, binaries, Homebrew, OpenWrt, Serverless, and source builds |
| 🌍 Cross-platform | Available for Windows, macOS, Linux, Android, and iOS |
| ⚡ Real-time Sync | Instant bidirectional synchronization via WebSocket |
| 🔐 Authentication | Password protection and per-room access control |
| 💾 Flexible Storage | Configurable history capacity and file expiration policies |
| 🚀 Lightweight | Minimal resource consumption, runs smoothly even on routers or low-spec hardware |
| 🔍 Shortcuts Support | Android and iOS shortcut integration for one-tap sharing |
| 🎨 Five UI Modes | Timeline, glance, action bench, sticky notes, board and more — each mode keeps its own display settings, and ?mode= in the URL pins one mode per browser tab |
| 🧩 Action Library | 35 built-in actions: Markdown rendering, JSON beautify/minify, Base64 / URL / Hex codecs, pinyin annotation (per character · table · by word), traditional↔simplified conversion, date math, hashing — use one to view an entry differently, or chain several into a pipeline |
| ⏰ Scheduled Automations | Post rendered text into a room on a schedule — daily / weekly / once / 5-field cron. Bodies are templates ({{date:+1d}}, {{weekday:+1d}}, {{latest}}), and the server-runnable subset of the action library can be chained in. Policy is per room via roomAuth[x].automation, and scheduled messages don't consume room history by default (Go server only — the Cloudflare Worker has no scheduler) |
docker run -d \
--name cloud-clipboard-go \
-p 9501:9501 \
-v /path/to/data:/app/server-node/data \
ghcr.io/jonnyan404/cloud-clipboard-go:latestExpand to view docker-compose.yml example
services:
cloud-clipboard-go:
image: ghcr.io/jonnyan404/cloud-clipboard-go:latest
#image: jonnyan404/cloud-clipboard-go:latest
container_name: cloud-clipboard-go
restart: always
ports:
- "9501:9501"
volumes:
- /path/your/dir/data:/app/server-node/data # Data persistence directory (modify to your local path)
environment:
LISTEN_IP: ${LISTEN_IP:-} # Listening IPv4 address, default 0.0.0.0 (use 127.0.0.1 for local only)
LISTEN_IP6: ${LISTEN_IP6:-} # Listening IPv6 address, default empty (use :: for IPv6)
LISTEN_PORT: ${LISTEN_PORT:-} # Server port, default 9501
PREFIX: ${PREFIX:-} # Subpath prefix for reverse proxies (e.g., /cloud-clipboard)
MESSAGE_NUM: ${MESSAGE_NUM:-} # Number of history records to keep, default 50
AUTH_PASSWORD: ${AUTH_PASSWORD:-} # Global access password, leave empty for no password
ROOM_AUTH_JSON: '${ROOM_AUTH_JSON:-{}}' # Room-level auth and policy JSON, e.g. {"finance":"pass","keep":{"password":"kp","fileExpire":0}}
TEXT_LIMIT: ${TEXT_LIMIT:-} # Max text length in characters, default 4096 (approx. 2048 Chinese characters)
FILE_EXPIRE: ${FILE_EXPIRE:-} # File retention period in seconds, default 3600 (1 hour), 0 for no expiration
FILE_LIMIT: ${FILE_LIMIT:-} # Max file size in bytes, default 104857600 (100MB)
ROOM_LIST: ${ROOM_LIST:-} # Display public room list in UI, default false
MKCERT_DOMAIN_OR_IP: ${MKCERT_DOMAIN_OR_IP:-} # Domains/IPs for automatic mkcert SSL certs (space separated)
MANUAL_KEY_PATH: ${MANUAL_KEY_PATH:-} # Manual SSL private key path (overrides mkcert)
MANUAL_CERT_PATH: ${MANUAL_CERT_PATH:-} # Manual SSL certificate path (overrides mkcert)
healthcheck:
test: ["CMD-SHELL", "nc -z 127.0.0.1 \"${LISTEN_PORT:-9501}\" || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10sRun:
docker compose up -dThen open in your browser: http://localhost:9501
1️⃣ Standalone Binaries (Linux / macOS / Windows)
Download precompiled binaries for your platform from Releases:
# Linux / macOS
./cloud-clipboard-go -port 9501 -auth mypassword123
# Windows
cloud-clipboard-go.exe -port 9501Common CLI flags:
-host string: Listening host (default0.0.0.0)-port int: Listening port (default9501)-auth string: Access authentication password-config string: Path to configuration file-static string: Path to external static assets directory
2️⃣ Homebrew (macOS)
brew install Jonnyan404/tap/cloud-clipboard-go
brew services start cloud-clipboard-goDefault config path:
/usr/local/etc/cloud-clipboard-go/config.json
3️⃣ Android Host (Run Server on Phone)
No PC required; your mobile device acts as the clipboard server:
- Download and install the
.apkfrom Releases. - Open the app, configure the port/password, and tap "Start Service".
- Access
http://phone-lan-ip:9501from any device on the same local network.
4️⃣ OpenWrt Router
# Check your router architecture
cat /etc/apk/arch
# OpenWrt 25.12+ (APK package manager)
apk add --allow-untrusted ./cloud-clipboard-<version>-<apk-arch>.apk
apk add --allow-untrusted ./luci-app-cloud-clipboard-<version>-noarch.apk
# OpenWrt 24.10 and earlier (OPKG package manager)
# Check your router architecture
opkg print-architecture
opkg install ./cloud-clipboard_<version>_<arch>.ipk
opkg install ./luci-app-cloud-clipboard_<version>_all.ipkManage and configure directly in the OpenWrt LuCI WebUI.
5️⃣ Cloudflare Workers (Serverless Cloud Hosting)
Built on Cloudflare Workers + D1 database + R2 storage with global CDN acceleration and generous free tiers.
- Supports GitHub Actions automated deployments
- Supports local script deployment
See detailed instructions: Cloudflare Deployment Guide
6️⃣ Build from Source
Prerequisites: Node.js >= 22.12, Go >= 1.25
# 1. Build frontend
cd web-vue3
npm install && npm run build
# 2. Build and run backend
cd ../cloud-clip
go mod tidy
go run -tags embed .| Tool / Type | Supported Platforms | Description |
|---|---|---|
| Web UI | Modern Browsers | Built-in responsive web app with PWA desktop installation support |
| Android Shortcuts | Android | Send & receive clipboard content via system share sheet with shortcuts package (requires the HTTP Shortcuts app: Google Play / F-Droid) |
| Apple Shortcuts | iOS / macOS | Native shortcuts for sharing text/files and pulling latest content — get them here |
| Clipboard Sync | Win / Mac / Linux | Silent bidirectional clipboard synchronization desktop app (donors only) |
| Cloud Clipboard Go Launcher | Win / Mac / Linux | Desktop GUI launcher without terminal |
| Universal Shell | Win / Mac / Linux | GUI utility helper |
# Get latest clipboard entry
curl http://localhost:9501/content/latest
# Get latest clipboard entry from a specific room
curl http://localhost:9501/content/latest?room=workFull REST API reference: 📖 API docs · Markdown source
Configuration schema: ⚙️ Configuration Reference
If this project helps you, consider supporting us:
Your support keeps this project maintained and actively developed!
| Method | QR Code |
|---|---|
| WeChat Pay | ![]() |
- Tencent Cloud 2C2G from ¥99/yr
- Alibaba Cloud 2C2G from ¥99/yr
- ⭐ Star this repository on GitHub
- 🐛 Report issues to help us improve
- 💡 Suggest features in GitHub Discussions
- 🔀 Submit Pull Requests to contribute code
- 📢 Share the project with your friends and colleagues
Special thanks to:
- 🥇 DOYO (¥20)
- 🥈 xxxxxxxx (¥99)
- 🥉 xxxxxxxx (¥50)
(Leave your nickname in the donation note if you want to be listed here!)
This project's frontend and backend are forked and evolved from the following open-source works:
MIT License - See LICENSE for details.





