欢迎光临
我们一直在努力

教你使用Docker搭建一个跨平台的剪贴板同步工具——SyncClipboard

1.项目

SyncClipboard 是一款开源、跨平台的剪贴板同步工具,支持在多设备(Windows、macOS、Linux、Android、iOS)之间实时同步文字、图片和文件内容。它采用服务器/客户端架构,提供多种部署方式,包括内置服务器、独立服务器部署(如Docker)或利用支持WebDAV的网盘(如坚果云、123网盘)作为后端存储。

1.1项目介绍

  1. 跨平台剪贴板同步
    • 支持文字、图片和文件的实时同步,复制后可在其他设备直接粘贴。
    • 适用于Windows、macOS、Linux、Android和iOS设备。
  2. 动态图片优化
    • 从浏览器(如B站)复制动态图片时,自动下载原图并保留动效,避免仅粘贴静态帧的问题。
    • 支持WebP、HEIC等新格式图片自动转换为GIF/JPG,提升兼容性。
  3. 短信验证码自动提取(手机端)
    • 在手机端复制验证码后,自动同步到桌面端剪贴板,减少手动输入。
  4. 多种服务器部署方式
    • 内置服务器:桌面客户端自带,无需额外配置。
    • 独立部署:支持Docker一键部署(如群晖NAS)。
    • WebDAV网盘:兼容坚果云、123网盘等,无需自建服务器。
  5. 安全加密
    • 数据传输采用AES256加密,用户可自定义密码。

1.2项目展示

2.相关地址

gitHub开源项目:https://github.com/Jeric-X/SyncClipboard

3.搭建环境

  • 服务器:这里为了方便搭建项目使用的是莱卡云的境外香港云服务器。(国内用户连接建议使用国内的服务器(需备案域名或者IP+端口)延迟会更低)
  • 莱卡云服务器促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com
  • 资源配置:2核2G 30G硬盘
    由于国内服务器访问海外源较慢,这边为了方便演示直接使用海外服务器搭建。(最好是使用国内服务器搭建)
  • 服务器系统:Debian-12
  • 【必需】安装Docker:安装好 Docker、Docker-compose
  • 【非必需】域名一枚,可用于解析到服务器上使用域名访问

4.搭建视频

哔哩哔哩:https://www.bilibili.com/video/BV1gYTszpEwT/

5.搭建方式

5.1 安装docker和docker-compose

安装教程:服务器上安装docker和docker-compose教程

5.2 创建syncclipboard的docker文件

#在opt目录下创建syncclipboard文件夹
mkdir /opt/syncclipboard
#打开syncclipboard文件
cd /opt/syncclipboard
#编辑docker-compose.yml文件
vi docker-compose.yml

5.3 安装syncclipboard镜像

services:
  syncclipboard-server:
    image: jericx/syncclipboard-server:latest
    container_name: syncclipboard-server
    restart: unless-stopped
    ports:
      - "5133:5033"  # 端口:容器端口(建议端口≥1024)
    environment:
      SYNCCLIPBOARD_USERNAME: "admin"  # 自定义用户名(默认admin)
      SYNCCLIPBOARD_PASSWORD: "admin"   # 自定义密码(默认admin)
    volumes:
      - ./syncclipboard/config:/app/config      # 持久化配置(重要!)

填完按esc键 输入 :wq 保存退出

5.4 运行syncclipboard的docker镜像

我们先启动docker

# 启动docker
docker compose up -d

# 重启docker
docker compose stop
docker compose start

# 升级docker
docker compose down
docker compose pull
docker compose up -d

访问IP:5133端口就可以有界面出现了。

你在浏览器打开 http://服务器IP:5133 后返回 “Server is running.” 是 SyncClipboard 服务器在回应你请求的标志,表示服务已就绪。

真正的界面和交互,来自客户端软件(如 Windows、Mac、Linux 或 Android 端的 SyncClipboard 客户端)。

6.使用教程

详细情况可以参考官方文档:https://github.com/Jeric-X/SyncClipboard

桌面客户端(Windows/Linux/macOS)运行在后台时将自动同步剪贴板展开/折叠截图

Windows

免安装板

Release页面下载名字以SyncClipboard_win_开头的zip文件,解压后运行SyncClipboard.exe

故常排除

  • 支持的最低系统版本为Windows10 2004
  • 在Windows 10中运行SyncClipboard时界面图标大范围出错,请下载安装微软Segoe Fluent Icons图标字体

代表成功连上服务器并且上传下载正常运行

macOS

手动安装

