Bots Scheduler is a scheduling system based on Nextdoor Scheduler that uses jobs templated upon PyBots. It especially focuses on tasks derived from security-related Web services like Shodan or Censys. See the Available jobs page for a complete list of the available jobs.

NdScheduler variations

This project implements a launcher for the NdScheduler server relying on Tinyscript that uses a virtual environment. It also provides an alternate version of the Web User Interface for enhancing job results and their flexibility to provide formatted reports. Also, in-memory code mutation is achieved using Tinyscript to adapt/fix some places in the code base of NdScheduler.

Security features

This project also uses mitmproxy to protect the original Web server with:

  • an authentication proxy (currently relying on HTTP Basic Auth)
  • HTTPS enforcement
  • HTTP security headers

Documentation overview

The remainder of this documentation is structured as follows:

  • Server tuning: this section is more sysadmin-oriented and presents application's running options.
  • Available jobs: this section is for users that want to manage job tasks in the Web user interface.
  • How to make a job: this section is developer-oriented for defining a new job class.