All Projects → megadose → Onionsearch

megadose / Onionsearch

Licence: gpl-3.0
OnionSearch is a script that scrapes urls on different .onion search engines.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Onionsearch

Holehe
holehe allows you to check if the mail is used on different sites like twitter, instagram and will retrieve information on sites with the forgotten password function.
Stars: ✭ 568 (+320.74%)
Mutual labels:  osint, pypi, information-gathering
Favfreak
Making Favicon.ico based Recon Great again !
Stars: ✭ 564 (+317.78%)
Mutual labels:  osint, information-gathering
Theharvester
E-mails, subdomains and names Harvester - OSINT
Stars: ✭ 6,175 (+4474.07%)
Mutual labels:  osint, information-gathering
Spiderfoot
SpiderFoot automates OSINT for threat intelligence and mapping your attack surface.
Stars: ✭ 6,882 (+4997.78%)
Mutual labels:  osint, information-gathering
Osrframework
OSRFramework, the Open Sources Research Framework is a AGPLv3+ project by i3visio focused on providing API and tools to perform more accurate online researches.
Stars: ✭ 534 (+295.56%)
Mutual labels:  osint, pypi
Sherlock
🔎 Hunt down social media accounts by username across social networks
Stars: ✭ 28,569 (+21062.22%)
Mutual labels:  osint, information-gathering
Reconspider
🔎 Most Advanced Open Source Intelligence (OSINT) Framework for scanning IP Address, Emails, Websites, Organizations.
Stars: ✭ 621 (+360%)
Mutual labels:  osint, information-gathering
Vault
swiss army knife for hackers
Stars: ✭ 346 (+156.3%)
Mutual labels:  osint, information-gathering
Infoga
Infoga - Email OSINT
Stars: ✭ 947 (+601.48%)
Mutual labels:  osint, information-gathering
Stargather
A fast GitHub stargazers information gathering tool
Stars: ✭ 30 (-77.78%)
Mutual labels:  osint, information-gathering
Social Analyzer
API, CLI & Web App for analyzing & finding a person's profile across +1000 social media \ websites (Detections are updated regularly by automated systems)
Stars: ✭ 8,449 (+6158.52%)
Mutual labels:  osint, information-gathering
Gasmask
Information gathering tool - OSINT
Stars: ✭ 518 (+283.7%)
Mutual labels:  osint, information-gathering
Phoneinfoga
PhoneInfoga is one of the most advanced tools to scan international phone numbers using only free resources. It allows you to first gather standard information such as country, area, carrier and line type on any international phone number. Then search for footprints on search engines to try to find the VoIP provider or identify the owner.
Stars: ✭ 5,927 (+4290.37%)
Mutual labels:  osint, information-gathering
Amass
In-depth Attack Surface Mapping and Asset Discovery
Stars: ✭ 6,284 (+4554.81%)
Mutual labels:  osint, information-gathering
Osi.ig
Information Gathering Instagram.
Stars: ✭ 377 (+179.26%)
Mutual labels:  osint, information-gathering
Pentesting Bible
Learn ethical hacking.Learn about reconnaissance,windows/linux hacking,attacking web technologies,and pen testing wireless networks.Resources for learning malware analysis and reverse engineering.
Stars: ✭ 8,981 (+6552.59%)
Mutual labels:  osint, information-gathering
Urlextractor
Information gathering & website reconnaissance | https://phishstats.info/
Stars: ✭ 341 (+152.59%)
Mutual labels:  osint, information-gathering
Zen
Find emails of Github users
Stars: ✭ 343 (+154.07%)
Mutual labels:  osint, information-gathering
Torbot
Dark Web OSINT Tool
Stars: ✭ 821 (+508.15%)
Mutual labels:  osint, onion
Photon
Incredibly fast crawler designed for OSINT.
Stars: ✭ 8,332 (+6071.85%)
Mutual labels:  osint, information-gathering

OnionSearch

PyPI PyPI - Week PyPI - Downloads PyPI - License

For BTC Donations : 1FHDM49QfZX6pJmhjLE5tB2K6CaTLMZpXZ

Educational purposes only

OnionSearch is a Python3 script that scrapes urls on different ".onion" search engines.

Demo

💡 Prerequisite

Python 3

📚 Currently supported Search engines

  • ahmia
  • darksearchio
  • onionland
  • notevil
  • darksearchenginer
  • phobos
  • onionsearchserver
  • torgle
  • onionsearchengine
  • tordex
  • tor66
  • tormax
  • haystack
  • multivac
  • evosearch
  • deeplink

