Template for new OSINT command-line tools.
Press button "Use this template" to generate your own tool repository. See INSTALL.md for further setup.
- Detailed readme
- Process N targets from args, text files, stdin
- Make TXT, CSV reports
- Proxy support
- Ready to publish Python package
$ 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
}
]
}
]
Make sure you have Python3 and pip installed.
Manually
- Clone or download respository
$ git clone https://github.com/soxoj/osint-cli-tool-skeleton
- 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