frps在服务期间总是有很多国外IP的访问,查看客户端日志发现有频繁尝试登录ssh的行为,为此在github上找到一个相关工具可以设置防火墙并屏蔽关键设置后的IP访问。
第一次配置相关工具链,做个记录以防以后忘记。
下载frptables
使用git命令克隆仓库。
我同步到gitee了,速度会快很多。
git clone https://gitee.com/Yuan-Prjs/frptables.git
官方使用下述代码就可以运行了,但是在arm体系中是运行不了,因为仓库里提供的貌似是x86的二进制文件。
nohup ./frptables -c config.yml &
为此我们需要编译一份arm能运行的程序。
go环境配置
下载
进入下载页面:go相关文件地址
下载 go1.22.1.linux-arm64.tar.gz 该文件,下载链接直接贴出。
https://dl.google.com/go/go1.22.1.linux-arm64.tar.gz
解压&配置
将文件解压到到/usr/local目录
sudo tar -C /usr/local -xzvf go1.22.1.linux-arm64.tar.gz
然后设置环境变量,在 ~/.bashrc中添加两行
命令 sudo vim ~/.bashrc
底部添加下面两行
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
最后保存退出输入命令 更新环境
source ~/.bashrc
设置好后,就可以使用go的相关命令了。
查看版本命令
go version
当输出下述文本后,就代表环境配置成功了。
go version go1.22.1 linux/arm64
编译
在仓库中有一个文件 main.go ,对其编译后输出二进制可执行文件,但是直接输入编译命令会出现各种编译错误的提示,比如链接远程Go模块时下载超时。
# 输入命令编译
go build
需要重新设置环境来指定代理链接,比如在当前的命令框中临时设定,然后在输入上面的编译命令,最后输出的二进制可执行文件就可以直接运行了。
export GOPROXY=https://goproxy.cn,direct