Release页面下载名字以SyncClipboard_macos_开头的安装包,双击后拖动SyncClipboard图标到Applications文件夹

故常排除

  • 系统提示由于开发者无法验证,“SyncClipboard”无法打开: 在macOS的设置->隐私与安全性页面,点击仍要打开
  • 系统提示“SyncClipboard”已损坏,无法打开:在终端中执行sudo xattr -d com.apple.quarantine /Applications/SyncClipboard.app
  • 快捷键依赖辅助功能权限,软件在需要时会弹窗提示授权

Linux

手动安装

Release页面下载名字以SyncClipboard_linux_开头的安装包

Arch Linux

Arch Linux 用户可以直接从AUR安装(由 @devome 维护):

paru -Sy syncclipboard-desktop

安装后从菜单中启动即可。如果在命令行中使用命令syncclipboard-desktop启动报错,请将环境变量LANG设置为en_US.UTF-8,以LANG=en_US.UTF-8 syncclipboard-desktop来启动。

故常排除

  • 剪贴板同步不及时、无法同步、上传乱码:建议在系统内安装xclip(X11)或wl-clipboard(Wayland),SyncClipboard会使用这些工具辅助获取剪贴板以增强稳定性。使用xclip -versionwl-paste -version命令确认是否已安装
  • 使用debrpm安装包时,每次更新版本需要先删除旧版,再安装新版,不支持直接更新
  • 快捷键在Wayland可能无法使用
  • 无法自动识别语言,默认为英语,启动后可以在SyncClipboard的设置中修改

需要彻底删除SyncClipboard时请手动删除配置文件和临时文件目录:
%AppData%\SyncClipboard\(Windows),~/Library/Application Support/SyncClipboard/(macOS),~/.config/SyncClipboard/(Linux)

IOS

使用快捷指令

  • 手动同步,导入这个快捷指令,手动触发上传或下载
  • 自动同步,导入这个快捷指令,运行后设备会自动在后台同步剪贴板内容,此快捷指令将执行无限时长,需要手动关闭,你还可以手动修改同步后是否发送系统通知、查询的间隔秒数
  • 自动上传短信验证码,参考这个帖子中的视频教程 #60

Android

使用HTTP Request Shortcuts

导入这个配置文件,修改变量中的UserNameUserTokenurl, url不要以斜线分隔符/结尾。HTTP Request Shortcuts支持从下拉菜单、桌面组件、桌面图标、分享菜单中使用导入配置文件后修改配置图示

使用Autox.js

  • 自动同步,使用这个js文件。由于安卓系统限制,在安卓10及以上的系统应用无法在后台读取剪贴板,但可以使用基于Root权限的工具(Magisk/Xposed)解除应用后台读取剪贴版的权限,如Riru-ClipboardWhitelistClipboard Whitelist。由于在安卓13及以上的系统应用必须由用户手动授权才被允许访问系统日志(剪贴板),也可以使用Xposed自动为应用授权访问系统日志的权限,如DisableLogRequest/禁用日志访问请求
  • 自动上传验证码,使用这个js文件,这个脚本运行在后台时将读取所有通知消息,在识别到验证码类信息时将证码上传到服务器

导入js文件、修改每个文件头部的用户配置后,手动点击运行,或者为每个js文件设置触发方式,例如:开机时触发

使用SmsForwarder

  • 自动上传验证码, #109

使用Tasker

Tasker是一款安卓系统上非常强大的自动化工具软件,你可以根据SyncClipboard的API创建适合自己的配置文件,如果你认为你的配置文件非常通用并希望分享出来,欢迎联系我置于此处

客户端配置说明

全平台依赖三条必要配置(配置的拼写可能会有所不同,含义相同)。

url,格式为http(s)://ip(或者域名):port。使用WebDav服务器时,url需要具体到一个已存在的文件夹作为工作目录,例如https://domain.com/dav/folder1/working%20folder,特殊符号需要使用url转义字符代替,不要使用这个文件夹存储其他文件。不使用桌面客户端(Windows/Linux/macOS)时需在工作目录中再创建file文件夹以同步文件,桌面客户端会在设置服务器时自动创建file文件夹。url尽量不要以斜线分隔符/结尾,在部分客户端中会出现问题。

7.结尾

通过以上步骤,已经成功搭建好了SyncClipboard 服务器,具体使用方法建议研究一下,只要服务器正常运行,客户端连上服务器即可多设备共享粘贴板或者上下载图片功能。

赞(0)
未经允许不得转载:莱卡云 » 教你使用Docker搭建一个跨平台的剪贴板同步工具——SyncClipboard