Skip to main content

penterepTools

PTSSL - Wrapper for testssl.sh

Installation

pip install ptssl

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

ptssl -d https://www.example.com
ptssl -d example.com --port 465
ptssl -d example.com --port 465 --protocol smtp
ptssl -d example.com --port 465 --implicittls
ptssl -d example.com --port 587 --protocol smtp --starttls

Options

-d   --domain      <domain>    Connect to domain
-u   --url         <url>       Alias for --domain
-po  --port        <port>      Target port (if omitted, default port is used)
-pr  --protocol    <protocol>  Application protocol (requires --port); enables STARTTLS fallback
                               Supported protocols: ftp, smtp, lmtp, pop3, imap, xmpp, xmpp-server,
                               telnet, ldap, nntp, sieve, postgres, mysql
-st  --starttls                Force STARTTLS (requires --protocol with a STARTTLS-capable protocol)
-it   --implicittls             Force implicit TLS only (no STARTTLS fallback)
-ts  --tests       <test>      Specify one or more tests to perform:
                   ALG         Testing for cipher suites algorithm
                   BVT         Testing common vulnerabilities
                   CT          Testing for supported ciphers
                   FST         Testing if Forward Security is offered
                   GT          Testing for bugs
                   HSTS        Testing if HSTS is offered
                   HTTPR       Testing HTTP redirection
                   PCT         Testing who gives order of ciphers
                   PT          Testing for allowed protocols
                   SA          Testing server defaults
                   TSD         Testing server defaults
-t   --threads     <threads>   Set thread count (default 10)
-vv  --verbose                 Show verbose output
-y   --yes                     Skip all testssl.sh warnings (runs with --warnings off); output may not be adequate
-v   --version                 Show script version and exit
-h   --help                    Show this help message and exit
-j   --json                    Output in JSON format

Dependencies

ptlibs

External tools

This tool requires testssl.sh to be installed and available in your PATH.

We would like to thank the author for their work on this excellent tool.

License

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

ptssl 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.

ptssl 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 ptssl. 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 ptssl 0.0.39

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

Source distribution (sdist)

Source distribution for ptssl 0.0.39
File Size Uploaded
ptssl-0.0.39.tar.gz 32.6 kB Details

Built distribution (wheel)

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

Total release size: 76.6 kB

Release files / ptssl-0.0.39.tar.gz

Download URL ptssl-0.0.39.tar.gz
Size 32.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d104522e3ac73e2ff048082cb3fd737f88c485579dfac69f381507f731d5b398
BLAKE2b-256 checksum
How to use checksums
6cf8e4b3dd249c53ff3cfbc4f29a91bf4e4069bf94d67419a8d3b370b0e571e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / ptssl-0.0.39-py3-none-any.whl

Download URL ptssl-0.0.39-py3-none-any.whl
Size 44.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8cb21762ecf1921c99a4f8f52fac2a6d4ca055c7c30bc4f42cb5578e008d057c
BLAKE2b-256 checksum
How to use checksums
b18dad6411fe67f4c2fa6a1e7608289fc5effbc62afeb6c8abff22a4e54dd013
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14
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