32 lines
773 B
Go
32 lines
773 B
Go
// Command pcap-web-tools serves a web UI with tools for pcap packet captures.
|
|
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
"time"
|
|
|
|
"pcap-web-tools/internal/web"
|
|
)
|
|
|
|
func main() {
|
|
addr := flag.String("addr", "localhost:8080", "listen address")
|
|
maxUploadMB := flag.Int64("max-upload-mb", 1024, "largest accepted file upload in MB")
|
|
flag.Parse()
|
|
|
|
srv, err := web.New(web.Config{MaxUploadBytes: *maxUploadMB * 1_000_000})
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
httpSrv := &http.Server{
|
|
Addr: *addr,
|
|
Handler: srv,
|
|
ReadHeaderTimeout: 10 * time.Second,
|
|
}
|
|
log.Printf("listening on http://%s", *addr)
|
|
log.Printf("uploads larger than 1 MB are spooled to %s (set TMPDIR to change)", os.TempDir())
|
|
log.Fatal(httpSrv.ListenAndServe())
|
|
}
|