标签 redhat 下的文章

视频点此:第一期第二期第三期

一、红酒?

红酒,英文wine。当然,电脑界的wine并不能喝,而是一套组件,这个组件可以使得windows程序运行在Linux和MacOS上。可以说,如果需要在Linux上运行windows程序,那一定会利用wine或者通过wine的一些组件来实现——无论游戏还是应用。

那么wine到底是什么东西呢?按照官方的说法,wine是一个兼容层而不是一个模拟器,也就是说,wine与虚拟机不同,而是直接让linux拥有执行windows指令的能力。有些观点认为wine这个东西是在最近一些年里边出现的,确切的说应该是wine在最近几年才真正的易用起来。它的金主——CodeWaver早在25年就开始了wine的研发进程。而wine的商业版——Crossover,则是CodeWaver的一个收入来源。与wine需要用户自己配置的区别在于,wine商业版可以以自动完成运行应用程序需要做的准备工作,从而构建起了在Linux和Mac中一键安装windows程序的能力。很好用,如果你需要wine,自己又不会配置,那么可以尝试购买一份crossover来使用。

二、版本?

当然,如果不想花钱,可以使用crossover的开源版本——wine,同样可以完成crossover相同的功能——当然,很多步骤需要手动操作才能完成。但是因为它开源,所以各种大神为了解决各种应用场景制作了各种版本的wine。接下来就简单介绍一下wine的这些版本。

1、正统

你可以从你的Linux仓库中直接获取到正统的版本。它包含三个后缀:wine-stablewine-stagingwine-devel。就像Chrome在for Linux的官方仓库中拥有的三个版本:stable、unstable、beta,wine的这三个版本稳定性是逐渐下降的,而新特性取得的时间是逐次上升的。一般来说,会推荐使用wine的stable版本。不过随着wine越来越多的可喜的变化,我逐渐的开始推荐使用staging版本了。因为它既不像devel这种开发版那么的不稳定和多变,又不像stable版本过于保守的增加新特性,staging保证了在尽量早的获得新特性的同时,又有着不错的稳定性。

2、不正统

不过,在正统版本之外,还有一些不错的第三方版本推荐一用。这里,你可以前往lutris的wiki来简单浏览一下。

它记录了两个主要的第三方版本:GE——Glorious Eggroll和tkg——TK-Glitch。而这两个第三方版本又有很多不同的衍生版,不同的衍生版针对不同的问题有着对应的修复,具体的修复你可以自己到这里来看一看。至于lutris,我曾经单独说过这个可以集合包括steam和gog在内的游戏库软件,这里就不再多说,只是来演示一下如何在lutris里使用不同版本的wine。

它对wine版本的管理很清晰,只需要点击Wine旁边的Manage Version,你就可以在这里选择各种版本的wine了。可以看到,除了通用的第三方版本,lutris还提供了针对游戏的版本,就比如lutris-lol,很明显,这个版本专门针对lol进行了优化,那用这个版本来运行lol显然是最好的选择。获取和设置也很简单,只需要勾选需要的版本,lutris就会自动安装部署,然后点击游戏的设置图标—启动器选项,就可以自由的选择已经安装的wine了。注意啊,这是可以多版本并存的。你要做的仅仅是勾选即可。

而对于Steam,它自己的Steam play项目和针对这个项目推出的第三方wine版本——proton我曾经也说过。所以这里同样只是介绍一下如何使用自定义的proton套件。

这个第三方套件同样有两个衍生,前边提到的GE和TKG。不同的是,这里的版本是基于steam的proton衍生得到,所以它更主要的目的在于解决使用Steam play官方版本游玩有问题的游戏。也因此,这个组件只能使用在Steam中。

先来看看tkg的自定义版,被称为proton-tkg

  1. 前往https://github.com/Frogging-Family/wine-tkg-git/releases获取最新版本
    因为tkg对于arch分支更加友好,所以对于arch分支的用户,只需要下载前两个;而Debian系的用户,就需要下载源码自行编译了。我是arch用户,所以我下载前两个,接下来也以arch演示
  2. 下载后,两者在同一个文件夹下,使用pacman -U zst结尾的那个文件名来安装
  3. 解压刚刚下载的zip后缀的文件,复制到~/.steam/root/compatibilitytools.d/

    如果没有这个文件夹,则新建一个。同时,复制过来的这些文件用一个文件夹包裹起来。所以最终这些文件所在的位置应该类似于~/.steam/root/compatibilitytools.d/proton-tkg/

    对于Debian分支系统,可能不需要root这一层目录

