Skip to main content

penterepTools

PTINSEARCHER - Web/File Information Extractor

ptinsearcher is a tool designed to extract information from sources such as URLs and files. It can retrieve HTML comments, email addresses, phone numbers, IP addresses, subdomains, HTML forms, links, and document metadata.

Installation

pip install ptinsearcher
sudo apt-get install libmagic1

Adding to PATH

If you're unable to invoke the script from your terminal, it's likely because it's not included in your PATH. You can resolve this issue by executing the following commands, depending on the shell you're using:

For Bash Users

echo "export PATH=\"`python3 -m site --user-base`/bin:\$PATH\"" >> ~/.bashrc
source ~/.bashrc

For ZSH Users

echo "export PATH=\"`python3 -m site --user-base`/bin:\$PATH\"" >> ~/.zshrc
source ~/.zshrc

Usage examples

   ptinsearcher -u https://www.example.com/
   ptinsearcher -u https://www.example.com/ --extract E        # Extract emails
   ptinsearcher -u https://www.example.com/ --extract UQX      # Extract internal URLs, internal URLs w/ parameters, external URLs
   ptinsearcher -f url_list.txt --grouping
   ptinsearcher -f url_list.txt --grouping-complete
   ptinsearcher -f url_list.txt
   ptinsearcher -u image.jpg -e M
   ptinsearcher -u images/*.jpg -e M

Options

   -u   --url                 <url>           Test URL or File
   -f   --file                <file>          Load list of URLs from file
   -d   --domain              <domain>        Domain - merge domain with filepath. Use when wordlist contains filepaths (e.g. /index.php)
   -e   --extract             <extract>       Specify data to extract:
                                 A              All (extracts everything - default option)
                                 E              Emails
                                 S              Subdomains
                                 C              Comments
                                 F              Forms
                                 I              IP addresses
                                 P              Phone numbers
                                 U              Internal urls
                                 Q              Internal urls with parameters
                                 X              External urls
                                 N              Insecure urls
                                 M              Metadata

   -ey  --extension-yes       <extensions>    Process only URLs from <list> that end with <extension-yes>
   -en  --extension-no        <extensions>    Process only URLs from <list> that do not end with <extension-no>
   -g   --grouping                            Group findings from multiple sources into one table
   -gc  --grouping-complete                   Group and merge findings from multiple sources into one result
   -gp  --group-parameters                    Group URL parameters
   -wp  --without-parameters                  Without URL parameters
   -op  --output-parts                        Save each extract-type to separate file
   -o   --output              <output>        Save output to file
   -p   --proxy               <proxy>         Set proxy (e.g. http://127.0.0.1:8080)
   -T   --timeout             <timeout>       Set timeout
   -c   --cookie              <cookie=value>  Set cookie
   -a   --user-agent          <user-agent>    Set User-Agent
   -t   --threads             <threads>       Set Threads
   -H   --headers             <header:value>  Set custom header(s)
   -r   --redirects                           Follow redirects (default False)
   -C   --cache                               Cache requests (load from tmp in future)
   -b   --binary                              Search also non-text Content-Type responses
   -v   --version                             Show script version and exit
   -h   --help                                Show this help message and exit
   -j   --json                                Output in JSON format

Dependencies

We use ExifTool to extract metadata.

ptlibs
bs4
lxml
pyexiftool
validators
python-magic

License

Copyright (c) 2025 Penterep Security s.r.o.

ptinsearcher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ptinsearcher is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with ptinsearcher. If not, see https://www.gnu.org/licenses/.

Warning

You are only allowed to run the tool against the websites which you have been given permission to pentest. We do not accept any responsibility for any damage/harm that this application causes to your computer, or your network. Penterep is not responsible for any illegal or malicious use of this code. Be Ethical!

Metadata

Release files for ptinsearcher 1.0.42

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ptinsearcher 1.0.42
File Size Uploaded
ptinsearcher-1.0.42.tar.gz 37.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ptinsearcher 1.0.42
File Interpreter ABI Platform
ptinsearcher-1.0.42-py3-none-any.whl Python 3 none any Details

Total release size: 78.5 kB

Release files / ptinsearcher-1.0.42.tar.gz

Download URL ptinsearcher-1.0.42.tar.gz
Size 37.0 kB
Tags Source
SHA-256 checksum
How to use checksums
73e74e2b5995af0567a1e43b90209c724f5df1f9fe378a6f8a387e86e8aadba9
BLAKE2b-256 checksum
How to use checksums
48b44c6836b202bbd10662a877a3e7416d185cc5e39e1c15497225a23d4dd091
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / ptinsearcher-1.0.42-py3-none-any.whl

Download URL ptinsearcher-1.0.42-py3-none-any.whl
Size 41.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5864aa6fdcad1b9ae2a6de7db54481bac916c4585b55c2d050acb23ad98a1f55
BLAKE2b-256 checksum
How to use checksums
829222bd65a6ac9fea7c68da66932cff2b48b0d2c49b5986193e8bd21b6e4fb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

1.0.42 This release

2 release files

1.0.38

2 release files

1.0.37

2 release files

1.0.36

2 release files

1.0.35

2 release files

1.0.33

2 release files

1.0.32

2 release files

1.0.31

2 release files

1.0.30

2 release files

1.0.28

2 release files

1.0.27

2 release files

1.0.26

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.22

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

1 release file

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page