基于go搭建一个工具箱
前言
在论坛发现一个好用的工具箱源码,内置100多个小工具,所有工具都可脱离网络离线本地使用!
源码原本带后端,后有大佬使用go语言去后端打包并开源到github。
项目地址:https://github.com/xiaoming6662bsb/uso.link?tab=readme-ov-file
在线体验地址:https://tool.ylbolg.top
注意:项目是在linux系统打包的,所以需要在在linux系统下操作。
下面分享下详细的搭建和自定义的过程
快速使用
把toolbox.zip
中的文件解压到一个目录,比如/root/data/golang/toolbox
创建目录
1 | mkdir -p /root/data/golang/toolbox |
移动到目录
1 | cd /root/data/golang/toolbox |
把toolbox.zip上传到这个目录,并解压
1 | unzip toolbox.zip |
然后执行以下命令
1 | ./myapp |
确保服务器的29433端口打开
浏览器输入ip:29433即可访问
自定义
可自定义网页的的相关信息,根据自定义的需求,下面以是否需要重新go打包来说明。
无需重新打包
在/toolbox/vcp
目录找到以下页面进行修改。
- footer.html(页脚部分)
- link.html(链接部分)
- header.html(导航栏部分)
web.json(浏览器标签部分)
web.json改完后重新执行./myapp
重新打包
网站端口、网站站点地图想修改的话需要修改相关.go
文件,然后重新go打包。
注意点:设备需要能访问github,打包过程会从github下载相关依赖。
安装 Go
首先,下载 Go 的最新版本:
1 | wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz |
然后解压并安装:
1 | sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz |
配置环境变量
打开你的 shell 配置文件(例如 ~/.bashrc
或 ~/.zshrc
),添加以下行:
1 | export PATH=$PATH:/usr/local/go/bin |
然后,更新当前 shell 的配置:
1 | source ~/.bashrc |
验证安装
运行以下命令检查 Go 是否安装成功:
1 | go version |
输出版本信息即安装成功
创建项目目录
项目根目录的名字需要和go.mod
的第一行module
后面的一致,且每个.go
文件的import部分的根目录也要一致。否则无法正确载入本地配置文件。
以下默认是toolbox
作为项目根目录
把当前的myapp
删掉
端口自定义
改main.go
文件中29433,例如想ip:8080访问,需要把29433改为8080
1 | package main |
注意:端口改后,需要把相应端口的防火墙规则打开,允许外部访问该端口。
站点地图
修改/toolbox/config/config.go
和/root/data/golang/toolbox/internal/handler/web.go
两个文件
- config.go
1 | package config |
- web.go
大概33行左右
web页面打包发布
项目根目录执行:
1 | go build -o myapp |
myapp
是打包后二进制文件的名字,可自定义
首次运行会从github下载相关依赖,运行成功后没有任何报错,会在项目根目录生成myapp
文件
后台运行并开机自启
将 Go 应用程序 myapp
设为后台运行并实现开机自启
创建 Systemd 服务文件: 在
/etc/systemd/system/
目录下创建一个新的服务文件,例如myapp.service
:1
sudo nano /etc/systemd/system/myapp.service
将以下内容复制到文件中:
1
2
3
4
5
6
7
8
9
10
11Description=My Go Application
After=network.target
[Service]
ExecStart=/root/data/golang/toolbox/myapp
WorkingDirectory=/root/data/golang/toolbox
Restart=always
User=root
[Install]
WantedBy=multi-user.target这里
ExecStart
指向你的二进制文件路径,WorkingDirectory
是你的工作目录。重载 Systemd: 运行以下命令以让 Systemd 识别新的服务文件:
1
sudo systemctl daemon-reload
启动服务: 通过以下命令启动你的 Go 应用程序:
1
sudo systemctl start myapp.service
设置开机自启: 运行以下命令使服务在开机时自动启动:
1
sudo systemctl enable myapp.service
检查服务状态: 你可以通过以下命令检查服务的状态:
1
sudo systemctl status myapp.service
这样设置后, Go 应用程序就会在后台运行,并且在每次开机时自动启动。
结语
原项目导航栏的网络和站长模块的下拉标签有问题,做下修复。需要本期教程修复版本源码的,后台回复toolbox
获取。