
frp v0.68版本更新:内网穿透新功能,AI助力代理管理
frp v0.68版本新增持久化存储功能和API支持,可通过AI操作代理,无需重启。本文将详细介绍如何使用这些新功能。
开源内网穿透工具frp的最新版本v0.68带来了多项更新,其中包括内置存储功能和API支持,使得通过AI操作frp客户端成为可能,无需重启即可实现。
持久化存储功能
在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 设置frp服务器
- 根据系统下载程序,并解压缩
- 将frps及frps.toml放到具有公网IP的机器上
- 创建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用户,这里有一个后台运行服务可以参考。
c:\\Tools\\frp\\frps.exe -c c:\\Tools\\frp\\frps.toml 假设frps解压缩到了c:\\Tools\\frp\\文件夹。
以及,请让防火墙通过7000端口,以及7001、7002端口。

设置frp客户端
- 根据系统下载程序
- 将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等等一些内容。感兴趣的同学可以前往参考、讨论、分享。
目前有两个示例:
没错,你遇到了坑,也欢迎分享下来,尤其错误代码,大家一起解决。