Skip to content

202121000995/OneSync

Repository files navigation

OneSync

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.42v1.43 继续发布。

Windows 7 兼容版

当前主 Windows 包面向 Windows 10 及以上系统。Windows 7 兼容版已开始独立开发,采用 Qt 5 Widgets,工程位于:

clients/win7-qt

Win7 兼容版当前已支持创建发送任务、加入接收任务、Relay TLS、任务参数、设备管理、连接管理、日志复制/清空和诊断导出。它是独立 Qt 5 客户端,优先服务 Windows 7/2008 R2 等老系统测试。Win7 版当前按“一个同步任务对应一个接收端”管理;需要多台目标机时先创建多个任务,真正一源多目标同步模型会在后续传输内核里继续推进。

Windows 使用

解压 Windows zip 后,双击:

OneSync.exe

OneSync 会打开本机管理页:

http://127.0.0.1:8765

Windows 包里的辅助脚本:

  • Open-OneSync.cmd:重新打开管理页。
  • Open-Logs-Folder.cmd:打开默认日志目录。
  • Collect-Diagnostics.cmd:下载诊断包,排查问题时使用。

Linux 客户端

一键安装

普通服务器:

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 sh

手动安装

tar -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 upgrade

卸载

sudo onesyncctl uninstall

卸载会移除服务和命令入口,默认保留数据目录和日志,便于排查或重新安装。

Relay TLS 服务器

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 sh

RELAY_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:8766

手动安装

tar -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 uninstall

sudo 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 upgrade

卸载

sudo onesync-relayctl uninstall

卸载会移除 Relay 服务和命令入口,默认保留 /etc/onesync 下的证书、令牌以及 /var/log/onesync 下的日志。

Relay 在同步链接里怎么填写

在源端生成同步链接时填写:

Relay TLS 地址: <你的Relay域名或IP>:7443
Relay 令牌: <自定义Relay令牌>

生成出来的同步链接会携带 Relay 地址、Relay 令牌、源端公开证书和 Relay 公开证书。目标端只需要粘贴同步链接,不需要单独上传证书文件。

注意事项

  • 管理页端口默认是 8765
  • 同步端口默认是 7443
  • Relay 端口可以自定义。
  • Linux 客户端服务默认绑定 0.0.0.0:8765,首次访问会要求设置管理账号密码。
  • 如果管理页通过宝塔/Nginx 反代,建议外层使用 HTTPS,并设置强密码。
  • 当前验收版仍在快速迭代,正式生产使用前需要完成更多真实多机器测试。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors