全面升级frp

题图来自:https://zhuanlan.zhihu.com/p/113672652

什么是 frp

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。【官网中文说明:https://github.com/fatedier/frp/blob/master/README_zh.md

title
(图片来自官网)

这张架构图清晰的显示了 frp 的工作原理,外网的用户 User 通过域名访问到内网提供 tcp 或者 http 服务的设备。

  • frps 是具有公网 IP 地址的frp服务器,一般我们都是购买 VPS ;
  • tcp or http service 是指内网提供 http 或者 tcp 服务的设备,可以是群晖,也可以是安装了各种服务的Windows、Linux主机,像我们之前介绍过的多媒体服务 jellyfin、图书库 Calibre-Web 等等都是跨平台、能够对外提供 http服务的软件;
  • frpc 是指 frp 客户端,可以安装在 windows电脑上,也可以安装在群晖,甚至是路由器上,建议安装的一直开机的设备上,这样能保证随时都可以访问内网;当然作为7*24小时开始的设备,要考虑功耗、噪音等等问题。

前言

升级前一直用 0.20 版本,也一直蛮稳定的,之所以要升级是因为 0.20 之后的版本带来了一些新的特性,比如:0.25 版本之后 frpc 和 frps 之间支持通过 TLS 协议加密传输,安全性会更高一些;还有诸如服务器插件等等;当然最重要的原因还是喜欢折腾。

VPS 上卸载 0.20 版

0.20 版本是用的《内网穿透利器Frp一键安装脚本及设置教程》里的脚本安装的

首先我们在VPS服务器上看看是否有更新

1
./install-frps.sh update

发现依然还是 0.20,说明这个脚本的作者已经弃坑了,只能卸载了

1
./install-frps.sh uninstall

整个过程非常简单,所以就不上图了。

停用路由器上的 0.20 版 frpc

frpc 客户端当时是安装在netgear的R6300v2,刷了梅林固件,从软件中心进去已安装中可以找到 frpc 穿透

title

先停用

title

鼠标移上去会显示卸载

title

VPS上安装 0.33 版 frps

我们在万能的 github 上找到了另一个提供一键安装脚本的大神,安装脚本已支持跟随到最新的服务版本,这正是我们需要的。

在VPS上依次执行:

  • 下载 sh 脚本

    1
    wget https://raw.githubusercontent.com/MvsCode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
  • 修改权限

    1
    chmod 700 ./install-frps.sh
  • 执行脚本安装 frps

    1
    ./install-frps.sh install

除了密码外,一路无脑回车,所以也不上过程图了。

title

群晖上安装 0.33 版 frpc

版本选择

还是继续用 docker 镜像的方式安装,在注册表中搜索 frpc,排在第一的 oldiy/frpc,因为之前我们我们用的就是它,但是它的最新版本只到 0.26

title

所以这次我们选了红框中的 stilleshan/frpc

title

因为这个版本的镜像支持 0.33 版本

title

安装设置

创建容器

还是用的默认名称

title

高级设置

  • 勾选启用自动重新启动

title

添加文件,根据你存放的 frpc.ini 添加,后面的装载路径必须是 /frp/frpc.ini

title

下面是镜像的作者提供的frpc.ini格式内容参考,请根据自己的实际进行修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[common]
server_addr = free.frp.ioiox.com
server_port = 7007
token = www.ioiox.com

[web1]
type = http
local_ip = 192.168.1.2
local_port = 5000
custom_domains = yourdomain.com

[web2]
type = https
local_ip = 192.168.1.2
local_port = 5001
custom_domains = yourdomain.com

[tcp1]
type = tcp
local_ip = 192.168.1.2
local_port = 22
remote_port = 22222
custom_domains = yourdomain.com
  • 网络

title

  • 端口

title

  • 链接

title

  • 环境

可以添加个时区,左边可变输入 TZ ,右边 输入 Asia/Shanghai,不加也不影响使用。

title

稍等一会儿就可以访问了。

参考文档

frp官网
地址:https://github.com/fatedier/frp

内网穿透利器Frp一键安装脚本及设置教程
地址:https://koolshare.cn/thread-65379-1-1.html

Frps服务端一键配置脚本,Frp最新版本:0.33.0
地址:https://github.com/MvsCode/frps-onekey

stilleshan/frpc项目
地址:https://github.com/stilleshan/frpc