A Python Web Application for Checking vaccine slots by pincodes and auto slot booking.

Overview

CoWIN Vaccine Slot Monitoring and Auto Booking (With Auto Capcha Solver)

View DemoReport BugRequest Feature

Maintained

About The Project

new_cowin

The Dashboard is developed using Bokeh and python 3.5+. This dashboard is useful for you if you are looking for something which will help you to book the vaccine slot once slots become available. Other Vaccine Finders will notify you once slots become available but you will still need to login to the portal and book the slot manually. This dashboard will look for slot availability continuously and will send the OTP itself once slots become available.

There are two modes available i.e Auto and Manual mode. In Manual mode, user will need to stay alert to enter the OTP manually.

And in Auto mode, user will need to do some installation and configuration as given here, so that script can detect the otp and will book the slot automatically. Auto Mode May not work all the time as this is a experimental feature

If you Like my work, you can Buy me a coffee (or more likely a beer)

Buy Me A Coffee

If this Dashboard has helped you to book your appointment then please don't forget to leave comment here.

Why this project

Being software developer I always try to automate things which are important to me. I really struggled to book the slot on cowin portal and other vaccine finder scripts did not helped me at all. So I wanted to do build something which will not just look for vaccine availability but also help me in automating the otp sending and slot booking tasks.

How this app different from other applications

Other apps/scripts expects you to feed otp every 15 minutes or something which is really not the cool idea. When you use this application, you don't need to feed otp's continuously rather this app will keep on searching for availability and will send otp only when there is slot available. In Auto mode if you have configured things properly then you don't even need to stay near to your laptop provided your phone is always connected to wifi or mobile data

Getting Started

Prerequisites

  • Docker: Click here to install Docker

If you don't want to use Docker then you will need python 3.5+ installed on your system and then clone this repository using into cowin-app folder using git clone https://github.com/suraj-deshmukh/CoWin-Vaccine-Slot-Monitoring-and-Auto-Booking.git cowin-app and install prequisites using pip install -r cowin-app/requirements.txt

Prior Gmail Settings and SMS Forwarder App Configuration for Auto Mode(Not required for Manual Mode)

Gmail App Password

You will need to generate gmail application password to use auto mode. The application password can be generated from here. This application password is different from you login password

Enable IMAP

Follow only Step 1 from this link

Android

You will need to install SMS Forwarder - Auto forward SMS to PC or Phone from google play store

Once you install above app from google play store. Follow below steps.

  1. Open SMS Forwarder - Auto forward SMS to PC or Phone App. Click on bottom-right plus icon like below

plus

  1. Enter your email id under Set up recipients as shown in below screenshot
drawing
  1. Enter Your OTP to register/access CoWIN is text under Rule for text as shown in below screenshot.
drawing
  1. Scroll down to More Settings and enter cowin under Filter Name and click on edit button to edit Email Subject and type [SMSForwarder] new otp %t and click on ok. Refer below image for the same.
drawing
drawing

Finally Click on SAVE button on top-right corner. You can always enable or disable this filter.

Usage for Docker

Auto Mode
  • Open Command Prompt and run docker run --pull always -p 5100:5100 -e PYTHONUNBUFFERED=1 -e TZ=Asia/Kolkata suraj20/cowin-vaccine-monitoring-n-booking-dashboard:latest --args "[email protected]" "app_password_here". The argument --pull always makes sure you are pulling latest image from docker hub.
  • Open browser and type http://localhost:5100/cowin-app.
Manual Mode
  • Open Command Prompt and run docker run --pull always -p 5100:5100 -e PYTHONUNBUFFERED=1 suraj20/cowin-vaccine-monitoring-n-booking-dashboard:latest. The argument --pull always makes sure you are pulling latest image from docker hub.
  • Open browser and type http://localhost:5100/cowin-app.

Usage for non Docker

Auto Mode
  • Make sure your system clock has set to IST(Indian Standard Time)
  • Clone this repo into folder 'cowin-app'
  • Change directory to the folder where you cloned this repository and then run bokeh serve --port 5100 cowin-app/ --args "[email protected]" "app_password_here"
  • Open browser and type http://localhost:5100/cowin-app.
Manual Mode
  • Clone this repo into folder 'cowin-app'
  • Change directory to the folder where you cloned this repository and then run bokeh serve --port 5100 cowin-app/
  • Open browser and type http://localhost:5100/cowin-app.

I recommend using docker option to run this dashboard. The docker option will make sure you always run latest image with latest features and bug fixes.

