Home

Awesome

Crobat SDK - Crystal

Crystal SDK and command line client for SonarSearch/Crobat.

Download

Prebuilt binary releases available here. Prebuilt Docker container available here.

To grab the latest release:

wget https://github.com/PercussiveElbow/crobat-sdk-crystal/releases/latest/download/crobat_client && chmod +x ./crobat_client

To run the latest Docker container (~20MB) sudo docker run -it ghcr.io/percussiveelbow/crobat:latest

Usage - Client

Client

Usage: ./crobat_client [arguments]
    -q QUERY, --query                Target domain, IP or IP range to query.
    -s TYPE, --type                  Search type. (SUBDOMAIN, ALL, REVERSE TLD)
    -f FORMAT, --format              File output format. (JSON, TXT, CSV)
    -o FILE, --output                File output location.
    -h, --help                       Show help.

E.g ./crobat_client -q twitter.com -s subdomain

Client - Docker

To build and use the Docker container:

 sudo docker build . -t crobat && sudo docker run -it crobat -q twitter.com -s subdomain

Usage - SDK

Add the SDK as a dependency within your shards.yml:

dependencies:
  crobat:
      github: percussiveelbow/crobat-sdk-crystal

Then simply require "crobat/crobat_sdk" at the top of your file.

The client object can then be instantiated and used like below.

require "crobat/crobat_sdk"

client = Crobat::CrobatSDK.new("https://sonar.omnisint.io")

# Retrieving subdomains via SDK
puts(client.retrieve_subdomains("twitter.com"))

# Retrieving all results via SDK
puts(client.retrieve_all("twitter.com"))

# Retrieving tlds via SDK
puts(client.retrieve_tlds("twitter.com"))

# Retrieving reverse info for an IP via SDK
puts(client.retrieve_reverse("8.8.8.8"))

# Retrieving reverse info for an IP range via SDK
puts(client.retrieve_reverse_range("95.138.157.0/16"))

Building manually

Building the client

crystal build --static --release src/crobat_client.cr

Building the SDK

crystal build --static --release src/crobat_sdk.cr