A modular toolkit for scouting, probing, and analyzing networks.
Fast • Extensible • Cross-Platform
GoScouter is a modular toolkit for scouting, probing, and analyzing networks. It bundles a collection of composable modules behind a single, consistent command-line interface — so you can discover hosts, enumerate services, and inspect network behavior without juggling a dozen separate tools.
Built with a focus on speed and extensibility, GoScouter is designed to grow with your workflow: enable only the modules you need, script it into your pipelines, and extend it with your own probes.
Use responsibly. GoScouter is intended for authorized security testing, research, and network administration only. Always ensure you have explicit permission to scan and probe the networks and hosts you target.
- Modular architecture — Each capability lives in its own module. Load what you need, skip what you don't.
- Cross-platform — First-class support for macOS, Linux, and Windows.
- Extensible — A clean plugin surface makes it straightforward to add your own probes and analyzers.
- Unified CLI — One consistent command-line interface across every module.
- Analysis-ready output — Human-readable by default, with machine-friendly formats for scripting and automation.
| Platform | Status |
|---|---|
| Linux | OK |
| macOS | OK |
| Windows | N/A |
The install script picks the right prebuilt binary for your platform from the latest release, verifies its SHA-256 checksum, and installs it.
Linux and macOS
curl -fsSL https://raw.githubusercontent.com/GoScouter/GoScouter/main/scripts/install.sh | shBy default gs lands in /usr/local/bin when that's writable and ~/.local/bin
otherwise.
Both scripts take the same options:
| Linux / macOS | Environment | Description |
|---|---|---|
--version <tag> |
GS_VERSION |
Release tag to install (default: latest) |
--dir <path> |
GS_INSTALL_DIR |
Install directory |
--no-verify |
GS_NO_VERIFY=1 |
Skip the checksum check |
A piped script can't take flags, so either use the environment variables:
GS_VERSION=v1.2.3 GS_INSTALL_DIR=~/bin \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/GoScouter/GoScouter/main/scripts/install.sh)"or download it first and run it with flags:
curl -fsSL https://raw.githubusercontent.com/GoScouter/GoScouter/main/scripts/install.sh -o install.sh
sh install.sh --version v1.2.3 --dir ~/binAlternatively, grab the binary for your platform from the
Releases page and put it on
your PATH:
chmod +x gs-linux-amd64
sudo mv gs-linux-amd64 /usr/local/bin/gsBuilding from source requires the Go toolchain
(1.26 or newer), make, and git.
# Clone the repository
git clone https://github.com/GoScouter/GoScouter.git
cd GoScouter
# Build the binary (produces ./gs)
make buildmake build compiles the project from ./cmd and produces a gs binary in
the current directory. To cross-compile a release binary for a specific
platform, use the release-build target:
# Cross-compile for a specific OS/arch — output lands in dist/
make release-build GOOS=linux GOARCH=amd64 # dist/gs-linux-amd64
make release-build GOOS=darwin GOARCH=arm64 # dist/gs-darwin-arm64gs --install <module-url@version>If version attribute is absent then it takes the latest version of the module, that is specified in manifest.json
gs --uninstall <author:name>GoScouter runs as an interactive shell. Point it at a target with the
--target flag (the target must include an http:// or https://
prefix), and GoScouter drops you into its prompt:
gs --target https://example.comOnce inside the shell, type help to list the available built-in commands:
$ gs --target https://example.com
# ... banner ...
gs> help # list of commands
gs> info # show tool information
gs> install https://github.com/GoScouter/some-module
gs> exit # leave the shell (or press Ctrl-D)Contributions are welcome! Whether it's a bug report, a feature request, a new module, or documentation improvements, we'd love your help.
- Found a bug or have an idea? Open an issue.
- Want to contribute code? Fork the repository, create a branch, and open a pull request.


