Skip to content
This repository was archived by the owner on Oct 11, 2026. It is now read-only.
Jonnyan404Public archive

About

A cross-platform cloud clipboard tool for sending text, images, and files in real-time across multiple devices and platforms.

Resources

Stars

103 stars

Watchers

1 watching

Forks

Latest commit

 

History

652 Commits

Folders and files

Repository files navigation

2026年10月09日 本项目停更,项目已切换至 https://github.com/Jonnyan404/clip9

Cloud Clipboard Go

Chinese Readme Docs site license release downloads

Buy Me a Coffee at ko-fi.com

A cross-platform cloud clipboard tool for sending text, images, and files in real-time across multiple devices and platforms.


📸 Screenshots

💻 Desktop

Desktop Preview

📱 Mobile

Mobile2 Preview Mobile3 Preview Mobile4 Preview

📡 Router (OpenWrt)

OpenWrt Preview


🎯 Highlights

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)

🚀 Quick Start

🐳 Using Docker (Recommended)

Quick Run

docker run -d \
  --name cloud-clipboard-go \
  -p 9501:9501 \
  -v /path/to/data:/app/server-node/data \
  ghcr.io/jonnyan404/cloud-clipboard-go:latest

Docker Compose

Expand 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: 10s

Run:

docker compose up -d

Then open in your browser: http://localhost:9501


📦 Other Deployment Methods

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 9501

Common CLI flags:

  • -host string: Listening host (default 0.0.0.0)
  • -port int: Listening port (default 9501)
  • -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-go

Default 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:

  1. Download and install the .apk from Releases.
  2. Open the app, configure the port/password, and tap "Start Service".
  3. Access http://phone-lan-ip:9501 from 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.ipk

Manage 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 .

📱 Clients & Utilities

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

🌐 API Examples

# 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=work

Full REST API reference: 📖 API docs · Markdown source

Configuration schema: ⚙️ Configuration Reference


☕ Support the Project

If this project helps you, consider supporting us:

💰 Sponsorship & Donations

Your support keeps this project maintained and actively developed!

Method QR Code
WeChat Pay WeChat Pay

🌟 Other Ways to Support

📝 Donors & Supporters

Special thanks to:

  • 🥇 DOYO (¥20)
  • 🥈 xxxxxxxx (¥99)
  • 🥉 xxxxxxxx (¥50)

(Leave your nickname in the donation note if you want to be listed here!)


🙏 Acknowledgments

This project's frontend and backend are forked and evolved from the following open-source works:


📄 License

MIT License - See LICENSE for details.

About

A cross-platform cloud clipboard tool for sending text, images, and files in real-time across multiple devices and platforms.

Resources

Stars

103 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages