Get Started
GoScouter (gs) is a fast, no-nonsense toolkit for scouting, probing, and analyzing the net. It runs as an interactive terminal application: you point it at a target site, and it drops you into a shell where built-in commands and modules gather information about that target.
GoScouter is written in Go and runs on Linux, macOS, and Windows.
Install
The install script picks the right prebuilt binary for your platform from the latest release, verifies its SHA-256 checksum, and installs it. Nothing else is needed — the binary is self-contained.
curl -fsSL https://raw.githubusercontent.com/GoScouter/goscouter/main/scripts/install.sh | shirm https://raw.githubusercontent.com/GoScouter/goscouter/main/scripts/install.ps1 | iexBy default gs lands in /usr/local/bin when that's writable and ~/.local/bin otherwise; on Windows it goes to %LOCALAPPDATA%\Programs\GoScouter, which the script adds to your user PATH.
Both scripts take the same options:
| Linux / macOS | Windows | Environment | Description |
|---|---|---|---|
--version <tag> | -Version <tag> | GS_VERSION | Release tag to install (default: latest) |
--dir <path> | -InstallDir <path> | GS_INSTALL_DIR | Install directory |
--no-verify | -NoVerify | GS_NO_VERIFY=1 | Skip the checksum check |
| — | -NoPath | — | Leave PATH untouched |
A piped script can't take flags, so pass the environment variables instead:
GS_VERSION=v1.2.3 GS_INSTALL_DIR=~/bin \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/GoScouter/goscouter/main/scripts/install.sh)"You can also download a binary yourself from the Releases page and drop it on your PATH.
Build from source
Building needs Go 1.26+, and optionally make — the repository ships a Makefile with the common targets.
git clone https://github.com/GoScouter/goscouter.git
cd goscouter
make buildThis produces a gs executable in the project root. Without make, the equivalent build is:
go build -o gs ./cmdOn Windows the binary is gs.exe; substitute it for ./gs in the commands below.
Run
GoScouter always needs a --target:
./gs --target https://example.comWithout a target it prints usage and exits:
Usage: gs --target <example.com>You can also run it straight from source without producing a binary:
go run ./cmd --target https://example.comHow it works
When you launch gs, it walks through a short startup sequence:
Prints the banner with the build version and time.
Enters the interactive shell. GoScouter records the target, puts the terminal into raw mode, loads its modules, and shows the prompt:
██████╗ ██████╗ ███████╗ ██████╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗ ██╔════╝ ██╔═══██╗██╔════╝██╔════╝██╔═══██╗██║ ██║╚══██╔══╝██╔════╝██╔══██╗ ██║ ███╗██║ ██║███████╗██║ ██║ ██║██║ ██║ ██║ █████╗ ██████╔╝ ██║ ██║██║ ██║╚════██║██║ ██║ ██║██║ ██║ ██║ ██╔══╝ ██╔══██╗ ╚██████╔╝╚██████╔╝███████║╚██████╗╚██████╔╝╚██████╔╝ ██║ ███████╗██║ ██║ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ GS dev • unknown Target: https://example.com (gs) ❯Runs commands and modules. At the
(gs) ❯prompt you type commands to scout the target. GoScouter ships with a set of built-in commands and built-in modules, and you can install more — each module contributes its own command that runs against the current target.
Your first scout
Every module is invoked by name at the prompt. Try the built-ins against your target:
(gs) ❯ http
(gs) ❯ dns
(gs) ❯ subdomains
(gs) ❯ scanhttp fingerprints the response, dns pulls the domain's records, subdomains enumerates subdomains from certificate transparency, and scan crawls the whole domain and writes an HTML graph. See Modules for the full list and their options.
Type help at any time to list every available command, or info to see the build version, platform, and project links:
(gs) ❯ help
(gs) ❯ infoLine editing and history
The prompt supports basic line editing while you type:
- Backspace deletes the character before the cursor.
- ↑ / ↓ arrows scroll through the commands you've already run this session, so you can re-run or tweak a previous command without retyping it.
Leaving the shell
- Type
exitto quit. - Ctrl-D on an empty line exits the shell.
- Ctrl-C abandons the current line without quitting.
Platform support
GoScouter is pure Go and its terminal handling works across platforms, so the same gs binary behaves the same on:
- Linux
- macOS
- Windows
Build on the platform you want to run on, or cross-compile with Go's built-in GOOS/GOARCH support:
# Example: build a Windows binary from any platform
GOOS=windows GOARCH=amd64 go build -o gs.exe ./cmdWhere to next
- Commands — the built-in shell commands, including installing and removing modules.
- Modules — the scouting capabilities that ship in the box and how to add more.
- SDK Reference — build your own module in Go (or any language).
- Publishing a Module — package and share a module from its Git repository.
