更改文件夹名称

This commit is contained in:
2025-10-31 15:19:17 +08:00
parent 0a4143bd7c
commit d1b2aef9c7
31 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
# Vivado使用乘法器、除法器IP核实现乘除取余仿真
### 环境
Vivado 20.2
## 添加并配置IP核
1. 打开vivado找到对应IP核如下图
![](./vivado_ip_img/IPCore01.png)
2. 先双击除法器IP核进入配置页面如下图
![](./vivado_ip_img/IPCore02.png)
![](./vivado_ip_img/IPCore03.png)
除法器配置默认即可点击OK后弹出界面点击Generate
如下图即配置完成
![](./vivado_ip_img/IPCore04.png)
3. 配置乘法器IP核
![](./vivado_ip_img/IPCore05.png)
上图使用十六位有符号数与十六位无符号数进行运算
![](./vivado_ip_img/IPCore06.png)
上图输出32位间隔一个周期得到结果电脑性能不佳可适当增加
4. 如下图即配置完成
![](./vivado_ip_img/IPCore07.png)
## 添加并编写仿真代码文件
1. 选择一个文件夹创建例如ipcore_test.v文件
2. 添加文件到vivado
![](./vivado_ip_img/IPCore08.png)
![](./vivado_ip_img/IPCore09.png)
找到自己创建的.v文件路径并添加
3. 完成如下图
![](./vivado_ip_img/IPCore10.png)
4. 复制示例代码
![](./vivado_ip_img/IPCore11.png)
双击打开.veo 示例代码文件
![](./vivado_ip_img/IPCore12.png)
复制上图红框中的代码到自己的仿真文件,如下图我这是外部编辑器vivado自带编辑器同理
![](./vivado_ip_img/IPCore13.png)
上图的module与endmodule需要自己添加
如下图可以看到除法器IP核在你自己的代码文件之下表示被正确调用
![](./vivado_ip_img/IPCore14.png)
乘法器同理,打开.veo文件复制代码
![](./vivado_ip_img/IPCore15.png)
![](./vivado_ip_img/IPCore16.png)
示例代码复制完成后如下图这里我更改了实例名称u_ 开头,不改没影响)
![](./vivado_ip_img/IPCore17.png)
5. 最后自己补全仿真代码,我这里这样写
```verilog
`timescale 1ns / 1ps
module tb_ipcore_test();
reg clk; //时钟变量
reg signed [15:0] A; //有符号因数数据
reg unsigned [15:0] B; //无符号因数数据
wire signed [31:0] P; //乘法器结果
reg dividend_tvalid; //被除数有效使能,高为有效,低为无效
reg signed [15:0] dividend_tdata; //被除数数据
reg divisor_tvalid; //除数有效使能,高为有效,低为无效
reg signed [15:0] divisor_tdata; //除数数据
wire dout_tvalid; //输出电平,高为正确输出,低为错误输出
wire [31:0] dout_tdata; //除法器结果
wire signed [15:0] quotient; //商
wire signed [15:0] remainder; //余数
mult_gen_0 u_mult_gen_0 (
.CLK(clk), // input wire CLK
.A(A), // input wire [15 : 0] A
.B(B), // input wire [15 : 0] B
.P(P) // output wire [31 : 0] P
);
div_gen_0 u_div_gen_0 (
.aclk(clk), // input wire aclk
.s_axis_divisor_tvalid(divisor_tvalid), // input wire s_axis_divisor_tvalid
.s_axis_divisor_tdata(divisor_tdata), // input wire [15 : 0] s_axis_divisor_tdata
.s_axis_dividend_tvalid(dividend_tvalid), // input wire s_axis_dividend_tvalid
.s_axis_dividend_tdata(dividend_tdata), // input wire [15 : 0] s_axis_dividend_tdata
.m_axis_dout_tvalid(dout_tvalid), // output wire m_axis_dout_tvalid
.m_axis_dout_tdata(dout_tdata) // output wire [31 : 0] m_axis_dout_tdata
);
assign quotient = dout_tdata[31:16]; //除法器16位余数模式高16位是商低十六位是余数
assign remainder = dout_tdata[15:0];
always #5 clk = ~clk; //10ns周期时钟
initial begin
clk = 0;
A = 16'h7FFF;
B = 16'hFFFF;
dividend_tvalid = 1;
dividend_tdata = 16'h7FFF;
divisor_tvalid = 1;
divisor_tdata = 16'hFFFF;
#300;
A = 16'h8001;
B = 16'h0001;
dividend_tvalid = 1;
dividend_tdata = 16'h8001;
divisor_tvalid = 1;
divisor_tdata = 16'hFFFF;
#300;
$finish;
end
endmodule
```
6. 结果分析
选中除B之外的所有变量调整为有符号的十进制B调整为无符号的十进制数
![](./vivado_ip_img/IPCore19.png)
下图可以看到,乘法器得到数据(一开始),在第一个周期得到结果,除法器得到数据,在第二十个周期得到结果
![](./vivado_ip_img/IPCore18.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

View File

@@ -0,0 +1,48 @@
## 安装nodejs22+环境
### 使用使用 NodeSource
首先,添加 NodeSource 的 PPA个人包存档
```shell
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
```
然后安装nodejs
```shell
apt-get install -y nodejs
```
### 使用n管理器
如果你想使用 n 管理器安装最新版本,可以先安装 n
```shell
npm install -g n
```
然后使用 n 安装 Node.js 22
```shell
n 22
```
### 验证安装
安装完成后,可以通过以下命令验证 Node.js 是否安装成功
```shell
node -v
```
## 安装pnpm
### 若已安装npm
版本不确定
```shell
npm install -g pnpm
```
### 使用独立脚本安装不用安装nodejs
Windows PowerShell
```shell
Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression
```
在POSIX系统上
```shell
curl -fsSL https://get.pnpm.io/install.sh | sh -
# 或者使用
# wget -qO- https://get.pnpm.io/install.sh | sh -
```
安装特定的版本
在运行安装脚本之前,你可以选择设置环境变量 PNPM_VERSION 来安装特定版本的 pnpm
```shell
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -
```

View File

@@ -0,0 +1,71 @@
# 这是一级标题
## 这是二级标题
### 这是三级标题
- 无序列表项1
- 无序列表项2
- 嵌套无序列表项
- 无序列表项3
1. 有序列表项1
2. 有序列表项2
3. 有序列表项3
**加粗文本**
*斜体文本*
***加粗斜体文本***
~~删除线文本~~
==高亮文本1==
<mark>高亮文本2</mark>
^上角标^ 角标 ~下角标~
<u>下划线</u>
- [ ] 代办
- [x] 已办
> 这是一段引用内容
> 引用内容可以换行
>>引用嵌套
行内公式: $f(x)=a-b$
公式:
$$
f(x)=a-b
$$
| 表头1 | 表头2 | 表头3 |
|-------|-------|-------|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |
[链接文字](https://example.com)
`单行代码`
```python
# 多行代码块
def hello\_world():
print("Hello, World!")
```
---
分割线以上是测试内容
分割线以下也是测试内容
![图片替代文本](https://picsum.photos/200/300 "随机的图片")

View File

@@ -0,0 +1,2 @@
# 前言
最近迷上了三角洲

View File

@@ -0,0 +1,30 @@
# Docker容器和镜像的删除操作
## 容器和镜像的关系
简单来说,镜像是文件,容器是进程。
容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。
docker利用容器来运行应用docker容器是由docker镜像创建的运行实例。
![容器与镜像](https://i-blog.csdnimg.cn/blog_migrate/1239ccc5a805c44d9ecb6bc844ac9457.jpeg)
### 删除镜像的操作步骤
#### 一、停止正在运行的镜像创建的容器
查看正在运行的容器
```shell
docker ps
```
停止对应容器
```shell
docker stop xxx
```
xxx 是 docker ps 命令出来的容器 CONTAINER ID 的前三位
删除对应的容器
```shell
docker rm xxx
```
查看镜像
```shell
docker images
```
同理yyy 是 docker images 命令出来的镜像 IMAGE ID 的前三位
删除对应的镜像
```shell
docker rmi yyy
```

View File

@@ -0,0 +1,5 @@
# 启用用户界面中的转码配置
ND_ENABLETRANSCODINGCONFIG = true
# 配置ffmpeg路径
FFmpegPath = "/usr/bin/ffmpeg"

View File

@@ -0,0 +1,166 @@
# 在ARM架构的Ubuntu中使用Docker Compose部署MTPhotos
## 前言
之前我总是使用1panel面板的Docker进行图形化的操作直到有一天我遇到了一个需要三个镜像配合的项目——MTPhotos
为什么会使用mtphotos呢我以前都是使用老电脑装飞牛OS当作NAS使用但是飞牛OS哪哪都挺好就是不支持vivo的动态图片相册里的动态图片是一张jpg一段MP4看得我脑阔痛而且用X86的核显老电脑安装飞牛OS视频转码压根跑不动如此一来偌大个飞牛就只用来当云相册用有点心疼电费我就把目光投向了角落的Nanopi-R5S
好在[友善官方](https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5S/zh "友善官方R5S中文文档")一直在更新R5S的各种固件有OpenWRT有Ubuntu有Debian甚至还有Proxmox的固件我就准备用Ubuntu装个MTPhotos来试试
## 准备工作
### 将R5S刷入ubuntu-noble-core固件
线刷方便得鸭皮,没有 USBA-A 的线材也可以使用卡刷,具体看上方友善官方文档
### 装个m.2硬盘进去当docker的镜像盘
mtphotos有三个镜像文件需要七八个G
### 安装个[Mobaxtrem汉化版](https://github.com/RipplePiam/MobaXterm-Chinese-Simplified "Mobaxtrem汉化版GitHub仓库")方便文件传输和SSH连接
SSH用户是 pi 密码也是
## 正式开始部署
### 初始化Ubuntu
首先当然是Linux初始化套路
登录切root用户懒得加sudo密码是 pi
```shell
sudo -i
```
#### 改时区
```shell
timedatectl set-timezone Asia/Shanghai
```
#### 换源
Ubuntu 24.04 换源方式有变
```shell
vim /etc/apt/sources.list.d/ubuntu.sources
```
用 # 注释掉之前的所有内容,添加如下内容
```shell
Types: deb
URIs: http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
```
X86架构不需要添加 URIs 条目后的 -ports
#### 更新
```shell
apt update && apt upgrade -y
```
### 挂载m.2硬盘
安装 curl 和 fdisk
```shell
apt install curl fdisk -y
```
查看当前m.2硬盘路径
```shell
fdisk -l
```
格式化硬盘
```shell
mkfs.ext4 /dev/nvme0n1
```
/dev/nvm10n1 是上一步查看到的对应的m.2硬盘路径
获取硬盘UUID
```shell
blkid /dev/nvme0n1
```
创建挂载文件夹
```shell
mkdir /nvme
```
编辑自动挂载文件
```shell
vim /etc/fstab
```
格式如下
```shell
UUID=xxxx /nvme ext4 defaults 0 0
```
xxxx 为 blkid /dev/nvme0n1 命令获取的 UUID="xxxx" 的内容
重启
```shell
reboot
```
### 安装并启动Docker和Docker compose
更新包管理工具
```shell
apt-get update
```
使用官方一键安装脚本配合阿里云镜像一键安装
```shell
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
```
启动并查看运行状态
```shell
service docker start
docker version
docker compose version
systemctl status docker
```
### 配置Docker镜像加速和镜像存放路径
```shell
vim /etc/docker/daemon.json
```
按 I 进入编辑模式,配置如下
```shell
{
"registry-mirrors": ["https://docker.xuanyuan.me","https://docker.1panel.live"],
"data-root": "/nvme/docker"
}
```
按 Esc 退出编辑模式,输入 :wq 保存并退出
重载daemon.json文件
```shell
systemctl daemon-reload
systemctl restart docker
```
### 如果一切顺利那么该安装mtphotos了
创建个目录
```shell
mkdir /opt/mtphotos
```
进入
```shell
cd /opt/mtphotos
```
创建并编辑docker-compose.yaml文件
```shell
vim docker-compose.yaml
```
按 I 进入编辑模式并填入以下内容
```yaml
version: "3"
services:
mtphotos:
image: registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:arm-latest
container_name: mtphotos
restart: unless-stopped
network_mode: host
volumes:
- /opt/mtphotos/config:/config
- /nvme/mtphotos/upload:/upload
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
dns:
- 114.114.114.114
depends_on:
- mtphotos_ai
- mtphotos_face_api
mtphotos_ai:
image: registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos-ai:arm-latest
container_name: mtphotos_ai
restart: unless-stopped
network_mode: host
environment:
- API_AUTH_KEY=mt_photos_ai_extra
mtphotos_face_api:
image: crpi-gcuyquw9co62xzjn.cn-guangzhou.personal.cr.aliyuncs.com/devfox101/mt-photos-insightface-unofficial:arm-latest
container_name: mtphotos_face_api
restart: unless-stopped
network_mode: host
environment:
- API_AUTH_KEY=mt_photos_ai_extra
```
按 Esc 退出编辑模式,输入 :wq 保存并退出
拉取运行
```shell
docker compose up -d
```
## 如果一切顺利,那么到此结束

View File

@@ -0,0 +1,9 @@
# 安装Altium Designer 25.4.2 Build 15 (x64)学习版
### 确认文件
打开Altium Designer 25.4.2 Build 15 (x64).rar压缩包确认里面有 !Lic 文件夹和 Installer.Exe安装程序 !Lic 文件夹中应有四个 .alf 证书文件和一个shfolder.dll文件以及一个Lic.rar压缩包防误删备份
### 安装AD
进入解压出的Altium Designer 25.4.2 Build 15 (x64)文件夹右键以管理员身份运行Installer.Exe安装程序记住安装的路径完成安装后退出AD25程序。
### 添加学习补丁
进入开始解压出的Altium Designer 25.4.2 Build 15 (x64)文件夹,打开 !Lic 文件夹复制shfolder.dll和AD25_Pro.alf文件到AD25安装文件夹没改路径一般是 C:\Program Files\Altium\AD25内有X2.EXE文件
### 添加证书文件
打开AD25程序点击右上角人形图标(Not Signed In)右边的三角形出现菜单选项选择Licenses选项点击 Add License -> Add Standalone License File,选择AD25安装路径下粘贴的AD25_Pro.alf文件。

View File

@@ -0,0 +1,112 @@
# SSH舍弃密码拥抱密钥
## 前提条件
使用**ROOT**用户个人喜好、客户端使用Windows PowerShell终端、服务端使用Debian12+或是Ubuntu24+
## 客户端操作
### 创建密钥对
随便在哪按 WIN + X 再按 I 打开PowerShell终端
进入用户的.ssh文件夹
```shell
cd ~\.ssh
```
创建密钥对使用椭圆加密算法相比RSA更加短小精悍
```shell
ssh-keygen -t ed25519
```
输出Enter file in which to save the key是对密钥对进行命名我这里输入test
之后输出Enter passphrase (empty for no passphrase)是对私钥进行加密输入私钥的密码不会显示不设置就按Enter跳过
然后确认密码依旧按Enter跳过
出现一个方框图形,表示创建成功
之后 ~\.ssh 文件夹中会出现一个 test 私钥文件和一个 test.pub 公钥文件
至此,客户端的操作暂时结束
## 服务端操作
### 上传公钥至服务器
#### 创建实例阶段
在创建实例阶段,如阿里云服务器,可以在**管理设置-登录凭证**中选择密钥对;**登录名**选择root**密钥**对选择右边创建密钥对
创建密钥对界面,密钥对名称随意;创建类型选择导入已有密钥对,
在客户端Windows电脑中进入 ~\.ssh文件夹中找到第一步创建的test.pub,用任意编辑器打开后,复制其内容到公钥内容框中,标签键随意,
然后回到实例创建页面,在密钥对选择刚刚创建的密钥对即可
#### 已有服务器
使用SSH密码登录到服务器切换到ROOT用户
```shell
sudo -i
```
##### 复制公钥到服务器
进入/root/.ssh文件夹
```shell
cd /root/.ssh
```
创建或编辑 authorized_keys 文件
```shell
vim authorized_keys
```
按 I 进入编辑模式,将公钥内容复制进去
按 Esc ,输入 :wq 保存并退出
##### 编辑SSH-SERVER配置文件
进入/etc/ssh文件夹
```shell
cd /etc/ssh
```
编辑sshd_config文件
```shell
vim sshd_config
```
同样按 I 进入编辑模式,并确保下列三个参数如下
```shell
PermitRootLogin yes #允许使用ROOT用户登录
PubkeyAuthentication yes #使用密钥对
PasswordAuthentication no #禁用密码
```
按 Esc 退出编辑模式,输入 :wq 保存并退出
##### 重启SSH-SERVER服务
一般使用
```shell
systemctl restart sshd
```
不行就试试
```shell
service ssh restart
```
##### **不要断开SSH连接防止配置有问题连接不上**
## 使用密钥对进行连接
### 直接连接
新开一个PowerShell终端
```shell
ssh -i ~/.ssh/test root@192.168.21.5
```
输出 Enter passphrase for key 提示输入私钥密码(输入的内容不会显示),之前没设置就直接按 Enter ;不出意外就可以连接上了
### 编辑config文件进行简便连接
**注意:** 只用使用Windows的终端才能简便连接使用mobaxterm等ssh软件这个配置是没用的
在Windows客户端中进入 ~\.ssh 文件夹
```shell
cd ~\.ssh
```
使用记事本编辑config文件
```shell
noteapd config
```
格式如
```shell
Host test
HostName 192.168.21.5
IdentityFile ~/.ssh/test
User root
```
如果端口不是22则需要加上端口如ssh使用222端口
```shell
Host test
HostName 192.168.21.5
IdentityFile ~/.ssh/test
Port 222
User root
```
保存
然后在PowerShell终端中就可以进行简便连接如
```shell
ssh test
```
这里的test是 config 文件 Host 后的字符可以用Emoji表情
**注意:** 在使用SSH密钥对克隆GitHub或是其他git相关网站时Host最好设置为网站的域名你问为什么时间的教训罢了~
## 至此教程结束

View File

@@ -0,0 +1,30 @@
## 依旧前言
### 瞎比比
博主在八月下旬去川西耍了一耍小环线自驾游也是拍了很多照片用之前的arm搭建的mtphotos实现图片备份跟共享的还是非常舒服的但是呢博主用的是ipv6的网络朋友们使用流量呢还是很顺滑的就是连上wifi后呢基本就不行了现在大部分wifi呢依旧只提供ipv4而且博主用的还是ddns众所周知呢国内服务器没有备案呢是用不了80跟443一类的标准端口的所以博主跟朋友们分享的链接后面跟了个端口看着就非常的不优雅正好飞牛和零刻联合出了个小NAS正好就能解决博主之前的一大堆问题废话不多说下面是正文。
### 准备和费用
1. 飞牛NAS一台高级内网穿透权益可有可无
2. 域名(如博主的顶级域名一年几十块)(依旧可有可无)
3. mtphotos(免费试用一个月后续3元一个月买断118元)更新频率高主要是可以支持vivo的动态图片
4. passnet内网穿透服务优雅的关键一月最便宜的是20Mbps速度,50GB流量6块钱它可以提供域名就是不那么自由
## 正式开始
### 实现方案
博主使用的方案呢是mtphotos通过挂载飞牛相册备份文件夹路径而不是单独再使用文件夹来存放照片这样只需要飞牛手机端备份一次然后两个相册就能都看到。
ps:飞牛的相册还是需要继续优化的我直接把照片复制进对应的备份文件夹中它竟然扫描不出来不同文件夹中的完全相同的图片它的重复检查也查不出来但是mtphotos里是可以检查到的。
连接呢使用ipv6飞牛DDNS域名加ipv4passnet内网穿透服务mtphotos手机端主地址填飞牛的ipv6DDNS域名加mtphotos的端口默认8063备用地址填内网穿透服务的域名。
ps:使用ipv4的原因的一个是ipv6的普及度其实并不是很高特别是各种地方的wifi我的朋友们的家里的wifi就没有ipv6这样他们访问还需要切换到手机流量就很麻烦另一个原因是家里的服务器部署服务默认是没法用标准端口的80 443域名后面加一串端口号看到真的不是很舒服。
### 实现步骤
#### 本地操作
一、安装好飞牛OS并成功进入系统创建好储存空间在文件管理->我的文件页面创建docker文件夹创建mtphotos子目录,创建config子子目录。
二、配置好飞牛自带相册可以在文件管理中新建备份文件夹然后在相册设置的文件夹管理中更改一下路径手机端飞牛相册备份配置页面备份目录偏好建议选择按设备目录其他备份设置中的按拍摄日期重命名不要打开不要打开不要打开会导致vivo的动态图片的视频跟图片的名称不一样会导致mtphotos识别不了动态图片打开备份先备份一些照片进去。
三、点开Docker选择好存储位置直接在镜像仓库中搜索mtphotos并下载500K+那个就是在本地镜像中找到mt-photos点三角形创建容器勾上开机自动启动下一步中存储位置添加两个路径选择创建的config文件夹右边装载路径填写 /config
再添加路径,选择相册备份的文件夹中的手机的型号那个文件夹上级文件夹也行,右边装载路径填写 /upload然后下一步完成创建。
四、浏览器地址栏IP:8063进入mtphotos网页端初始化mtphotos后图库管理里面添加图库文件夹选择 /upload 或者以手机型号命名的文件夹,然后确定后自动回到上级菜单,勾上 仅管理员有权限修改或删除该图库的照片 并选择可使用该图库的用户自己的账号然后确定会自动扫描一次图库。之后在飞牛备份完成所有照片或者新照片后建议手动点击一次扫描图库mtphotos默认会间隔15min自动扫描一次图库
#### 配置DDNS和内网穿透
##### DDNS
进入飞牛网页端,打开系统设置->远程访问->DDNS->新增上面四项自己填写外部IPv4地址禁用大内网地址没啥用外部IPv6地址自动获取就行填好后点击测试连接成功保存。
##### 内网穿透
一、打开飞牛应用商店下载并启用frpc客户端和lucky
二、点击lucky进入后台设置选项根据需要更改安全入口和密码不改可以选择禁用安全入口设置检查和禁用默认账号密码检查SSL/TLS证书选项添加证书证书备注建议填子域名添加方式选择ACME证书颁发机构Let's Encrypt比较快和稳定验证方式根据自己的域名服务商自己填写滑动到最下面打开证书映射选项映射路径自己先在飞牛中创建好要有写入权限然后点击添加等待添加完成后到飞牛看看对应映射目录下有没有证书文件。
三、进入passnet网页隧道管理->隧道列表->创建新隧道选择一个近一点用户少一点的服务器隧道名称随意本地IP一般不用动需要改动自己应该知道传输协议选择HTTPS本地端口没改就是8063源站协议HTTP子域名是lucky申请的证书的子域名顶级域名需要在passnet隧道管理->域名管理中添加并加入白名单crt证书路径就是lucky映射的后缀为 .crt 的证书文件(在飞牛的文件管理中找到并点击选中文件,更多->详细信息->复制原始路径key密钥路径同理提交后在隧道列表中点击对应隧道有个蓝底注意事项提醒右边的蓝色<mark>点我获取</mark>点击后复制到剪贴板然后到飞牛打开frpc粘贴复制内容回到passnet隧道列表对应的隧道显示绿底在线就说明配置成功。
<mark>ps:</mark>在配置文件中可以看到服务器地址,需要提前在域名服务商处做好解析。