Skip to content

GoScouter/goscouter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoScouter Logo

GoScouter

A modular toolkit for scouting, probing, and analyzing networks.

Fast • Extensible • Cross-Platform

Documentation · Downloads · Issues


Overview

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.

Key Features

  • 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 Support

Platform Supported Notes
Linux Primary development platform
macOS Intel & Apple Silicon
Windows Windows 10 / 11

Installation

Install script

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 | sh

Windows (PowerShell)

irm https://raw.githubusercontent.com/GoScouter/GoScouter/main/scripts/install.ps1 | iex

By 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 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 ~/bin

Manual download

Alternatively, 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/gs

Build from source

Building 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 build

make 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-arm64
make release-build GOOS=windows GOARCH=amd64   # dist/gs-windows-amd64.exe

Other Makefile targets

Target Description
make build Build the gs binary
make run Build and run directly via go run
make test Run the test suite with the race detector
make fmt Format the source with go fmt
make vet Run go vet
make tidy Tidy go.mod / go.sum
make clean Remove build artifacts

Usage

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.com

Once inside the shell, type help to list the available built-in commands:

Example session

$ gs --target https://example.com
# ... banner ...
gs> help              # list built-in commands
gs> info              # show tool information
gs> install https://github.com/GoScouter/some-module
gs> exit              # leave the shell (or press Ctrl-D)
CLI interface demo

demo1

Scanning demo

demo2

Contributing

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.

About

Toolkit for scouting, probing, and analyzing the net

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors