~xdavidwu/listables

820750a95ed62bf562e293be4a62881fd4a49662 — Pinghao Wu 21 days ago ac2f824
flags for root and listen addr
1 files changed, 11 insertions(+), 2 deletions(-)

M server.go
M server.go => server.go +11 -2
@@ 9,6 9,7 @@ package main
import "C"

import (
	"flag"
	"html/template"
	"io/fs"
	"net"


@@ 21,6 22,9 @@ import (
)

var (
	addr = flag.String("l", "0.0.0.0:8000", "Listen on address")
	root = flag.String("r", ".", "Root of content")

	numfmtSuffix = []string{"", "K", "M", "G", "T"}

	tpl = template.Must(template.New("dirlisting").Funcs(template.FuncMap{


@@ 184,11 188,16 @@ type Data struct {
}

func main() {
	if err := syscall.Chroot("."); err != nil {
	flag.Parse()

	if err := os.Chdir(*root); err != nil {
		panic(err)
	}
	if err := syscall.Chroot(*root); err != nil {
		panic(err)
	}

	l, err := net.Listen("tcp", "0.0.0.0:8000")
	l, err := net.Listen("tcp", *addr)
	if err != nil {
		panic(err)
	}