Skip to content

Instantly share code, notes, and snippets.

Last active July 20, 2024 04:04
Show Gist options
  • Save paulmach/7271283 to your computer and use it in GitHub Desktop.
Save paulmach/7271283 to your computer and use it in GitHub Desktop.
Simple Static File Server in Go
Serve is a very simple static file server in go
-p="8100": port to serve on
-d=".": the directory of static files to host
Navigating to http://localhost:8100 will display the index.html or directory
listing file.
package main
import (
func main() {
port := flag.String("p", "8100", "port to serve on")
directory := flag.String("d", ".", "the directory of static file to host")
http.Handle("/", http.FileServer(http.Dir(*directory)))
log.Printf("Serving %s on HTTP port: %s\n", *directory, *port)
log.Fatal(http.ListenAndServe(":"+*port, nil))
Copy link


Copy link

Am glad you found it useful

Copy link

hmmftg commented Dec 11, 2023

Hi, I've added base URL as flag in this link

Copy link

ataha322 commented Jan 4, 2024


Does anybody happen to know why browsers try to display the old directory listing, even though the server is now launched from a different directory?

It's the same on my firefox on Linux machine and chrome on my android. If I reopen the page it'll show the old listing, even though it gets 404 if files are accessed. If I open in incognito or new browser, everything is fine and the new listing is loaded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment