本文编写于 652 天前,最后修改于 508 天前,其中某些信息可能已经过时。

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

首先需要有一台具有公网IP的VPS或者服务器

然后才能在服务器安装FRP服务(注:Frps为服务端,Frpc为客户端)

FRP程序下载地址:Github.com Naizi.top下载站

使用SSH连接你的VPS

方案一,(非常推荐,傻瓜式操作)

使用Appnode傻瓜式安装Frp服务端

打开Appnode安装指导页面

根据需求选择安装组件,这里我只安装了控制中心

SSH远程VPS执行以下命令

bash -c "$(curl -sS http://dl.appnode.com/install.sh)"

最后,会依次提示输入端口、用户名、密码

根据提示输入后按下回车键进入下一步。

打开 http://你的服务器IP:你刚才设置的端口
例如 http://192.168.0.2:8888

在新打开的网页输入你设置的用户名和密码登录WEB管理页面

依次点击 软件管家 -->> 网络互连

接着 一键安装frp内网穿透服务器

打开后就可以进行服务端的相关设置了

方案二,(推荐,傻瓜式操作)

SSH远程VPS执行以下命令(来自koolshare@Clang大佬的一键脚本)

  1. wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
  2. chmod 700 ./install-frps.sh
  3. ./install-frps.sh install

安装步骤如下

Loading network version for frps, please wait...
frps Latest release file frp_0.8.1_linux_amd64.tar.gz #此步骤会自动获取frp最新版本,自动操作,无需理会
Loading You Server IP, please wait...
You Server IP:192.168.0.2 #自动获取你服务器的IP地址
Please input your server setting:

Please input frps bind_port [1-65535](Default Server Port: 5443): #输入frp提供服务的端口,用于服务器端和客户端通信
Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态
Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80): #输入frp进行http穿透的http服务端口
Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口
Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的
Please input frps max_pool_count [1-200](Default max_pool_count: 50): #设置每个代理可以创建的连接池上限,默认50

##### Please select log_level #####
1: info
2: warn
3: error
4: debug
#####################################################
Enter your choice (1, 2, 3, 4 or exit. default [1]): #设置日志等级,4个选项,默认是info

Please input frps log_max_days [1-30]
(Default log_max_days: 3 day): #设置日志保留天数,范围是1到30天,默认保留3天。

##### Please select log_file #####
1: enable
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]): #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效

设置完成后检查你的输入,如果没有问题按任意键继续安装
============== Check your input ==============
You Server IP : 192.168.0.2
Bind port : 5443
Dashboard port : 6443
vhost http port : 80
vhost https port: 443
Privilege token : WDFfdsagfdsagEWssaSfdsDSFshdg
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
==============================================

安装结束后显示:
Congratulations, frps install completed!
==============================================
You Server IP : 192.168.0.2#你的服务端IP
Bind port : 5443 #FRP服务端口
Dashboard port : 6443#WEB管理端口
vhost http port : 80
vhost https port: 443
Privilege token : WDFfdsagfdsagEWssaSfdsDSFshdg
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
==============================================
frps Dashboard: http://192.168.0.2:6443/ #WEB管理地址,根据你的实际情况而定
==============================================

方案三,(不是很推荐,你自个看吧)

使用SSH连接到你的VPS,执行以下命令(示范使用 Centos 7.5)

  1. yum -y install wget #安装wget,如果已安装可以忽略
  2. wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v0.19.0/frp_0.19.0_linux_amd64.tar.gz #下载Frp程序,这里是64位
  3. cd frp_0.19.0_linux_amd64.tar.gz #进入程序目录
  4. vi frpc.ini #根据需求更改参数
  5. ./frps -c ./frps.ini #启动FRP服务端
  6. nohup ./frps -c ./frps.ini & #将Frp服务端放到后台

Frp客户端相关设置

大部分使用内网穿透的都是路由器端,刷第三方固件后一般都有可视化操作界面,这里不再赘述

例如使用内网穿透远程桌面你的Windows

修改 frpc.ini

[common]
server_addr = 192.168.0.2#你的服务端IP
server_port = 5443#FRP服务端口`
token = WDFfdsagfdsagEWssaSfdsDSFshdg

[desktop]
type = tcp #协议
local_port = 3389#本地监听端口
remote_port = 10089#服务端设置的穿透端口
local_ip = 127.0.0.1#主机IP

新建新建文本.txt ,将 frpc.exe -c frpc.ini写入,改名为新建文本.cmd,双击运行

如果需要将frp加入自启动

运行 shell:startup

会弹出一个文件夹,在文件夹里执行以下操作

新建新建文本.txt ,将以下内容写入,改名为新建文本.vbs

set ws=WScript.CreateObject(“WScript.Shell”)
ws.Run “D:\新建文本.cmd /start”,0
其中< D:新建文本.cmd >为启动脚本所在路径
请根据实际情况做出更改

QQ群:283115498