简介
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
工作原理
frp 主要由两个组件组成:客户端(frpc) 和 服务端(frps)。通常情况下,服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。
由于内网服务缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问。用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。
下载地址
服务器配置文件
编辑frps.toml
bindPort = 7000
auth.token = "public" # 身份验证令牌,frpc要与frps一致
webServer.addr = "0.0.0.0" # 后台管理地址
webServer.port = 7500 # 后台管理端口
webServer.user = "admin" # 后台登录用户名
webServer.password = "admin123" # 后台登录密码
启动服务端命令
./frps -c frps.toml &
编辑frpc.toml
serverAddr = "服务器IP地址"
serverPort = 7000
auth.token = "public" # 令牌,与公网服务端保持一致
[[proxies]]
name = "test-http"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8000
remotePort = 8000
启动客户端命令
./frpc -c frpc.toml &
使用python自带得http.server做测试
python3 -m http.server 8000
请求你公网ip:6060端口能访问到本地9000端口的http.server服务
也可以通过图形化界面查看详情(上述服务端已配置)