然后,你就可以在steam的steam play设置界面看到刚刚安装的自定义版本了。不过对于自定义版本,针对游戏进行设置可能是更好的选择。只需要在特定游戏的设置界面选择需要的版本保存即可。

第三方的改动是很有必要的。虽然我没遇到过——因为我的很多游戏都可以原生支持linux,不能支持的使用官方版本proton也能完美运行——不过个别游戏使用第三方会有更好的体验。比如warframe,只有使用tkg版本才能显示更新的进度条和下载信息。

再来看看GE的自定义版,被称为protonGE

  1. 前往https://github.com/GloriousEggroll/proton-ge-custom
  2. Release页面下载tag.gz文档并解压
  3. 将其中的文件夹复制到~/.steam/compatibilitytools.d/下,完成

不过,有实验表明,对于自定义的Proton,因为wine研发和新版本释放时候新功能的不稳定性,对于游戏的流畅度来说也并不是版本越新越好,因此有些游戏可能需要使用旧版本的自定义proton才能更好的游玩。但就像我前边提到的,我自己的这些游戏只需要用官方版本便可流畅运行,所以可能轮到你用的时候才会感觉麻烦的很吧。

聊过了这些全球流行的自定义版本,接下来看看国内定制版本:deepin-wine。

这是深度为了国内的应用特意魔改的一个wine版本,基于wine2.18版本开发——很老的wine版本了,我个人猜测,从2过渡到如今的5可能需要耗费很大的精力,所以现在deepin-wine的开发也几乎是一个停滞的状态了。不过对于国内的一众应用,使用deepin-wine来运行可能反而会比使用正版wine运行问题来的要少——所以也不知道南极大鸟家族在它们的产品里到底使用了什么拥有黑科技的库文件。

不过整体来说,deepin-wine的版本还是太老了一些,而且也不是所有发行版都可以安装这个版本的wine。所以这里也不再多说了,只是知道它的包名叫做deepin-wine就好了。如果想安装,就尝试找到这个包来安装就行了。

三、几个容易被忽略的小技巧

1、使用32位容器

虽然wine默认是64位的,但是使用32位容器会使得程序运行的更可靠。只需要在使用wine命令前增加变量WINEARCH=win32即可。

推荐将这个变量写入到.xprofile,这样每次执行wine命令时默认就是32位的了

2、指定容器位置

在wine命名前增加变量WINEPREFIX=路径即可指定容器创建的位置。默认是在~/.wine

通过这个变量可以实现一容器一软件,保证针对不同软件使用不同的wine环境配置。

3、初始化容器/调整容器设置

使用命令winecfg即可打开wine的容器设置。若当前位置没有容器则会自动初始化一个而不安装任何windows程序。

4、补充wine的组件

安装使用winetricks可以方便的增删容器内的支持组件(.NET等)。

5、中文模糊/乱码

字体问题可通过注册表设置字体替换解决。具体可参考wine字体 - Archwiki解决中文乱码 - Archwiki

最近我笔记本的SSD出现了坏块,而且日渐增多,看样子好像是要挂的节奏。

正好,毕设也搞完了,树莓派又要开始吃灰了。我就寻思着把我新买的一个3T机械盘挂在树莓派上,当作一个备份盘来用,顺便做成家庭共享的那种。

树莓派搭建samba这种教程网上一搜就有,我也就不再赘述,实际做好之后速度也还可以接受——关键在于要用有线来连接树莓派和路由器,wifi连接的速度有点问题(顺便一提,我是树莓派3b+)。但当我想把这个samba磁盘设置开机挂载时候,出大问题了。网上也找不到什么人说这个,所以决定自己记录一下。

如果你在网上搜索fstab挂载samba或者类似的问题,会看到各式各样的fstab写法。

比如Archwiki的://SERVER/sharename /mnt/mountpoint cifs _netdev,username=myuser,password=mypass 0 0

又比如csdn某博客的//shwde7xxx.ccr.corp.xxxxx.com/SE_DailyBuild /home/12/345 cifs auto, username=gli16,password=xxxxx 0 0

等等,就不一一列举了。

但我一一试下来,都不行。因为系统在启动过程中是没有启动网络连接的,这就导致了当fstab打算加载这个samba设备时,由于找不到地址进而挂载失败。如此一来,我还是要在系统启动后,手动在终端进行挂载操作。

当时越搜越气,这帮博主真的就这么不负责任的?还是就我的系统有这个问题?

最终,我决定自己尝试。

尝试的过程就不多说了,难倒是不难,只是fstab各种可能的参数都加上去试一下,但操作还是挺麻烦的:因为问题出现在启动时不能联网,所以我必须重新启动系统来验证参数是否有效。如果按一般方法通过umountmount -a来测试的话,不管什么参数都是成功的(因为这种操作是在有网络连接的情况下进行的)。

最终我的fstab是这样的:

//SERVER/sharename /mnt/samba cifs username=xxx,password=xxx,comment=systemd.automount,nofail,rw,uid=1000,gid=1000

简单解释几点

  • rw:使有读写权限
  • uid=1000,gid=1000:这两个参数让非root用户也可对这个磁盘进行读写
  • nofail:最关键的参数。无论其他参数怎么写,只要有这个,就可以保证即使开机时挂载失败,在进入桌面后还可以直接挂载上而无需用户再通过终端进行操作。

不多说了,也许这也是我头一次遇到比较冷门的问题吧……

以前就听说过这个工具。但当时整体看上去部署好麻烦,而且我的工具又并不是不稳定,再加上当时看这玩意儿要想做到只转发境外又很麻烦,所以也就一直没在意过它。但最近越来越发现,我的努比亚仿佛天生就屏蔽ss的流量,所以感觉可能还是换一换工具能好一些。说干就干,开始迁移

介绍

V2Ray是近几年十分流行的网络工具,其功能强大,用途不限于如此,但因其能有效跨越而广为人知。有如下大放异彩的特点:

  • 开源。是Project V的核心工具,源代码开源;
  • 多协议支持。传输层支持TCP、mKCP、WebSocket等,上层协议支持Socks、ss、以及自定义的VMess等;
  • 可同时支持多个入站和出站协议,每个协议独立工作;
  • 多平台支持。原生支持Windows、Linux、MacOS三大常用平台,安卓、iOS两大移动平台有丰富的第三方工具;
  • 隐蔽性。流量可伪装成网页流量,更难被检测和干扰。

一句话总结:更好更强大,但更难上手和用好。

部署

现在已经有一键脚本。直接使用即可(Linux)。

curl -L -s https://install.direct/go.sh | bash

安装完成后,配置文件为/etc/v2ray/config.json,其中,”inbounds”下的这几项信息需要记录:port(端口)、clients中的id(用户id)和alterId(额外id),它们将在配置客户端时用到。

在VPS中放行上面提到的port,然后启动服务:

systemctl enable v2ray
systemctl start v2ray

即可使用。

但当前是没有什么伪装措施的,或者说,仅仅是使用了默认的vmess方法进行“混淆”。一旦检测到,那么必然就会露馅。所以接下来进行进一步的“打扮”。

伪装

通过一个正常的网站进行伪装,一来可以合理的解释为什么会有数据传送到这个ip上;二来可以走一层cdn,进一步伪装服务器ip和真实的作用;三来可以套上一层https,数据包就又加密了一次;四来,如果你的vps被屏蔽了,套上cdn还能让你的vps起死回生。

但这需要你有一个域名。

至于解析和cdn,我选择通过cloudflare来实现。当然也可以用其他的,比如直接使用域名商的域名解析。使用cf的好处在于可以直接提供cdn和https,省去了另行配置cdn和申请域名签名的步骤。

当然,如果有更好的cdn服务商就不要用cloudflare了…都快用烂了。

先将域名解析配置好。一级域名肯定是你自己的(比如是123.com)至于使用哪个二级域名无所谓(比如v.123.com,接下来以这个域名为例),或者直接使用主域名也可以。注意把cf的小云彩点亮以使用cdn功能——嫌慢的话就点灭,但https需要你为域名申请一个证书。

切换到SSL/TLS标签,将加密模式切换到Flexible;切换到Edge Certificates子标签,启动Always user HTTPS

至此,cf设置完成,接下来设置服务器。

