v0.2.0纯 Go 单文件 · 无需 Docker

把家里的服务
安全地搬到公网

frp 很强,但门槛是三关:买服务器、跑命令装 frps、手写 toml。
jo-frp 把它压成两步 —— 服务端跑一条命令,客户端扫一个码。

✓MIT 开源 ✓数据不经过第三方 ✓掉线自动重连 ✓兼容 frpc 配置文件 ✓支持域名映射
jo-frp 管理面板概览页
Two Sides

一头在云上,一头在桌面

服务端是网页面板,客户端只是任务栏右下角的一个图标。

服务端云主机上的管理面板
jo-frp 服务端管理面板 · 导入 frpc 配置
  • 网页里加服务器、改规则、看状态
  • 端口映射之外,还能按子域名映射(nas.frp.example.com)
  • 短码、frp token 都摆在面板上,点一下就复制
  • 支持拖入已有的 frpc.toml 一键翻译
客户端任务栏右下角的托盘图标
jo-frp Windows 客户端托盘菜单
  • 右键菜单看外网地址、连接、断开、退出
  • 图标颜色一眼看出隧道状态
  • 关掉窗口也不影响,掉线自动重连
托盘图标三种颜色,对应三种状态
jo-frp 托盘图标三种状态:已连接、重连中、未连接
Before / After

少走的那几道弯路

不是又一个 frp 套壳,而是把"新手最容易卡住的地方"直接抹掉。

原来手写 frp 配置

  1. 买一台云服务器,配安全组、装系统
  2. 下载 frps 二进制、解压、改 toml
  3. 自己编 systemd unit,调开机自启
  4. 客户端再写一份 frpc.toml,对齐 token
  5. 端口冲突、TLS 没开、token 写错——逐个排查

现在jo-frp

  1. 服务器执行一条安装命令
  2. 屏幕打出短码和二维码
  3. 客户端扫码 / 粘短码
  4. 通了
  5. 掉线自己重连,不用管
Features

该有的都有,不该有的没有

◎

可视化面板

服务器、穿透规则、短码二维码全在网页里管。不用记命令行参数,也不用开 SSH。

⟳

掉线自动重连

指数退避自己往回爬,断网、重启路由器、云主机抖动都能自愈。主动断开则绝不自动拉起。

⇥

兼容你的 frpc.toml

已经跑着 frp 的,把配置文件拖进面板就翻译成规则;或者干脆用 -c 绕过面板直读。

⌘

单文件,零依赖

Go 编译出一个二进制,丢到任何 Linux 就能跑。不需要 Docker、不需要数据库、不需要 Redis。

⚿

短码接入

8 位短码排除易混字符,扫码、口述、微信传都不易错。配置只发几十字节信令。

⎘

接入信息一目了然

服务器地址、短码、frp token 全部明示在服务器列表和接入引导里,每项带复制按钮,对接到别的 frpc 也不用翻配置文件。

◉

域名映射

填一个根域名,之后每个服务分配一个子域名——nas.frp.example.com 直接访问,不用再记 50000 这种端口。配置文件里的 http 规则也能原样导入。

◈

流量不过第三方

面板只负责发配置。真正的数据在"你的客户端 ↔ 你的服务器"之间,不经过任何中转。

⇩

一键安装

服务器上一条 curl … && bash install.sh,脚本自动认架构、拉二进制和面板文件,装完即用,全程不用翻文档。

Install

三步接通

假设你已经有一台带公网 IP 的 Linux 云主机。

1
把服务端放到云主机上 约 30 秒
$curl -fsSL https://gitee.com/duihao/jo-frp/releases/download/v0.2.0/install.sh -o install.sh $bash install.sh
脚本自动从 Gitee 最新 Release 下载与本机架构匹配的服务端、拉取网页面板并赋予执行权限,不自动启动。 一个二进制里同时跑着网页面板和 frps,不需要另装 frp、Docker 或数据库。 启动时会把 localhost 和所有在用网卡的 IP 一起列出来,局域网里直接点。 记得在云厂商安全组放行 16686/tcp、HTTP 网关端口(默认 8080/tcp)与映射端口段。
2
打开面板,添加一台服务器 浏览器
$open http://你的服务器IP:16686 # 点右上角「+ 添加服务器」→ 填名称、公网 IP,选填一个根域名 # 面板会立刻起一个 frps,并给出短码与二维码
填了根域名(如 frp.example.com)就能用「域名映射」:每个服务一个子域名, 事后也能在服务器列表点「域名」补配。已有 frpc.toml / frpc.ini 的, 改用「导入 frpc 配置」——把文件拖进去就翻译成服务器与规则,不用重录。
3
客户端扫码,通了 Windows / Linux
$./jo-frp-client -panel http://你的服务器IP:16686 -code DH-XXXX-XXXX 2026/10/30 20:56:38 已连接 我的节点,外网地址 1.2.3.4:50000 2026/10/30 20:56:38 穿透运行中,掉线会自动重连,按 Ctrl+C 断开
Windows 直接双击 jo-frp-client.exe,托盘图标右键「设置短码…」粘贴即可。图标颜色跟着连接状态走:青绿已连接、琥珀重连中、灰未连接。
4
可选:直接从源码构建 Go 1.22+
$git clone https://gitee.com/duihao/jo-frp.git $cd jo-frp && make build # 产物在 bin/:jo-frp-server、jo-frp-client
Download

下载

单文件二进制,无需安装运行时。

🖥服务端 · Linux amd64
版本 v0.2.0
jo-frp-server · 约 18 MB
下载↓
⊞客户端 · Windows x64
版本 v0.2.0
jo-frp-client.exe · 约 17 MB
下载↓
⌗客户端 · Linux amd64
版本 v0.2.0
jo-frp-client · 约 16 MB
下载↓

代码全部在这,随便看

jo-frp 是 MIT 开源项目 —— 随便用,商用也可以,改了不必开源。 穿透能力来自 fatedier/frp(Apache-2.0), jo-frp 是它之上的易用性封装,非官方产品。

★ gitee.com/duihao/jo-frp