A Node.js application to find open sections of a class and send pushover notifications. This could have been done pretty easily and more lightweight using Python and Beautiful Soup but using Puppeteer allows real browser emulation and will bypass almost all bot detection and therefore have a better of a chance of flying beneath the radar.
- Axios -v 0.19.0
- puppeteer -v 1.18.1
- Node.js -v 12.6.0
- Ubuntu -v 18.04
- Install node.js - Follow this link to install the latest version.
- Copy this repository into any folder
git clone https://github.com/kimsbrian/Timetable-Availability.git
- CD into the directory
- Run
npm install
5. Install other Ubuntu Dependencies
gconf-service
libasound2
libatk1.0-0
libatk-bridge2.0-0
libc6
libcairo2
libcups2
libdbus-1-3
libexpat1
libfontconfig1
libgcc1
libgconf-2-4
libgdk-pixbuf2.0-0
libglib2.0-0
libgtk-3-0
libnspr4
libpango-1.0-0
libpangocairo-1.0-0
libstdc++6
libx11-6
libx11-xcb1
libxcb1
libxcomposite1
libxcursor1
libxdamage1
libxext6
libxfixes3
libxi6
libxrandr2
libxrender1
libxss1
libxtst6
ca-certificates
fonts-liberation
libappindicator1
libnss3
lsb-release
xdg-utils
wget
- Edit the index.js file
nano index.js
- Enter your own Pushover API keys and your custom message
- Change the term year, subject code, and course number. Default is Fall 2019, CS, 2104.
- Optional - Uncomment the two CRN lines and change to your specificed CRN
- Run
node index.js
to test if it works - Install npm2
npm install pm2 -g
- Start up using npm2
sudo pm2 start index.js
- Run npm2 on restart
sudo pm2 startup