Frp v0.68:开源内网穿透工具简洁教程,新增 AI 能力:持久化存储、API 支持,可由 AI 添加、删除代理

原始链接在: frp v0.68:开源内网穿透工具简洁教程,新增 AI 能力:持久化存储、API 支持,可由 AI 添加、删除代理 - 小众软件

著名的开源内网穿透工具 frp v0.68 更新,添加了内置存储功能,以及通过 API 操作代理功能。
今后可通过 AI 来操作 frp 客户端,无需重启。

frp v0.68

frp 的这个新功能,青小蛙觉得,就是为 AI 准备的。

持久化存储功能

在 frpc 客户端配置中,添加[store]即可开启内置存储功能,将配置保存在 db.json 文件中:

serverAddr = "127.0.0.1" # frps 服务端IP地址
serverPort = 端口
auth.token = "appinn" # 密钥

webServer.addr = “0.0.0.0”
webServer.port = 7500
webServer.user = “appinn”
webServer.password = “appinnadmin”

[store]
path = “./db.json”

注意需要同时开启 webServer 之后,才能使用 API 功能。

API 功能

通过 API 修改后的 frpc 无需重启,立即生效。

实际上,API 的相关操作只需要交给 AI 即可,不过这里有几个例子:

用终端将 OpenClaw 添加到 frp:

$ curl -u appinn:appinnadmin http://192.168.1.111:7500/api/store/proxies \
  -H "Content-Type: application/json" \
  -d '{
    "name": "openclaw",
    "type": "tcp",
    "tcp": {
      "localPort": 17321,
      "remotePort": 47321
    }
  }'

之后,该代理就会出现在 frp 客户端中:

修改代理

不小心用错了端口,只需要使用下嘛的命令,即可把 17321 端口替换为 18789:

curl -u appinn:appinnadmin -X PUT \
  http://192.168.1.111:7500/api/store/proxies/openclaw \
  -H "Content-Type: application/json" \
  -d '{
    "name": "openclaw",
    "type": "tcp",
    "tcp": {
      "localPort": 18789,
      "remotePort": 6000
    }
  }'

删除代理

不想要了,只需要使用如下命令:

curl -u appinn:appinnadmin -X DELETE http://192.168.1.111:7500/api/store/proxies/openclaw

查询所有代理

curl -u appinn:appinnadmin http://192.168.1.111:7500/api/store/proxies

以下内容为2025年8月14日更新。

frp 是一款跨平台的内网穿透工具,支持 Windows、macOS 与 Linux,它需要你有一台拥有固定公网 IP 的电脑,VPS 最好,然后就能愉快的进行内网穿透了。还支持 https,甚至可以用它进行小程序开发。@Appinn

v0.64.0 新增 tokenSource 支持

2025年8月10日,frp v0.64.0 更新1个主要功能:

  • 新增 tokenSource 支持,允许从文件中加载认证 token,而不是直接在配置文件中写死,避免了在配置文件中直接暴露 token 的风险。

此外,v0.64.0 还修复了 SSH 隧道网关错误绑定地址的问题,提升了连接的稳定性和可用性。

网络的本地本来是应该互联互通的,但各种各样的原因会导致互联互不通。于是就需要造轮子解决它,frp 就是这样一个轮子,开源、免费、简单易用。

当然,免费意味着你需要自备一款拥有固定公网 IP 的电脑/VPS 作为中转节点。这台电脑可以是拥有固定公网 IP 的任意电脑,也可以自配一台 VPS,青小蛙依旧推荐 Vultr 的机器,便宜好用,控制面板简单。

另外通过青小蛙的推荐链接注册(👈有返利),还送 50 刀体验金,仅限新用户。Vultr 推荐美国、德国的机器。如果不嫌麻烦,也可以试试 阿里云 的机器,优点肯定是连接响应速度快了,但带宽略小。

这里假设你已经有一台 VPS 了,只需要跟着步骤走即可:

设置 frp 服务器

  1. 根据系统下载程序,并解压缩
  2. 将 frps 及 frps.toml 放到具有公网 IP 的机器
  3. 创建 token 文件,内容就是你的密钥

青小蛙目前所用的 frps.toml 文件内容:

bindPort = 1723

auth.tokenSource.type = “file”
auth.tokenSource.file.path = “/etc/frp/token”

webServer.addr = “0.0.0.0”
webServer.port = 7500
webServer.user = “用户名”
webServer.password = “密码”

allowPorts = [
{ start = 7001, end = 7010 }
]

最后一行是青小蛙打开了 7001~7010 几个端口。

新建 /etc/frp/token 文件,内容直接添加你自定义的密钥即可,你可以把它理解为 frp 之间互相联系的口令。

