前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dabenshi Frp

Dabenshi Frp

作者头像
Dabenshi
发布2023-05-25 16:27:58
5010
发布2023-05-25 16:27:58
举报
文章被收录于专栏:DabenshiDabenshi

FRP服务可以分配给你一个域名让你本地的web项目提供给外网访问,特别适合向别人展示你本机的web demo以及调试一些远程的API(用作微信公众号,企业号的开发)

对于没有公网IP的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题。 今天给大家介绍一个好用内网穿透工具FRP,FRP全名:快速反向代理。FRP是一个使用Go语言开发的高级的反向代理应用程序,可以帮助您轻松地进行内网穿透,对外提供服务。FRP支持TCP,UDP,HTTP,HTTPS等协议类型,并支持Web服务。根据域名进行路由转发。

FRP客户端说明

代码语言:javascript
复制
[common]   //无需修改
server_addr = 0.0.0.0   //frps服务器IP
server_port = 0000   //frps端口
token = *****   //秘钥

[win10]   //名称自定义
type = https   //标头类型
local_ip = 0.0.0.0   //内网IP
local_port = 80   //内网端口
remote_port = 80   //外网端口
custom_domains = ***.dabenshi.cn   //***为自定义

FRP客户端配置实例

代码语言:javascript
复制
[common]   //无需修改
server_addr = 51.83.172.100   //frps服务器IP
server_port = 7000   //frps端口
token = 12345678   //秘钥

[win10]   //名称自定义
type = tcp   //标头类型
local_ip = 127.0.0.1   //内网IP
local_port = 80   //内网端口
remote_port = 7010   //外网端口
//最后访问地址是51.83.172.100:7010
代码语言:javascript
复制
本站FRP免费服务器信息 //Version 0.34.3
已稳定运行:2年 264天 21时 10分 5秒 
连接地址和特权认证密码请看配置实例
免费多级域名格式 51.83.172.100 举例:51.83.172.100:7010(7010-8000)
将域名CNAME解析至 51.83.172.100 即可绑定自己的域名
此服务器开放7010-8000范围的TCP、UDP端口映射 
服务器是0.34.3版本,请使用相同版本客户端,支持UDP打洞直连穿透

FRP 客户端启动方法

1.Windows在黑色命令行窗口中,输入以下命令后回车,如果系统防火墙有提示,允许即可。 3.接下来会出现如下提示,表示连接成功,不要关闭这个窗口,否则玻璃钢就退出了。

代码语言:javascript
复制
d:\frpc\frpc.exe -c d:\frpc\frpc.ini  //实例d:\frpc\为文件路径,按照你当前的路径修改
代码语言:javascript
复制
./frps.exe -c ./frps.ini  //Linux

注!下载之后请自行修改配置文件frpc.ini

FRP Linux客户端启动方法

代码语言:javascript
复制
//前台启动
cd /frp //根据frp所在路径修改,cd到指定位置
./frpc -c ./frpc.ini
代码语言:javascript
复制
//后台启动
cd /frp //根据frp所在路径修改,cd到指定位置
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

说明:关于Linux和Windows启动自启配置,暂无方法。大家可以自行百度



客户端配置示例(Windows上frpc.ini) 

代码语言:javascript
复制
server_addr = 192.168.100.100                    #服务端的IP地址,好像也可以写域名,没试过
server_port = 7000                               #服务端端口

[test_http]                                      #Http服务,映射的是服务端http80端口
type = http                                      #服务方式
local_ip = 127.0.0.1                             #服务端ip,可写本地,局域网等做反向代理的ip
local_port = 8000                                #服务端端口
custom_domains = test.test.com                   #需要反向代理的域名,就是服务端要代理的域名

[test_https]                                     #Https服务,映射的是服务端https443端口
type = https                                     #服务方式
local_ip = 127.0.0.1                             #服务端ip,可写本地,局域网等做反向代理的ip
local_port = 8000                                #服务端端口
custom_domains = test.test.com                   #需要反向代理的域名,就是服务端要代理的域名

# 以下为https新加的内容
plugin = https2http                             #将 https请求转换成http请求后再发送给本地服务
plugin_local_addr = 127.0.0.1:8000              #转换http后的端口  

#证书相关配置
plugin_crt_path = C:\Users\Administrator\Desktop\test.test.com\fullchain1.crt  #linux下生成的证书为fullchain.pem格式,复制到Windows上改成.crt后缀即可
plugin_key_path = C:\Users\Administrator\Desktop\test.test.com\privkey1.key    #linux下生成的证书为privkey.pem格式,复制到Windows上改成.key后缀即可
plugin_host_header_rewrite = 127.0.0.1            
plugin_header_X-From-Where = frp

公网服务端frp s相关命令

代码语言:javascript
复制
[root@centos frp]# ./frps -v   #显示版本号
[root@centos frp]# ./frps -h   #显示帮助说明
[root@centos frp]# ./frps -c ./frps.ini   #启动 frps ,关闭SSH窗口即停止运行
[root@centos frp]# cat frps.ini   #查看服务端 frps.ini 配置文件
[root@centos frp]# ps -ef |grep frps|grep -v grep   #frps服务端进程状态
[root@centos frp]# nohup ./frps -c ./frps.ini >/dev/null 2>&1 &   #frps服务端后台运行
[root@centos frp]# ps -ef |grep frps|grep -v grep |awk '{print $2}'|xargs kill -9   #frps服务端-停止

查看版本号

