#loading-box .loading-left-bg, #loading-box .loading-right-bg { position: fixed; z-index: 999998; width: 50%; height: 100%; background-color: rgb(81 81 81 / 80%); transition: all 0.7s cubic-bezier(0.42, 0, 0, 1.01); backdrop-filter: blur(10px); } #loading-box .loading-right-bg { right: 0; } #loading-box > .spinner-box { position: fixed; z-index: 999999; display: flex; justify-content: center; align-items: center; width: 100%; height: 100vh; } #loading-box .spinner-box .loading-word { position: absolute; color: #ffffff; font-size: 0.95rem; transform: translateY(64px); text-align: center; } p.loading-title { font-size: 1.25rem; margin: 20px 10px 4px 10px; } #loading-box .spinner-box .configure-core { width: 100%; height: 100%; background-color: #37474f; } div.loaded div.loading-left-bg { transform: translate(-100%, 0); } div.loaded div.loading-right-bg { transform: translate(100%, 0); } div.loaded div.spinner-box { display: none !important; } .loader { position: absolute; top: calc(50% - 32px); left: calc(50% - 32px); width: 64px; height: 64px; border-radius: 50%; perspective: 800px; transition: all 0.7s cubic-bezier(0.42, 0, 0, 1.01); } .inner { position: absolute; box-sizing: border-box; width: 100%; height: 100%; border-radius: 50%; } .inner.one { left: 0%; top: 0%; animation: rotate-one 1s linear infinite; border-bottom: 3px solid #efeffa; } .inner.two { right: 0%; top: 0%; animation: rotate-two 1s linear infinite; border-right: 3px solid #efeffa; } .inner.three { right: 0%; bottom: 0%; animation: rotate-three 1s linear infinite; border-top: 3px solid #efeffa; } @keyframes rotate-one { 0% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg); } 100% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg); } } @keyframes rotate-two { 0% { transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg); } 100% { transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg); } } @keyframes rotate-three { 0% { transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg); } 100% { transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg); }

Barrier使用SSL

一.环境和我遇到的问题:

我这里使用的是一台win10和一台win11安装的Barrier版本是BarrierSetup-2.3.4因为新版本的有可能会出现鼠标移不动的情况,因为我的一台设备是华为的matebookE因为屏幕分辨率不同尺寸也不同缩放不同这正是导致“可以从服务器推到客户端,但从客户端回不去服务器、鼠标卡住/隐形,但点击和键盘输入正常”的经典原因。
Barrier(尤其是 v2.4.0)在 服务器端有高 DPI 缩放 时,会严重误算屏幕边界,导致鼠标进入客户端后“卡在角落”(常右下角或上左角),只能点击不能移动。这在 GitHub issue #94、#1638、#1415 等中反复出现,用户确认是 Windows 服务器 + 高缩放(150%+)的 bug。客户端 200% 缩放会放大问题,但根源多在服务器端缩放不匹配或未处理好 HiDPI,所以假如有跟我一样遭遇的人可以避免踩坑

1.2.理解 SSL 在 Barrier 中的工作原理:

服务器端:生成证书,提供指纹给客户端验证。
客户端端:生成证书,信任服务器指纹(手动或弹出确认)。
双向验证:可选强制客户端证书(更安全)。
端口:默认 24800 TCP/UDP(加密后不变)。
益处:防局域网嗅探(Wireshark 等无法读明文)。
缺点:配置麻烦,延迟微增(家网下 <10ms)。
不加密的风险:明文易被同一 Wi-Fi 监听。

二.下载安装OpenSSL(两台电脑全部需要):

打开浏览器,访问官网:OpenSSL

下载对应的版本安装
​​​​​​​​image

我的win10没有什么选择,这里说一下win11的选择,大家可以自行选择或者参照我的选择
​​​​image

这里的选择对于后续的影响不大可按需选择
image

默认即可
image

这里选择第二个

image

选择第一个
image

选第一个
image

第一个
image

选第一个
image

选第一个
image

第一个
image

默认
image

然后重启电脑

打开 cmd 或 PowerShell(普通用户即可),输入:

点击查看代码
git --version

点击查看代码
openssl version

image

假如openssl没有出现需要手动配置一下环境变量

先查看openssl有没有安装好,根据你安装目录写路径

点击查看代码
dir "C:\Program Files\Git\usr\bin\openssl.exe"

image

然后在此电脑右键属性选择高级系统设置中的环境变量
image

在系统变量path中新建填入下面路径(根据git安装位置调整)

点击查看代码
C:\Program Files\Git\usr\bin

image

然后重新开一个命令框输入上面命令,出现下面内容就算成功

image

三.生成自签名证书(自签名证书):

每台电脑生成自己的 Barrier.pem 文件(证书 + 私钥)。

1.以管理员身份打开 PowerShell(右键开始菜单 → Windows PowerShell (管理员))。

2.运行以下命令(替换 “jin” 为你的实际用户名;如果用户名有空格/中文,用双引号包住路径,如     "C:\Users\你的用户名\AppData\Local\Barrier\SSL"):

点击查看代码
Set-Alias openssl "C:\Program Files\Git\usr\bin\openssl.exe"  # 如果 Git 路径不对,改成你的(如 C:\Program Files (x86)\Git\usr\bin)
cd "C:\Users\jin\AppData\Local\Barrier\SSL"
if (!(Test-Path .)) { mkdir . }  # 创建 SSL 文件夹,如果不存在
if (!(Test-Path "Fingerprints")) { mkdir Fingerprints }  # 创建 Fingerprints 子文件夹
openssl req -x509 -nodes -days 3650 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem
* -x509:生成自签名证书。 * -nodes:私钥不加密(简化)。 * -days 3650:有效期 10 年(可改短,如 365)。 * -subj /CN=Barrier:证书名称(Barrier 默认)。 * -newkey rsa:4096:生成 4096 位 RSA 密钥(安全)。

4.运行后无错误,检查文件:

打开文件夹 C:\Users\jin\AppData\Local\Barrier\SSL,看到 Barrier.pem
image

如果报 “无法找到路径”:手动创建文件夹 C:\Users\用户名\AppData\Local\Barrier\SSL,再跑命令。

四. 获取服务器证书指纹(只在服务器电脑做):

指纹用于客户端信任服务器。

1.在服务器电脑(如 Win10)管理员 PowerShell 中运行:

点击查看代码
openssl x509 -fingerprint -sha256 -noout -in "C:\Users\用户名\AppData\Local\Barrier\SSL\Barrier.pem"

image

复制整个字符串(包括冒号),记下来或发到客户端电脑

五.在客户端信任服务器指纹(只在客户端电脑做):

1.在客户端电脑(如 Win11)打开文件夹 C:\Users\jin\AppData\Local\Barrier\SSL\Fingerprints

2.新建文本文件 TrustedServers.txt(用记事本,保存为 .txt,UTF-8 编码,无 BOM)。

3.内容(一行,一字不差):

点击查看代码
v2:sha256:12:34:56:78:9A:BC:DE:FG:HI:JK:LM:NO:PQ:RS:TU:VW:XY:Z0:12:34:56:78:9A:BC:DE:FG:HI:JK:LM:NO:PQ:RS:TU
替换成服务器的实际指纹(加 “v2:sha256:” 前缀,无空格/换行)。

4.保存,重启客户端 Barrier。

然后启动ssl就可以了

image

注意最好用户名里面没有中文或者空格不然可能失败

posted @ 2026-02-04 01:06  生命予夺  阅读(2)  评论(0)    收藏  举报