SyncClipboard:替代微信输入法同步功能的最佳解决方案

介绍 SyncClipboard 这款跨平台剪贴板同步工具以及部署流程,作为微信输入法同步功能的最佳替代方案,实现多设备间内容无缝传输。

Author Avatar

ghung

  ·  2 min read

我一直向往那种在单一屏幕上无缝操控所有设备的终极体验。但由于iOS系统封闭的生态,无法在Windows实现。退而求其次,我将目光投向了解决日常最高频的痛点——跨设备剪贴板同步。

在国民级软件的微信的大力推广下,我不得不发现了「小而美」的微信输入法。而微信输入法的一大亮点功能就有剪切板同步。半年前,我兴冲冲在各个设备都安装了微信输入法,使用体验还真不错,十分便捷,简约而不简单。

但是,两个致命的缺陷逐渐让我浑身不自在,其一,作为一款输入法,它竟无法自定义用户词库,这对于追求效率的用户来说是个硬伤;其二,也是更让我警惕的——它建立在“用隐私换方便”的模式之上。每当我复制密码、API密钥或是个人敏感信息,并意识到这些数据正毫无保留地流向微信的服务器时,那种心头一紧的感觉便挥之不去。不是说自己的数据有多重要,但总有一股难受的感觉。

某天闲下来的时候想到:我之前的思路太局限了。我将希望完全寄托于各大厂商的第三方输入法来实现互联,却因此忽略了隐私的代价,也忘记了去拥抱开源。


SyncClipboard主要功能 #

来自GitHub官方SyncClipboard: 跨平台剪贴板同步方案

  • 剪贴板同步,支持「文字」、「图片」和「文件」。服务器/客户端架构,可以使用客户端内置服务器、独立部署服务器,也可以使用支持WebDAV的网盘作为服务器

  • 优化图片类型的剪贴板,功能有:

    • 从任意位置复制图片时,可以直接向文件系统粘贴图片文件,反之亦然
    • 从浏览器复制图片后,后台下载原图到本地,解决无法从浏览器拷贝动态图的问题(大多网站有认证,适用范围有限,支持bilibili动态图片)
    • 从文件系统复制较新格式类型的图片文件时(webp/heic等),在剪贴板内储存gif或jpg格式,用于直接向支持图片的文本框粘贴图片

补充:

  • 支持所有主流平台,包括 Windows, macOS, Linux, Android, 和 iOS,真正实现了全平台覆盖。
  • 使用「服务器/客户端」架构,不受局域网的限制,适合网络复杂的情形(如校园网)。
  • 使用自部署的中转服务器,无隐私风险

服务端搭建 #

准备工作:

  1. 服务器:由于需要服务器中转,延迟越低越好,但没有这么高的要求,我使用日本的服务器,无延迟体感。内存使用100MB左右。
  2. 域名:用于开启 HTTPS,保障数据传输安全性。
  3. 安装Nginx、Docker

话不多说,直接用最简单的 docker-compose + Nginx 反代方案开干。

编辑docker-compose.yml #

  1. 登录服务器,创建一个工作目录并进入,然后创建 docker-compose.yml 文件:
mkdir syncclipboard && cd syncclipboard
sudo vim docker-compose.yml
  1. 将以下内容写入
services:
  syncclipboard-server:
    image: jericx/syncclipboard-server:latest
    container_name: syncclipboard-server
    restart: unless-stopped
    ports:
      - "127.0.0.1:5033:5033" # 左边的5133可以改成服务器上没有用过的其他端口
    environment:
      - SYNCCLIPBOARD_USERNAME=your_username
      - SYNCCLIPBOARD_PASSWORD=your_pswd

  # 自动更新
  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower_sync
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai 
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --cleanup --schedule "0 0 4 * * *"

Tips: 这里踩了个坑,密码不建议包含特殊符号,例如 * $等,会导致验证失败。

  1. 运行
docker compose up -d

配置Nginx #

不要忘记将域名解析到服务器,因为有很多种配置Nginx的方式,这里只给出我写的Nginx配置:

# Server block for HTTP to HTTPS redirection
server {
    listen 80;
    server_name clip.yourdomain.com; # ⚠️ 替换成你的域名

    # Redirect all other HTTP traffic to HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

# Server block for HTTPS
server {
    listen 443 ssl http2;
    server_name clip.yourdomain.com; # ⚠️ 替换成你的域名

    client_max_body_size 1024M;


    # --- SSL Certificate Configuration ---
    ssl_certificate /etc/ssl/certs/clip.yourdomain.com.pem; # ⚠️ 替换成你的证书路径
    ssl_certificate_key /etc/ssl/private/clip.yourdomain.com.key; # ⚠️ 替换成你的私钥路径

    # --- SSL Security Enhancements ---
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_stapling on;
    ssl_stapling_verify on;
    # Add HSTS header to force HTTPS on the client side
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

    # --- Reverse Proxy Configuration ---
    location / {
        # 代理到 docker-compose 中映射的宿主机端口 1265
        proxy_pass http://127.0.0.1:5033;

        # --- WebSocket Support ---
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        # --- Standard Proxy Headers ---
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
}

配置好后,检查 Nginx 语法并重载服务:

sudo nginx -t
sudo systemctl reload nginx

至此可以使用域名访问,输入设置的username以及password,看到以下提示证明成功部署:

5e3qxdjl.jir.png

客户端使用 #

查看GitHub官方教程即可:SyncClipboard #客户端使用

这里提到「Windows」以及「ios」:

Windows #

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

  2. 服务器配置:

    kh3lmwbs.ecs.png

  3. 图片粘贴配置:

    mimpvon3.lyl.png

  4. 检查服务状态: 应为 ✔ ❌ ✔ ✔

    tetsv1qm.hun.png

iOS #

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

我选择使用手动触发,配合辅助触控中的「轻点背面」,很好用。


至此,试试吧,交互的过程是十分优雅的:拿起手机只需轻叩背面,即可同步文字到剪切板、下载图片甚至文件。

经过一番折腾,终于找回那份掌控自己数据的安心感。

也请相信,在看似被巨头垄断的数字世界里,总有另一条路可走。那是一条由开源精神铺就的、通往真正自由的道路。我们需要的,仅仅是多一点探索的勇气。