Dabenshi Frp

2023-05-25 16:27:58 浏览数 (1)

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:frpcfrpc.exe -c d:frpcfrpc.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:UsersAdministratorDesktoptest.test.comfullchain1.crt  #linux下生成的证书为fullchain.pem格式,复制到Windows上改成.crt后缀即可
plugin_key_path = C:UsersAdministratorDesktoptest.test.comprivkey1.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进程。

0 人点赞