搭建FRP服务端的一次吃瓜日记

最近域主一如往常我又在折腾我的服务器了

顺便租了一个新的日本VPS,准备把内网的FRP穿透到公网。

这次搭建FRP服务端的时候吃了一次瓜,且听本文慢慢分解:

FRP是一个内网穿透工具,是C/S模式的程序,分为客户端和服务端部署,在公网的VPS搭建服务器,可以转发客户端内网的服务……

当然这不是本文吃瓜的重点,关于FRP的介绍后续再填坑(

那么搭建FRP的服务端我一直使用的是GitHub上MvsCode的一键脚本:

https://github.com/MvsCode/frps-onekey

之前在旧的VPS,使用这个脚本搭建的FRPS,一直可以运行。原理是判断系统位数,从官方下载对应版本的服务端,然后建立系统服务和指令运行。几乎再正常不过了吧!

但是在新VPS搭建FRP的时候,怎么也启动不起来,无论是版本号还是配置文件都没有问题,第一情况以为新的VPS太便宜了(性能也很烂),难道是ARM模拟的LXC容器?差点要提交ticket工单退款之际,我突然想到,难道是脚本的问题?

于是我去比对脚本日志:

草,怎么下的是arm64的版本?

那为啥下的是ARM的版本?这要从脚本的GitHub Repo开始说起

大概是在昨天晚上(5月9号),可能是作者的API被盗,根据commit的提交记录,repo的内容全部被删,只剩一个下载链接指向名为「SetupX.exe」的Readme文件,这个URL链接还是Discord的CDN(雾)

但随后一个小时作者就恢复(补档)了脚本文件,整件事发生只有一个小时,那时候我还在睡觉……不过根据中毒Readme的URL用Google搜了一下,应该是一次大规模的Repo中毒现象。不过这和下载到ARM版本又有什么关系呢?

再去看脚本的issues区,发现有不少用户提出了:将脚本中下载地址判断系统位元代码中的amd64更换成arm64、386替换成armhf,以适配ARM处理器设备的方法:

https://github.com/MvsCode/frps-onekey/issues/59

但是这些琪露诺用户只考虑了系统位元(Bit)、并没有考虑到架构(Arch)的判断(恼),导致脚本Repo中毒以后执行下载的全变成arm版本,只能猜测是作者补档的时候没有编写判断架构的代码(

不过解决方案也很简单,只要改回去判断amd64的版本就可以了,或者自己用wget下载二进制替换到 /usr/local/frps/ 目录下。

现在就是慢慢等待再有人提出x86更新不能用的issue吧……

下篇再填FRP客户端(frpc)穿透WP博客的坑……

《搭建FRP服务端的一次吃瓜日记》上的一个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注