运行:

./frps -c ./frps.toml

另外,针对 Linux 用户,这里有一个后台运行服务可以参考。以上为 Linux 系统的执行命令,如果是 Windows 系统:

c:\Tools\frp\frps.exe -c c:\Tools\frp\frps.toml

假设 frps 解压缩到了 c:\Tools\frp\ 文件夹。

以及,请让防火墙通过 7000 端口,以及 7001、7002 端口。

设置 frp 客户端

  1. 根据系统下载程序
  2. 将 frpc 及 frpc.toml 放到处于内网环境的机器上。

这里以 Windows 远程桌面、群晖管理界面为例,修改 frpc.toml 配置文件:

serverAddr = 服务器公网 IP
serverPort = 1723

auth.tokenSource.type = “file”
auth.tokenSource.file.path = “C:\Tools\frp\token”

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001

[DSM]
type = tcp
local_ip = 群晖在局域网中的 IP 地址
local_port = 5000
remote_port = 7002

别忘记创建 token 文件,内容和之前服务器上的内容相同。另外 remote_port 中的端口需要在服务器中打开(allowPorts 字段)

然后,启动 Windows 命令提示符,运行:

c:\Tools\frp\frpc.exe -c c:\Tools\frp\frpc.toml

这里假设你的 frp 解压缩到了 C:\Tools\frp\ 文件夹下。

如果看到两行 start proxy success 就代表成功了。

远程访问

此时,就可以在外网访问网内资源了。

比如远程桌面,只需要打开微软的远程桌面客户端,然后使用 公网IP:7001 即可连接。

比如群晖,只需要打开浏览器,在地址栏输入 公网IP:7002 即可访问 DSM 的管理界面。

其它配置

frp 官网提供了非常详尽的说明书,包括转发 ssh、http、https、转发 Unix 域套接字等等,都可以配置使用。

但,其实对于初学者来说,还是有点费劲的。

更多示例

青小蛙开了一个帖子,准备连载一些 frp 的示例,以及如果在 Windows 下以系统服务运行 frp 等等一些内容。感兴趣的同学可以前往参考、讨论、分享。

目前有两个示例:

没错,你遇到了坑,也欢迎分享下来,尤其错误代码,大家一起解决。

1 个赞

frp我也在用,我在前面还放了个waf

到Vultr页面上看了一下,最便宜的机器3.5美金/月。折合大概就300多人民币一年了。对相关行业没概念,这个价格是算便宜么。

1 个赞

正常价格吧。

有10刀/年的,比如:

但配置有差。

这种10刀/年的 如果自己搭个梯子 综合速度方面上的考虑 划算么?

坛主的能借坛友使使么,我就RDP,很省流。

建议啊,tailscale 就行了,我现在都很少用当个备份

有点像zerotier?

zerotier是优先p2p直连, 直连不上才会转发。

这个frp就只能转发

基本上差不多。

WireGuard 私有协议,tailscale 是 WireGuard。

还有就是 tailscale 漂亮许多…

要安装,可能还要驱动吧?frp就很简单。

这个电信用不了一点

image.png

frp 已经出来很久了,在外网暴漏自己的服务不太安全,v2上有很多在公司内网安装 frp 导致内网被攻陷的,我认为暴漏到外网的服务应该是给外网所有人访问的服务,需求是内网服务需要在外网访问这种还是用 wireguard 组网比较合适,楼上也说了taiscale 和 zerotier建议使用。

是这样的,就像楼上说的想要通过frp使用RDP,如果不启用一个额外的认证或者使用一些堡垒机服务,直接暴露公网是很危险的。

我自己一个人使用的服务就每天都会有很多扫描。

image.png

image.png

不知道用外国服务器穿透后,用远程桌面响应速度怎么样,单位不让用zerotier了,判定为有风险,两边电脑一个移动宽带,一个联通的,总有延迟

走CN2会好很多,如果不是则会延迟明显。
当然问题估计不在这里,不让用zerotier,也有可能不让用远程桌面。

有没有比较简单易行的方案推荐下?

我是公司电脑受限,只能使用网页访问。别的方案我还真的没想过 :melting_face:,堡垒机不需要动太多脑子,就直接服务部署好就可以了。
我用的Jumpserver不够轻量,一般企业用的比较多,带有审计的录屏回放、命令记录之类的东西。如果要用可以找类似但更轻量的应用。

那堡垒机部署方便么?我考虑两点,一是部署容易程度,二是资源占用程度
我毕竟是自己简单用用

我的Jumpserver是分配了一个4核虚拟机跑,双核群晖DS923+的虚拟机也能跑,就是稍卡。安装就是一键脚本。其他的我感觉你可以自己搜索一下。
image.png