免费的端口映射工具 ChmlFrp
前言:之前我写过一篇关于cloudflare tunnel的使用教程,ChmlFrp是一个类似的工具,也可以用来进行内网穿透
我的博客对应文章地址
1.注册账号
注册地址 点击这个链接前往官网注册一个账号,过程简单,这里不再赘述
2.创建隧道
登录之后来到隧道列表下添加隧道
选择一个节点,悬浮到节点上会显示当前节点特点,我选了圣何塞,因为介绍显示干啥都行(前提是合法合规的内容)
然后点击继续
隧道名称随便设置一个,内网端口就是你本地电脑上要映射的端口,外网端口就是你想通过公网访问的端口,填好之后点击确定
3.运行测试服务
如果暂时没有想映射的端口,可以运行这个测试服务(端口就是上面设置的10086
),讲下面代码保存为server.js
,使用命令 node .\server.js
就能运行起来,访问http://localhost:10086就能看到效果,当然现在只是在本地运行
const http = require('http');// 创建服务器
const server = http.createServer((req, res) => {// 设置响应头,返回 HTML 页面res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8','Access-Control-Allow-Origin': '*'});// 返回 HTML 内容res.end(`<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>测试页面</title></head><body><h1>Hello ChmlFrp!</h1></body></html>`);
});const PORT = 10086;
server.listen(PORT, () => {console.log(`服务器运行在 http://localhost:${PORT}`);
});
4.安装
前往软件下载,按照自己电脑系统和架构选择一个下载,多数人就选第一个amd64
架构的就行
5.配置并启动
1.找到之前配置的隧道,点击获取配置代码
2.展开后复制配置
3.找到之前下载软件压缩包解压,文件夹下有一个文件 frpc.ini
文件,将复制的配置粘贴然后保存,然后在当前目录打开一个终端,执行 .\frpc.exe
,出现下面结果就是成功了
|> .\frpc.exe
2025/08/23 17:24:59 [I] [root.go:125] 欢迎使用ChmlFrp映射客户端!
2025/08/23 17:24:59 [I] [root.go:135] 从ChmlFrp API获取配置文件...
2025/08/23 17:24:59 [I] [root.go:347] 启动配置文件的frpc服务 [./frpc.ini]
2025/08/23 17:25:01 [I] [service.go:313] 成功登录至服务器, 获取到RunID [D8xxxxxxxxxxxxxxxxwuSp-b63e951616fda875]
2025/08/23 17:25:01 [I] [proxy_manager.go:150] 已添加隧道: [D8TNxxxxxxxxxxxxxxxxxt0Mb3]
2025/08/23 17:25:02 [I] [control.go:172] [D8TNxxxxxxxxxxxxxxxxxxt0Mb3] 映射启动成功, 感谢您使用ChmlFrp!
查看配置的隧道映射的公网地址和端口,点击复制,然后在浏览器打开就能看到效果了
效果就相当于将 localhost:10086
映射到了 sj.frp.one:45507
[!note]
目前不能设置自己的域名,此外官方提供了免费域名,不过需要实名认证(反正我还没有试过)
6.多个端口映射配置
如果本地有多个端口需要映射的话,可以在
frpc.ini
文件追加配置
1.分别复制两个隧道的配置
2.将两个隧道的配置都粘贴到frpc.ini
文件
3.删除多余配置,下面这段配置重复了,只需要保留一个即可
[common]
server_addr = x.x.x.x
server_port = 7000
tls_enable = false
user = xxxxxxxxxxxxxxxxxxxx
token = xxxxxxxxxx
4.重新运行frpc.exe
就能看到两个隧道都在运行了