gcopy

llaojMIT活跃维护

跨设备剪贴板同步服务,可在不同设备间同步文本、截图和文件,解决多设备复制粘贴内容无法互通的问题。

A clipboard synchronization service for different devices that can synchronize text, screenshots, and files.

v2.1.14发布于 2026-10-25 08:06 UTC734star49fork同步于 2026-11-10 17:56 UTC

怎么上手

由 README 提炼,执行前请确认
docker 部署见 docs/deploy-by-docker.md,源码部署见 docs/deploy-from-source.md
硬件要求按 README 说明

README 未说明具体硬件要求;自托管需云服务器资源,文件大小受服务端内存与 -max-content-length 参数限制

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

跨设备同步剪贴板的 Web 服务,支持文本、截图和文件,无需同一局域网

跨设备剪贴板同步服务,可在不同设备间同步文本、截图和文件,解决多设备复制粘贴内容无法互通的问题。

核心能力

  • 用 8 位 token 作为跨设备共享剪贴板的密钥
  • 数据仅存内存不持久化,24 小时不活跃即过期
  • 支持文本、截图和文件三类内容同步
  • 纯 Web 服务,浏览器打开即可用,无需装客户端
  • 设备无需处于同一局域网即可互通

容易踩的坑

依赖浏览器 Clipboard API,需使用兼容的浏览器版本;文件同步靠上传下载实现,同一时间只能同步一个文件;文件大小不得超过 -max-content-length 设定的 MB 数

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.1.14
  1. v2.1.14最新正式版2026-10-25 · 2026-10-25 08:06 UTC

    What's new in v2.1.14

    Changes since the last published release v2.0.2.

    Highlights

    • New home: GCopy has moved to https://gcopy.link. The old gcopy.llaoj.cn domain is retired.
    • Simpler sign-in: email auth is gone — sign in with an 8-character token only. Self-hosters now need an app key of at least 16 characters.
    • Smarter clipboard sync: remote clipboard status is polled (paused while the tab is hidden), the sync button flags new remote content, the sync cursor persists across reloads, duplicate file uploads are skipped, and history items can be shared to your other devices.
    • Better file transfer: select multiple files and they are uploaded as one automatic zip; uploads show progress, retry up to 2 times, and time out after 30s of inactivity.
    • Clearer feedback: sync direction is shown by the log traffic lights, copy actions give inline feedback, clipboard permission errors are surfaced, and pending paste / Safari sync actions are explained.
    • Hardening: clipboard index writes are serialized, request size is limited, session cookies and security headers are stricter, and fixes land for history overwrites, duplicate sync after sharing, unreadable cookies, and exported page routing.
    • Pseudonymous usage analytics: server-side sync_upload / sync_download events use a hashed user ID. Clipboard content is never logged.

    Other improvements

    • Copy your token from the avatar menu; accessibility fixes (pinch zoom, keyboard-accessible dropzone); history animation and pin icon polish; quick input layout fixes; /ping moved to the root path with HEAD support; docs updated (new domain, dev workflow); unused dependencies removed.

    📦 Downloads & Docker Images

    GitHub Releases: https://github.com/llaoj/gcopy/releases/tag/v2.1.14

    Docker Hub:

    docker pull llaoj/gcopy:v2.1.14
    docker pull llaoj/gcopy:latest
    

    Aliyun ACR mirror / 阿里云镜像:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:v2.1.14
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:latest
    

    Full Changelog: https://github.com/llaoj/gcopy/compare/v2.0.2...v2.1.14


    v2.1.14 更新内容

    相比上一次正式发布的 v2.0.2 的改动。

    主要更新

    • 新域名:GCopy 已迁移到 https://gcopy.link ,旧域名 gcopy.llaoj.cn 不再使用。
    • 登录更简单:移除邮箱登录,统一使用 8 位 Token 登录;自建部署的 app-key 长度要求提升到 至少 16 个字符。
    • 更智能的剪贴板同步:轮询远端剪贴板状态(后台标签页自动暂停),同步按钮会提示有新内容,同步游标在刷新后保留,自动跳过重复的文件上传,历史记录支持分享到其他设备。
    • 文件传输增强:多选文件时自动打包为一个 zip 上传;上传支持进度显示、最多 2 次自动重试,空闲 30 秒超时。
    • 反馈更清晰:日志红绿灯显示同步方向,复制操作有即时反馈,剪贴板权限错误会明确提示,并引导处理待粘贴内容和 Safari 同步操作。
    • 安全加固:剪贴板索引写入串行化、限制请求大小、收紧会话 Cookie 和安全响应头;修复历史记录被覆盖、分享后重复同步、Cookie 无法解析、导出页面路由等问题。
    • 匿名统计:服务端记录 sync_upload / sync_download 事件,用户 ID 经过哈希处理,不会记录剪贴板内容。

    其他改进

    • 头像菜单可直接复制 Token;无障碍优化(允许缩放、文件拖拽区支持键盘操作);历史列表动画和置顶图标优化;快捷输入框布局修复;/ping 移至根路径并支持 HEAD;文档更新(新域名、开发流程);清理无用依赖。

    📦 下载与镜像

    GitHub Releases: https://github.com/llaoj/gcopy/releases/tag/v2.1.14

    Docker Hub:

    docker pull llaoj/gcopy:v2.1.14
    docker pull llaoj/gcopy:latest
    

    阿里云 ACR 镜像:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:v2.1.14
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:latest
    

    完整变更:https://github.com/llaoj/gcopy/compare/v2.0.2...v2.1.14

  2. v2.0.22026-06-14 · 2026-06-14 11:28 UTC
    查看更新说明

    v2.0.2

    🚀 Highlights / 重要更新

    This release includes a major refactoring since v1.6.0, along with several CI/CD and bug fixes.
    本版本包含自 v1.6.0 以来的重大重构,以及多项 CI/CD 和 Bug 修复。


    📋 Changes since v1.6.0 / v1.6.0 以来的改动

    💥 Breaking Change / 重大变更
    • Refactor: Embed frontend static assets, runtime i18n, env config, and TLS support / 重构:嵌入前端静态资源、运行时国际化、环境变量配置及TLS支持 (9678490)
      • Frontend build output is now embedded into Go binary via go embed, removing the need for separate Nginx/Supervisor deployment / 使用 go embed 将前端构建产物嵌入 Go binary,移除独立的 Nginx/Supervisor 部署依赖
      • i18n switched from URL-based pre-compiled (/en/, /zh/) to runtime browser language detection / 前端国际化从基于 URL 路径的预编译方案切换为运行时浏览器语言检测
      • Backend config supports GCOPY_ prefixed environment variables, with TLS and app-key length validation / 后端配置支持通过 GCOPY_ 前缀环境变量设置,同时新增 TLS 和 app-key 长度校验
      • Makefile now builds multi-architecture binaries (linux/darwin, amd64/arm64), added frontend-build target / Makefile 改为多架构构建,新增 frontend-build 目标
      • Removed outdated deployment docs and helper scripts / 清理过时的部署文档和辅助脚本
    ✨ Features / 新功能
    • Add make release target for version tagging / 新增 make release 目标用于版本打标 (1496b34)
    🐛 Bug Fixes / Bug 修复
    • Fix i18n hydration mismatch and initial logs not updating with language / 修复i18n hydration mismatch及初始日志不随语言更新 (09cbe10)
      • i18n.tsx: useState initial locale unified to en, switched to browser language in useEffect / useState初始locale统一为en,useEffect中切换为浏览器语言
      • log.ts: Initial logs moved from useState to useEffect, ensuring locale updates reflect in log content / 初始日志从useState初始值移至useEffect
    • Fix Docker multi-stage build failure - use go build directly instead of make / 修复Docker多阶段构建失败,直接调用go build替代make (0eb3e54)
    • Fix merge job missing checkout step to read version.txt / 修复merge job缺少checkout步骤以读取version.txt (89b7bad)
    ⚡ Performance / 性能优化
    • Optimize CI build speed - use native ARM runners instead of QEMU emulation / 优化CI构建速度,使用原生ARM runner替代QEMU模拟 (b51da6a)
      • Use ubuntu-24.04-arm native runner for parallel arm64 builds / 使用原生 runner 并行构建 arm64
      • Per-platform build + manifest merge, both platforms execute in parallel / 分平台构建 + manifest 合并
      • Added GitHub Actions Docker layer cache (type=gha, mode=max) / 添加 Docker 层缓存
      • Dockerfile optimization: golang:1-alpine replaces golang, merged RUN layers / Dockerfile 优化
    🔧 Chore / 杂项
    • Upgrade GitHub Actions to Node.js 24 compatible versions / 升级 GitHub Actions 到兼容 Node.js 24 的版本 (d134779)
    • Disable provenance to avoid auto-uploaded dockerbuild artifacts / 禁用 provenance 以避免自动上传 dockerbuild 产物 (85fee83)
    • Fix server.go indentation / 修复server.go缩进 (8549a1a)

    🐳 Docker Images / Docker 镜像

    Docker Hub:

    docker pull llaoj/gcopy:v2.0.2
    docker pull llaoj/gcopy:latest
    

    Aliyun ACR / 阿里云容器镜像服务:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:v2.0.2
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:latest
    

    📦 Binary Downloads / 二进制下载

    PlatformArchitectureFile
    Linuxamd64gcopy-v2.0.2-linux-amd64
    Linuxarm64gcopy-v2.0.2-linux-arm64
    macOSamd64gcopy-v2.0.2-darwin-amd64
    macOSarm64gcopy-v2.0.2-darwin-arm64

    Full Changelog: https://github.com/llaoj/gcopy/compare/v1.6.0...v2.0.2

  3. v1.6.0Release v1.6.02026-03-15 · 2026-03-15 08:29 UTC
    查看更新说明

    🎯 Release Highlights

    This release represents a major architectural improvement for GCopy's deployment experience. We've consolidated the frontend and backend into a single Docker image, significantly simplifying deployment and reducing operational complexity. Previously, users needed to manage and coordinate two separate containers; now, everything runs seamlessly in one container using supervisord for process management.

    The new architecture includes robust health checks and improved signal handling, ensuring more reliable startup and graceful shutdowns. These changes make GCopy easier to deploy in various environments while maintaining the same functionality you're used to.

    What's Changed

    ♻️ Major Architectural Improvement

    Consolidated Docker Image: Merged frontend and backend into a single Docker image, eliminating the need for separate containers. This change:

    • Simplifies deployment configuration (one image, one container)
    • Reduces network complexity (no inter-container communication)
    • Makes it easier to deploy GCopy in constrained environments
    • Uses supervisord for reliable process management

    🐛 Bug Fixes & Reliability Improvements

    Backend Health Check: Added curl to the Docker image and implemented health checks to ensure the backend is ready before starting the frontend, preventing race conditions during container startup.

    Signal Handling: Improved supervisord signal handling and logging for proper graceful shutdowns when containers are stopped or restarted.

    BusyBox Compatibility: Removed the unsupported -u flag from sed commands, ensuring compatibility with Alpine/BusyBox environments commonly used in minimal Docker images.

    Build Simplification: Removed the separate start-frontend.sh script, streamlining the Docker build process.

    🔧 Maintenance

    Version Bump: Updated version to v1.6.0 to reflect the architectural changes.

    🙏 Contributors

    Thanks to our contributor for this release:

    🐳 Docker Images

    Docker Hub

    docker pull llaoj/gcopy:v1.6.0
    docker pull llaoj/gcopy:latest
    

    Aliyun ACR (China)

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:v1.6.0
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:latest
    
  4. v1.5.5Release v1.5.52026-03-11 · 2026-03-11 13:06 UTC
    查看更新说明

    🎯 Release Highlights

    This release focuses on sustainability and improved user experience. We've added support links to help maintain the project, enhanced QR code login convenience, and introduced configuration options for better control over clipboard content size limits. Documentation has been significantly improved to make deployment and configuration easier for all users.

    What's Changed

    ✨ New Features

    Sponsor Support Integration

    • Added sponsor support links in README and navigation menu
    • Users can now easily access GitHub Star and donation links from the navbar menu (⭐ Give a Star, 💰 Sponsor)
    • Enhanced sponsor.md with detailed information about server costs and funding needs
    • Support both Chinese and English localization for sponsor messages

    Enhanced QR Code Login

    • Added copy link button for QR code login page
    • Users can now easily share login links across devices with a single click
    • Improves the login experience when scanning QR codes on different devices

    Configurable Content Size Limits

    • Introduced max-content-length parameter to docker-compose.yml
    • Administrators can now control the maximum clipboard content size based on their server resources
    • Prevents server overload from large file uploads

    📝 Documentation

    Deployment Documentation Improvements

    • Added smtp-ssl parameter examples to email authentication documentation
    • Updated all deployment documents with max-content-length parameter explanations
    • Fixed Docker deployment configuration to use command flags instead of environment variables
    • Improved clarity for new users deploying GCopy

    🔧 Maintenance

    • Version bump from v1.5.3 to v1.5.5

    🙏 Contributors

    Thanks to the contributor who made this release possible:

    🐳 Docker Images

    Docker Hub

    GCopy Backend:

    docker pull llaoj/gcopy:v1.5.5
    docker pull llaoj/gcopy:latest
    

    GCopy Frontend:

    docker pull llaoj/gcopy-frontend:v1.5.5
    docker pull llaoj/gcopy-frontend:latest
    

    Aliyun ACR (China)

    GCopy Backend:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:v1.5.5
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:latest
    

    GCopy Frontend:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy-frontend:v1.5.5
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy-frontend:latest
    
  5. v1.5.3Release v1.5.32026-03-09 · 2026-03-09 11:08 UTC
    查看更新说明

    🎯 Release Highlights

    This release introduces QR Code Login, making it incredibly easy to log in on new devices by simply scanning a QR code from an already authenticated device. No more typing verification codes or tokens manually!

    Additionally, this release includes several important bug fixes for mobile users and iOS Safari compatibility, ensuring a smoother experience across all platforms.

    What's Changed

    ✨ New Features

    QR Code Scan for Auto-Fill Login Credentials

    • Added QR code generation in the user avatar dropdown menu
    • Scan the QR code to automatically fill in login credentials on another device
    • Token login page now supports URL parameter auto-fill via QR code scan
    • Email login page automatically fills email address from URL parameter
    • Separated inputToken and generatedToken states for better state management clarity
    • Added qrcode.react dependency for QR code generation

    This feature significantly improves the user experience when logging in on multiple devices, eliminating the need to manually copy and paste tokens or email addresses.

    🐛 Bug Fixes

    File Link Management

    • Fixed an issue where file links would persist when switching to text or screenshot sync
    • File input now properly resets when syncing text or screenshots, preventing confusion

    iOS Safari Compatibility

    • Fixed file download behavior in iOS Safari
    • Files now download directly instead of attempting to render in the browser
    • This resolves issues with certain file types that couldn't be downloaded properly on iOS

    Mobile Login Experience

    • Added horizontal padding to login pages on mobile devices
    • Improved visual appearance and usability on small screens
    • Better touch target spacing for mobile users

    QR Code Login Navigation

    • Fixed navigation issue when scanning QR code for email login
    • Users now stay on the email input page after scanning, allowing them to proceed with verification
    • Prevented unintended redirects that could interrupt the login flow

    🔧 Maintenance

    Version Management

    • Bumped version to v1.5.3
    • Synchronized version across version.txt, package.json, and package-lock.json

    🙏 Contributors

    Thanks to the contributor who made this release possible:

    🐳 Docker Images

    Docker Hub

    GCopy Backend:

    docker pull llaoj/gcopy:v1.5.3
    docker pull llaoj/gcopy:latest
    

    GCopy Frontend:

    docker pull llaoj/gcopy-frontend:v1.5.3
    docker pull llaoj/gcopy-frontend:latest
    

    Aliyun ACR (China)

    GCopy Backend:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:v1.5.3
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy:latest
    

    GCopy Frontend:

    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy-frontend:v1.5.3
    docker pull registry.cn-beijing.aliyuncs.com/llaoj/gcopy-frontend:latest
    

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    [!IMPORTANT] GCopy has moved to https://gcopy.link. The old domain https://gcopy.llaoj.cn is no longer in use.


    中文文档

    A clipboard synchronization service between different operating systems.

    Text, Screenshot & File are supported.

    GCopy values your data privacy, it does not persistently store your data; it is all kept in memory. If you are inactive for 24h, the data will expire.

    Authentication

    Users authenticate with an 8-character token, which is used as the shared clipboard key across devices.

    Quick Start

    Try it now: Visit https://gcopy.link to experience GCopy directly.

    Self-host: See deployment guides below:

    Usage

    screenshot on chrome

    Steps:

    1. Open the website on two devices, A and B, using a browser and log in with the same token.
    2. On device A, copy (e.g., Ctrl+C) and then press the button on the right side of the page.
    3. Switch to device B, press the button again, and the data will be synchronized. Now, go ahead and paste (Ctrl+V)!

    Background

    In our daily office routines, especially for software developers, we often find ourselves working with more than two computers.

    If you need to operate both a Windows PC and a MacOS device simultaneously, exchanging information between these two devices becomes quite troublesome. For various reasons, I couldn't find a good tool to share the clipboard between devices with different operating systems. When I copy a piece of text, pasting it on another computer usually proves to be quite challenging.

    Current tools typically only support text, excluding screenshots and files. Additionally, they often require devices to be on the same local network and accessible to each other, not to mention some of them come with a fee.

    This is not ideal!

    Therefore, I developed GCopy to address these issues. Currently, you can share the clipboard across PC, Mac, and mobile devices, supporting text, screenshots, and files. It has low network requirements, allowing different devices to be on the same local network or not.

    Initially, I used Git as the backend storage and utilized scripts like PowerShell and osascript to synchronize the clipboard between different devices. However, due to its dependence on Git, it was not user-friendly for non-technical users. So, I replaced Git with Golang to serve as a data transfer service between different devices, but it still required users to download and run the GCopy client on their devices, creating a barrier to entry. That led to the development of the current version, 'GCopy v1.0', as a web service. You can directly access the website https://gcopy.link without worrying about data leakage.

    Browser compatibility

    GCopy depends on the browser's Clipboard API. Please refer to browser_compatibility for more information.

    The tested browsers and its versions are listed below:

    BrowserVersion
    Chrome for Android107.0.5304.105✅ Tested
    Chrome for macOSVersion 121.0.6167.85 (Official Build) (x86_64)✅ Tested
    Chrome for WindowsVersion 123.0.6312.86 (Official Build) (x86_64)✅ Tested
    Edge for AndroidEdge 108.0.1462.48✅ Tested
    Edge for HarmonyOS 3.0/4.0Edge 122.0.2365.99✅ Tested
    Edge for LinuxEdge 130.0.2849.52✅ Tested
    Edge for Windows 10Version 124.0.2478.80 (Official build) (64-bit)✅ Tested
    Opera for macOSOpera One(version: 109.0.5097.68) (x86_64)✅ Tested
    Opera for Windows 10Opera One(version: 109.0.5097.68)✅ Tested
    SafariVersion 15.6.1 (17613.3.9.1.16)✅ Tested
    Safari for iOSVersion 16.1✅ Tested

    Limitations

    • Due to browser limitations, reading and setting files directly in the clipboard are not supported. Therefore, file synchronization is achieved through uploading and downloading, ensuring a smooth user experience.
    • At any given time, only one file can be synchronized.
    • Due to limited server memory, the size of the files you synchronize must not exceed -max-content-length MB.

    Sponsor

    GCopy requires cloud server resources to keep the online service running. If you find GCopy helpful, please consider supporting:

    • Give a GitHub Star ⭐
    • Or make a donation (any amount is greatly appreciated 😄)

    Thank you for your support!

    Buy me a coffee

    Community

    Welcome to join GCopy, whether you're a user or a contributor!

    If you have any questions or need support related to GCopy, you can contact me through the following channels:

    Email

    Feel free to reach out to my personal email: [email protected]. If you have any questions, you can drop me a message.

    Discord

    Here, some interesting discussions are happening.

    Server link: https://discord.gg/pyTrT3aAaC

    Screenshot

    Safari on iOS

    More