watchyourlan/backend/cmd/WatchYourLAN/main.go
2025-09-06 01:23:39 +07:00

52 lines
1.1 KiB
Go

// @title WatchYourLAN API
// @version 0.1
// @description Lightweight network IP scanner written in Go
// @contact.url https://github.com/aceberg/WatchYourLAN
// @license.name MIT
// @license.url https://opensource.org/licenses/MIT
// @BasePath /api/
package main
import (
"flag"
// "net/http"
// _ "net/http/pprof"
// Import Swagger docs
_ "github.com/aceberg/WatchYourLAN/docs"
"github.com/aceberg/WatchYourLAN/internal/conf"
"github.com/aceberg/WatchYourLAN/internal/gdb"
"github.com/aceberg/WatchYourLAN/internal/routines"
"github.com/aceberg/WatchYourLAN/internal/web"
)
const dirPath = "/data/WatchYourLAN"
const nodePath = ""
func main() {
dirPtr := flag.String("d", dirPath, "Path to config dir")
nodePtr := flag.String("n", nodePath, "Path to node modules")
flag.Parse()
// pprof - memory leak detect
// go tool pprof -alloc_space http://localhost:8085/debug/pprof/heap
// (pprof) web
// (pprof) list db.Select
//
// go func() {
// http.ListenAndServe("localhost:8085", nil)
// }()
// Make AppConfig
conf.Start(*dirPtr, *nodePtr)
gdb.Start()
routines.ScanRestart()
routines.HistoryTrim()
web.Gui()
}