saraogipraveen / covid-vaccine-gh-action

GitHub action to get notification whenever vaccine slot is availble in cowin portal :tada:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Covid Vaccine availability notifier

demo sms

Setup

  • Fork this repo
  • Update the config at src/config.js
  • Delete the db file src/db.json
module.exports = {
  // options in the array form a "or" condition while filtering
  minAge: [45, 18],
  pincode: "560008",
  vaccines: ['COVISHIELD', 'COVAXIN', 'SPUTNIK V']
}
  • Push the updated config
  • Create a free twilio account, they have a generous 15 USD credit which you can use for sending sms
  • Verify your mobile numbers in the twilio console https://www.twilio.com/console/phone-numbers/verified
  • Create following GitHub secrets in your repository, you can read more about it here

gh-secret-image

  • You can find the TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, FROM in the twilio dashboard

twillio-dashboard

  • SEND_TO is a comma separated list of numbers you wish to send sms to, eg: 9533234554,9533234552

Caveats

  • Since the Cowin api is geofenced and we cannot control the region of GitHub action we use the tor network, I have hardcoded a exit node in the action file as some of the exit nodes are from digital ocean and Cowin blocks their servers also. If the hardcoded exit node goes away just find a new india exit node ip from https://www.bigdatacloud.com/insights/tor-exit-nodes and replace it.
  • We have cron job every 5m but GitHub does not promise to follow it strictly so the action might execute every 15m to 30m based on GitHub server loads.
  • The actions might fail for few times in the start and then will get stablized.
- name: Install Tor
  run: |
    sudo apt-get -y install tor
    sudo sh -c "echo 'ExitNodes 216.10.247.146' >> /etc/tor/torrc"
    sudo /etc/init.d/tor restart

Show your support by ⭐ the repo

License

MIT © Ameer Jhan

About

GitHub action to get notification whenever vaccine slot is availble in cowin portal :tada:


Languages

Language:JavaScript 99.3%Language:Shell 0.7%