Files
lash/bin/main.go
2026-06-04 07:30:08 -04:00

45 lines
923 B
Go

package main
import (
_ "embed"
"flag"
"fmt"
"lash"
"lash/internal/app"
"lash/internal/errx"
share "lash/internal/shareLink"
"net/http"
)
var versionFlag = flag.Bool("version", false, "Print out version and exit.")
var port = flag.Int("p", 1337, "Set the port for LASH exchanges.")
var numberOfShares = flag.Int("n", -1, "Number of shares to allow before killing the server.")
func main() {
flag.Parse()
if *versionFlag {
fmt.Print("lash/vxc v", lash.Version)
return
}
ctx := lash.LashContext{
N: *numberOfShares,
}
srv := app.New(&ctx)
server := http.Server{
Addr: fmt.Sprintf(":%d", *port),
Handler: srv,
}
errx.Log("Your share link is %s", share.GenerateShareLink(*port))
errx.Log("Your token is \033[1;92m%s\033[0m", lash.Token)
errx.Log("starting server at http://%s:%d", share.GetLocalIP(), *port)
if err := server.ListenAndServe(); err != nil {
errx.FatalPerror(err)
}
}