Files

232 lines
18 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
本文件记录 FrpcPilot 各版本的更新内容。
---
## v1.5.0(2026-10-28)
### ✨ 新增功能
- **跟随系统主题**:「设置 - 外观」新增「跟随系统」,可随操作系统的明暗主题自动切换;也可继续手动选择浅色或深色主题。
- **自定义窗口背景**:可在「设置 - 外观」中选择或更换自己的背景图片,支持 PNG、JPG 和 WebP,单张图片不超过 15 MB。图片会保存到应用数据目录,重新打开软件后仍可使用。
- **窗口背景遮罩**:在窗口背景上叠加随明暗主题变化的遮罩,并可在外观设置中单独调整透明度,改善背景与顶部栏操作图标之间的对比度。
### 🎨 优化
- **主题背景**:默认背景颜色改为适配明暗主题的纯色,并调整内置背景图片与明暗主题下的整体观感。
- **折叠侧栏资源占用**:菜单栏折叠后直接显示 CPU、内存百分比和运行状态,无需悬停查看。
- **系统资源数据复用**:仪表盘与侧栏共享 CPU、内存占用数据缓存,减少进入仪表盘后等待数据加载的时间。
### 📁 数据与日志
- **Frpc 运行日志持久化**:运行日志按日期追加保存到安装目录的 `logs/frpc-YYYY-MM-DD.log`,包含 Frpc 输出及启动、停止和退出等状态记录。
### 🧱 工程
- 应用版本升级至 **v1.5.0**。
## v1.4.1(2026-10-26)
### 🎨 优化
- **侧边栏折叠操作布局**:展开时与「设置」入口左侧对齐;折叠后图标保持居中,提升导航布局的一致性。
- **更新下载进度展示**:将下载进度条移至更新弹窗底部操作区,并固定显示在操作按钮上方;更新日志较长时,滚动正文也能随时查看进度和操作按钮。
### 🧱 工程
- 应用版本升级至 **v1.4.1**。
## v1.4.0(2026-10-26)
### ⚠️ 升级提示
- **数据保存位置变更**:本版本不自动迁移旧版数据。升级后需重新配置服务器与隧道,并重新下载或导入 frpc;原系统默认数据目录中的文件保留不动,原有界面设置也不会自动继承。
- **安装位置要求**:请将软件安装在当前用户可写的专用目录。目录不可写时会提示错误并停止启动,不回退到系统默认数据目录。移动安装位置后,如已保存的 frp 路径失效,需重新下载或导入。
### ✨ 新增功能
- **新手引导**:首次启动时,通过四步引导依次介绍新增服务器、新增隧道、下载 Frp 和一键启动穿透;支持跳过,关闭后不再自动弹出,可在「设置 - 常规 - 新手引导」中重新查看。同步支持简体中文与英文。
- **侧边栏折叠**:支持在完整菜单与图标模式之间切换,并记住折叠状态,为主内容区留出更多空间;折叠后仍可导航、进入设置,并通过悬浮提示查看运行状态与 CPU、内存信息。
- **按安装目录隔离数据**:不同安装目录分别保存各自的数据库与设置,可独立运行;同一数据目录通过文件锁防止多个进程同时使用。开发构建使用独立的 `FrpcPilot-dev` 目录,避免与正式版配置混用。
### 📁 数据存储
- **分类保存运行数据**:数据库与界面设置保存在 `data`,下载、解压和导入的 frp 保存在 `frp/versions`,启动穿透时生成的 `frpc.toml` 保存在 `run`;浏览器数据、缓存和临时文件分别使用 `webview`、`cache`、`tmp` 等目录。
- **适配不同平台的安装位置**:Windows 使用可执行文件所在目录,Linux AppImage 使用实际 AppImage 文件所在目录,普通 Linux 二进制使用可执行文件所在目录;macOS 使用 `.app` 同级的 `FrpcPilot-data`,避免影响应用签名与更新。macOS 系统管理的 WebView 缓存仍可能保存在用户 Library 中。
- **设置随安装目录保存**:语言、外观、关闭行为、侧边栏状态、新手引导状态及忽略的更新版本等统一保存在 `data/preferences.json`,启动时读取,并在退出、更新或重启前完成待保存的设置写入。
### 🎨 优化
- **Frp 平台筛选**:下载页更名为「Frp下载」,用平台与架构下拉框替代原有的 Frpc / Frps 架构开关;首次加载默认选择当前平台,也可查看全部平台,刷新时尽量保留当前选择。
- **版本列表排序与展示**:按版本号数值降序排列,避免字符串排序造成新旧版本顺序错误;查看全部平台时按版本分组,下载卡片统一标明包含 `frpc` 与 `frps`。
- **本地导入更独立**:导入的 frpc / frps 会复制到安装目录内统一管理,原文件保持不变,后续使用不再依赖原始文件的位置。
- **启动加载反馈**:新增应用启动加载动画与提示,等待页面就绪并完成首帧渲染后再显示主界面,减少启动白屏与闪烁;加载动画与侧边栏过渡适配减少动态效果的系统偏好。
- **更新提示时机**:启动时的静默更新检查延后至新手引导结束或关闭后执行,避免引导与更新弹窗同时出现。
### 📝 文档
- 新增[《数据目录说明》](./数据目录说明.md),说明目录分类、各平台保存位置、写入权限、备份及安装位置变更注意事项;README 补充文档入口。
### 🧱 工程
- Tauri 最低依赖版本调整为 `2.12.3`,支持应用数据目录覆盖;新增存储目录初始化与独占锁测试。
- 应用版本升级至 **v1.4.0**。
## v1.3.2(2026-10-22)
### 🐛 修复
- **开机自启路径动态校正**:自启项动态获取当前正式程序的 EXE 路径,不写死盘符、安装目录或项目构建目录。已开启自启时,正式程序启动后会自动更新已有启动项;重新安装或移动程序后,从新位置打开一次即可校正旧路径,已关闭的自启保持关闭。
- **阻止开发版本注册自启**:开发模式及 debug 构建不再注册自启插件,避免将依赖 Vite 本地服务的开发程序写入启动项,导致重启后主界面显示 `ERR_CONNECTION_REFUSED`,并弹出调试控制台窗口。
### 🎨 优化
- **自启设置提示**:开发版本的自启开关自动置灰,并明确提示需要在正式构建中开启;同步补充简体中文与英文文案。
### 📝 文档
- README 补充正式构建的自启使用说明,以及重新安装或移动程序后的路径校正方式。
## v1.3.0(2026-10-20)
### ✨ 新增功能
- **开机自启**:「设置 - 常规」新增「开机自启」开关,按 Tauri 官方 `autostart` 插件实现,直接读写系统启动项(Windows 注册表 Run 键 / macOS LaunchAgent / Linux XDG autostart)。
- 进入设置页时读取系统启动项的真实状态,切换后再次回读,界面状态始终与系统保持一致,不在本地另行持久化;
- 写入失败会回滚开关并提示失败原因,避免出现「界面已开启、系统未生效」的假象;
- 非桌面环境(如浏览器调试)无法访问启动项时,开关自动置灰并给出说明,而不是展示可疑状态。
- **关于页面 · 联系方式**:关于页新增「联系方式」区块,展示作者邮箱与微信二维码,方便反馈问题与交流。
- 邮箱点击可唤起系统默认邮件客户端,机器上没有可用客户端时自动退化为复制邮箱;
- 邮箱提供一键复制,复制失败会提示手动复制;
- 微信以二维码图片展示,使用 Ant Design Vue 的 `a-image` 组件,点击可放大预览,方便用手机扫码添加。
### 🎨 优化
- **关于页面信息层级调整**:把「版本信息 / 检查更新」从页面底部移到「项目介绍」之前,进入关于页即可先看到当前版本与更新入口;页面顺序调整为 版本信息 → 项目介绍 → 使用流程 → 开源地址 → 联系方式。
- **常规设置排版更紧凑**:「设置 - 常规」各组之间的间距与分隔线留白收紧,新增「开机自启」后整体仍保持整齐的纵向节奏。
- **卡片式单选组(`CardRadioGroup`)更紧凑**:缩小选项间距、内边距与圆角,统一下调标题与描述字号,关闭确认弹窗与常规设置页同步受益。
- **关闭确认弹窗更紧凑**:重新安排弹窗内边距、两组选项之间的分隔线与文案间距,减少纵向占用。
### 📝 文档
- 新增 **《Frp 内网穿透搭建指南》**:从公网服务端(frps)搭建到用 FrpcPilot 一键开启穿透,手把手跑通第一个隧道,并补充配套界面截图。
- README 新增「新手必读」与首次使用提示,引导新手先阅读上述指南;路线图中「开机自启」已标记完成。
- README 排版规范化(表格对齐、分隔线、徽章链接转义等),并补充下载安装与设置中心的说明。
- 修正《Frp 内网穿透搭建指南》中「frpc 下载」截图文件名大小写不一致的问题(Linux / macOS 等区分大小写的环境下图片会加载失败);同时把后端测试用例中的示例 IP 替换为通用地址。
### 🧱 工程
- 新增依赖:Rust 侧 `tauri-plugin-autostart`,前端侧 `@tauri-apps/plugin-autostart`;capabilities 增加 `autostart:default` 权限(可查询 / 开启 / 关闭开机自启)。
- 新增开机自启的插件封装(`src/api/autostart.ts`)与状态管理(`src/stores/autostart.ts`),并对非桌面环境做安全降级。
- 关于页引入微信二维码图片资源,`unplugin-vue-components` 自动注册 `AImage` 组件。
- 应用版本升级至 **v1.3.0**。
## v1.2.1(2026-10-16)
### 🔄 项目更名
- 项目正式更名为 **FrpcPilot**:应用名称、安装包与可执行文件名、窗口标题、系统托盘提示、GitHub 仓库地址等全部由 `Frpilot` 更新为 `FrpcPilot`。
- 构建与包标识同步调整:npm 包名改为 `frpcpilot`,Rust crate 改为 `frpcpilot` / `frpcpilot_lib`,Tauri `identifier` 改为 `FrpcPilot`。
- 本地标识同步调整:本地存储键前缀改为 `frpcpilot:`,系统托盘 id 改为 `frpcpilot-tray`,数据库文件改为 `frpcpilot.db`。
- ⚠️ 由于 Tauri `identifier` 变更,应用数据目录随之变化,升级到本版本后需要**重新配置服务器与隧道**等本地数据。
### 📝 文档
- 重写 README,面向 GitHub 重新组织:新增项目徽章、项目简介、**「FrpcPilot」名称由来的介绍**、界面预览、下载安装、功能特性、开发指南与参与贡献等章节。
- 更新界面截图,并新增「设置 · 常规」页面预览。
### 🧱 工程
- 应用版本升级至 **v1.2.1**。
## v1.2.0(2026-10-16)
### ✨ 新增功能
- **常规设置页面**:设置页新增「常规」子页面(位于设置菜单首位),集中管理基础行为:
- **关闭行为**:新增「每次询问 / 保持以上选择」单选组(默认「每次询问」)。
- *每次询问*:每次关闭都弹出对话框,由用户现场选择处理方式;
- *保持以上选择*:记住所选关闭方式并持久生效,之后关闭不再弹窗。
- **语言切换**:可直接在设置页切换界面语言,与顶部栏的语言切换保持同步。
- 关闭确认对话框同步新增「关闭行为」选项,与常规设置页内容一致,用户可随时再次修改。
- **磨砂玻璃透明度**:外观设置新增「磨砂玻璃透明度」,可分别调节**卡片透明度**与**弹窗透明度**(0 – 100,数值越大越透明),并提供实时预览,设置持久化保存。
- **更多窗口背景**:背景图片由 2 张扩充至 9 张(新增「背景三」~「背景九」),可在外观设置中自由挑选。
- **Frpc 下载页缓存**:下载页新增运行时缓存,应用运行期间**首次进入**才拉取 GitHub 版本列表,之后切换回该页面不再重复请求,避免触发接口限流;需要获取最新列表时手动点击「刷新」即可。
### 🎨 优化
- 新增卡片式单选组组件(`CardRadioGroup`),关闭弹窗与常规设置页复用,统一选项样式与交互。
- 关闭弹窗内的选项改为临时草稿状态,点击「确定」后才写回设置,避免误触单选框又取消时被改掉配置。
### 🐛 修复
- 修复开发模式下热更新 / 页面重载时系统托盘图标重复叠加的问题:创建托盘前按固定 id 清理残留图标,并在热更新时释放旧实例的监听。
- 修复暗色主题下普通(非组件库)文本仍显示为浏览器默认黑色的问题,文本颜色现随明暗主题正确切换。
### 🧱 工程
- 应用版本升级至 **v1.2.0**。
- 路由表新增 `isCache` 元信息,并补充 `RouteMeta` 类型声明(页面标题 `title` 与缓存开关 `isCache`),按需使用 `keep-alive` 缓存页面组件(仅运行时生效,不做持久化)。
- 更新开发文档相关说明。
## v1.1.0(2026-10-14)
### ✨ 新增功能
- **系统托盘**:新增常驻系统托盘图标与菜单(**显示窗口 / 启动穿透 / 停止穿透 / 退出**)。
- 左键单击托盘图标直接显示并聚焦主窗口,右键单击弹出菜单;
- 「启动穿透」「停止穿透」与仪表盘的一键启动 / 停止共用同一套逻辑,并随运行状态联动:未运行时禁用「停止穿透」;启动成功后自动禁用「启动穿透」、启用「停止穿透」,停止后恢复;
- 「退出」会在停止正在运行的穿透后再退出整个软件;
- 托盘菜单文案随语言切换同步更新。
- **关闭确认对话框**:点击标题栏关闭按钮(Windows 关闭按钮 / macOS 红绿灯)不再直接退出,改为先弹出对话框,提供两个选项:
- **最小化到系统托盘**:隐藏窗口、保持程序后台运行,可从托盘随时恢复;
- **直接退出**:停止穿透并完全退出软件;
- Windows 与 macOS 行为一致,同时拦截 `Alt+F4` 等系统原生关闭,一并走确认流程。
### 🎨 优化
- **更新提示**:顶部栏「检查更新」按钮新增「有新版本」圆点徽标;关闭更新弹窗后保留已检测到的版本,再次点击即可重新打开,避免重复联网检查。
- **标题栏**:以应用图标替换原先的文字 / 渐变方块 Logo。
- **macOS 窗口**:适配无边框窗口的圆角与透明背景,消除首帧方角闪烁;窗口失焦时红绿灯自动置灰。
### 🧱 工程
- 应用版本升级至 **v1.1.0**;`tauri` 启用 `tray-icon` 特性,capabilities 新增 `core:app:allow-default-window-icon` 权限。
- 更新端点增加 GitHub 直连作为镜像备用;修正应用名称与标识符大小写(统一为 `Frpilot`)。
- 重写 README,并补充仪表盘 / 服务器 / 隧道 / 下载 / 设置等页面的界面截图。
## v1.0.0(2026-10-14)
### 🎉 首个正式版本发布!
Frpilot 迎来 1.0.0 正式版 —— 从「手写 frpc.toml」到「点几下就能跑起来」,frp 的日常管理终于有了顺手的图形界面。
### ✨ 新增功能
- **仪表盘**:一屏总览系统信息(主机名 / 系统 / 架构 / IP)与服务器、隧道数量;选择 frpc 版本后「一键启动 / 停止」,并实时回显运行日志与进程退出信息。
- **服务器管理**:frps 服务器的新增 / 编辑 / 删除,支持地址、端口、鉴权 Token、传输协议、TLS、置顶与排序;同一时间仅允许启用一台服务器。
- **隧道管理**:覆盖 TCP / UDP / HTTP / HTTPS / STCP / XTCP / SUDP / TCPMUX 等代理类型,支持自定义域名、子域名、URL 前缀、密钥、加密与压缩、带宽限制、Proxy Protocol、健康检查、负载均衡等高级配置,并统一管理启用 / 置顶 / 排序。
- **Frpc 下载管理**:在线拉取 Frp 官方版本列表,按平台与架构筛选;支持下载(含进度与解压状态)、导入本地已下载的 frpc / frps、删除与复制下载直链。
- **一键启动与实时日志**:依据所选版本、已启用的服务器与隧道自动生成 frpc.toml 并拉起独立进程,通过 `frpc-log` / `frpc-exit` 事件实时推送日志。
- **应用内自动更新**:接入 Tauri updater 与 process 插件,启动时静默检查更新;支持手动检查、「忽略该版本」与下载进度展示,更新说明以 **Markdown** 渲染,安装完成后自动重启。
- **关于页面**:集中展示项目介绍、技术栈、使用流程、开源地址与版本信息,并提供「检查更新」入口。
- **国际化**:内置简体中文 / English,语言选择持久化,并与 Ant Design Vue 组件语言包联动。
- **明暗主题**:基于 `useDark` 一键切换,Tailwind 暗色变体与 Ant Design Vue 暗色算法同步,选择持久化。
- **自定义标题栏**:Windows 与 macOS 双套方案(macOS 还原原生红绿灯),支持拖拽移动窗口;顶部栏集成语言 / 主题 / 检查更新 / GitHub / 设置与窗口控制按钮。
### 🎨 优化
- **透明磨砂玻璃视觉**:侧边栏、内容区与卡片统一为圆角 + 背景模糊的半透明面板,明暗主题下均有细腻的层次与投影表现。
- **统一弹窗布局**:表单弹窗与更新弹窗统一为「标题 / 底部按钮固定、内容区滚动」的结构,内容过多时仅弹窗主体滚动,并限制最大高度。
- **macOS 标题栏细节**:隐藏右侧冗余的最小化 / 关闭按钮,禁用 macOS 下并不需要的最大化(绿灯)按钮。
- **下载卡片交互**:状态标签、大小 / 下载次数 / 发布日期等元信息与操作按钮重新排布,下载与解压进度直观可见。
### 🚀 工程
- 后端采用 **Rust + Tauri 2**,使用 `sqlx`(SQLite)持久化服务器、隧道与 Frpc 下载记录,并通过 `tauri-helper` 统一注册命令。
- 前端技术栈:**Vue 3 + TypeScript + Vite 8 + Pinia + Vue Router + Vue I18n 11**,UI 使用 **Ant Design Vue 4 + Tailwind CSS 4**,借助 `unplugin-auto-import` / `unplugin-vue-components` 实现按需自动导入。
- 开启 `createUpdaterArtifacts` 并结合签名密钥生成更新产物与 `latest.json`,打通应用内自动更新链路。
- 新增 GitHub Actions 发布工作流,覆盖 **Windows x64 / macOS Apple Silicon / Linux x64** 多平台构建,并自动从本文件提取对应版本说明作为 Release 正文。
- 补充多平台应用图标,项目以 **Apache License 2.0** 开源。