乐趣区

关于开发工具:开发必备frp-你也能用的开源内网穿透工具

封面图

大家好啊~ 我是阿壮,一个又情怀的程序员,明天和大家分享一个内网穿透工具,软件名称叫: frp。

frp 官网地址: https://github.com/fatedier/f…

例如咱们平时开发过程中遇到联调微信 / 支付宝领取等第三方服务时,咱们申请了微信 / 支付宝的领取接口,微信 / 支付宝官网须要给咱们响应,用来示意领取是否胜利,此时就须要申请咱们裸露在公网的接口地址。咱们能够实用 frp 作为内网穿透工具,这样咱们就能够本地接管到微信或者支付宝返回给咱们的申请,还是很实用的。

整体的流程我这里做一些简略的论述,首先购买一台外网服务,在服务山部署 frp 服务,同时在本人电脑上也开启 frp 服务,调通后,将微信 / 支付宝的响应申请的地址(通常官网都会有让用户输出申请地址的选项)改为咱们服务器的公网地址,当微信或者支付宝申请服务器地址时,服务器会把申请转发到本机,此时咱们在本机打断点就能够拦挡到。大抵流程如图 1-1 所示

frp 具体配置

frp 是什么?

frp 是一个专一于内网穿透的高性能的反向代理利用,反对 TCP、UDP、HTTP、HTTPS 等多种协定。能够将内网服务以平安、便捷的形式通过具备公网 IP 节点的直达裸露到公网。

为什么应用 frp?

通过在具备公网 IP 的节点上部署 frp 服务端,能够轻松地将内网服务穿透到公网,同时提供诸多业余的性能个性,这包含:

  • 客户端服务端通信反对 TCP、KCP 以及 Websocket 等多种协定。
  • 采纳 TCP 连贯流式复用,在单个连贯间承载更多申请,节俭连贯建设工夫。
  • 代理组间的负载平衡。
  • 端口复用,多个服务通过同一个服务端端口裸露。
  • 多个原生反对的客户端插件(动态文件查看,HTTP、SOCK5 代理等),便于独立应用 frp 客户端实现某些工作。
  • 高度扩展性的服务端插件零碎,不便联合本身需要进行性能扩大。
  • 服务端和客户端 UI 页面。

下载

官网:https://gofrp.org/docs/setup/

应用

下载好之后服务器和本机各放一份。
文件目录如下:

配置服务端配置文件

[common]
bind_port = 7000

配置客户端配置文件

[common]
server_addr = x.x.x.x // 服务器的 IP 地址
server_port = 7000 // 和服务端对应的通信端口

[ssh]
type = tcp // 类型
local_ip = 127.0.0.1 // 本机 IP
local_port = 8088 // 拜访本地的端口
remote_port = 80 // 服务器用于转发的端口 

拜访服务器的 80 端口,会转到到本地的 8088 端口

启动

编写配置文件,先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini 启动客户端。如果须要在后盾长期运行,倡议联合其余工具应用,例如 systemdsupervisor

服务端启动胜利后打印的日志如下:

[root@VM-8-16-centos frp_0.36.2_linux_386]# ./frps -c ./frps.ini
2021/05/11 14:42:49 [I] [root.go:200] frps uses config file: ./frps.ini
2021/05/11 14:42:49 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
2021/05/11 14:42:49 [I] [root.go:209] frps started successfully
2021/05/11 14:45:15 [I] [service.go:449] [c1756581397dede4] client login info: ip [114.221.154.184:58609] version [0.36.2] hostname [] os [windows] arch [386]
2021/05/11 14:45:15 [I] [tcp.go:63] [c1756581397dede4] [ssh] tcp proxy listen port [0]
2021/05/11 14:45:15 [I] [control.go:446] [c1756581397dede4] new proxy [ssh] success

我是阿壮,一个有情怀的程序员,分享编程、软件、科技,微信搜一搜: 科技猫,获取第一工夫更新

退出移动版