package main import ( "embed" _ "embed" "flag" "fmt" "io/fs" "net/http" ) //go:embed static var StaticFilesDir embed.FS var ( // flags FlagInterface = flag.String("i", "", "network interface") FlagPort = flag.Uint("p", 8080, "network port") ) func main() { flag.Parse() staticFiles, err := fs.Sub(StaticFilesDir, "static") if err != nil { panic(err) } http.Handle("/api/", http.StripPrefix("/api", http.HandlerFunc(ProxyRequest))) http.Handle("/", http.FileServer(http.FS(staticFiles))) http.ListenAndServe(fmt.Sprintf("%s:%d", *FlagInterface, *FlagPort), nil) }