isosilo/main.go

32 lines
636 B
Go
Raw Normal View History

2026-03-23 09:15:52 +01:00
package main
import (
"flag"
"fmt"
"log"
"net/http"
"os"
"isosilo/internal/handlers"
)
func main() {
2026-03-23 12:11:02 +01:00
dir := flag.String("dir", ".", "Directory to serve")
addr := flag.String("addr", ":8080", "Address")
2026-03-23 09:15:52 +01:00
flag.Parse()
2026-03-23 12:11:02 +01:00
if info, err := os.Stat(*dir); err != nil || !info.IsDir() {
log.Fatalf("Invalid directory: %s", *dir)
2026-03-23 09:15:52 +01:00
}
mux := http.NewServeMux()
h := handlers.New(*dir)
mux.HandleFunc("/browse/", h.BrowseISO)
mux.HandleFunc("/file/", h.DownloadFile)
2026-03-23 11:59:52 +01:00
mux.HandleFunc("/raw/", h.RawFile)
2026-03-23 12:13:35 +01:00
mux.HandleFunc("/", h.ListISOs)
2026-03-23 09:15:52 +01:00
2026-03-23 12:11:02 +01:00
fmt.Printf("ISOSilo running at %s\n", *addr)
2026-03-23 09:15:52 +01:00
log.Fatal(http.ListenAndServe(*addr, mux))
}