PyPi Read The Docs Build Status Requirements Status Known Vulnerabilities Python Versions License


This library aims to quickly write client bots for communicating with remote hosts in a standardized way using context managers. It implements a few bots for some common protocols (HTTP, JSON, IRC, …) and for communicating with specific applications (Shodan, Censys, HaveIBeenPwned?, RootMe, RingZer0, …).


pip install pybots


Each bot class is implemented as a context manager and has a logger attached. It can thus be instantiated in a clear and straightforward way. Here is an example:

from pybots import TCPBot

with TCPBot("remote_host", 1234) as bot:
    data = bot.send_receive("Hello!")
    # do something with data

Note that, if a bot is used behind a proxy, it will use system’s proxy settings. This can be bypassed by using no_proxy=True while instantiating the bot.

with TCPBot("LAN_host", 1234, no_proxy=True) as bot:
    # ...


Real-Life Projects: