Skip to content

soxoj/osint-cli-tool-skeleton

Repository files navigation

OSINT cli tool skeleton

PyPI PyPI - Downloads Views

Template for new OSINT command-line tools.

Press button "Use this template" to generate your own tool repository. See INSTALL.md for further setup.

Features

  • Detailed readme
  • Process N targets from args, text files, stdin
  • Make TXT, CSV reports
  • Proxy support
  • Ready to publish Python package

Usage

$ python3 -m osint-cli-tool-skeleton <target>

# or simply

$ osint_cli_tool_skeleton <target>

# or locally without installing

$ ./run.py <target>
Targets

Specify targets one or more times:

$ osint_cli_tool_skeleton www.google.com reddit.com patreon.com

Target: www.google.com
Results found: 1
1) Value: Google
Code: 200

------------------------------
Target: patreon.com
Results found: 1
1) Value: Best way for artists and creators to get sustainable income and connect with fans | Patreon
Code: 200

------------------------------
Target: reddit.com
Results found: 1
1) Value: Reddit - Dive into anything
Code: 200

------------------------------
Total found: 3

Or use a file with targets list:

$ osint_cli_tool_skeleton --target-list targets.txt

Or combine tool with other through input/output pipelining:

$ cat list.txt | osint_cli_tool_skeleton --targets-from-stdin
Reports

The skeleton implements CSV reports:

$ osint_cli_tool_skeleton www.google.com reddit.com patreon.com -oC results.csv
...
Results were saved to file results.csv

$ more results.csv
"Target","Value","Code"
"www.google.com","Google","200"
"patreon.com","Best way for artists and creators to get sustainable income and connect with fans | Patreon","200"
"reddit.com","Reddit - Dive into anything","200"

Also tool supports JSON output format:

osint_cli_tool_skeleton www.google.com reddit.com patreon.com -oJ results.json
...
Results were saved to file results.json

$ cat results.json | jq | head -n 10
[
  {
    "input": {
      "value": "www.google.com"
    },
    "output": [
      {
        "value": "Google",
        "code": 200
      }
    ]
  },

And can save console output to text file separately:

osint_cli_tool_skeleton www.google.com reddit.com patreon.com -oT results.txt
...
Results were saved to file results.txt

$ head -n 4 results.txt
Target: www.google.com
Results found: 1
1) Value: Google
Code: 200
Proxy

The tool supports proxy:

$ osint_cli_tool_skeleton www.google.com --proxy http://localhost:8080
Server

The tool can be run as a server:

$ osint_cli_tool_skeleton --server 0.0.0.0:8080
Server started

$ curl localhost:8080/check -d '{"targets": ["google.com", "yahoo.com"]}' -s | jq
[
  {
    "input": {
      "value": "google.com"
    },
    "output": [
      {
        "value": "Google",
        "code": 200
      }
    ]
  },
  {
    "input": {
      "value": "yahoo.com"
    },
    "output": [
      {
        "value": "Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos",
        "code": 200
      }
    ]
  }
]

Installation

Make sure you have Python3 and pip installed.

Manually
  1. Clone or download respository
$ git clone https://github.com/soxoj/osint-cli-tool-skeleton
  1. Install dependencies
$ pip3 install -r requirements.txt
As a the package

You can clone/download repo and install it from the directory to use as a Python package.

$ pip3 install .

Also you can install it from the PyPI registry:

$ pip3 install https://github.com/soxoj/osint-cli-tool-skeleton