Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Interlace — Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support. | Kitploit
Tools/GitHubGitHub/codingo/interlace
ReconnaissanceScripting & AutomationPenetration TestingUtilities & Frameworks
GitHubcodingo/interlace

Interlace

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

View Repository
1.3k188251 year agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Interlace

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

Python 3.2|3.6 License Twitter Twitter

Reviews / Howto Guides

Interlace: A Tool to Easily Automate and Multithread Your Pentesting & Bug Bounty Workflow Without Any Coding

Table of Contents

  • Setup
  • Usage - Flags
  • Usage Examples
  • Port Notation Explained
  • Target Notation Explained
  • Threading support for an Application that doesn't support it
  • CIDR Notation for an Application that doesn't support it
  • GLOB Notation for an Application that doesn't support it
  • Multiple Proxy support for an Application that doesn't support it
  • Variable Replacements
  • Advanced Command File Usage
  • Advanced Usage: Blocker
  • Advanced Usage: Blocks
  • Exclusions

Setup

Install using:

$ python3 setup.py install

Dependencies will then be installed and Interlace will be added to your path as interlace.

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 list of targets to exclude 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 a range using dash notation
-pLSpecify a list of proxies
--protoSpecify protocols that can be used in commands as _proto_
-rpSpecify a real port variable that can be used in commands as _realport_
-randomSpecify a directory of files that can be randomly used in commands as _random_
--no-bar / --soberIf set then progress bar be stripped out
--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

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

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
_cleantarget_Replaced with target cleaned from http:// or https://
_safe-target_Replaced with target automatically quoting for commands, stopping subcommands running
_host_Works the same as _target_, and 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
_proxy_Replaced with the proxy list from Interlace
_random_Replaced with the randomly chosen file from Interlace

Advanced Command File Usage

Interlace also makes the use of two additional features for controlling execution flow within a command file: _blocker_ and _block:<name>_. Blockers prevent execution of commands listed after them, until all commands before them have completed, and blocks can be used to force sequential execution of commands listed within a block, for a target.

These are run on a per-target level. If there are threads available and a blocker is in the way for the current target, Interlace will start commands from the next target within a target list in order to maximise efficiency.

Using these features will allow you to control the execution flow for individual targets more directly in order to prevent commands from running out of order.

Blocker

Blockers prevent anything below them from executing until all commands above them have completed (for the currently active host). For example, in the following:

mkdir -p _output_/_target_/scans/
_blocker_
nmap _target_ -oA _output_/_target_/scans/_target_-nmap
Download Tool