From a50c0189fe87f14391f305bc973f701174f300fb Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 02:48:49 +0800 Subject: [PATCH 1/7] Create Middleware-BT-Tutorial.md --- Middleware-BT-Tutorial.md | 124 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 Middleware-BT-Tutorial.md diff --git a/Middleware-BT-Tutorial.md b/Middleware-BT-Tutorial.md new file mode 100644 index 0000000..7729e9c --- /dev/null +++ b/Middleware-BT-Tutorial.md @@ -0,0 +1,124 @@ +# EZ 加密中间件教程 + +本教程以 中间件 和 V2Board 管理员后端在同一服务器的 宝塔 上面搭建为例,不同服务器上搭建方法类似,不再赘述 + +## 安装 Go Version 1.24 环境 + +### 执行如下命令安装 Go 环境 (以 AMD 架构为例) + +```bash +# 下载安装包 以 AMD 架构为例 +wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz +# 解压到 /usr/local +tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz +# 配置环境变量,编辑 ~/.bashrc 文件 +nano ~/.bashrc +# 在 ~/.bashrc 文件末尾增加 如下一行内容 +export PATH=$PATH:/usr/local/go/bin +# 保存并退出:在 nano 中,按 Ctrl+X,然后按 Y,再按 Enter +``` + +### 检查是否安装成功 + +```bash +# 执行检查 go 版本命令 +go version +# 如果一切顺利 应该会看到类似以下内容的输出 +go version go1.24.0 linux/amd64 +``` + +## 下载并编译 EZ 加密中间件 (以 root 用户根目录为例) + +### 1. 下载并编译 + +```bash +# 下载 R 佬的中间件源码 +git clone https://github.com/codeman857/EZ-Encrypt-Middleware.git +# 切换到中间件目录 +cd EZ-Encrypt-Middleware/ +# 执行 go 语言编译命令 以 "ez-api" 命名编译好的二进制文件 +GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o ez-api +# 执行 ls 命令查看是否生成了 ez-api 二进制文件 +ls +``` + +### 2. 修改 /root/EZ-Encrypt-Middleware/ 下的 .env 文件配置 + +```bash +#查看 VPS 端口占用情况 +ss -tulpn +#找一个未被占用的端口号,这里我以 3939 为例 (九宫格 "e" "z" 对应数字 "3" 和 "9") +nano .env +``` + +```bash +#1.基础服务器设置 +PORT=3939 #服务器监听端口 +BACKEND_API_URL=https://api.xxx.com #后端真实 API 根地址 不带 /api/v1(无尾斜杠) + +#2.CORS / 安全设置 +CORS_ORIGIN=* #允许的 CORS 源;* 表示全部 +ALLOWED_ORIGINS=* #请求来源白名单,逗号分隔或 * 通配 +REQUEST_TIMEOUT=30000 #请求超时(ms) +ENABLE_LOGGING=false #是否输出请求日志 +DEBUG_MODE=false #是否输出调试日志 + +#3.支付回调免验证路径 +#多条用英文逗号分隔,须写完整路径(含前缀) +#例如: /api/v1/guest/payment/notify/EPay/12345, /api/v1/guest/payment/notify/Alipay/ABC123 +ALLOWED_PAYMENT_NOTIFY_PATHS= + +#5.AES 加解密配置 +#中间件加密 KEY 必须是 16 位的 16 进制字符串 +#必须和 EZ 前端配置文件 /src/config/index.js 中的 API_MIDDLEWARE_KEY 保持一致 +#在线生成地址 https://www.bejson.com/math/hex_gen/ +AES_KEY=4c6f8e5f9467dc71 +``` + +### 3. 宝塔 进程守护管理器 添加 进程守护 + +这一步是将 ez-api 中间件服务运行在 VPS 的 3939 端口上 + +```bash +# Name +ez-api +# Run User +root +# Process directory +/root/EZ-Encrypt-Middleware/ +# Start command +/root/EZ-Encrypt-Middleware/ez-api +``` + +添加进程守护 + + +### 4. 宝塔 添加用于和前端通信的反向代理 api 站点 + +添加站点 ( ez.api 域名需要解析到 VPS IP 上)
+PHP Version 选择 Static + +添加静态站点 + + +申请 SSL 并设置反向代理 + +```bash +# Target URL +http://127.0.0.1:3939 +``` + +设置反向代理 + + +### 5. EZ 主题前端 修改 `/src/config/index.js` 相应的 API 配置 + +```bash +# API_MIDDLEWARE_URL +https://ez.api +# API_MIDDLEWARE_KEY +4c6f8e5f9467dc71 +``` + +修改前端配置文件 + From 1ba2e0a398b2c48a1d1d753af8db99dbafa0c11e Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 02:56:52 +0800 Subject: [PATCH 2/7] =?UTF-8?q?Update=20README.md=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AE=9D=E5=A1=94=E6=90=AD=E5=BB=BA=E6=95=99=E7=A8=8B=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 91f1746..c906175 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,9 @@ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o proxy-server // amd64 go run main.go ``` -## 使用说明 +## 使用说明 + +宝塔搭建请访问 [Middleware-BT-Tutorial.md](Middleware-BT-Tutorial.md) ### 1. 加密路径请求 From c2ea84d2420a2acf90711ac816f7530764737030 Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 03:01:43 +0800 Subject: [PATCH 3/7] Update Middleware-BT-Tutorial.md --- Middleware-BT-Tutorial.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Middleware-BT-Tutorial.md b/Middleware-BT-Tutorial.md index 7729e9c..0aabd77 100644 --- a/Middleware-BT-Tutorial.md +++ b/Middleware-BT-Tutorial.md @@ -9,12 +9,16 @@ ```bash # 下载安装包 以 AMD 架构为例 wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz + # 解压到 /usr/local tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz + # 配置环境变量,编辑 ~/.bashrc 文件 nano ~/.bashrc + # 在 ~/.bashrc 文件末尾增加 如下一行内容 export PATH=$PATH:/usr/local/go/bin + # 保存并退出:在 nano 中,按 Ctrl+X,然后按 Y,再按 Enter ``` @@ -23,6 +27,7 @@ export PATH=$PATH:/usr/local/go/bin ```bash # 执行检查 go 版本命令 go version + # 如果一切顺利 应该会看到类似以下内容的输出 go version go1.24.0 linux/amd64 ``` @@ -34,10 +39,13 @@ go version go1.24.0 linux/amd64 ```bash # 下载 R 佬的中间件源码 git clone https://github.com/codeman857/EZ-Encrypt-Middleware.git + # 切换到中间件目录 cd EZ-Encrypt-Middleware/ + # 执行 go 语言编译命令 以 "ez-api" 命名编译好的二进制文件 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o ez-api + # 执行 ls 命令查看是否生成了 ez-api 二进制文件 ls ``` @@ -47,6 +55,7 @@ ls ```bash #查看 VPS 端口占用情况 ss -tulpn + #找一个未被占用的端口号,这里我以 3939 为例 (九宫格 "e" "z" 对应数字 "3" 和 "9") nano .env ``` @@ -82,10 +91,13 @@ AES_KEY=4c6f8e5f9467dc71 ```bash # Name ez-api + # Run User root + # Process directory /root/EZ-Encrypt-Middleware/ + # Start command /root/EZ-Encrypt-Middleware/ez-api ``` @@ -116,6 +128,7 @@ http://127.0.0.1:3939 ```bash # API_MIDDLEWARE_URL https://ez.api + # API_MIDDLEWARE_KEY 4c6f8e5f9467dc71 ``` From 6e402f13fa1867a3443d89ac624463b9e09a8076 Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 03:04:28 +0800 Subject: [PATCH 4/7] Update Middleware-BT-Tutorial.md --- Middleware-BT-Tutorial.md | 40 +++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/Middleware-BT-Tutorial.md b/Middleware-BT-Tutorial.md index 0aabd77..902a1bc 100644 --- a/Middleware-BT-Tutorial.md +++ b/Middleware-BT-Tutorial.md @@ -53,34 +53,34 @@ ls ### 2. 修改 /root/EZ-Encrypt-Middleware/ 下的 .env 文件配置 ```bash -#查看 VPS 端口占用情况 +# 查看 VPS 端口占用情况 ss -tulpn -#找一个未被占用的端口号,这里我以 3939 为例 (九宫格 "e" "z" 对应数字 "3" 和 "9") +# 找一个未被占用的端口号,这里我以 3939 为例 (九宫格 "e" "z" 对应数字 "3" 和 "9") nano .env ``` ```bash -#1.基础服务器设置 -PORT=3939 #服务器监听端口 -BACKEND_API_URL=https://api.xxx.com #后端真实 API 根地址 不带 /api/v1(无尾斜杠) - -#2.CORS / 安全设置 -CORS_ORIGIN=* #允许的 CORS 源;* 表示全部 -ALLOWED_ORIGINS=* #请求来源白名单,逗号分隔或 * 通配 -REQUEST_TIMEOUT=30000 #请求超时(ms) -ENABLE_LOGGING=false #是否输出请求日志 -DEBUG_MODE=false #是否输出调试日志 - -#3.支付回调免验证路径 -#多条用英文逗号分隔,须写完整路径(含前缀) -#例如: /api/v1/guest/payment/notify/EPay/12345, /api/v1/guest/payment/notify/Alipay/ABC123 +# 1. 基础服务器设置 +PORT=3939 # 服务器监听端口 +BACKEND_API_URL=https://api.xxx.com # 后端真实 API 根地址 不带 /api/v1(无尾斜杠) + +# 2. CORS / 安全设置 +CORS_ORIGIN=* # 允许的 CORS 源;* 表示全部 +ALLOWED_ORIGINS=* # 请求来源白名单,逗号分隔或 * 通配 +REQUEST_TIMEOUT=30000 # 请求超时(ms) +ENABLE_LOGGING=false # 是否输出请求日志 +DEBUG_MODE=false # 是否输出调试日志 + +# 3. 支付回调免验证路径 +# 多条用英文逗号分隔,须写完整路径(含前缀) +# 例如: /api/v1/guest/payment/notify/EPay/12345, /api/v1/guest/payment/notify/Alipay/ABC123 ALLOWED_PAYMENT_NOTIFY_PATHS= -#5.AES 加解密配置 -#中间件加密 KEY 必须是 16 位的 16 进制字符串 -#必须和 EZ 前端配置文件 /src/config/index.js 中的 API_MIDDLEWARE_KEY 保持一致 -#在线生成地址 https://www.bejson.com/math/hex_gen/ +# 4. AES 加解密配置 +# 中间件加密 KEY 必须是 16 位的 16 进制字符串 +# 必须和 EZ 前端配置文件 /src/config/index.js 中的 API_MIDDLEWARE_KEY 保持一致 +# 在线生成地址 https://www.bejson.com/math/hex_gen/ AES_KEY=4c6f8e5f9467dc71 ``` From 875c1adef5b420b207d4027047cc4438e40fa38e Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 03:42:28 +0800 Subject: [PATCH 5/7] Update Middleware-BT-Tutorial.md --- Middleware-BT-Tutorial.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Middleware-BT-Tutorial.md b/Middleware-BT-Tutorial.md index 902a1bc..c3259bf 100644 --- a/Middleware-BT-Tutorial.md +++ b/Middleware-BT-Tutorial.md @@ -18,8 +18,10 @@ nano ~/.bashrc # 在 ~/.bashrc 文件末尾增加 如下一行内容 export PATH=$PATH:/usr/local/go/bin - # 保存并退出:在 nano 中,按 Ctrl+X,然后按 Y,再按 Enter + +# 让配置生效 +source ~/.bashrc ``` ### 检查是否安装成功 From 7209fbe2ec2382127c366b4638e2de03c642753d Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 04:13:32 +0800 Subject: [PATCH 6/7] Update Middleware-BT-Tutorial.md --- Middleware-BT-Tutorial.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Middleware-BT-Tutorial.md b/Middleware-BT-Tutorial.md index c3259bf..c8f47c6 100644 --- a/Middleware-BT-Tutorial.md +++ b/Middleware-BT-Tutorial.md @@ -50,6 +50,9 @@ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o ez-api # 执行 ls 命令查看是否生成了 ez-api 二进制文件 ls + +#赋予二进制文件执行权限 +chmod 777 /root/EZ-Encrypt-Middleware/ez-api ``` ### 2. 修改 /root/EZ-Encrypt-Middleware/ 下的 .env 文件配置 From 09ecfdfc9200fcbbe9a12a3eaf1b1434bd60f5da Mon Sep 17 00:00:00 2001 From: sinalphabeta <53267553+sinalphabeta@users.noreply.github.com> Date: Thu, 4 Sep 2025 04:15:25 +0800 Subject: [PATCH 7/7] Update Middleware-BT-Tutorial.md --- Middleware-BT-Tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Middleware-BT-Tutorial.md b/Middleware-BT-Tutorial.md index c8f47c6..8b36942 100644 --- a/Middleware-BT-Tutorial.md +++ b/Middleware-BT-Tutorial.md @@ -51,7 +51,7 @@ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o ez-api # 执行 ls 命令查看是否生成了 ez-api 二进制文件 ls -#赋予二进制文件执行权限 +# 赋予二进制文件 ez-api 执行权限 chmod 777 /root/EZ-Encrypt-Middleware/ez-api ```