综合 / 后端 · 2026-10-16 17:34 · 3 阅读 · 0 赞
Frpc-desktop:一款开源免费的内网穿透跨平台客户端,可视化配置FRP
Frpc-desktop 是基于 Electron + Vue3 的 FRP 内网穿透跨平台客户端,支持 Windows、macOS、Linux,提供可视化配置、多协议代理、配置导入导出、frp 版本管理等功能,解决传统 frp 命令行配置繁琐的问题。
简介
Frpc-desktop 是一款基于 Electron + Vue3 实现的 FRP 内网穿透跨平台客户端工具,可有效解决传统模式下 frp 命令行配置繁琐、配置无法导入导出等难题。
系统支持可视化配置、TCP/UDP/HTTP/HTTPS/STCP/XTCP 多协议代理、开机自启、配置导入导出、frp 版本管理等核心功能,可帮助用户简单方便实现内网穿透功能。
系统采用 Electron 桌面架构设计,基于 Electron + Vue3 + TypeScript + TailwindCSS 主流技术栈构建,支持 Windows、Linux、macOS 三大主流操作系统,可二次拓展和私有化部署。十分适合个人开发者远程办公、游戏服务器搭建,还是企业用户办远程办公等等场景使用。

功能列表
- 可视化配置: 系统采用表单化配置界面,支持本地端口、远程端口、自定义域名、子域名等字段独立填写,保存即生成 frpc.toml 配置,无需再手写配置文件。
- 多协议代理: 支持 TCP、UDP、HTTP、HTTPS、STCP、XTCP 六种代理类型,覆盖远程 SSH、NAS 访问、Web 服务暴露、P2P 穿透等全部场景,一套客户端搞定所有内网穿透需求。
- 代理开关: 每条代理独立配置独立启停,临时关掉某条隧道不用改全局配置,其他代理不受影响。
- 批量端口代理: TCP 和 UDP 协议支持批量端口配置,一条代理规则可映射多个连续端口。
- 配置导入导出: 支持所有配置一键导出成文件,也支持一键导入 frpc.toml 文件自动识别解析,可节约大量配置时间。
- 开机自启: 支持设置开机自动启动并静默连接,服务器重启或电脑开机后 frpc-desktop 自动拉起所有代理,无需再手动启动。
- frp 版本管理: 内置 frp 版本管理模块,支持下载、切换、删除不同 frp 版本。支持采用镜像站下载解决 GitHub 限流问题,新版本出现问题也可以一键回滚。
- 基础认证: 支持配置 HTTP 代理的 Basic 认证和子域名,暴露到公网的 Web 服务可加密码保护,一个 frps 端口可承载多个子域名服务,节省大量公网端口资源。
- 多用户适配: 适配 frp 多用户插件,支持 user 与 meta_token 配置,企业自建 frps 给多部门共用时,可为每个部门独立账号独立 Token,互不影响。
- 多语言支持: 支持中英文多语言切换,海外团队和国内团队都能无缝切换。
功能截图
首页:

配置中心:

代理配置:

frp 版本管理: 内置 frp 版本管理模块,支持下载、切换、删除不同 frp 版本,通过镜像站下载解决 GitHub 限流问题。

配置中心:

日志中心:

系统架构
架构组成:
├─ 主进程层(electron-main)
│ ├─ frpc 进程管理(启动/停止/重启)
│ ├─ 系统托盘常驻
│ ├─ 开机自启配置
│ └─ 文件系统读写(配置导入导出)
│
├─ 配置管理层(config-manager)
│ ├─ 代理配置表单解析
│ ├─ frpc.toml 生成与识别
│ ├─ 配置批量导入导出
│ └─ SQLite 持久化存储
│
├─ 代理协议层(proxy-protocol)
│ ├─ TCP / UDP 代理(含批量端口)
│ ├─ HTTP / HTTPS 代理(Basic认证/子域名)
│ ├─ STCP / XTCP 代理(P2P穿透)
│ └─ 多用户 user & meta_token 适配
│
├─ frp引擎层(frp-engine)
│ ├─ frp 版本下载与切换
│ ├─ 镜像站下载(解决GitHub限流)
│ ├─ 下载代理配置
│ └─ 版本删除与回滚
│
└─ 渲染层(renderer)
├─ Vue3 + TypeScript 界面
├─ TailwindCSS 样式
├─ 代理列表与状态展示
└─ 多语言切换(中/英)
技术栈:
开发语言:TypeScript、Vue
桌面框架:Electron
前端框架:Vue3 + TailwindCSS
构建工具:Vite
数据存储:SQLite(配置持久化)
代理协议:TCP / UDP / HTTP / HTTPS / STCP / XTCP
frp 版本:支持所有 frp 版本(镜像站下载)
多语言:中文 / English
快速开始
1、环境准备:
Windows 10+ / macOS 10.15+ / Linux
frps 服务端已部署(需有公网 IP 的云服务器)
frps 的 bindPort 与 auth.token
2、下载客户端: 文后获取
# Windows
Frpc-Desktop-1.2.6-x64-setup.exe
# macOS(Apple Silicon)
Frpc-Desktop-1.2.6-arm64.dmg
# macOS(Intel)
Frpc-Desktop-1.2.6-x64.dmg
# Linux
Frpc-Desktop-1.2.6-arm64.AppImage
3、安装客户端:
sudo xattr -cr Frpc-Desktop.app
# Linux 赋予执行权限
chmod +x Frpc-Desktop-1.2.6-arm64.AppImage
./Frpc-Desktop-1.2.6-arm64.AppImage
4、配置 frps 服务端: 在客户端中填入 frps 服务端地址、端口与 Token 信息,与 frps.toml 中的 bindPort 和 auth.token 保持一致。
# frps.toml 服务端配置
bindPort = 7000
auth.token = "your-secret-token"
# 客户端填写
服务端地址:your-server-ip
bindPort:7000
Token:your-secret-token
5、下载 frp 版本: 在 frp 版本管理页下载对应 frp 版本。
# frp版本管理 → 下载
- 选择frp版本(如v0.69.1)
- 国内服务器建议使用镜像站下载
- 或配置下载代理
6、添加代理规则: 在代理配置页新增代理,选择协议类型、填写本地端口与远程端口,HTTP 代理可配置自定义域名与 Basic 认证。
# TCP代理(远程SSH)
协议:tcp
本地端口:22
远程端口:6000
# HTTP代理(本地Web服务)
协议:http
本地端口:8080
自定义域名:myapp.yourdomain.com
7、启动并验证: 点击启动按钮,frpc-desktop 启动 frpc 进程。
# 验证SSH
ssh -p 6000 user@your-server-ip
# 验证Web
curl http://your-server-ip:6000