start mDNS

This commit is contained in:
2026-05-29 14:48:57 -04:00
parent 230e58c286
commit a93fa2f61f
5 changed files with 112 additions and 9 deletions

View File

@@ -8,7 +8,10 @@ import (
"lash/internal/app"
"lash/internal/errx"
share "lash/internal/shareLink"
"net"
"net/http"
"github.com/hashicorp/mdns"
)
var versionFlag = flag.Bool("version", false, "Print out version and exit.")
@@ -30,15 +33,27 @@ func main() {
srv := app.New(&ctx)
// TODO(vxc): Make this more portable
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://0.0.0.0:%d", *port)
server := http.Server{
Addr: fmt.Sprintf(":%d", *port),
Handler: srv,
}
info := []string{"lash"}
service, err := mdns.NewMDNSService("lash", "__foobar.__tcp", "", "", *port, []net.IP{net.ParseIP(share.GetLocalIP())}, info)
if err != nil {
errx.FatalPerror(err)
}
mdns_server, err := mdns.NewServer(&mdns.Config{Zone: service})
defer mdns_server.Shutdown()
if err != nil {
errx.FatalPerror(err)
}
// TODO(vxc): Make this more portable
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://0.0.0.0:%d", *port)
if err := server.ListenAndServe(); err != nil {
errx.FatalPerror(err)
}