frp:70k+ Stars!简单、高效的内网穿透工具
frp 功能特性
客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议
采用TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟
代理组间的负载均衡
端口复用,多个服务通过同一个服务端端口暴露
支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源
多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作
高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展
服务端和客户端 UI 页面
下载
目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
下载地址: https://github.com/fatedier/frp/releases
./frps -c ./frps.ini
启动服务端./frpc -c ./frpc.ini
启动客户端如果需要在后台长期运行,建议结合其他工具使用,例如 systemd
和 supervisor
。
cmd
终端中执行命令。「ini」是对应客户端的配置文件;
在具有公网 IP 的机器上部署 frps,修改「frps.ini」文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:
[common]
bind_port = 7000
在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 「frpc.ini 」文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
local_ip
和 local_port
配置为本地需要暴露到公网的服务地址和端口。remote_port
表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
分别启动「frps.exe」和「 frpc.exe」。 通过 SSH 访问内网机器,假设用户名为 test: ssh -oPort=6000 test@x.x.x.x
frp 会将请求
x.x.x.x:6000
的流量转发到内网机器的 22 端口。
多个 SSH 服务复用同一端口
通过自定义域名访问内网的 Web 服务
转发 DNS 查询请求
转发 Unix 域套接字
对外提供简单的文件访问服务
为本地 HTTP 服务启用 HTTPS
安全地暴露内网服务
点对点内网穿透
frp 是一个专注于内网穿透的反向代理软件,支持多种代理类型以及 P2P 通信,通过在具有公网 IP 的节点上部署 frp 服务端,可以将内网服务以安全、便捷的方式,通过具有公网 IP 节点的中转暴露到公网,为不同场景下的需求提供丰富的解决方案。
官网: https://gofrp.org/ 官方手册: https://gofrp.org/zh-cn/docs/ 官网示例参考地址: https://gofrp.org/zh-cn/docs/examples/
Github开源地址: https://github.com/fatedier/frp
END
每天给大家带来网站工具、安卓软件、iOS软件、开源社区项目等黑科技!
如果你们有什么好的建议,也可以在后台留言。
创作不易,希望大家给一点鼓励,把公众号设置为"星标",点下文章"在看",谢谢大家!目前佛系更新,望多多支持~
点点关注不迷路
本文发表于公众号【爱编程爱技术】
往期推荐: