mirror of
https://github.com/Pacerino/CaddyProxyManager.git
synced 2026-07-24 14:34:15 -04:00
Route host changes through the selected Caddy provider, add auth routes and the frontend-dir serving toggle, seed a default admin user on first run, and validate space/comma separated domain lists via a custom validator. Includes validator tests.
43 lines
920 B
Go
43 lines
920 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
"github.com/Pacerino/CaddyProxyManager/internal/api"
|
|
"github.com/Pacerino/CaddyProxyManager/internal/auth"
|
|
"github.com/Pacerino/CaddyProxyManager/internal/config"
|
|
"github.com/Pacerino/CaddyProxyManager/internal/database"
|
|
"github.com/Pacerino/CaddyProxyManager/internal/jobqueue"
|
|
"github.com/Pacerino/CaddyProxyManager/internal/logger"
|
|
)
|
|
|
|
var (
|
|
version = "3.0.0"
|
|
commit = "abcdefgh"
|
|
)
|
|
|
|
func main() {
|
|
config.Init(&version, &commit)
|
|
if err := auth.EnsureKey(); err != nil {
|
|
logger.Error("KeyBootstrapError", err)
|
|
}
|
|
database.NewDB()
|
|
jobqueue.Start()
|
|
|
|
// HTTP Server
|
|
api.StartServer()
|
|
|
|
// Clean Quit
|
|
irqchan := make(chan os.Signal, 1)
|
|
signal.Notify(irqchan, syscall.SIGINT, syscall.SIGTERM)
|
|
|
|
for irq := range irqchan {
|
|
if irq == syscall.SIGINT || irq == syscall.SIGTERM {
|
|
logger.Info("Got ", irq, " shutting server down ...")
|
|
break
|
|
}
|
|
}
|
|
}
|