在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

本教程将向您展示如何在 Ubuntu 20.04 和 22.04 上安装Resilio Sync(以前称为BitTorrent Sync)。 Resilio Sync 是 Resilio, Inc 发布的一款免费、快速、点对点文件共享和同步工具,适用于 Linux、FreeBSD、Mac、Windows、Android、iOS、Amazon Kindle Fire 和 NAS 设备。

与 Dropbox 或 NextCloud 不同,Resilio Sync 不需要中央服务器来存储文件。相反,您只需在终端设备上安装 Resilio Sync 即可通过 BitTorrent 协议同步文件,因此您将不受服务器存储限制的束缚。

在 Ubuntu 20.04 和 Ubuntu 22.04 上从官方存储库安装 Resilio Sync

Resilio Sync 有一个 Ubuntu 存储库。首先,我们需要导入Resilio Sync的公钥,以便包管理器可以验证Resilio Sync包。打开终端窗口并运行以下命令来下载公钥。

wget http://linux-packages.resilio.com/resilio-sync/key.asc

国内网络不好的可以用

wget https://qincekeyong.com/key.asc

然后使用 apt-key 导入公钥。

sudo apt-key add key.asc

国内的可以下载安装包进行安装

wget https://qincekeyong.com/resilio-sync_3.0.1.1414-1_amd64.deb

如果是下载的 DEB 包,就使用如下命令安装:

sudo dpkg -i resilio-sync.deb

如果是下载的 RPM 包,就使用如下命令安装:

sudo rpm -i resilio-sync.rpm

resilio-sync.deb为安装包全名例如:resilio-sync_3.0.1.1414-1_amd64.deb

国外的可以拉取安装,运行以下命令来添加 Resilio Sync 存储库。 (add-apt-repository 命令由 software-properties-common 包提供。)

sudo apt install software-properties-common

sudo add-apt-repository "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free"

 

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

现在使用以下命令安装 Resilio Sync 软件包。

sudo apt update

sudo apt install resilio-sync

 

 

 

安装后,Resilio Sync 将自动启动。您可以通过以下方式检查其状态:

systemctl status resilio-sync

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

提示:运行上述命令后按Q即可重新获得对终端的控制权。

如果它没有运行,您可以通过以下方式启动它:

sudo systemctl start resilio-sync

默认情况下,Resilio Sync 不会在启动时启动。您可以通过以下方式启用自动启动:

sudo systemctl enable resilio-sync

Resilio Sync 以 rslsync 用户身份运行,Web UI 侦听 127.0.0.1:8888(如 /etc/resilio-sync/config.json 中指定)代码>配置文件。

设置 Resilio Sync Web UI

Linux 版本的 Resilio Sync 不提供桌面客户端。相反,您需要通过网络界面进行配置。在 Web 浏览器地址栏中输入以下内容以访问 Resilio Sync Web UI。

127.0.0.1:8888

如果您在远程 Linux 服务器上安装 Resilio Sync,则需要使用 Nginx 或 Apache 设置反向代理才能访问 Web UI。请参阅本文的后面部分。

 

 

系统将要求您设置用户名和密码以保护 Web UI。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

然后为您的设备选择一个名称并点击开始

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

并输入您刚刚创建的用户名和密码。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

登录后,您可以将计算机上的文件夹共享给其他设备或从其他设备接收文件夹。

与其他设备共享文件夹

要共享计算机上的文件夹,请单击左上角的 + 按钮并选择标准文件夹。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

然后选择计算机上的一个文件夹。

 

 

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

您可能会遇到以下错误消息。

Can't open the destination folder.

或者

Don't have permissions to write to selected folder.

这是因为 Resilio Sync 是以 rslsync 用户身份运行的,该用户无权访问该文件夹。

假设您选择主文件夹 /home/your-username/ 作为共享文件夹。要修复上述错误,您所需要做的就是使用以下命令将主文件夹的权限授予 rslsync 用户。

sudo setfacl -R -m "u:rslsync:rwx" /home/your-username

