A simple port scanner built in Go with both CLI and Fyne GUI entrypoints.
- Go
- Fyne GUI toolkit
Clone the repository:
git clone https://github.com/Adhvay0505/PorteusRecon.git
cd PorteusReconRun the CLI:
go run PorteusReconCLI.go -host 127.0.0.1 -start 1 -end 1024Run the GUI:
go run PorteusReconGUI.goCreate the external build directory:
mkdir -p "$HOME/PorteusRecon-dist"Build the CLI outside the repository:
go build -o "$HOME/PorteusRecon-dist/PorteusReconCLI" PorteusReconCLI.goBuild the GUI outside the repository:
go build -o "$HOME/PorteusRecon-dist/PorteusReconGUI" PorteusReconGUI.goRun the built binaries:
"$HOME/PorteusRecon-dist/PorteusReconCLI" -host 127.0.0.1 -start 1 -end 1024
"$HOME/PorteusRecon-dist/PorteusReconGUI"The repository no longer uses an in-repo dist/ directory for build artifacts.
The GUI now includes:
- Built-in TCP scan mode
- Nmap-style scan profiles with command previews
- RustScan profile selection with descriptions
When the required external scanner is available, the GUI can use it automatically. Release artifacts should still be built to a directory under the user home directory, such as $HOME/PorteusRecon-dist.
On Arch Linux, the Fyne desktop build needs system graphics libraries:
sudo pacman -Sy --needed base-devel pkgconf mesa libx11 libxcursor libxinerama libxrandr libxiBuild release artifacts outside the repository:
mkdir -p "$HOME/PorteusRecon-dist"
go build -o "$HOME/PorteusRecon-dist/PorteusReconGUI" PorteusReconGUI.go
tar -czf "$HOME/PorteusRecon-dist/PorteusReconGUI_linux_amd64.tar.gz" -C "$HOME/PorteusRecon-dist" PorteusReconGUIBy default this writes to:
$HOME/PorteusRecon-dist/PorteusReconGUI
$HOME/PorteusRecon-dist/PorteusReconGUI_linux_amd64.tar.gz