GoodSync Connect 使用手册
1. 简介与教程
1.1 什么是 GoodSync Connect?
GoodSync Connect 让两台设备以点对点(P2P)方式直接连接,无需借助中间服务器存储文件。
这既提升了文件传输速度,也通过避免在第三方服务器上存储文件而增强了文件隐私。
GoodSync Connect 内置于 GoodSync 应用程序中,因此在 GoodSync 支持的所有平台上都可使用。
GoodSync Connect 提供的特性与优势:
- 远程同步 — 让用户在不同物理位置或不同网络中的设备之间同步文件与文件夹,对远程备份和数据管理特别有用。
- 安全连接 — 在参与同步的设备间建立加密连接,确保数据传输保密、防止未授权访问。
- 直接通信 — 在设备间建立直连,不经第三方服务器路由数据,从而获得更快的同步速度与更强的隐私性。
- 远程访问 — 除同步外,还可远程访问设备上的文件,便于在外出时获取重要文档或媒体文件。
- 文件夹共享 — 用户可通过 GoodSync Connect 与他人共享指定文件夹,便于团队成员或家庭成员协同工作和文件共享。
设想您拥有两台计算机,分别命名为「dell-laptop」和「hp-office」,目标是在这两台机器上同步 Documents 文件夹。本节随后的步骤将引导您了解 GoodSync Connect 的核心特性与概念,演示如何在这两台计算机之间配置同步。
假设您已经在两台设备上都安装了 GoodSync。
1.2 GoodSync 账户设置(GoodSync Account Setup)
GoodSync Account 是 GoodSync 产品线中的通用账户。
您的 GoodSync Account 用于:
- License 与设备管理 — 管理 GoodSync 授权、注册设备、为设备分配 license。
- 远程访问与数据管理 — GoodSync Connect 让您连接所有设备,从任何有网络的地方同步与访问数据。
- 跨设备任务与选项(Account Sync) — 备份并同步您的 GoodSync 任务、组、选项与服务器账户至所有 GoodSync 设备。
- GoodSync 云存储 — 我们自有的云存储,提供最快、最安全、最实惠的方式,从 GoodSync 界面直接备份与还原数据。
- 共享文件夹 — 将您账户下任意已注册设备上的文件夹分享给其他 GoodSync 用户。
- 获得技术支持等。
如果您还没有 GoodSync Account,请在此创建。
GoodSync Connect 与您的 GoodSync Account 关联。当您把一台设备注册(enroll)到 GoodSync Account 后,该设备(计算机)即对您账户下其他设备上的 GoodSync 可见。
因此参与同步的两台计算机「dell-laptop」与「hp-office」必须都注册到同一个 GoodSync Account,才能相互同步。
设备注册到 GoodSync Account 的方式:在安装 GoodSync 时登录账户,或之后通过 GoodSync Account Setup 功能登录:
- Windows:使用
Tools → GoodSync Account Setup菜单项。 - Mac:使用
GoodSync → GoodSync Account Setup菜单项。 - Linux:使用 GSYNC 的
/gs-account-enroll命令。
在 GoodSync Account Setup 中输入的计算机名称应当便于您识别 — 因此我们在一台输入「dell-laptop」,在另一台输入「hp-office」。
1.3 提供文件服务(Serving Files)
GoodSync Account Setup 中的「Serve files to other devices」设置决定 GoodSync 在该计算机上是作为服务器还是客户端:
未勾选「Serve files to other devices」(客户端):此计算机上的 GoodSync 仅能发出请求,不能接收其他设备的请求。仅在您不希望其他设备访问本机文件时才不勾选。
勾选「Serve files to other devices」(服务器):此计算机上的 GoodSync 可接受请求。其他设备上的 GoodSync 可通过 GoodSync Connect 访问本机数据。
大多数情况下推荐勾选此选项。
1.4 身份模拟(Impersonation)
GoodSync 预装了 Runner Service,可在您未登录系统用户账户时无人值守地运行任务。
Runner Service 需要当前已登录用户的账户密码,从而能够模拟该用户身份并获得相应访问权限 — 这使其能够访问需要操作系统认证的 SMB 共享与系统加密文件夹。因此强烈建议指定您系统用户账户的 UserID 与 Password。
您可以通过下方介绍的 GoodSync Server Web UI 为用户账户配置身份模拟。
GoodSync Personal 用户也可在 Windows 上通过 Tools → Runner Service Setup,或在 Mac 上通过 GoodSync → Runner Service Setup 配置。
GoodSync 商业版用户可在 GoodSync GUI 的 GoodSync Account Setup 中勾选「Server will impersonate Windows User」。
1.5 块级同步(Block-level Sync)
当两台计算机都注册到同一个 GoodSync Account 且都勾选了「Serve files to other devices」时,GoodSync Connect 将使用块级同步(增量同步 Delta Sync)在它们之间传输数据。
使用块级传输时,仅传输文件中实际发生变化的部分。
当 GoodSync 识别出某文件被更新或修改后,它会精确计算文件中变化的二进制数据,并只发送已更改的信息。
这样每次文件传输都仅发送目标文件需要更新的数据 — 提升同步速度并节省流量。
而普通文件传输即便仅文件的小部分发生变化,也会发送整个文件。
1.6 GoodSync Explorer
GoodSync Explorer 是与 Windows 和 Mac 标准 GoodSync 应用一同安装的附加组件。
它是面向所有文件系统、所有通过 GoodSync Connect 连接的设备、以及所有云存储账户的文件浏览器。
用 GoodSync Explorer 可以确认计算机间已建立连接并能浏览文件:
- 启动 GoodSync Explorer:Windows 上双击桌面图标,Mac 上从「应用程序」目录启动。
- 选择「GoodSync Connect」文件系统。
- 展开 GoodSync Connect 账户(显示为该账户的邮箱)。
- GoodSync Explorer 会列出您账户下所有已勾选「Serve files to other devices」的计算机。
- 您可以浏览这些计算机上所有文件夹中的所有文件。
- 您也可以执行常见的文件操作:上传、下载、复制、移动、重命名、删除。
1.7 GoodSync 任务与客户端/服务器
使用 GoodSync GUI 应用在两台计算机之间设置同步任务。
首先,确定本场景中谁是客户端(Client),谁是服务器(Server)。
客户端是任务实际运行的设备 — 仅在运行该任务时需要联机。笔记本电脑与手机通常是客户端,因为它们无法长时间在线。在我们的例子中,「dell-laptop」是客户端。
服务器是为客户端提供文件的设备 — 它本身不运行任务,只响应客户端的文件请求。客户端可能发起连接的大部分时间,服务器都必须保持在线。
桌面电脑与 NAS 设备通常是服务器,可长时间持续运行。如果您希望服务器始终可用,通常应禁用其睡眠。
在我们的例子中,「hp-office」是服务器。
设置并运行同步任务:
- 在「dell-laptop」上的 GoodSync 应用中,点击工具栏的「New Job」按钮,或选择
Job → New Job菜单项创建任务。 - 任务的左侧文件夹为本地的「~John Smith\Documents」。点击工具栏的「Please click here to select folder」,依次选择
My Computer(Mac 为My Mac) →Local→ 用户文件夹 →Documents。 - 任务的右侧文件夹为「hp-office」上的远程「Documents」文件夹。在右侧选择
GoodSync Connect→ GoodSync 账户名(邮箱地址) →hp-office→ 用户文件夹 →Documents。 - 点击绿色「Apply」按钮确认文件夹选择。
- 点击「Analyze」按钮查看两侧文件夹的差异。
- 点击「Sync」按钮确认 GoodSync 提议的同步动作。
现在两台计算机的 Documents 文件夹已经同步。
2. GSTP 协议
GoodSync 在客户端与服务器之间使用 GSTP 文件传输协议。
GSTP = GoodSync Transfer Protocol。
GSTP 的 URL 以 gstp:// 或 gstps:// 开头:
gstp://— 协议的明文版本,因安全考虑现已不再使用。gstps://— 由 TLS(OpenSSL 实现)加密的 GSTP 版本。
2.1 中介寻址与直连寻址(Mediated and Direct Addressing)
访问 GoodSync Server (gs-server) 有两种方式:
① 中介寻址(Mediated addressing)
- 需要 GoodSync Account。
- 通过 Mediator 与 Forwarder 安排客户端到服务器的连接。
- 当服务器没有静态 IP、通过 NAT 或 Wi-Fi 接入、或使用了安全软件时使用此方式。
- URL 示例:
gstps://computer.userid.goodsync/folder1/folder2
NOTE:这是首选且最常见的方式。
② Direct IP 直连寻址
- 不需要 GoodSync Account。
- 服务器必须有静态 IP 名称或地址。
- 客户端到服务器的连接必须由您自行安排,始终是直连。
- URL 示例:
gstps://my-gs-server.my-company.com/folder1/folder2或gstps://11.22.33.44/folder1
NOTE:仅 GoodSync 商业版(Business editions)允许使用 Direct IP 寻址。
2.2 一次性密码(OTP)与设备 ID
每台联系 Mediator 的设备(计算机)都必须生成一个 DeviceID,以便每台设备都能被纳入「已批准设备」清单,其活动也可记录并向用户呈现。
对于 GoodSync Mediator 此前未见过的新设备,您可以选择通过邮件、短信或 Authenticator app 获取一次性密码(OTP)来批准它。
要设置 OTP 选项,需先登录 GoodSync Account。
登录后即可看到您当前的活动计算机与设备列表,并可更改身份验证方式为 OTP。OTP 设置位于 Account → Strong Auth Type。
我们推荐使用基于 SMS 或 Authenticator 的 OTP — 这是最安全的方式。注意 SMS 接收可能产生由您的运营商收取的短信费用。
2.3 Web 用户界面:配置 GoodSync Server
GoodSync Server 可通过 Web 用户界面配置 — 这是 GoodSync 在您计算机上运行的 Web 服务器,地址为 http://localhost:11000。
Windows 与 Mac 上的 GoodSync GUI 用户也可分别通过 Tools → Advanced → Advanced Server Settings 与 GoodSync → Advanced Server Settings 菜单项打开 Web UI。
Web UI 主要用于没有 GoodSync GUI 的计算机:NAS 和 Linux;或主要作为 GSTP 文件服务器(MidServer license)的计算机。
使用 GoodSync Account 凭据(UserID 与 Password)登录。
出于安全原因,不允许任何外部或本地网络的连接 — 您只能从 gs-server 运行的同一台计算机访问。
在 GoodSync Server Web UI 中可以做什么:
- 添加、修改、删除从用户(Secondary users)。
- 更改服务器选项(仅限高级用户)。
- 启用/关闭服务器组件。
- 查看日志与会话。
2.4 用户:主用户(Admin)与从用户(Limited)
当您在该服务器上配置 GoodSync Account 时,所配置的账户即成为该 GoodSync Server 上的主用户(Primary / Admin)。
出于安全考虑,只有 Windows 管理员或 Mac SuperUser 才能安装 GoodSync Server 并创建或修改主用户的 UserID 与 Password。
主用户可通过 GoodSync Server 的 Web UI 创建从用户(Secondary / Limited)。
从用户通常被限制为只能访问一个文件夹及其子文件夹 — 该文件夹称为该用户的「Home Folder」。
任何越过 Home Folder 的访问尝试都会被 gs-server 拒绝。
从用户的 Home Folder 内文件 URL 形如:
gstp://server.user.goodsync/folder1/folder2
其中 /folder1/folder2 是 User Home Folder 内部的路径。
您可以在 Web UI 中切换到「Users」标签页管理 GoodSync Server 的用户。
3. 连接方式:直连还是经 Forwarder 转发
3.1 使用的端口
GoodSync Server 默认使用以下 TCP/IP 与 UDP 端口:
- TCP 33333:GoodSync 客户端通过此端口调用 GoodSync Server 进行文件下载/上传。
- TCP 11000:浏览器通过此本地端口访问 GoodSync Server 显示 Web UI。
- TCP 80 与 443:GoodSync Server 通过此端口呼叫
mediator.goodsync.com协调连接。 - UDP 33338 与 33339:用于 GoodSync 客户端在本地网络内广播发现 GoodSync Server。
- TCP 22222:启用后 GoodSync Server 通过此端口以 WebDAV 协议提供文件服务。
- TCP 33334:GoodSync Server 在此端口接受 Manage API 命令(仅本地)。
3.2 直接服务器访问与 Forwarder(P2P)
如果 GoodSync 客户端能直接通过 TCP/IP 连接到 GoodSync Server,您将获得最大可能的传输速度。
但对于通过 NAT、防火墙与安全软件接入互联网的个人计算机来说,这往往不可行。
当 GoodSync 客户端无法直连 GoodSync Server 时,它们会试图通过我们称为 Forwarder 的中转服务器安排「会面」。
Forwarder 必须对客户端与服务器都可达。Forwarder 由 Mediator 根据客户端与服务器的可见性动态指派。
这是一个自动过程 — 用户无需介入。
3.3 自动方式:允许 UPNP 开放端口
GoodSync Server 会使用您路由器或 DSL/有线调制解调器的 UPNP 服务,从路由器的外部端口到 gs-server 所在计算机的内部 TCP 33333 端口建立隧道。
因此最好将路由器的 UPNP 保持开启,这样 GoodSync Server 所需的隧道会被自动创建。
3.4 手动方式:为 GoodSync Server 分配外部端口
如果 GoodSync 无法在您的路由器上打洞,您应当在路由器上手动创建一条转发规则,并通过 GoodSync Server Web UI 告诉 GoodSync Server 您把它放在了哪个外部端口。
示例:gs-server 位于本地端点 192.168.1.7:33333,您希望把外部端口 33007 转发到 gs-server 的本地端点。
步骤如下:
- 登录路由器 Web UI(通常位于
http://192.168.1.1)。 - 在路由器上创建转发规则:
Ext Port 33007 → 192.168.1.7:33333 - 登录 gs-server Web UI:
http://192.168.1.7:11000 - 切换到「Settings」标签,选择「External Port: Manually map external port to Internal port」,输入
33007。
3.5 实现直接连接
当 GoodSync 客户端无法直连 GoodSync Server 时,它会通过 Forwarder(我们自己的转发服务器)建立连接。
使用 Forwarder 时传输速度会下降。如果您能让客户端直接连接到服务器,将获得更好的速度与延迟。
通常 GoodSync Server 被您的路由器、调制解调器或防火墙阻挡:
- GoodSync Server 尝试用 UPNP 在您的路由器/调制解调器上为其 33333 端口打通隧道。
- 这些尝试不一定成功 — 您的路由器可能不支持 UPNP。
- 若 GoodSync 无法打洞,请指示您的路由器/DSL 调制解调器/有线调制解调器,把外部端口转发到 gs-server 所在计算机的 33333 端口。
- 如果您有多台运行 gs-server 的计算机,请为每台使用不同的外部端口。
- 按上文方法把您分配的外部端口告知每台 gs-server。
- GoodSync 会把此外部端口上报给 Mediator。
- GoodSync 客户端将通过此外部端口联系您的 GoodSync Server。
另一个连接受阻的环节可能是您的 ISP:
- 您的路由器/调制解调器没有真实 IP — 它通过 NAT 接入。这称为「双重 NAT」,无法修复,必须使用 Forwarder。
- 您的 ISP 屏蔽了 gs-server 选用的端口。修复方法:使用一个未被屏蔽的外部端口并手动转发到 gs-server。
客户端与服务器两端的安全软件都可能阻挡 GoodSync。GoodSync 会在两端的 Windows 防火墙上自动创建例外。
如果仍然被阻挡,请在您的安全软件中为 GoodSync 创建例外。
3.6 实时远程同步
GoodSync 可通过 GSTP 进行实时文件监控与同步 — 即使其中一台计算机是远程 GoodSync Server。详情请阅读 GoodSync 手册的相应章节。
4. Server 配置文件(settings.tix)
文件 settings.tix 包含 GoodSync Server 的设置。其中大多数都是自动设置的 — 普通用户不应修改。只有对 TCP/IP 与 socket 有深入理解的高级用户才应改动这些选项。
settings.tix 的默认位置:
- Windows:
C:/ProgramData/GoodSync/server - Mac:
/Library/Application Support/GoodSync/server - Linux/NAS:
/etc/goodsync/server
可用设置列表
LogFolder = "C:/ProgramData/GoodSync/server"- 服务器日志文件写入的文件夹。
LogPrefix = "gserver"- 日志文件名前缀。日志文件名格式为
Prefix-YYMMDD.log。 AccessLogFolder = ""- 服务器访问日志文件写入的文件夹。
AccessLogPrefix = ""- 访问日志文件名前缀。文件名格式为
Prefix-YYMMDD.log。 LogLevel = 2(默认 2-Actions)- 日志详细级别,1 ~ 5。
ConsoleLevel = 0- 输出到 UNIX 控制台的日志级别,1 ~ 5。0 表示不输出。仅适用于 Linux。
RetainLogDays = 10(默认 10 天)- 超过此天数的日志将被每天清理一次。
CheckNewVersion = Yes|No- 设为 Yes 时,服务器定期检查新版本。需确保服务器能访问
https://www.goodsync.com。 InstallNewVersion = Yes|No- 当
CheckNewVersion与InstallNewVersion均为 Yes 时,gs-server 在新版本可用时自动安装。仅适用于 Windows 与 macOS。 MaxConnections = 512- 本服务器接受的同时 TCP/IP 连接数上限。
ReportFreeSpaceBelowPct = 10- 当服务器磁盘剩余空间低于此百分比时,通过 SMTP 发送邮件报告。
PreventSleep = No- 设为 Yes 时,gs-server 阻止本机进入睡眠 — 以保持持续可接受连接。仅适用于 Windows 与 macOS。
RequestAuthentication = Yes- 对所有事务请求身份验证(Basic 或 Digest),用户凭据存储于
users.tix。 OfferBasic = No- 是否提供 Basic 认证。建议保持为 No — Basic 认证安全性不足。
OfferDigest = Yes- 是否提供 Digest 认证。建议保持为 Yes — 这是大多数情况下使用的方式。
Plain-Allow = Yes- 是否允许客户端以明文模式连接(不安全)。
SSL-Allow = Yes- 是否允许客户端进入 TLS/SSL 加密模式。请始终保持为 Yes — 明文通信不安全。
SSLCertificatePath = "C:/ProgramData/GoodSync/server/gs-server.crt"- 本服务器 TLS/SSL 证书公钥文件路径。
SSLPrivateKeyPath = "C:/ProgramData/GoodSync/server/gs-server.key"- 本服务器 TLS/SSL 证书私钥文件路径。
SSLCertChainPath = "C:/ProgramData/GoodSync/server/gs-server.key"- 从根 CA 到本证书的 TLS/SSL 证书链文件路径。
SSL-AllowedCiphers = ""- 允许的 TLS/SSL 密码套件列表,空表示允许全部。现代密码套件可设为:
"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA:AES128-SHA" GstpFileServer = Yes- 是否运行 GSTP 文件服务器。通常应为 Yes。
DirectOnly = No- 设为 Yes 时仅接受直接 TCP/IP 连接,不接受经 Forwarder 转发的连接。仅在 GSTP 客户端只使用 Direct IP 寻址时才有意义。
GstpUdpPort = 1333- 当本服务器无法被直接连接时,gs-server 在此 UDP 端口接收来自 Mediator 的 Pickup 命令。
GstpFilePort = 33333- gs-server 监听文件服务连接的 TCP 端口。
GstpFileDynamicPort = No- 当
GstpFilePort已被占用时,是否随机选择一个端口监听文件服务连接,并把该端口写回settings.tix。 GstpFilePort_2 = 0- 文件服务器监听的另一个端口(不为 0 时生效)。
ListenOnlyIpAddr = ""- 仅在指定 IP 地址上监听。空表示监听所有可用 IP 地址。
GstpFileLocalOnly = No- 设为 Yes 时仅允许来自 localhost (127.0.0.1) 的文件服务连接。
GlobalDiscovery = Yes- 设为 Yes:注册到 Mediator,可经 Forwarder 安排到本文件服务器的连接。设为 No:不注册,仅接受直连。
GstpMapExtPortViaUpnp = Yes- 设为 Yes:使用 UPNP 将外部端口映射到内部端口。设为 No:手动从外部路由器映射 GSTP 端口到本服务器,外部端口在
GstpExtPort中指定。 GstpExtPort = 0- 当不为 0 且
GstpMapExtPortViaUpnp = No时,把此端口作为本文件服务器的外部端口上报给 Mediator。 GstpManageServer = Yes- 设为 Yes 时,本服务器接受来自 localhost 的 Manage API 命令 — 用于从客户端修改服务器配置。
WebUiServer = Yes- 设为 Yes 时启用 Web UI 服务 — 允许通过浏览器配置本服务器。
WebUiPort = 11000- Web UI 服务监听端口。
WebUiLocalOnly = Yes- 设为 Yes:Web UI 服务仅接受 localhost (127.0.0.1) 的连接。设为 No:接受任何 IP 地址的连接。
DavServer = No- 设为 Yes 时,通过 WebDAV 协议提供文件服务。不推荐 — 请使用 GSTP 文件服务器。
DavPort = 22222- WebDAV 文件服务器监听端口。
DavLocalOnly = Yes- 设为 Yes 时 WebDAV 文件服务器仅接受 localhost (127.0.0.1) 的连接。
SibSMB = Yes- 设为 Yes:本服务器通过 Sib-SMB 提供 SMB 文件(
smb://前缀)。设为 No:使用 Windows SMB。 SMBConfPath = ""- SMB 配置文件
smb.conf的完整路径。 SMBSharePrefix = ""- SMB 共享根路径。
LicPlatform = ""- 设置服务器能力(与您购买的 license 对应)。
5. User 配置文件(users.tix)
文件 users.tix 包含 GoodSync Server 用户列表及其凭据。
users.tix 的默认位置:
- Windows:
C:/ProgramData/GoodSync/server - Mac:
/Library/Application Support/GoodSync/server - Linux/NAS:
/etc/goodsync/server
文件格式
<AccountList>
nAccounts = 2
<Account>
Name = Value
</Account>
<Account>
Name = Value
</Account>
每个用户的设置都包含在 <Account></Account> 区块中。
每个用户可设置以下参数
UserID = "my-user-id"- 服务器用户的 GoodSync UserID — 由邮箱生成,全局唯一。
EMail = "my@user.id"- 服务器用户的邮箱地址。
PasswordProt = "AQA..."- GoodSync 用户密码 — 由本机操作系统加密,无法复制到其他计算机。仅适用于 Windows 与 macOS。
ComputerId = "gs-server-id"- 本 gs-server 的 GoodSync ComputerId — 用于通过 GoodSync 以
gstps://computerid.userid.goodsync访问本服务器。 UserFullName = "John Smith"- GoodSync 用户的全名,可为空。
HomeFolder = "/home/user"- 该用户的 Home Folder。空则可访问整个服务器。非空时该用户不能越过 Home Folder。
HomeMapping = <AccountHomeMap> Pairs = ( ... ) </AccountHomeMap>- 本 GoodSync Server 的文件夹映射。空表示无映射,文件夹按原样呈现。
SysUserID = "Server\\John Smith"- 系统 UserID — 用于身份模拟(Impersonation)。
SysUserFullName = ""- 系统用户全名。
SysUserPwdProt = ""- 系统用户密码 — 由本机操作系统加密,无法复制到其他计算机。仅适用于 Windows。
IsAdmin = Yes|No- 是否为本服务器的管理员。设为 No 时,该用户无法使用 Admin Web UI 命令与 Manage API。
ReadOnly = No- 设为 Yes 时,此用户对本 GoodSync Server 上的文件与文件夹仅有读取权限,不能写入/创建。
Impersonate = Yes|No- 设为 Yes 时,连接成功后 gs-server 使用
SysUserID与SysUserPwd模拟系统 OS 用户。 ProtectSystem = Yes- 设为 Yes 时,此用户不能写入任何 OS 系统文件 — 例如 Windows 上的
C:\Windows文件夹。 RegisterWithMediator = Yes- 设为 Yes:用 UserId 与 Password 凭据将该 GoodSync 用户注册到 Mediator。设为 No:不注册 — 适用于本服务器使用 Direct IP 寻址。
DiskQuota = -1- 当大于 0 时,为该用户设置磁盘使用配额,单位为字节。
6. 更多问题
如果您还有其他问题,请阅读 FAQ 中 GoodSync Connect 部分,或联系我们。