标签 frp 下的文章

前言
frp 是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务,支持 TCP、UDP、HTTP、HTTPS 等协议类型,并且 web 服务支持根据域名进行路由转发。

Github: https://github.com/fatedier/frp

当然frp作者已经提供多达20种已编译好的各种版本可以供大家使用,几乎不需要自己编译。

但是有时候我们需要自定义一些内容,这时候就需要自行编译了。

搭建GO环境
1、安装依赖

Ubuntu

sudo apt-get install bison ed gawk gcc libc6-dev make

CentOS

sudo yum install gcc

2、搭建环境

下载当前最新版的

wget https://golang.org/dl/go1.16.7.linux-amd64.tar.gz

解压到/usr/local

sudo tar -C /usr/local -xzf go1.16.7.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环境搭建完毕。

下载编译frp

go get github.com/fatedier/frp 
cd /root/go/src/github.com/fatedier/frp
make

make 编译完成后,frp里会多出一个bin目录,放着frpc和frps,对应客户端和服务端的可执行文件。服务端上只需要用到 frps,可以删掉 frpc,客户端则相反。

修改404页面

404页面在源码路径pkg/util/vhost/resource.go文件里

使用systemctl来控制启动

sudo vim /lib/systemd/system/frps.service

在frps.service里写入以下内容

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/root/frp/frps -c /root/frp/frps.ini

[Install]
WantedBy=multi-user.target