Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Submit
ToolsBlog
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.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
OneForAll — Multi-source subdomain enumeration tool with 50+ collection modules, DNS brute-force, passive DNS analysis, certificate transparency, search engine scraping, and subdomain takeover detection for reconnaissance. | Kitploit
Tools/GitHubGitHub/shmilylty/oneforall
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringPenetration TestingSubdomain EnumerationDNS Analysis
GitHubshmilylty/oneforall

OneForAll

Multi-source subdomain enumeration tool with 50+ collection modules, DNS brute-force, passive DNS analysis, certificate transparency, search engine scraping, and subdomain takeover detection for reconnaissance.

View Repository
10.0k1.4k1304 months 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

OneForAll

Build Status codecov Maintainability License python python

👊OneForAll is a powerful subdomain integration tool 📝中文文档

Example

🚀Start Guide

📢 Please read this document to help you start quickly!

🐍Installation requirements

OneForAll is developed and tested based on Python 3.6.0, OneForAll needs to be higher than Python 3.6.0 to run. For more information on installing the Python environment, please read Python 3 Installation Guide.

After installation python, run the following command to check the Python and pip3 versions:

python -V
pip3 -V

If you see the following output, there is no problem with the Python environment:

Python 3.6.0
pip 19.2.2 from C:\Users\shmilylty\AppData\Roaming\Python\Python36\site-packages\pip (python 3.6)
✔Installation steps (for Git)
  1. Download

Because OneForAll is under development yet, it is recommended that use git clone to clone the latest code repository. Downloading from Releases is not recommended.

If you are in China, it is recommended that you choose Gitee for cloning:

git clone https://gitee.com/shmilylty/OneForAll.git

or:

git clone https://github.com/shmilylty/OneForAll.git
  1. Installation

You can use pip3 install requirements, the following is an example of using pip3 to install dependencies under Windows: (Note: If your Python3 is installed in the system Program Files In the directory, such as: C:\Program Files\Python36, please run the following as an administrator!)

cd OneForAll/
python3 -m pip install -U pip setuptools wheel
pip3 install -r requirements.txt
python3 oneforall.py --help

For other system platforms, please read dependency installation. If you compile failed during the installation, you can find solution in Q&A documentation. If still not resolved, welcome issues.

  1. Update

Run the following command to update project ( maintain your updates to /config/setting.pyand/config/api.py):

git stash        # Stash local Git changes
git fetch --all  # Fetch updates
git pull         # Pull updates
git stash pop    # Apply the local Git changes stash
✔Installation steps (for Docker)
docker pull shmilylty/oneforall
docker run -it --rm -v ~/results:/OneForAll/results oneforall

Result will be saved in ~/results.

✨OneForAll usage

If you are use pip3, run the following command:

python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run

Example

🧐Instructions for results

Let's take the command python3 oneforall.py --target example.com run as an example. When command finished in the default configuration, OneForAll will generate results in the results directory:

Result

example.com.csv is the result for each domain.

all_subdomain_result_1583034493.csv is the result for all domains when your target have multiple domains.

result.sqlite3 is the SQLite3 database that stores all the subdomains collected by OneForAll. The database structure is shown below:

Database

example_com_origin_result table stores the origin subdomain results of each module.

example_com_resolve_result table stores the results of resolving subdomains.

example_com_last_result table stores the results of subdomain collection last time.

example_com_now_result table stores the collection results of the current subdomains. Usually using this table is enough.

For more information, please see Field explanation.

🤔Instructions for Use

The CLI only provide some common parameters. For more configuration, please read setting.py. IF you have any suggestions, welcome feedback. Some modules need access API (most of which are freely available after registered accounts). If you need , please go to api.py to configure the API. If not used, just ignore the error message. (For module detailes, please read collection module description)

The OneForAll command line interface is based on Fire. For more advanced usage of Fire, please refer to using the Fire CLI, if you have any doubts during the use, please feel free to give me feedback.

oneforall.py is the program main entrence, and oneforall.py can call brute.py, takerover.py, dbexport.py and other modules. But you can also use these modules separately, if you want, please refer to the usage help.

❗ Note: When you encounter some problems or doubts during use, please search answers on issues first. You can also read Q&A.

OneForAll help summary

The following help information may not be up to date. You can use python oneforall.py --help to get the latest help information.

python oneforall.py --help
NAME
    oneforall.py - OneForAll help summary page

SYNOPSIS
    oneforall.py COMMAND | --target=TARGET <flags>

DESCRIPTION
    OneForAll is a powerful subdomain integration tool
Download Tool