代码语言:javascript
复制
[root@centos frp]# ./frps -v   #显示版本号
0.30.0
[root@centos frp]# ./frps -h   #显示帮助说明
frps is the server of frp (https://github.com/fatedier/frp)

Usage:
  frps [flags]

Flags:
      --allow_ports string         allow ports
      --bind_addr string           bind address (default "0.0.0.0")
  -p, --bind_port int              bind port (default 7000)
      --bind_udp_port int          bind udp port
  -c, --config string              config file of frps
      --dashboard_addr string      dasboard address (default "0.0.0.0")
      --dashboard_port int         dashboard port
      --dashboard_pwd string       dashboard password (default "admin")
      --dashboard_user string      dashboard user (default "admin")
      --disable_log_color          disable log color in console
  -h, --help                       help for frps
      --kcp_bind_port int          kcp bind udp port
      --log_file string            log file (default "console")
      --log_level string           log level (default "info")
      --log_max_days int           log max days (default 3)
      --max_ports_per_client int   max ports per client
      --proxy_bind_addr string     proxy bind address (default "0.0.0.0")
      --subdomain_host string      subdomain host
  -t, --token string               auth token
  -v, --version                    version of frpc
      --vhost_http_port int        vhost http port
      --vhost_http_timeout int     vhost http response header timeout (default 60)
      --vhost_https_port int       vhost https port
[root@centos frp]# 

公网服务端frp s相关命令

代码语言:javascript
复制
[root@centos frp]# ./frps -v   #显示版本号
[root@centos frp]# ./frps -h   #显示帮助说明
[root@centos frp]# ./frps -c ./frps.ini   #启动 frps ,关闭SSH窗口即停止运行
[root@centos frp]# cat frps.ini   #查看服务端 frps.ini 配置文件
[root@centos frp]# ps -ef |grep frps|grep -v grep   #frps服务端进程状态
[root@centos frp]# nohup ./frps -c ./frps.ini >/dev/null 2>&1 &   #frps服务端后台运行
[root@centos frp]# ps -ef |grep frps|grep -v grep |awk '{print $2}'|xargs kill -9   #frps服务端-停止

查看版本号

代码语言:javascript
复制
[root@centos frp]# ./frps -v   #显示版本号
0.30.0
[root@centos frp]# ./frps -h   #显示帮助说明
frps is the server of frp (https://github.com/fatedier/frp)

Usage:
  frps [flags]

Flags:
      --allow_ports string         allow ports
      --bind_addr string           bind address (default "0.0.0.0")
  -p, --bind_port int              bind port (default 7000)
      --bind_udp_port int          bind udp port
  -c, --config string              config file of frps
      --dashboard_addr string      dasboard address (default "0.0.0.0")
      --dashboard_port int         dashboard port
      --dashboard_pwd string       dashboard password (default "admin")
      --dashboard_user string      dashboard user (default "admin")
      --disable_log_color          disable log color in console
  -h, --help                       help for frps
      --kcp_bind_port int          kcp bind udp port
      --log_file string            log file (default "console")
      --log_level string           log level (default "info")
      --log_max_days int           log max days (default 3)
      --max_ports_per_client int   max ports per client
      --proxy_bind_addr string     proxy bind address (default "0.0.0.0")
      --subdomain_host string      subdomain host
  -t, --token string               auth token
  -v, --version                    version of frpc
      --vhost_http_port int        vhost http port
      --vhost_http_timeout int     vhost http response header timeout (default 60)
      --vhost_https_port int       vhost https port
[root@centos frp]# 

内网客户端frp c相关命令

代码语言:javascript
复制
[root@centos frp]# ./frpc -v   #显示版本号
[root@centos frp]# ./frpc -h   #显示帮助说明
[root@centos frp]# ./frpc -c ./frpc.ini   #启动 frpc ,关闭SSH窗口即停止运行
[root@centos frp]# cat frpc.ini   #查看客户端 frpc.ini 配置文件
[root@centos frp]# ps -ef |grep frpc|grep -v grep   #frpc客户端进程状态
[root@centos frp]# nohup ./frpc -c ./frpc.ini >/dev/null 2>&1 &   #frpc客户端后台运行
[root@centos frp]# ps -ef |grep frpc|grep -v grep |awk '{print $2}'|xargs kill -9   #frpc客户端-停止

查看版本号

代码语言:javascript
复制
[root@centos frp]# ./frpc -v   #显示版本号
0.30.0
[root@centos frp]# ./frpc -h   #显示帮助说明
frpc is the client of frp (https://github.com/fatedier/frp)

Usage:
  frpc [flags]
  frpc [command]

Available Commands:
  help        Help about any command
  http        Run frpc with a single http proxy
  https       Run frpc with a single https proxy
  reload      Hot-Reload frpc configuration
  status      Overview of all proxies status
  stcp        Run frpc with a single stcp proxy
  tcp         Run frpc with a single tcp proxy
  udp         Run frpc with a single udp proxy
  xtcp        Run frpc with a single xtcp proxy

Flags:
  -c, --config string   config file of frpc (default "./frpc.ini")
  -h, --help            help for frpc
  -v, --version         version of frpc

Use "frpc [command] --help" for more information about a command.
[root@centos frp]# 

Linux后台启动

代码语言:javascript
复制
Server:nohup ./frps -c frps.ini >/dev/null 2>&1 &
Client:nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

说明: 其中,>为输出重定向符号,>/dev/null 2>&1。这条命令其实分为两命令,一个是>/dev/null,另一个是2>&1。 1. >/dev/null 这条命令的作用是将标准输出1重定向到/dev/null中。/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。 2. 2>&1 这条命令用到了重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。 linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。


windows系统服务后台运行脚本

很多小白不会将frp注册为windows后台服务运行,每次都手动运行会留下一个cmd窗口,为了方便广大frp用户,制作了此windows一键脚本。 使用说明:将该脚本解压在Frpc同一目录,双击运行

隐藏运行脚本代码

代码语言:javascript
复制
set wscriptObj = CreateObject("Wscript.Shell") 
wscriptObj.run "frpc.exe",0

将此vbs脚本放在frp的同个目录下,双击运行就可以了,要关闭frp的话直接打开任务管理器结束frp进程。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FRP客户端说明
  • FRP客户端配置实例
  • FRP 客户端启动方法
  • FRP Linux客户端启动方法
  • 公网服务端frp s相关命令
  • 公网服务端frp s相关命令
  • 内网客户端frp c相关命令
  • windows系统服务后台运行脚本
相关产品与服务
弹性公网 IP
弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档