🛠️ Installation

With PyPI

pip3 install onionsearch

With Github

git clone https://github.com/megadose/OnionSearch.git
cd OnionSearch/
python3 setup.py install

📈 Usage

Help:

usage: onionsearch [-h] [--proxy PROXY] [--output OUTPUT]
                  [--continuous_write CONTINUOUS_WRITE] [--limit LIMIT]
                  [--engines [ENGINES [ENGINES ...]]]
                  [--exclude [EXCLUDE [EXCLUDE ...]]]
                  [--fields [FIELDS [FIELDS ...]]]
                  [--field_delimiter FIELD_DELIMITER] [--mp_units MP_UNITS]
                  search

positional arguments:
  search                The search string or phrase

optional arguments:
  -h, --help            show this help message and exit
  --proxy PROXY         Set Tor proxy (default: 127.0.0.1:9050)
  --output OUTPUT       Output File (default: output_$SEARCH_$DATE.txt), where $SEARCH is replaced by the first chars of the search string and $DATE is replaced by the datetime
  --continuous_write CONTINUOUS_WRITE
                        Write progressively to output file (default: False)
  --limit LIMIT         Set a max number of pages per engine to load
  --engines [ENGINES [ENGINES ...]]
                        Engines to request (default: full list)
  --exclude [EXCLUDE [EXCLUDE ...]]
                        Engines to exclude (default: none)
  --fields [FIELDS [FIELDS ...]]
                        Fields to output to csv file (default: engine name link), available fields are shown below
  --field_delimiter FIELD_DELIMITER
                        Delimiter for the CSV fields
  --mp_units MP_UNITS   Number of processing units (default: core number minus 1)

[...]

Multi-processing behaviour

By default, the script will run with the parameter mp_units = cpu_count() - 1. It means if you have a machine with 4 cores, it will run 3 scraping functions in parallel. You can force mp_units to any value but it is recommended to leave to default. You may want to set it to 1 to run all requests sequentially (disabling multi-processing feature).

Please note that continuous writing to csv file has not been heavily tested with multiprocessing feature and therefore may not work as expected.

Please also note that the progress bars may not be properly displayed when mp_units is greater than 1. It does not affect the results, so don't worry.

Examples

To request all the engines for the word "computer":

onionsearch "computer"

To request all the engines excepted "Ahmia" and "Candle" for the word "computer":

onionsearch "computer" --exclude ahmia candle

To request only "Tor66", "DeepLink" and "Phobos" for the word "computer":

onionsearch "computer" --engines tor66 deeplink phobos

The same as previously but limiting to 3 the number of pages to load per engine:

onionsearch "computer" --engines tor66 deeplink phobos --limit 3

Please kindly note that the list of supported engines (and their keys) is given in the script help (-h).

Output

Default output

By default, the file is written at the end of the process. The file will be csv formatted, containing the following columns:

"engine","name of the link","url"

Customizing the output fields

You can customize what will be flush in the output file by using the parameters --fields and --field_delimiter.

--fields allows you to add, remove, re-order the output fields. The default mode is show just below. Instead, you can for instance choose to output:

"engine","name of the link","url","domain"

by setting --fields engine name link domain.

Or even, you can choose to output:

"engine","domain"

by setting --fields engine domain.

These are examples but there are many possibilities.

Finally, you can also choose to modify the CSV delimiter (comma by default), for instance: --field_delimiter ";".

Changing filename

The filename will be set by default to output_$DATE_$SEARCH.txt, where $DATE represents the current datetime and $SEARCH the first characters of the search string.

You can modify this filename by using --output when running the script, for instance:

onionsearch "computer" --output "\$DATE.csv"
onionsearch "computer" --output output.txt
onionsearch "computer" --output "\$DATE_\$SEARCH.csv"
...

(Note that it might be necessary to escape the dollar character.)

In the csv file produced, the name and url strings are sanitized as much as possible, but there might still be some problems...

Write progressively

You can choose to progressively write to the output (instead of everything at the end, which would prevent losing the results if something goes wrong). To do so you have to use --continuous_write True, just as is:

onionsearch "computer" --continuous_write True

You can then use the tail -f (tail follow) Unix command to actively watch or monitor the results of the scraping.

Thank you to Gobarigo

Thank you mxrch for this logo

📝 License

GNU General Public License v3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].