pip install ptssl
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 ~/.bashrcFor ZSH Users
echo "export PATH=\"`python3 -m site --user-base`/bin:\$PATH\"" >> ~/.zshrc
source ~/.zshrcptssl -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
-d --domain <domain> Connect to 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
ptlibs
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.
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/.
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!
