导读 frp在做网站转发的时候,其默认的404页面上的文字带有frp的链接,间接得暴漏服务器使用frp,可能会导致其他端口被扫描爆破。这样麻烦能避免最好。我们可以下载源码,自行修改404页面之后重新编译frp

配置Go环境
安装依赖
# Ubuntu
$ sudo apt-get install bison ed gawk gcc libc6-dev make
# CentOS
$ sudo yum install gcc
下载安装Go

Golang各版本的下载地址 https://golang.org/dl/

# 下载当前最新版的
$ wget https://golang.org/dl/go1.16.2.linux-amd64.tar.gz
# 解压到/usr/local
$ sudo tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz
# 添加环境变量
$ vim /etc/profile
在文件的底部添加以下两行:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/usr/local/gopath
:wq 保存退出后,重新加载profile文件
$ source /etc/profile

测试Go环境,有输出即可

$ go version
下载修改frp
下载frp

通过go get下载frp的源码

$ go get github.com/fatedier/frp

go get是默认下载到go环境的gopath目录下面.当前最新frp是v0.36.2,如果frp有版本号更新可以自行到进入到目录

$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2

frp 的http 404页面写死在frp目录的pkg/util/vhost/resource.go文件里

$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2/pkg/util/vhost
$ vi resource.go

在resource.go文件里面的const这节,可以很清楚看到http 404的html配置,做一下简单的修改,去掉能暴露出来的frp的标识。
原文件内容是

根据需求简单修改

:wq! 强制修改保存退出

重新编译

修改完文件,返回到frp目录

$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2
$ make

稍等一会,会有一堆输出。编译完之后,frpc和frps在fatedier/frp@v0.36.2/bin目录里

$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2/bin

因为我们只需要修改frps的404页面,替换编译好的frps就行了。frp在有http 404错误就是我们修改过的页面

本文原创地址:https://www.linuxprobe.com/self-make-frp.html编辑:倪家兴,审核员:逄增宝