简介
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
下载
您可以从 GitHub 的 Release 页面中下载最新版本的客户端和服务器二进制文件。所有文件都打包在一个压缩包中,还包含了一份完整的配置参数说明。
部署
- 解压下载的压缩包。
- 将
frpc
复制到内网服务所在的机器上。 - 将
frps
复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。
开始使用!
- 编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
- 使用以下命令启动服务器:
./frps -c ./frps.toml
。 - 使用以下命令启动客户端:
frpc.exe -c ./frpc.toml
(这个地方和官网的略有不同,因为在window10的cmd窗口运行官网命令时报错,启动成功后不要关闭cmd窗口)。 - 如果需要在后台长期运行,建议结合其他工具,如 systemd 和
supervisor
。
如果您是 Windows 用户,需要在命令提示符中执行相同的命令。
有关如何编写配置文件,请参考 示例 部分中的内容。
配置文件
官网上面配置项说的非常的详细,下面介绍一下正在使用中的配置项
服务端
服务端frp压缩包:frp_0.58.0_linux_amd64.tar.gz
服务端 frpc.tom
l文件
bindPort = 7000
auth.method = "token"
auth.token = "******"
Field | Type | Description | Required |
---|---|---|---|
bindAddr | string | 服务端监听地址,用于接收 frpc 的连接,默认监听 0.0.0.0。 | No |
method | string | 鉴权方式,可选值为 token 或 oidc,默认为 token。 | No |
token | string | 在 method 为 token 时生效,客户端需要设置一样的值才能鉴权通过。 | No |
客户端
客户端frp压缩包:frp_0.58.0_windows_amd64.zip
客户 端frpc.toml
文件
serverAddr = "******"
serverPort = 7000
auth.token = "*****"
[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3333
remotePort = 5601
Field | Type | Description | Required |
---|---|---|---|
serverAddr | string | 连接服务端的地址。 | No |
serverPort | int | 连接服务端的端口,默认为 7000。 | No |
token | string | 在 method 为 token 时生效,客户端需要设置一样的值才能鉴权通过。 | No |
name | string | 代理名称。 | Yes |
type | string | 代理类型,可选值为 tcp, udp, http, https, tcpmux, stcp, sudp, xtcp。 | Yes |
localIP | string | 被代理的本地服务 IP,默认为 127.0.0.1。 | No |
localPort | int | 被代理的本地服务端口。 | No |
remotePort | int | 服务端绑定的端口,用户访问服务端此端口的流量会被转发到对应的本地服务。 | No |
注意: 💡 如果连接不上,检查一下服务器上bindPort对应的端口是否放开,例如:上面bindPort配置的是7000端口,然后需要将服务器对应的7000端口放开,并且remotePort 对应的端口也都要放开。