前言

在论坛发现一个好用的工具箱源码,内置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目录找到以下页面进行修改。

  1. footer.html(页脚部分)
  2. link.html(链接部分)
  3. 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package main

import (
"github.com/gin-gonic/gin"
"toolbox/internal/handler"
"toolbox/internal/route"
"toolbox/internal/utils/log2"
"toolbox/internal/web_model"
)

func main() {
if web_model.InitWebModel("./web.json") != nil {
return
}
r := gin.Default()
go handler.InitSiteMap()
route.WebRule(r)
log2.Logf("run in 0.0.0.0:29433")
log2.IfErrPrt(r.Run(":29433"))
}

注意:端口改后,需要把相应端口的防火墙规则打开,允许外部访问该端口。

站点地图

修改/toolbox/config/config.go/root/data/golang/toolbox/internal/handler/web.go两个文件

  • config.go
1
2
3
4
package config

var AppHost = "tool.ylbolg.top" // 更新为新的域名
var AppName = "以蓝工具"
  • web.go

大概33行左右

web.go

web页面打包发布

项目根目录执行:

1
go build -o myapp

myapp是打包后二进制文件的名字,可自定义

首次运行会从github下载相关依赖,运行成功后没有任何报错,会在项目根目录生成myapp文件

后台运行并开机自启

将 Go 应用程序 myapp 设为后台运行并实现开机自启

  1. 创建 Systemd 服务文件: 在 /etc/systemd/system/ 目录下创建一个新的服务文件,例如 myapp.service

    1
    sudo nano /etc/systemd/system/myapp.service

    将以下内容复制到文件中:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Description=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 是你的工作目录。

  2. 重载 Systemd: 运行以下命令以让 Systemd 识别新的服务文件:

    1
    sudo systemctl daemon-reload
  3. 启动服务: 通过以下命令启动你的 Go 应用程序:

    1
    sudo systemctl start myapp.service
  4. 设置开机自启: 运行以下命令使服务在开机时自动启动:

    1
    sudo systemctl enable myapp.service
  5. 检查服务状态: 你可以通过以下命令检查服务的状态:

    1
    sudo systemctl status myapp.service

这样设置后, Go 应用程序就会在后台运行,并且在每次开机时自动启动。

结语

原项目导航栏的网络和站长模块的下拉标签有问题,做下修复。需要本期教程修复版本源码的,后台回复toolbox获取。