Home

Awesome

SyncClipboard

build

中文 | English

<details> <summary>目录</summary> </details>

功能

服务器

独立服务器

SyncClipboard.Server支持跨平台运行,依赖ASP.NET Core 6.0,安装ASP.NET Core 运行时后,通过以下命令运行

dotnet /path/to/SyncClipboard.Server.dll --contentRoot ./

工作目录与dll所在目录一致,会产生临时文件,在appsettings.json中可以修改绑定的ip和端口,以及客户端认证需要的用户名和密码
如需修改工作目录,拷贝一份appsettings.json到新工作目录并修改--contentRoot后的路径

用户名和密码支持使用环境变量配置,当环境变量SYNCCLIPBOARD_USERNAMESYNCCLIPBOARD_PASSWORD均不为空时,将优先使用这两个环境变量作为用户名和密码

注意:

Docker

docker run -d \
  --name=syncclipboard-server \
  -p 5033:5033 \
  -e SYNCCLIPBOARD_USERNAME=your_username \
  -e SYNCCLIPBOARD_PASSWORD=your_password \
  --restart unless-stopped \
  jericx/syncclipboard-server:latest

Docker Compose

在宿主机中拷贝一份docker-compose.yml

curl -sL https://github.com/Jeric-X/SyncClipboard/raw/master/src/SyncClipboard.Server/docker-compose.yml > docker-compose.yml

docker-compose.yml文件中的SYNCCLIPBOARD_USERNAMESYNCCLIPBOARD_PASSWORD等号后边修改为你的用户名和密码,或使用其他方式覆盖这两个环境变量
执行

docker compose up -d

注意:

Arch Linux

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

paru -Sy syncclipboard-server

然后按需编辑其配置文件 /etc/syncclipboard/appsettings.json,用户名和密码一定要修改。修改后启动即可(强烈建议配置反代并启用https):

sudo systemctl enable --now syncclipboard.service

客户端内置服务器

桌面客户端(Windows/Linux/macOS)内置了服务器,可以使用可视界面配置,注意事项同上

WebDAV服务器

可以使用支持WebDAV协议的网盘作为服务器
测试过的服务器:

客户端

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

<details> <summary>展开/折叠截图</summary>

</details>

Windows

下载地址:Release页面中的SyncClipboard.zip,解压缩后运行SyncClipboard.exe

依赖:

注意:

Linux, macOS

下载地址:SyncClipboard.Desktop,根据系统选择你需要的安装包

注意:

Arch Linux

Arch Linux 用户可以直接从 AUR 安装:

paru -Sy syncclipboard-desktop

安装后从菜单中启动即可,如果要从命令行中启动,请注意需要英文环境,即以 LANG=en_US.UTF-8 syncclipboard-desktop 来启动,启动后可以在软件内设置语言为中文。配置保存路径为:~/.config/SyncClipboard

IOS

使用快捷指令

Android

使用HTTP Request Shortcuts

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

<details> <summary>导入配置文件后修改配置图示</summary>

</details>

使用Autox.js

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

使用SmsForwarder

使用Tasker

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

客户端配置说明

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

API

API基于WebDAV,在独立服务器运行环境下设定环境变量ASPNETCORE_ENVIRONMENT为Development后运行服务器,或桌面客户端打开服务器并打开设置里的诊断模式后, 访问http://ip:端口/swagger/index.html可以打开API页面,以下是部分关键API

获取/上传剪贴板(文字)

GET /SyncClipboard.json
PUT /SyncClipboard.json

获取/上传剪贴板(图片/文件)

GET  /SyncClipboard.json
HEAD /file/filename         // optional
GET  /file/filename

PUT /file/filename
PUT /SyncClipboard.json

SyncClipboard.json

{
    "Type" : "Text"
    "Clipboard" : "Content",
    "File":""
}

{
    "Type": "Image", // or "File", "Group"
    "Clipboard": "hash, optional",
    "File": "filename"
}

项目依赖

Magick.NET
.NET Community Toolkit
H.NotifyIcon
WinUIEx
moq
Avalonia
FluentAvalonia.BreadcrumbBar
FluentAvalonia
Vanara
Tmds.DBus
SharpHook
DotNetZip.Semverd