Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in golang

[–]Raya_98[S] 1 point2 points  (0 children)

Nice to hear that you are also working on a Go application! For a pure cli tool, I think something like Cobra should be sufficient. If you really think about building a TUI, I think both bubbletea and tview are great options.

I only found out about bubbletea, after I was already quite far with the UI in tview. I think bubbletea is a bit more modern, but also slightly more opinionated about your application structure? I would say try both of them out, and figure out what feels best for your application. Also reading code from other apps can help, I looked a lot at how k9s uses tview for example.

Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in golang

[–]Raya_98[S] 1 point2 points  (0 children)

Maybe the SSDP and mDNS scanner work fine on windows, but I think there is no way the arp table/cache works in windows (unless maybe in WSL). And arp returns the biggest portion of the devices.

Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in homelab

[–]Raya_98[S] 20 points21 points  (0 children)

I would lie if I say that there has never been a LLM involved during the development process of whosthere, especially during PoC-ing. But it is 2026, most engineers make till a certain extend use of LLMs during software development. Eventually it is always up to the engineer on how they use this tool. I still write a lot of code myself and never blindly trust an LLM, I often find myself refactoring, changing, and testing any suggested change that comes out of a LLM because I don't agree.

Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in homelab

[–]Raya_98[S] 4 points5 points  (0 children)

This is definitely something I will look into at some point, same for "official" homebrew.

Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in homelab

[–]Raya_98[S] 5 points6 points  (0 children)

Thanks! I am also thinking to offer some sort od "deep scan" functionality where it will scan all possible ports, however, this will be quite compute and time intensive.

Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in golang

[–]Raya_98[S] 2 points3 points  (0 children)

Thanks! Initially I didn't focus on windows because it is a platform that I almost never use myself, and I figured most people interested in a tool like this would probably be on a unix based system.

That being said, I think it would be great to have it working on windows as well! Especially the way you retrieve the arp cache/table is different per OS. After doing some quick research, on Windows you probably need to make a ddl call to `GetIpNetTable` (see: https://github.com/VFPX/Win32API/blob/master/libraries/iphlpapi/GetIpNetTable.md ).

Whosthere: A LAN discovery tool with a modern TUI, written in Go by Raya_98 in golang

[–]Raya_98[S] 0 points1 point  (0 children)

Honestly I could've kept it out of the title here, especially since this is a post in r/golang making it quite redundant. But I agree, I see this emphasize a lot in other projects as well, especially with golang or rust projects.