网友回复
什么是FRP?
Frp (Fast Reverse Proxy) 是比较流行的一款免费开源用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站, 帮你实现 公网 ←→ FRP(服务器) ←→ 内网 的连接,让内网里的设备也可以被公网访问到。
而目前 FRP 还推出了“点对点穿透”的试验性功能,连接成功后可以让公网设备直接跟内网设备“点对点”传输,数据流不再经过 VPS 中转, 这样可以不受服务器带宽的限制,传输大文件会更快更稳定。当然,此功能并不能保证在你的网络环境 100% 可用,而且还要求访问端也得运行 FRP 客户端 (因此目前手机是无法实现的,只有电脑可以)。由于实现条件较多,所以有文件传输需求的朋友还是建议买带宽稍大一点的 VPS 会比较省心。
github地址:https://github.com/fatedier/frp
安装FRP
首先我们得要有一台有公网ip的服务器,比如各大云服务器。然后我们就需要去服务器上安装服务端。服务端安装与配置
FRP 使用 Go 语言开发,可以支持 Windows、Linux、macOS、ARM 等多平台部署。FRP 安装非常容易,只需下载对应系统平台的软件包并解压就可用了。 这里以Linux系统Ubuntu 18.04为例:首先下载对应的安装包。自行选择对应的版本 https://github.com/fatedier/frp/releases
curl -# -LJO https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
没有安装curl要先安装curl当然wget同样也能下载wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
使用tar指令解压tar.gz文件 tar -zxvf frp_0.34.3_linux_amd64.tar.gz
进入解压后的文件夹 由于我们是服务端所以只需要关注frps相关文件就行了 - 接下来我们开始对服务端进行配置 vim frps.ini[common] bind_port = 7000 bind_addr = 0.0.0.0 token = 123456 dashboard_port = 37500 dashboard_user = admin dashboard_pwd = admin
[common]部分是必须有的配置,其中bind_port是自己设定的frp服务端端口,bind_addr是绑定的ip地址默认为0.0.0.0即本机的所有ip地址。 token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连接上,所以建议大家在使用的时候还是把token加上。 而下面的[dashboard]仪表盘的配置(可以不配置) 配置了的化可以访问服务器ip:dashboard_port 通过dashboard_user和dashboard_pwd登陆后查看frp服务器状态
[Unit] Description=frp server After=network.target [Service] Type=simple ExecStart=/your path/frps -c /your path/frps.ini ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target
然后就可以启动frps了 sudo systemctl start frps 打开自启动 sudo systemctl enable frps 查看状态和日志信息: sudo systemctl status frps
如果要重启应用,可以这样,sudo systemctl restart frps 如果要停止应用,可以输入,sudo systemctl stop frps 到这里服务端已经配置完成,你已经可以访问你的frp仪表盘了。客户端的配置
首先客户端也要先去下载对应的安装包。自行选择对应的版本 https://github.com/fatedier/frp/releases
然后我们需要对frpc.ini进行配置 这里以windows远程文件共享为例
[common] # 服务器的公网地址 server_addr = X.X.X.X # 7000为服务端frp与客户端frp相互通信的端口就是我们服务端配置的监听端口 server_port = 7000 token = 123456 [smb] # win10文件共享smb协议通过tcp通信 type = tcp local_ip = 127.0.0.1 # smb协议的本地端口 local_port = 445 # 设定远程端口,当访问服务器的7002端口时,数据会被转发到本地445端口 remote_port = 7002其他配置类似,请参考官方文档。 - 接着我们就可以启动客户端了。 powershell启动客户端frp ./frpc -c frpc.ini
使用具有访问smb服务器能力的软件进行访问。我是用ios的FileExplorer和nPlayer进行访问的。软件设置主机地址为X.X.X.X,端口为7002。注意,有些软件不能设置smb服务器的端口,比如OPlayer,它只能使用默认的445端口,所以要把remote_port配置成445才可以使用。
当然我们还可...
点击查看剩余70%