进入到你服务器的宝塔面板(我一直在用宝塔面板,如果你使用单纯的环境,相信接下来的东西你也是会配置的),进行如下操作:

  1. 新建上述域名的网站。静态站还是动态站无所谓,反正有一个网站就行,这个网站也可以正常使用。比如说浏览器访问是你公司的wiki站点,实际上在提供v2ray服务
  2. 确定后,打开该站点的设置页—配置文件,在结尾的}前增加下述代码(开头是location 不知道为啥l总是显示不出来)

    location /v2ray { #使用软件访问v.123.com/v2ray,会连接到v2ray服务,浏览器访问则返502错误。这里的路径可以自定义
           proxy_redirect off;
        proxy_pass http://127.0.0.1:12345;   #v2ray的端口。应该与前边提到的port相同
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $Host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    其实就是反代,直接在网站设置的反向代理标签设置也可以。

  3. 修改前边生成的config.json,在inbounds下增加相关的配置,最终类似于这样:

     "inbounds": [{
        "port": 12345,
        "protocol": "vmess",
        "settings": {
          "clients": [
            {
              "id": "xxxxx",
              "level": 1,
              "alterId": 64
            }
          ]
        },   #上面的都是自动生成的,不必修改
        "streamSettings": {     # 载体配置段,设置为websocket
            "network": "ws",
            "wsSettings": {
              "path": "/v2ray"  # 与nginx中的路径保持一致
            }
          },
        "listen": "127.0.0.1" # 出于安全考虑,建议只接受本地链接
      }],

    注意:json文件不支持注释,上述配置中”#”号及后续内容都要删掉。

  4. 配置无误后,重启v2ray服务:systemctl restart v2ray

接下来浏览器访问域名,确定是https访问,并且出现首页内容,而URL输入映射到v2ray的地址(如前面假设的 v.123.com/v2ray),返回 Bad Request,则几乎可以说明配置完成了。接下来就到客户端了。

使用

Win和手机端的软件网上有很多,所以这里只说设置的内容

  • 地址/address:前边设置的域名(这里的例子应该写 v.123.com)
  • 端口/port:443
  • id:inbounds中的id
  • 额外id/alterId:inbounds中的alterId
  • 加密方式/Security:auto
  • 传输协议/network:ws
  • 伪装类型/type:none
  • 伪装域名留空
  • path:前边在nginx中设置的路径(这里的例子应该写/v2ray)
  • 启用tls传输

至于Linux,archlinuxcn源提供qv2ray,自带流量区分,即只处理出境流量。安装使用这个软件即可,设置同上。

大多数现代Linux桌面系统都预装了Nvidia驱动程序——一种新的开源图形设备驱动程序。因此,一般不需要安装闭源驱动——只要没有那么强烈的独显性能需求。

但如果想完全发挥独显的性能,闭源驱动 便派上用场了。一些Linux发行版提供了预打包的专有驱动程序放在了源中,使得安装驱动程序非常容易。

也可以自行前往英伟达官网获取驱动,然后手动安装。但这样可能需要更多的手工干预,所以只要硬件不是特别的新 ,通常源中的版本已经足够了。

再次警告

从第三方源(如Nvidia.com或通过PPA存储库的专有Nvidia驱动)安装Nvidia驱动程序可能会导致系统不稳定。因此,如果不是必须的,建议继续使用开源的新版本驱动程序。

如何逐步安装最新的Nvidia专有驱动

1、检查Nvidia VGA型号

第一步是检查Nvidia VGA卡型号。对于大多数Linux发行版,通过下述代码获得

$ lspci -vnn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller])

从上面的输出可以看出我们的系统配备了 GTX 1060 6GB 显卡。

2、检查当前安装的VGA驱动程序

使用下面的命令查看当前加载的VGA驱动程序以及VGA卡型号的信息:

$ lspci -k | grep -EA3 'VGA|3D|Display'
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
        Subsystem: ASUSTeK Computer Inc. GP106 [GeForce GTX 1060 6GB]
        Kernel driver in use: nouveau
        Kernel modules: nvidiafb, nouveau

可以看到,目前使用的是nouveau 驱动程序和内核模块。如果安装有专有驱动,则上述命令的输出可能如下所示:

$ lspci -k | grep -EA3 'VGA|3D|Display'
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
        Subsystem: ASUSTeK Computer Inc. GP106 [GeForce GTX 1060 6GB]
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

3、检查当前的Nvidia驱动程序版本:

在继续进行最新的驱动程序安装之前,请检查当前版本的位置:

$ nvidia-settings --version
nvidia-settings:  version 430.50

4、接下来安装专有驱动:

暂不讨论手工安装和GUI安装

几乎所有操作都要求sudo权限

对于Intel和NVIDIA双显卡,可能需要额外配置(bumblebee/xrandr等)

接下来的方法适用于

完成后重启,安装结束。

我曾一度认为我不需要密码托管这种软件。

直到我发现我无论如何也想不起来北京摇号官网的登录密码了。

使用现成的第三方服务很好,但一来要注册,二来有些服务会收费。

那还不如自己部署一个。

其实可供自己部署的不算很多,我最终选择了bitwarden

Bitwarden 是一款开源密码管理器,它会将所有密码加密存储在服务器上,工作方式与 LastPass、1Password 或 Dashlane 相同。

官方的版本搭建对服务器要求很高,搭建不容易,github上有人用 Rust 实现了 Bitwarden 服务器,项目叫 bitwarden_rs,并且提供了 Docker 镜像,这个实现更进一步降低了对机器配置的要求,并且 Docker 镜像体积很小,部署非常方便。这个项目目前在github也有2k的star,所以说用的人还是有不少的。

此外,官方服务器中需要付费订阅的一些功能,在这个实现中是免费的。下面简单记录怎么搞。

一、基本组件

  1. 拉取镜像:docker pull bitwardenrs/server:latest
  2. 启动:docker run -d --name bitwarden -v /bw-data/:/data/ -p 6666:80 bitwardenrs/server:latest

    1. -v 定义一个保存数据的文件夹
    2. -p 定义一个监听端口

如果仿照上面的步骤,设定了6666端口的话,现在浏览器输入ip:6666可能有几种情况:

  • 访问成功
  • 弹出logo,但登陆界面不能加载
  • UNSAFE_PORT

这是因为项目要求https。所以要么申请一个证书,要么自签名一个证书。我则使用了另一个方法:套在cloudflare的解析上,依靠cf的证书实现。但这些都需要你拥有一个域名。

域名申请就不细说了,下面主要说说如何把域名和服务绑定上——反向代理。

二、域名绑定服务

  1. 我有宝塔,所以直接宝塔新建一个站点,域名自然是要绑定到这个服务的域名
  2. 建立后,在站点修改窗口,点击反向代理 - 添加反向代理

    1. 代理名称任意
    2. 目标URL写入http://127.0.0.1:6666(端口是之前开启docker时候配置的)
    3. 提交

Cloudflare端,将https相关的设置打开

  1. DNS标签下,做解析和开启缓存(箭头穿过小云彩而不是绕过)
  2. SSL/TLS - Overview标签下,加密模式选择Flexible
  3. SSL/TLS - Edge Certificates标签下,启用Always Use HTTPS

三、建立自己的用户

现在,访问域名,应该能正常显示了。按提示建立自己的用户即可。

四、关闭注册

如果并没有公开服务的打算的话。

  1. 停止容器:docker stop bitwarden
  2. 删除容器:docker rm bitwarden
  3. 启动容器,加入禁注册参数-e SIGNUPS_ALLOWED=false

五、使用

可以从浏览器通过域名来管理自己的账户。

密码自动填写、自动保存等通过软件实现:

  • PC中,Chrome有插件,可管理浏览器用户名密码
  • 安卓中,有APP,可全局监控(类似谷歌的密码管理)
  • iOS中,有APP,可用范围不知道

伴随着我服务器的切换,最近把Nextcloud云盘从服务器上头下线了。它确实很强大,但强大的同时也意味着臃肿。而我只需要这臃肿中的同步功能。而它的同步又是全量同步,且不好设置需要同步的文件夹,这就偏离了我自己的需要了。所以一句话,我只需要一个可以增量同步我指定的任意文件夹下的内容的工具。

曾经使用过坚果云。但是每月1G上载3G下载的流量限制让我最终放弃了它。

Dropbox,印象里很不错。但是用它还得翻墙,不值当的。

OneDrive,微软家的东西,很好用。但是速度实在是不稳定。

最终,还是在服务器上面搭建了一个同步工具——Syncthing

这是一个开源工具,据说类似于BTSync的开源实现(这个我并没有考证)。正好符合我的需求:简单、增量同步。不过说是“同步盘”,其实更像是两个朋友间“共享文件夹”。因为这个工具,无论是服务器上还是终端上,安装的都是相同的程序,只需事先添加对方到列表,即可开始文件夹的“共享”之旅。下面具体说说怎么搞。