How to use

  1. Enter your name, select state, select districts, enter pincodes(incase of mulitple pincodes use csv format like 411001,411002 etc)associated with selected district only, 10 digit registered mobile number and reference ids(incase of mulitple ids use csv format like 12345678911234,12345678911111 etc. You will get this reference ids from cowin portal.
  2. Other Fields like date, dose number, age group,vaccine fee and vaccine type have default values. This are self explanatory fields and change as per your requirement.
  3. Select Mode. There are two modes i.e Auto and Manual. Select the one as per your choice
  4. For Dose 2, select the vaccine that you received on dose 1.

How does it work

  1. Enter all the details as explained above and the click on Submit Information button. All fields except OTP and Captcha one will be disabled.
  2. Once you click on Submit Information button, Start button will get enabled and then you can start the background process in seperate thread. The background thread will then monitor the given picodes continuously for slots availability as per the given filters. Once slots becomes available in any of the center in given pincodes, script will send otp to registered mobile number and background thread will stop checking for slots. You will get message as OTP sent successfully pn Reg Mob No. Please enter the OTP within 3 minutes. The center details for which slots are availbale will get populated under Center Name as shown below session
  3. If you have selected Manual mode then enter the OTP received on registered mobile number and click on Submit OTP. If otp is correct then you will get message on dashboard as below

Screenshot from 2021-06-06 22-37-15 (copy)

  1. If selected mode is Auto mode then user will not have to enter otp manually. The SMS Forwarder Application will forward the sms on given gmail id and python script has incoming email monioring code to check incoming emails related to cowin otp. Once script detects otp email it then parse the otp and book the slots directly. User will need to keep the mobile phone connected to wifi or mobile data all the time for SMS Forwarder to work

Demo

auto.mp4

To Do

  • Validations on input fields
  • Resend OTP option
  • Resend Captcha if captcha verfication fails.

How to Contribute to this repo

Follow this

Data wrangling & common calculations for results from qMem measurement software

qMem Datawrangler This script processes output of qMem measurement software into an Origin 庐 compatible *.csv files and matplotlib graphs to quickly v

Julian 1 Nov 30, 2021
Slientruss3d : Python for stable truss analysis tool

slientruss3d : Python for stable truss analysis tool Desciption slientruss3d is a python package which can solve the resistances, internal forces and

3 Dec 26, 2022
CBLang is a programming language aiming to fix most of my problems with Python

CBLang A bad programming language made in Python. CBLang is a programming language aiming to fix most of my problems with Python (this means that you

Chadderbox 43 Dec 22, 2022
Auto-ropper is a tool that aims to automate the exploitation of ROP.

Auto-ropper is a tool that aims to automate the exploitation of ROP. Its goal is to become a tool that no longer requires user interaction.

Zerotistic 16 Nov 13, 2022
App to decide weekly winners in H2H 1 Win (9 Cat)

Fantasy Weekly Winner for H2H 1 Win (9 Cat) Yahoo Fantasy API Read

Sai Atmakuri 1 Dec 31, 2021
A streamlit app for exploring image search results from HuggingPics

title emoji colorFrom colorTo sdk app_file pinned huggingpics-explorer 馃 blue red streamlit app.py false huggingpics-explorer A streamlit app for exp

Nathan Raw 4 Sep 10, 2022
Simple utlity for sniffing decrypted HTTP/HTTPS traffic on a jailbroken iOS device into an HAR format.

Description iOS devices contain a hidden feature for sniffing decrypted HTTP/HTTPS traffic from all processes using the CFNetwork framework into an HA

83 Dec 25, 2022
Final project in KAIST AI class

mmodal_mixer MLP-Mixer based Multi-modal image-text retrieval Image: Original image is cropped with 16 x 16 patch size without overlap. Then, it is re

SuperSuperMoon 5 May 30, 2022
Graveyard is an attempt at open-source reimplementation of DraciDoupe.cz

Graveyard: Place for Dead (and Undead) Graveyard is an attempt at open-source reimplementation of DraciDoupe.cz (referred to as DDCZ in this text). De

DraciDoupe.cz 5 Mar 17, 2022
A Blender addon to enable reloading linked libraries from UI.

library_reload_linked_libraries A Blender addon to enable reloading linked libraries from UI.

3 Nov 27, 2022
Nesse reposit贸rio ser茫o armazenados os conte煤dos de aula

Lets_Code_DS_Degree_Alunos Nesse reposit贸rio ser茫o armazenados os conte煤dos de aula Formato das aulas: Notebook de aula j谩 vem comentado para reduzir

Patricia Bongiovanni Catandi 6 Jan 21, 2022
A common, beautiful interface to tabular data, no matter the format

rows No matter in which format your tabular data is: rows will import it, automatically detect types and give you high-level Python objects so you can

脕lvaro Justen 834 Jan 03, 2023
馃ぁ Multiple Discord selfbot src deobfuscated !

Deobfuscated selfbot sources About. If you whant to add src, please make pull requests. If you whant to deobfuscate src, send mail to

Sreecharan 5 Sep 13, 2021
A project to empower needy-students.

Happy Project 馃槉 A project to empower needy-students. Happy Project is a non-profit initiation founded by IT people from Jaffna, Sri Lanka. This is to

1 Mar 14, 2022
Viewflow is an Airflow-based framework that allows data scientists to create data models without writing Airflow code.

Viewflow Viewflow is a framework built on the top of Airflow that enables data scientists to create materialized views. It allows data scientists to f

DataCamp 114 Oct 12, 2022
Add any Program in any language you like or add a hello world Program 鉂o笍 if you like give us :star:

Welcome to the Hacktoberfest 2018 Hello-world 馃搵 This Project aims to help you to get started with using Github. You can find a tutorial here What is

Aniket Sharma 1.5k Nov 16, 2022
Simple control of Thorlabs Elliptec devices from Python.

Elliptec Simple control of Thorlabs Elliptec devices. No docs yet 禄 Get started 路 Report a bug 路 Request a feature About The Project ThorLabs Elliptec

David Roesel 8 Sep 22, 2022
Mute your mic while you're typing. An app for Ubuntu.

Hushboard Mute your microphone while typing, for Ubuntu. Install from kryogenix.org/code/hushboard/. Installation We recommend you install Hushboard t

Stuart Langridge 142 Jan 05, 2023
XAC HID Gamepad implementation for CircuitPython 7 or above.

CircuitPython_XAC_Gamepad Setup process Install CircuitPython 7 or above in your board. Add the init.py file under \lib\adafruit_hid directory of CIRC

5 Dec 19, 2022
Some scripts for the Reverse engineered (old) api of CafeBazaar

bazz Note: This project is done and published only for educational purposes. Some scripts for the Reverse engineered (old) API of CafeBazaar. Be aware

Mohsen Tahmasebi 35 Dec 25, 2022