GShark 开源项目教程

随笔4个月前发布
51 0 0

GShark 开源项目教程

gsharkScan for sensitive information easily and effectively.项目地址:https://gitcode.com/gh_mirrors/gs/gshark

1. 项目的目录结构及介绍

GShark 项目的目录结构如下:




gshark/


├── cmd/


│   ├── gshark/


│   │   └── main.go


├── config/


│   ├── config.go


│   ├── config_test.go


├── docs/


├── models/


│   ├── models.go


│   ├── models_test.go


├── pkg/


│   ├── app/


│   ├── cron/


│   ├── db/


│   ├── email/


│   ├── filter/


│   ├── logger/


│   ├── rule/


│   ├── scan/


│   ├── server/


│   ├── service/


│   ├── task/


│   ├── token/


│   ├── util/


├── routers/


│   ├── routers.go


│   ├── routers_test.go


├── static/


├── templates/


├── tests/


├── vendor/


├── .gitignore


├── .travis.yml


├── Dockerfile


├── Gopkg.lock


├── Gopkg.toml


├── LICENSE


├── README.md


├── go.mod


├── go.sum

目录结构介绍

cmd/: 包含项目的入口文件。config/: 包含项目的配置文件和相关代码。docs/: 包含项目的文档。models/: 包含数据模型的定义。pkg/: 包含各种功能包,如应用逻辑、定时任务、数据库操作等。routers/: 包含路由定义。static/: 包含静态文件,如CSS、JavaScript等。templates/: 包含模板文件。tests/: 包含测试文件。vendor/: 包含依赖包。.gitignore: Git忽略文件。.travis.yml: Travis CI配置文件。Dockerfile: Docker配置文件。Gopkg.lockGopkg.toml: Dep依赖管理文件。LICENSE: 项目许可证。README.md: 项目说明文档。go.modgo.sum: Go模块文件。

2. 项目的启动文件介绍

项目的启动文件位于 cmd/gshark/main.go。这个文件是整个应用的入口点,负责初始化配置、启动服务器等。




package main


 


import (


    "github.com/madneal/gshark/config"


    "github.com/madneal/gshark/routers"


    "github.com/madneal/gshark/pkg/cron"


    "github.com/madneal/gshark/pkg/db"


    "github.com/madneal/gshark/pkg/logger"


    "github.com/madneal/gshark/pkg/util"


    "github.com/gin-gonic/gin"


    "github.com/spf13/viper"


    "log"


    "os"


    "path/filepath"


)


 


func main() {


    // 初始化配置


    config.InitConfig()


 


    // 初始化日志


    logger.InitLogger()


 


    // 初始化数据库


    db.InitDB()


 


    // 初始化定时任务


    cron.InitCron()


 


    // 初始化路由


    router := routers.InitRouter()


 


    // 启动服务器


    port := viper.GetString("server.port")


    if port == "" {


        port = "8000"


    }


 


    log.Printf("启动服务器,监听端口 %s", port)


    err := router.Run(":" + port)


    if err != nil {


        log.Fatalf("服务器启动失败: %v", err)


    }


}

3. 项目的配置文件介绍

项目的配置文件位于 config/config.go。这个文件定义了项目的配置结构和加载配置的方法。




package config


 


import (


    "github.com/spf13/viper"


    "log"


)


 


type Config struct {


    Server   ServerConfig


    Database DatabaseConfig


    Email    EmailConfig


    Logger   LoggerConfig


}


 


type ServerConfig struct {


   

gsharkScan for sensitive information easily and effectively.项目地址:https://gitcode.com/gh_mirrors/gs/gshark

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...