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 Demo · Report Bug · Request 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

Oppia is an online learning tool that enables anyone to easily create and share interactive activities

Oppia is an online learning tool that enables anyone to easily create and share interactive activities (called 'explorations'). These activities simulate a one-on-one conversation with a tutor, makin

Oppia 4.7k Dec 29, 2022
End-to-End text sumarization, QAs generation using flask.

Help-Me-Read A web application created with Flask + BootStrap + HuggingFace 🤗 to generate summary and question-answer from given input text. It uses

Ankush Kuwar 12 Nov 13, 2022
ChieriBot,词云API版,用于统计群友说过的怪话

wordCloud_API 词云API版,用于统计群友说过的怪话,基于wordCloud 消息储存在mysql数据库中.数据表结构见table.sql 为啥要做成API:这玩意太吃性能了,如果和Bot放在同一个服务器,可能会影响到bot的正常运行 你服务器性能够用的话就当我在放屁 依赖包 pip i

chinosk 7 Mar 20, 2022
Repository for 2021 Computer Vision Class @ Chulalongkorn University

2110443 - Computer Vision (2021/2) Computer Vision @ Chulalongkorn University Anaconda Download Link https://www.anaconda.com/download/ Miniconda and

Chula PIC Lab 5 Jul 19, 2022
Module-based cryptographic tool

Cryptosploit A decryption/decoding/cracking tool using various modules. To use it, you need to have basic knowledge of cryptography. Table of Contents

/SNESE_AR\ 33 Nov 27, 2022
Performance monitoring and testing of OpenStack

Browbeat Browbeat is a performance tuning and analysis tool for OpenStack. Browbeat is free, Open Source software. Analyze and tune your Cloud for opt

cloud-bulldozer 83 Dec 14, 2022
Eros is an expiremental programming language built using simple Python code.

Eros is an expiremental programming language built using simple Python code. Featuring an easy syntax and unique features like type slicing, the language remains an expirement that grows in down time

zxro 2 Nov 21, 2021
List of resources for learning Category Theory

A curated list of resources for studying category theory. As resources aimed at mathematicians are abundant, this list is aimed at materials whose target audience is not people with a graduate-level

Bruno Gavranović 100 Jan 01, 2023
A simple method to create strong password.

A simple method to create strong password.

1 Jan 23, 2022
WGGCommute - Adding Commute Times to WG-Gesucht Listings

WGGCommute - Adding Commute Times to WG-Gesucht Listings This is a barebones implementation of a chrome extension that can be used to add commute time

Jannis 2 Jul 20, 2022
A flexible free and unlimited python tool to translate between different languages in a simple way using multiple translators.

deep-translator Translation for humans A flexible FREE and UNLIMITED tool to translate between different languages in a simple way using multiple tran

Nidhal Baccouri 806 Jan 04, 2023
A Tandy Color Computer 1, 2, and 3 assembler written in Python

CoCo Assembler and File Utility Table of Contents What is it? Requirements License Installing Assembler Assembler Usage Input File Format Print Symbol

Craig Thomas 16 Nov 03, 2022
A tool to allow New World players to calculate the best place to put their Attribute Points for their build and level

New World Damage Simulator A tool designed to take a characters base stats including armor and weapons, level, and base damage of their items (slash d

Joseph P Langford 31 Nov 01, 2022
Refer'd Resume Scanner

Refer'd Resume Scanner I wanted to share a free resource we built to assist applicants with resume building. Our resume scanner identifies potential s

Refer'd 74 Mar 07, 2022
Boot.img patcher for Tolino ebook readers to enable ADB and root.

I'm not responsible for any damage to your devices by running this tool. Please note that you may loose warranty when using this, although (This is no

Aaron Dewes 9 Nov 13, 2022
Traductor de webs desde consola usando el servicio de Google Traductor.

proxiGG Traductor de webs desde consola usando el servicio de Google Traductor. Se adjunta el código fuente para Python3 y un binario compilado en C p

@as_informatico 2 Oct 20, 2021
Open source style Deep Dream project

DeepDream ⚠️ If you don't have a gpu with cuda, the style transfer execution time will be much longer Prerequisites Python =3.8.10 How to Install sud

Patrick martins de lima 7 May 17, 2022
Code repo for the book "Feature Engineering for Machine Learning," by Alice Zheng and Amanda Casari, O'Reilly 2018

feature-engineering-book This repo accompanies "Feature Engineering for Machine Learning," by Alice Zheng and Amanda Casari. O'Reilly, 2018. The repo

Alice Zheng 1.3k Dec 30, 2022
dta Convert Dict To Attributes!

dta (Dict to Attributes) dta is very small dict (or json) to attributes converter. It is only have 1 files and applied to every python versions.

Rukchad Wongprayoon 0 Dec 31, 2021
A collection of python exercises to help your learning path!

How to use Step 1: run this command git clone https://github.com/TechPenguineer/Python-Exercises.git Step 2: Run this command cd Python-Exercises You

Tech Penguin 5 Aug 05, 2021