Skip to content

Commit c98e67b

Browse files
committed
ci(workflow): 移除Windows ARM64构建配置
从GitHub Actions工作流中移除了Windows ARM64平台的构建配置, 只保留Windows x86_64平台的构建。
1 parent e9baf2b commit c98e67b

2 files changed

Lines changed: 215 additions & 3 deletions

File tree

.github/workflows/build.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ jobs:
3232
# Windows x86_64
3333
- os: windows-latest
3434
rust_target: x86_64-pc-windows-msvc
35-
# Windows ARM64
36-
- os: windows-latest
37-
rust_target: aarch64-pc-windows-msvc
3835

3936
runs-on: ${{ matrix.platform.os }}
4037

RELEASE_0.2.4.md

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
# Release 0.2.4
2+
3+
**发布日期**: 2025-10-24
4+
5+
## 🎉 主要更新
6+
7+
### 🆕 新功能
8+
9+
#### 1. **WireGuard 配置导入功能**
10+
- ✨ 支持一键导入 `.conf` 格式的 WireGuard 配置文件
11+
- 🤖 自动解析配置文件内容(Interface 和 Peer 部分)
12+
- 🔍 智能检测运行模式:
13+
- 单个 Peer → 客户端模式
14+
- 多个 Peer → 服务端模式
15+
- 📋 自动填充配置字段:
16+
- PrivateKey (私钥)
17+
- Address (本地地址)
18+
- DNS (DNS 服务器)
19+
- MTU (最大传输单元)
20+
- Peer 配置 (PublicKey, Endpoint, AllowedIPs, PresharedKey 等)
21+
- 🔑 自动计算并显示公钥
22+
23+
#### 2. **二维码图像导入功能** ⭐ 新增
24+
- 📸 支持从二维码图像文件导入 WireGuard 配置
25+
- 🖼️ 支持的图像格式:PNG, JPG/JPEG, GIF, BMP, WebP
26+
- 🔧 自动识别二维码内容并解析配置
27+
- ⚙️ 完整的错误处理和用户提示
28+
- 📲 与文件导入共用一套配置解析逻辑,确保一致性
29+
30+
### 🎨 UI/UX 改进
31+
32+
- **导入按钮重设计**
33+
- 新增两个并排的导入按钮(各占 50% 宽度)
34+
- `📥 文件导入` - 从配置文件导入
35+
- `📱 二维码导入` - 从二维码图像导入
36+
- 仅在客户端模式且新建配置时显示
37+
38+
- **模式选择器优化**
39+
- 清理了不必要的导入选项
40+
- 简化了选择流程,聚焦于模式选择
41+
42+
### 🔧 技术改进
43+
44+
#### 后端 (Rust/Tauri)
45+
- 新增 `read_file_as_base64` 命令用于二进制文件读取
46+
- 支持返回 Base64 编码的文件内容,便于前端处理二进制数据
47+
- 完整的错误处理和提示
48+
49+
#### 前端 (React)
50+
- 新增 `jsqr@1.4.0` 依赖用于二维码识别
51+
- 实现 `parseWireGuardConfig()` 函数(~90 行):
52+
- 支持 INI 格式配置文件解析
53+
- 正确处理多个 Peer 配置
54+
- 自动跳过注释行和空行
55+
- 支持两种 PSK 格式(PresharedKey 和 PreSharedKey)
56+
57+
- 实现 `handleImportFromQrcodeImage()` 函数(~120 行):
58+
- 文件选择对话框与图像格式筛选
59+
- Canvas API 获取图像数据
60+
- jsQR 库识别二维码
61+
- 完整的配置解析和验证流程
62+
- 自动打开配置表单
63+
64+
### 📝 文档更新 (v0.2.3 → v0.2.4)
65+
66+
重构了项目 README,包含:
67+
- 🌟 详细的功能特性列表
68+
- 📸 应用界面预览
69+
- 🛠️ 技术栈说明
70+
- 📦 安装指南和系统要求
71+
- ⚠️ macOS 用户注意事项(解决未签名应用的问题)
72+
- 🚀 快速开始指南
73+
- 📂 项目架构和目录结构说明
74+
- 🔗 相关资源链接
75+
76+
---
77+
78+
## 📊 提交统计
79+
80+
| 类型 | 提交数 | 说明 |
81+
|------|--------|------|
82+
| feat | 3 | 新功能实现 |
83+
| docs | 1 | 文档更新 |
84+
| chore | 1 | 版本更新 |
85+
| **总计** | **5** | |
86+
87+
---
88+
89+
## 📝 提交详情
90+
91+
### feat(tauri): 添加文件读取功能并支持导入 WireGuard 配置
92+
- 新增 Tauri 命令 `read_file_content` 用于读取文件内容
93+
- 前端实现配置文件导入和解析逻辑
94+
- 添加 dialog 权限声明
95+
- 支持自动检测运行模式
96+
97+
**文件变更**:
98+
- `src-tauri/src/commands/misc_commands.rs` (+6)
99+
- `src-tauri/src/lib.rs` (+1)
100+
- `src-tauri/capabilities/default.json` (+1)
101+
- `src/pages/TunnelManagementView/index.jsx` (+161)
102+
- `src/pages/TunnelManagementView/components/ModeSelector.jsx` (+22/-4)
103+
104+
### feat(TunnelManagementView): 调整模式选择器并优化配置导入逻辑
105+
- 将导入按钮位置从模式选择器移至配置表单内
106+
- 限制导入功能仅在适当的上下文显示
107+
- 优化用户导入流程
108+
109+
**文件变更**:
110+
- `src/pages/TunnelManagementView/index.jsx` (+31/-24)
111+
- `src/pages/TunnelManagementView/components/ModeSelector.jsx` (+22/-44)
112+
113+
### feat(tunnel): 新增从二维码图像导入配置功能
114+
- 新增 `read_file_as_base64` 后端命令用于二进制文件读取
115+
- 集成 `jsqr@1.4.0` 库进行二维码识别
116+
- 实现完整的二维码导入流程
117+
- 支持 PNG, JPG, GIF, BMP, WebP 等多种图像格式
118+
119+
**文件变更**:
120+
- `package.json` (+1)
121+
- `src-tauri/src/commands/misc_commands.rs` (+7)
122+
- `src-tauri/src/lib.rs` (+1)
123+
- `src/pages/TunnelManagementView/index.jsx` (+167/-16)
124+
125+
### docs(readme): 重构 README 文档结构与内容
126+
- 重新组织文档结构,分为功能特性、技术栈、安装指南等清晰章节
127+
- 补充应用界面预览和详细功能描述
128+
- 增加 macOS 用户首次运行应用的解决方案
129+
- 更新项目目录结构和开发指引
130+
- 添加安全性、贡献指南和相关资源链接
131+
132+
---
133+
134+
## 🔧 技术细节
135+
136+
### WireGuard 配置解析支持
137+
138+
**Interface 配置**:
139+
- ✅ PrivateKey - 本地私钥
140+
- ✅ Address - 本地 IP 地址
141+
- ✅ DNS - DNS 服务器
142+
- ✅ MTU - 最大传输单元
143+
144+
**Peer 配置**:
145+
- ✅ PublicKey - 对端公钥
146+
- ✅ PresharedKey / PreSharedKey - 预共享密钥(两种格式支持)
147+
- ✅ Endpoint - 对端连接地址
148+
- ✅ AllowedIPs - 允许的 IP 范围
149+
- ✅ PersistentKeepalive - 保活间隔
150+
151+
### 二维码识别
152+
153+
- 使用纯 JavaScript 库 `jsqr` 实现,无需服务器支持
154+
- 支持多种图像格式自动转换
155+
- 完整的错误处理:
156+
- 无法识别二维码时提示用户
157+
- 缺少必要字段时验证并告知
158+
159+
---
160+
161+
## 🐛 已知问题 & 注意事项
162+
163+
无新增已知问题
164+
165+
---
166+
167+
## 🙏 贡献者
168+
169+
- @mrtian2016
170+
171+
---
172+
173+
## 📦 依赖更新
174+
175+
### 新增依赖
176+
- `jsqr@1.4.0` - 前端二维码识别库
177+
178+
### Rust 依赖
179+
- 已有的 `base64` 库用于 Base64 编码
180+
181+
---
182+
183+
## 🚀 后续计划
184+
185+
- [ ] 支持从摄像头扫描二维码(移动端可用)
186+
- [ ] 增强配置导入的验证和错误提示
187+
- [ ] 支持拖放导入配置文件
188+
- [ ] 配置导入历史记录
189+
190+
---
191+
192+
## 📥 升级指南
193+
194+
### 从 0.2.3 升级到 0.2.4
195+
196+
1. 下载最新版本安装包
197+
2. 卸载旧版本
198+
3. 安装新版本
199+
4. 可选:删除旧的临时配置文件
200+
201+
升级过程中所有已保存的隧道配置和历史记录都会被保留。
202+
203+
---
204+
205+
## 🔐 安全性
206+
207+
- 所有文件读取操作都在本地进行,无网络传输
208+
- 二维码扫描完全离线,不涉及第三方服务
209+
- 隐私友好:配置信息仅存储在本地设备
210+
211+
---
212+
213+
**版本号**: v0.2.4
214+
**发布时间**: 2025-10-24
215+
**下一版本计划**: v0.2.5 (ETA: 待定)

0 commit comments

Comments
 (0)