上述命令不会更改共享文件夹的所有者。所有者拥有与平常相同的权限。它的作用是向另一个用户授予读、写和执行权限,即rslsync。请注意,-R(递归)标志必须位于 -m(修改)标志之前,紧随其后的是访问控制列表条目 (u:rslsync: rwx)。

如果您看到此错误:

sudo: setfacl: command not found

然后安装acl包并重新运行上面的setfacl命令。

sudo apt install acl

现在您应该能够将主文件夹添加为共享文件夹。

添加文件夹后,您可以通过链接、密钥或二维码共享该文件夹。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

如果共享文件夹很大,Resilio Sync 需要一些时间来索引内容。

从其他设备接收文件夹

要从其他设备接收文件夹,请单击左上角的 + 按钮,然后选择“输入密钥或链接”。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

然后输入密钥或链接。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

在 Ubuntu 20.04、22.04 服务器上使用 Resilio Sync

您可以从上述存储库在 Ubuntu 20.04 和 22.04 服务器上安装 Resilio Sync。如果您的服务器位于云中,则需要设置反向代理才能访问 Web UI,因为 Web UI 仅侦听本地主机。配置反向代理后,您可以通过域名访问Web UI。

使用 Nginx 设置 Resilio 同步反向代理

Nginx 如今作为 Web 服务器和反向代理变得越来越流行。使用以下命令在 Ubuntu 20.04、22.04 服务器上安装 Nginx。

sudo apt install nginx

启动 Nginx 并启用自动启动。

sudo systemctl start nginx

sudo systemctl enable nginx

现在为 Resilio Sync 创建虚拟主机文件。

sudo nano /etc/nginx/conf.d/resilio-sync.conf

将以下行复制并粘贴到文件中。将 resilio.example.com 替换为您的真实域名。您还应该为此子域添加 DNS A 记录。

