FRP 是一个类似 ngrok 的内网穿透工具,它并不像 ngrok 一样有漂亮的官网。但用户体验感丝毫不差,甚至个人感觉比ngrok更方便,更具优势。FRP 支持 TCP/UDP/HTTP/HTTPS 的内网转发。目前内网穿透愉快的用Aria2远程下载。
项目地址:
https://github.com/fatedier/frp
上图是对 FRP 最好的诠释,身处NAT网络环境中的 Server1 & Server2 & Server3 并没有公网IP,所以客户端并不能直接访问,但是通过FRP服务器的转发就可以愉快的进行内网穿透,达到访问它们的目的。
服务端安装支持:Centos | Debian | Ubuntu (32bit / 64bit)
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.shchmod 700 ./install-frps.sh./install-frps.sh install
服务器中运行一键程序后,脚本将会自动识别机器的IP地址。
接下来会提示输入以下自定义内容:
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:12.12.12.12 #自动获取你服务器的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个选项,默认是infoPlease 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]): #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效
如果您是第一次安装,建议所有选项均默认配置,也就是直接按回车,程序就会使用默认配置进行安装。
下面是服务端的相关命令
/etc/init.d/frps start #启动frps服务端
/etc/init.d/frps stop #停止frps服务端
/etc/init.d/frps restart #重启frps服务端
/etc/init.d/frps status #显示frps状态
/etc/init.d/frps config #配置frps服务端
/etc/init.d/frps version #显示frps版本
启动成功后,本地访问 http://ip:6443 即可看到WEB控制台。到此安装服务端成功!如果打不开请设置防火墙。
更新命令
./install-frps.sh update
卸载命令
./install-frps.sh uninstall
客户端[ypbtn]
https://github.com/fatedier/frp/releases
[/ypbtn]
下载解压后,将 frpc.ini 替换为和你服务器相关的配置即可
[common]
server_addr = #你的服务器IP
server_port = 5443
log_file = ./frpc.log
log_level = info
log_max_days = 3
privilege_token = 12345678 #这里的值需要与服务器保持一致
pool_count = 5
tcp_mux = true
user = your_name
login_fail_exit = true
protocol = tcp
[HTTP_mode]
privilege_mode = true
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = #你的域名 | 需A记录指向服务器IP
请通过cmd命令进入frpc.exe所在的目录,然后运行:
frpc.exe -c frpc.ini
即可开启客户端,同时您的本地Server 也可以通过域名访问了。