package main import ( "fmt" "log" "net/http" "time" "github.com/debridmediamanager.com/zurg/internal/config" "github.com/debridmediamanager.com/zurg/internal/dav" "github.com/debridmediamanager.com/zurg/internal/torrent" "github.com/hashicorp/golang-lru/v2/expirable" ) func main() { c, cErr := config.LoadZurgConfig("./config.yml") if cErr != nil { log.Panicf("Config failed to load: %v", cErr) } t := torrent.NewTorrentManager(c) cache := expirable.NewLRU[string, string](1e4, nil, time.Hour) mux := http.NewServeMux() dav.Router(mux, c, t, cache) addr := fmt.Sprintf(":%s", c.GetPort()) log.Printf("Starting server on %s\n", addr) err := http.ListenAndServe(addr, mux) if err != nil { log.Panicf("Failed to start server: %v", err) } }