35 lines
769 B
Go
35 lines
769 B
Go
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)
|
|
}
|
|
}
|