不必纠结下面的步骤哪个是服务器的哪个是客户机的。因为步骤都一样。

一、服务器 & CentOS

我更倾向于用Docker安装。因为手工部署需要人工把服务文件复制到systemd中,如果更新的话还需要再操作一遍。对于服务器,使用其他方式安装还需要额外配置,就麻烦了。Docker方法如下:

  1. 拉取镜像。关于这个工具的镜像有很多,其中我更倾向于使用 linuxserver/syncthing。官方的有权限问题,可能是我的操作有误吧…docker pull linuxserver/syncthing
  2. 建立容器。使用命令

    docker create \
      --name=syncthing \    # 容器名称
      -e PUID=1000 \        # UserID
      -e PGID=1000 \        # GroupID
      -e TZ=Asia/Shanghai \    # 时区
      -e UMASK_SET=022 \    # 文件夹权限
      -p 8384:8384 \        # 对外端口映射 - GUI端口
      -p 22000:22000 \        # 对外端口映射 - 协议端口
      -p 21027:21027/udp \    # 对外端口映射 - 本地发现端口
      -v /path/to/appdata/config:/config \    #文件夹映射 - 程序文件
      -v /path/to/data1:/data1 \    # 文件夹映射(自定义数据文件夹)
      -v /path/to/data2:/data2 \    # 文件夹映射(自定义数据文件夹)
      --restart unless-stopped \    # 始终重启容器
      linuxserver/syncthing

    其中,参数nameTZ-p-v都可以根据自己的情况进行修改。对于这几个端口,保证本机相应的端口没有被占用且没有被防火墙限制即可。

  3. 启动容器docker start syncthing

    现在,你就可以打开ip:8384映射出来的端口号在图形化界面中设置了。其中,ip地址需要使用:

    • 本机,使用地址127.0.0.1
    • 服务器,使用地址服务器公网ip

二、Debian&Arch安装

源中已提供,直接安装对应的包即可。其中,服务器端和客户端都可使用包syncthing,客户端亦可以使用syncthing-gtk获取一个显示在托盘的同步状态标志及便捷的设置入口和服务起停入口。

  • Debian系

    apt install syncthing    # 安装
    systemctl enable syncthing    # 设置服务开机启动
    systemctl start syncthing    # 启动服务
    # 如果是客户机,可使用下面的命令代替上面的
    apt install syncthing-gtk
  • Arch系

    pacman -S syncthing    # 安装
    systemctl enable syncthing@你的用户名    # 设置服务开机启动
    systemctl start syncthing@你的用户名    # 启动服务
    # 如果是客户机,可使用下面的命令代替上面的
    pacman -S syncthing-gtk

对于本地机器,如果安装的包syncthing,则可打开127.0.0.1:8384进入图形化的设置界面;如果是syncthing-gtk,则找到程序syncthing-gtk,运行即可。

对于服务器,再进行下述操作:

  1. systemctl stop syncthing停止服务
  2. 找到syncthing文件夹,编辑config.xml,将<address>127.0.0.1:8384</address>修改为<address>0.0.0.0:8384</address>

三、GUI设置

1、服务器端

操作 - 设置,打开设置界面。

  • 常规:

    • 如果不是用Docker 安装的,那么请确保默认文件路径的合理性
  • 用户图形界面

    • 设置一个 图形管理界面用户名
    • 设置一个 图形管理界面密码
  • 连接

    • 保证勾选了启用NAT遍历
    • 保证勾选了全球发现

2、客户端

安装的syncthing,则点击操作 - 设置,打开设置界面。

  • 常规:

    • 如果不是用Docker 安装的,那么请确保默认文件路径的合理性

安装的syncthing-gtk,则打开窗口后点击右上齿轮 - 守护程序设置,打开设置界面。

  • 取消其中的全部勾选

四、开启同步之旅

  1. 服务器端的设置界面,点击操作 - 显示ID,复制弹出窗口中的字符串
  2. 本机中,选择添加设备,ID粘贴刚复制的字符串,地址填入服务器ip:22000(或者docker容器,22000映射的端口号),确定
  3. 等一会儿,服务器会弹出添加请求,通过
  4. 本机添加共享文件夹。在共享给设备中,勾选刚添加的服务器,确定
  5. 等一会儿,服务器会弹出建立共享文件夹请求,通过
  6. 共享已联通。同步正式开始了