OneSync 是一个源端到目标端的文件同步工具。当前版本用于验收测试:源端负责发送文件,目标端负责接收文件;同路径文件冲突时以源端为准覆盖,目标端多余文件不会自动删除。
- Windows / Linux 客户端。
- 源端到目标端单向同步。
- 直连同步和 Relay TLS 中转同步。
- 同步链接携带源端证书、Relay 证书和 Relay 令牌,目标端只需要粘贴链接。
- 管理页提供同步任务、设备管理、连接管理、参数、日志、诊断包下载。
- Linux 客户端和 Relay 支持安装、启动、停止、重启、状态、日志、升级、卸载命令。
到 GitHub Releases 下载最新验收包:
- Windows:
onesync-windows-amd64-v1.41.zip - Linux:
onesync-linux-amd64-v1.41.tar.gz
发布版本从 v1.00 开始递增,当前版本为 v1.41,后续版本按 v1.42、v1.43 继续发布。
当前主 Windows 包面向 Windows 10 及以上系统。Windows 7 兼容版已开始独立开发,采用 Qt 5 Widgets,工程位于:
clients/win7-qt
Win7 兼容版当前已支持创建发送任务、加入接收任务、Relay TLS、任务参数、设备管理、连接管理、日志复制/清空和诊断导出。它是独立 Qt 5 客户端,优先服务 Windows 7/2008 R2 等老系统测试。Win7 版当前按“一个同步任务对应一个接收端”管理;需要多台目标机时先创建多个任务,真正一源多目标同步模型会在后续传输内核里继续推进。
解压 Windows zip 后,双击:
OneSync.exe
OneSync 会打开本机管理页:
http://127.0.0.1:8765
Windows 包里的辅助脚本:
Open-OneSync.cmd:重新打开管理页。Open-Logs-Folder.cmd:打开默认日志目录。Collect-Diagnostics.cmd:下载诊断包,排查问题时使用。
普通服务器:
curl -fsSL https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-onesync.sh | sudo sh中国大陆服务器如果无法直接连接 GitHub,可以使用代理:
curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-onesync.sh | sudo env RELEASE_TAG=v1.41 GH_PROXY=https://gh-proxy.org/ sh如果要自定义传输流水线窗口,可以安装或重装时加上 ONESYNC_TRANSFER_PIPELINE=16;默认值已经使用适合 Relay 的窗口,不填即可。
如果 GitHub API 或 raw 缓存不可用,可以直接指定 Linux 包地址:
curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-onesync.sh | sudo env PACKAGE_URL=https://gh-proxy.org/https://github.com/202121000995/OneSync/releases/download/v1.41/onesync-linux-amd64-v1.41.tar.gz shtar -xzf onesync-linux-amd64-v1.41.tar.gz
cd onesync-linux-amd64-v1.41
sudo ./onesyncctl install
sudo onesyncctl start安装后管理页默认监听:
http://服务器IP:8765
首次打开需要设置管理账号和密码。
也可以直接输入:
onesync显示中文菜单。
常用控制命令:
sudo onesyncctl status
sudo onesyncctl logs
sudo onesyncctl start
sudo onesyncctl stop
sudo onesyncctl restart
sudo onesyncctl upgrade
sudo onesyncctl uninstall自动查找最新 Release:
sudo onesyncctl upgrade固定升级到某个版本:
sudo env RELEASE_TAG=v1.41 GH_PROXY=https://gh-proxy.org onesyncctl upgrade直接指定 Linux 包地址:
sudo env PACKAGE_URL=https://gh-proxy.org/https://github.com/202121000995/OneSync/releases/download/v1.41/onesync-linux-amd64-v1.41.tar.gz onesyncctl upgradesudo onesyncctl uninstall卸载会移除服务和命令入口,默认保留数据目录和日志,便于排查或重新安装。
Relay 用于源端和目标端无法直连时中转同步连接。Relay 不保存文件内容,只配对并转发加密连接。
普通服务器:
curl -fsSL https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-relaytls.sh | sudo env RELAY_HOSTS=<你的Relay域名或IP> RELAY_PORT=7443 RELAY_TOKEN=<自定义Relay令牌> sh中国大陆服务器可使用代理:
curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-relaytls.sh | sudo env RELAY_HOSTS=<你的Relay域名或IP> RELAY_PORT=7443 RELAY_TOKEN=<自定义Relay令牌> RELEASE_TAG=v1.41 GH_PROXY=https://gh-proxy.org/ sh如果 GitHub API 或 raw 缓存不可用,可以直接指定 Linux 包地址:
curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-relaytls.sh | sudo env RELAY_HOSTS=<你的Relay域名或IP> RELAY_PORT=7443 RELAY_TOKEN=<自定义Relay令牌> PACKAGE_URL=https://gh-proxy.org/https://github.com/202121000995/OneSync/releases/download/v1.41/onesync-linux-amd64-v1.41.tar.gz shRELAY_HOSTS 必须是用户实际会填写到同步链接里的 Relay 域名或 IP,不包含端口。
RELAY_PORT 是 Relay 监听端口。
RELAY_TOKEN 是 Relay 使用令牌,建议使用足够长、不可猜测的字符串。
如果服务器已经安装宝塔或 1Panel,并且证书由面板申请和续期,推荐直接使用面板证书路径安装:
curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/202121000995/OneSync/main/packaging/acceptance-scripts/linux/deploy-relaytls.sh | sudo env RELAY_HOSTS=<你的Relay域名> RELAY_PORT=443 RELAY_TOKEN=<自定义Relay令牌> ONESYNC_RELAY_CERT=/path/fullchain.pem ONESYNC_RELAY_KEY=/path/privkey.pem RELEASE_TAG=v1.41 GH_PROXY=https://gh-proxy.org/ sh安装后也可以切换到宝塔 / 1Panel 证书路径:
sudo onesync-relayctl set-cert /path/fullchain.pem /path/privkey.pem
sudo onesync-relayctl cert-info使用公网可信证书时,创建同步通常只需要填写 Relay 地址和 Relay 令牌,Relay 证书栏可以留空。自签证书模式下,才需要让同步链接携带 Relay 证书。
安装完成后会启用 Relay 管理面板:
http://服务器IP:8766
首次访问会要求设置管理账号和密码。当前面板可查看 Relay 状态、连接/在线会话、实时流量、Relay 日志;可查看/轮换旧单令牌,也可按客户创建、禁用、删除多组 Relay 令牌;可查看证书信息、设置宝塔 / 1Panel 证书路径,也可以直接粘贴证书 PEM 和私钥 KEY 文本并启用;可修改 Relay 端口、面板端口和面板密码,还可以一键重启 Relay/面板。 如需安装时指定面板监听地址,可传入:
ONESYNC_RELAY_ADMIN_LISTEN=0.0.0.0:8766tar -xzf onesync-linux-amd64-v1.41.tar.gz
cd onesync-linux-amd64-v1.41
sudo RELAY_HOSTS=<你的Relay域名或IP> RELAY_PORT=7443 RELAY_TOKEN=<自定义Relay令牌> ./onesync-relayctl install
sudo onesync-relayctl start也可以直接输入:
onesyncr显示中文 Relay 菜单。
常用控制命令:
sudo onesync-relayctl status
sudo onesync-relayctl logs
sudo onesync-relayctl info
sudo onesync-relayctl token
sudo onesync-relayctl rotate-token
sudo onesync-relayctl cert
sudo onesync-relayctl cert-info
sudo onesync-relayctl set-cert /path/fullchain.pem /path/privkey.pem
sudo onesync-relayctl set-ports 17443 8766
sudo onesync-relayctl start
sudo onesync-relayctl stop
sudo onesync-relayctl restart
sudo onesync-relayctl upgrade
sudo onesync-relayctl uninstallsudo onesync-relayctl info 会一次性输出创建同步需要填写的 Relay 地址、Relay 令牌和 Relay 证书文本。
sudo onesync-relayctl rotate-token 会生成新的 Relay 令牌并重启 Relay,旧同步链接会失效,需要重新生成链接。
如果 Relay 域名或 IP 改了,需要重新生成匹配新地址的证书:
sudo RELAY_HOSTS=<你的Relay域名或IP> RELAY_PORT=7443 onesync-relayctl regen-cert自动查找最新 Release:
sudo onesync-relayctl upgrade固定升级到某个版本:
sudo env RELEASE_TAG=v1.41 GH_PROXY=https://gh-proxy.org onesync-relayctl upgrade直接指定 Linux 包地址:
sudo env PACKAGE_URL=https://gh-proxy.org/https://github.com/202121000995/OneSync/releases/download/v1.41/onesync-linux-amd64-v1.41.tar.gz onesync-relayctl upgradesudo onesync-relayctl uninstall卸载会移除 Relay 服务和命令入口,默认保留 /etc/onesync 下的证书、令牌以及 /var/log/onesync 下的日志。
在源端生成同步链接时填写:
Relay TLS 地址: <你的Relay域名或IP>:7443
Relay 令牌: <自定义Relay令牌>
生成出来的同步链接会携带 Relay 地址、Relay 令牌、源端公开证书和 Relay 公开证书。目标端只需要粘贴同步链接,不需要单独上传证书文件。
- 管理页端口默认是
8765。 - 同步端口默认是
7443。 - Relay 端口可以自定义。
- Linux 客户端服务默认绑定
0.0.0.0:8765,首次访问会要求设置管理账号密码。 - 如果管理页通过宝塔/Nginx 反代,建议外层使用 HTTPS,并设置强密码。
- 当前验收版仍在快速迭代,正式生产使用前需要完成更多真实多机器测试。