server {
  listen 80;
  server_name resilio.example.com;

  access_log /var/log/nginx/resilio_access.log;
  error_log /var/log/nginx/resilio_error.log;
  location / {
     proxy_pass http://127.0.0.1:8888;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

保存并关闭该文件。然后测试 Nginx 配置。

sudo nginx -t

如果测试成功,则重新加载Nginx。

sudo systemctl reload nginx

现在,在浏览器的地址栏中输入 resilio.example.com,您应该能够访问 Web GUI。

使用 Apache 设置 Resilio 同步反向代理

Apache 是众所周知的 Web 服务器,也可以用作反向代理。如果您更喜欢 Apache 而不是 Nginx,请使用以下命令将其安装在 Ubuntu 20.04、22.04 服务器上:

sudo apt install apache2

启动 Apache 并启用自动启动。

sudo systemctl start apache2

sudo systemctl enable apache2

要使用 Apache 作为反向代理,我们需要启用 proxy 模块和标头模块。

sudo a2enmod proxy proxy_http headers proxy_wstunnel

现在为 Resilio Sync 创建虚拟主机文件。

sudo nano /etc/apache2/sites-available/resilio-sync.conf

将以下行复制并粘贴到文件中。将 resilio.example.com 替换为您的真实域名。您还应该为此子域添加 DNS A 记录。

<VirtualHost *:80>
   ServerName resilio.example.com
   ErrorDocument 404 /404.html

   ProxyPass / http://localhost:8888/
   ProxyPassReverse / http://localhost:8888/

   ErrorLog ${APACHE_LOG_DIR}/resilio_error.log
   CustomLog ${APACHE_LOG_DIR}/resilio_access.log combined

</VirtualHost>

保存并关闭文件。然后启用该虚拟主机。

sudo a2ensite resilio-sync.conf

重新启动阿帕奇

sudo systemctl restart apache2

现在您可以通过 resilio.example.com 访问 Web UI。

使用 HTTPS 保护 Resilio Sync Web GUI 的安全

为了在您通过域名访问 Resilio Sync Web UI 时加密 HTTP 流量,我们可以通过安装 Let’s Encrypt 颁发的免费 TLS 证书来启用 HTTPS。运行以下命令在 Ubuntu 20.04、22.04 服务器上安装 Let’s Encrypt 客户端 (certbot)。

sudo apt install certbot

如果您使用Nginx,那么您还需要安装Certbot Nginx插件。

sudo apt install python3-certbot-nginx

接下来,运行以下命令来获取并安装 TLS 证书。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d resilio.example.com

如果您使用 Apache,请安装 Certbot Apache 插件。

sudo apt install python3-certbot-apache

并运行此命令来获取并安装 TLS 证书。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d resilio.example.com

在哪里

  • --nginx:使用nginx插件。
  • --apache:使用 Apache 插件。
  • --agree-tos:同意服务条款。
  • --redirect:通过 301 重定向强制使用 HTTPS。
  • --hsts:将 Strict-Transport-Security 标头添加到每个 HTTP 响应中。强制浏览器始终对域使用 TLS。防御 SSL/TLS 剥离。
  • --staple-ocsp:启用 OCSP 装订。有效的 OCSP 响应将被粘贴到服务器在 TLS 期间提供的证书中。

现在应该已获取并自动安装证书。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

您可以通过 HTTPS (https://resilio.example.com) 访问 Resilio Sync Web UI。

在防火墙中打开 Resilio 同步端口

除了 Web UI 端口之外,Resilio Sync 还需要监听公共接口以连接到对等点。每个设备的监听端口都不同。您可以通过首选项 -> 高级在 Resilio Sync Web UI 中找到它。

在 Ubuntu 20.04、22.04 桌面/服务器上安装 Resilio Sync (BTSync)

如果您在 Ubuntu 服务器上启用了 UFW 防火墙,则需要打开此端口。例如,我的端口是22251,所以我运行以下命令来打开它。

sudo ufw allow 22251

Resilio 同步 iOS 应用程序

我使用 Resilio Sync 在 Ubuntu 桌面、Ubuntu 服务器和 iPhone 之间同步文件。有人说 iOS 应用程序完全是一场灾难,但我发现它运行得非常好。默认情况下,iOS 应用程序中启用选择性同步。这意味着只有当您选择同步单个文件时才会同步。如果禁用选择性同步,所有文件将立即同步。

如何配置选择性同步

在Web UI中,Resilio Sync告诉您选择性同步是Linux用户的专业功能,但实际上我们可以从命令行配置选择性同步。每个同步文件夹都有一个由 Resilio Sync 创建的隐藏 .sync 文件夹。在此隐藏文件夹中,有一个名为 IgnoreList 的文件,它是一个 UTF-8 编码的 .txt 文件,可帮助您指定在同步作业期间忽略的单个文件、路径和规则。它支持“?”和“*”通配符。

例如,我需要以读写模式在计算机A和B之间同步一个文件夹。计算机 B 包含一个我不想同步到计算机 A 的文件。以下是我忽略该文件的步骤。

  1. 我在计算机 A 的 Resilio Sync Web UI 中添加该文件夹。
  2. 现在计算机 A 有一个 .sync 隐藏文件夹。
  3. 我将该文件的名称添加到计算机 A 上的 IgnoreList 中,因此它将拒绝从计算机 B 接收该文件。
  4. 以读写模式与计算机 B 共享该文件夹。
  5. 同步完成后,我可以将该文件的名称添加到计算机 B 的 IgnoreList 中,这样如果有新计算机加入同步,计算机 B 就不会与其他计算机共享该文件。

结论

我希望本教程可以帮助您在 Ubuntu 20.04 和 Ubuntu 22.04 上安装 Resilio Sync。与往常一样,如果您发现这篇文章有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。保重 🙂

给TA打赏
共{{data.count}}人
人已打赏
已亲测可用

分享5个实用Excel技巧!

2024-11-22 11:24:24

已亲测可用

PS打开图片如何不进入camera raw界面直接打开

2024-11-28 16:45:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
有新私信 私信列表
搜索