Skip to main content

A tool for monitoring the certificate transparency logs.

Project description

Phisher

PyPI version License Python

A rich‐powered CLI tool for monitoring Certificate Transparency (CT) logs and alerting on domains matching your keywords.


📖 Table of Contents


🔥 Features

  • Real-time monitoring of CT logs for newly issued certificates
  • Keyword matching: scan domains against CLI‐provided or file‐based keyword lists
  • Rich CLI using rich & rich‐argparse for beautiful output
  • Notifications via Telegram bot (chat ID + bot token)
  • Flexible output: append matches to .txt or .csv
  • Colorful ASCII banner with gradient styling

🚀 Installation

pip install phisher-ctmonitor

Or clone and install from source:

git clone https://github.com/yourusername/phisher.git
cd phisher
pip install .

💻 Usage

Flag	Arguments	Description
-n, --notify	CHAT_ID BOT_TOKEN	Enable Telegram notifications (provide your chat ID and bot token).
-l, --log	—	Enable logging to file (defaults to domains.txt).
-k, --keywords	KEY1 KEY2 …	Space-separated list of keywords to match against domain names.
-kf, --keywords-file	path/to/file.txt	Path to a newline-separated file of keywords (default: keywords.txt).
-f, --format	csv | txt	Output format for matches: CSV or TXT (default: txt).
-o, --output-file	path/to/output.txt	File to append matching domain reports (default: domains.txt).
-h, --help	—	Show help message and exit.

🎯 Examples

Start Monitoring

phisher

Monitor with a keyword file

phisher --keywords-file my_keywords.txt --format csv --output-file alerts.csv

Monitor with Telegram notifications, --notify expects chat_id and telegram_bot_token

phisher -kf keywords.txt -n -1234567890123 123456789:ABCDEFghiJklMNopQRStuvWXyz

Enable file logging and provide inline keywords

phisher --log --keywords dhl reddit microsoft

⚙️ Configuration

If you have a long list of arguments, you can store them in a file called keywords.txt, with one keyword per line:

reddit
microsoft
dhl
office365

Alternatively, save the keywords in any other file and provide its path using the --output-file (-o) parameter.

Parameters needed to avoid rate limiting are defined in config.py. Feel free to adjust them if you find them too strict.

🔔 Notifications

To receive instant alerts via Telegram:

Create a Bot via BotFather and get your BOT_TOKEN.

Find your CHAT_ID (e.g., by messaging your bot and querying @userinfobot).

You can use this article to help you with this matter: https://andrewkushnerov.medium.com/how-to-send-notifications-to-telegram-with-python-9ea9b8657bfb

Run:

phisher --notify <CHAT_ID> <BOT_TOKEN> ...

📝 Logging & Output

TXT format (default):
Appends certificate details to domains.txt.

CSV format:
Outputs rows with columns like "Subject", "Issuer", "Serial No", "Version", "Not Before (UTC)", "Not After (UTC)".

Enable logging file creation with --log (otherwise, logging is disabled and only prints to console).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phisher_ctmonitor-0.1.1.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phisher_ctmonitor-0.1.1-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file phisher_ctmonitor-0.1.1.tar.gz.

File metadata

  • Download URL: phisher_ctmonitor-0.1.1.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for phisher_ctmonitor-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2ab1d51defbd6e19d381d5710b16f8ae8f2d628e0744e69f5d379740b5287f84
MD5 c119c5a7c59383b0dfb4fd1adcb8a123
BLAKE2b-256 d0480b4d4f2213f8e7e57c34b3a519c5e1670aabed4e1762f1f830f0e827ae05

See more details on using hashes here.

File details

Details for the file phisher_ctmonitor-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for phisher_ctmonitor-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76bb63d5683968e9bbd8f86693e334863472593b803bf362310aff768d276d39
MD5 f9741f22a3fc2d0463383109200366cd
BLAKE2b-256 23c84f468d55e799319adc8505a08ce4882709657e42df191fb997c9e37841b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page