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)
| File | Size | Uploaded | |
|---|---|---|---|
| ptssl-0.0.39.tar.gz | 32.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|