Add New Tool

Adding a new tool is so easy. You can add any types of tools in Spider.

Create Shell Script

Navigate to the tools/scripts directory, choose a category folder, and within that folder, create the script for your tool. This shell script should contain all the instructions for installing the tool.

Let’s have a look at a Python based tool.

igt/sublist3r.sh
#!/bin/bash

# Tool
export tool_language="python"
export tool_directory="Sublist3r"
export branch_name="master"
export has_dependencies=true
export git_repo="https://github.com/aboul3la/Sublist3r"

# Install
source ./core/scripts/libs/install.sh

References:

VariableDescription
tool_languageLanguage of the tool. Example: Python, Go.
tool_directoryFolder name of tool. You’ll find it under et directory. It Should be same as Git repository name.
branch_nameBranch name of the Git repository.
has_dependenciestrue or false.
git_repoThe URL of Git repository.

Create Fixture

Now, go to tools/fixtures/tools directory. Then select/create a category file, example igt.json and insert the new tool data in the following format at the end of the file:

igt.json
{
  "model": "tools.tool",
  "pk": null,
  "fields": {
    "name": "Sublist3r",
    "lang": "python",
    "directory": "Sublist3r",
    "run": "sublist3r.py",
    "script": "igt/sublist3r.sh",
    "category_slug": "others",
    "git_repo": "https://github.com/aboul3la/Sublist3r",
    "website": "",
    "short_desc": "Fast subdomains enumeration tool for penetration testers."
  }
}

References:

VariableDescription
nameThe name of the tool.
langSame language as shell script.
directorySame directory as shell script.
runMain run filename or command.
scriptInstallation script path.
category_slugSlug of tool category.
git_repoThe URL of Git repository.
websiteWebsite of the tool (optional).
short_descShort description of the tool.

Insert to Database

Visit the URL to insert new tool to database:

http://localhost:8001/setup

Done. Visit the following URL and check:

http://localhost:8001/tools

After adding & testing the tool, create a Pull Request.