A simple tool to monitor the Massachusetts RMV website for earlier appointment times and send notifications via ntfy.
- Continuously monitors selected RMV locations for new appointment slots.
- Sends instant notifications to your devices using a self-hosted or public ntfy server.
- Securely manages configuration using a
.envfile, keeping your sensitive URLs out of version control. - Interactive command-line setup to create your
.envfile. - Remembers the last seen appointment time to avoid duplicate notifications.
- Python 3
- Git
-
Clone the repository:
git clone https://github.com/anotb/mass-rmv.git cd mass-rmv -
Create a virtual environment and install dependencies:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
Run the monitor: The first time you run the script, it will automatically guide you through a one-time interactive setup.
python3 monitor.py
You must run the monitor in your terminal one time to complete the initial setup.
python3 monitor.pyThe script will guide you through creating a .env file with your configuration.
Once the setup is complete, you can run the monitor.
To run in the foreground:
python3 monitor.pyTo run in the background:
nohup python3 monitor.py &If you run in the background with an incomplete configuration, the script will log a fatal error to monitor.log and exit.
- Process not staying alive? Check the
monitor.logfile for errors. It will tell you if your setup is incomplete. - Want to reset your configuration? Simply delete the
.envfile and run the monitor interactively again. - Want to reset notification history? When you run the script interactively, it will ask if you want to delete the
state.jsonfile.