Interlace

Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.

Install

git clone https://github.com/codingo/Interlace.git
python3 setup.py install

Usage

ARGUMENTDESCRIPTION
(stdin)Pipe target lists from another application in comma-delimited format, CIDR notation, or as an individual host
-tSpecify a target or domain name either in comma-delimited format, CIDR notation, or as an individual host
-tLSpecify a list of targets or domain names
-eSpecify a target exclusion either in comma-delimited format, CIDR notation, or as an individual host
-eLSpecify a list of targets to exclude
-threadsSpecify the maximum number of threads to run at any one time (DEFAULT:5)
-timeoutSpecify a timeout value in seconds for any single thread (DEFAULT:600)
-cSpecify a single command to execute over each target or domain
-cLSpecify a list of commands to execute over each target or domain
-oSpecify an output folder variable that can be used in commands as _output_
-pSpecify a list of port variable that can be used in commands as _port_. This can be a single port, a comma delimited list, or use dash notation
-rpSpecify a real port variable that can be used in commands as _realport_
-no-cidrIf set then CIDR notation in a target file will not be automatically be expanded into individual hosts
-no-colorIf set then any foreground or background colours will be stripped out
-silentIf set then only important information will be displayed and banners and other information will be redacted
-vIf set then verbose output will be displayed in the terminal

Further information regarding ports (-p)

EXAMPLENOTATION TYPE
80Single port
1-80Dash notation, perform a command for each port from 1-80
80,443Perform a command for both port 80, and port 443

Further information regarding targets (-t or -tL)

Both -t and -tL will be processed the same. You can pass targets the same as you would when using nmap. This can be done using CIDR notation, dash notation, or a comma-delimited list of targets. A single target list file can also use different notation types per line.

Alternatively, you can pass targets in via stdin and neither -t or -tL will be required.

Variable Replacements

The following variables will be replaced in commands at runtime:

VARIABLEREPLACEMENT
_target_Replaced with the expanded target list that the current thread is running against
_host_Works the same as _target_, can be used interchangeably
_output_Replaced with the output folder variable from interlace
_port_Replaced with the expanded port variable from interlace
_realport_Replaced with the real port variable from interlace

Tutorial

Loading