Deployed versions prior to 6/30/2019 (< 3.4.0) might want to do a clean deployment - we're changing from Redis to MongoDB, and I don't think it will migrate cleanly (or at all).
This tool lets you monitor the price of Southwest flights that you've booked. It will notify you if the price drops below what you originally paid. Then you can re-book the same flight and get Southwest credit for the price difference. This tool also lets you monitor the price of all Southwest flights on a given day. It will notify you if any flight on that day drops below the previous cheapest flight.
Note that you need to have a Plivo account to send the text message notifications and a Mailgun account to send the email notifications. You can run this tool without these accounts, but you won't get the notifications.
You can log in with either:
The second option is nice when giving out access to friends and family since it will only display alerts for the given username. Note that the password is the same for all accounts, and the admin can see all alerts.
When creating alerts, note that the email and phone numbers are optional. If those are both left blank, the user will need to manually log in to view price drops.
Heroku Schedulerfrom your app's dashboard
npm run task:check
When updates become available, you will have to deploy them yourself using the Heroku CLI. This app follows SemVer in its versioning, so make sure to read the release notes when deploying a major version change.
Note: Deployed versions prior to 4/9/2018 using Mailgun will need to verify constants:
Note: Deployed versions prior to 4/28/2018 (< 3.0.0) on Heroku will need to install the buildpack https://github.com/jontewks/puppeteer-heroku-buildpack
Note: Deployed versions prior to 7/21/2018 (< 3.2.0) on Heroku will need to verify the
PROXY constant if you want to use a proxy to make the calls.
Note: Deployed versions prior to 6/30/2019 (< 3.4.0) might want to do a clean deployment - we're changing from Redis to MongoDB, and I don't think it will migrate cleanly (or at all). Otherwise, you'll need to add the mLab MongoDB add-on manually.
Right now, Southwest is successfully blocking requests from this project.
Southwest has some very fancy bot protections in place.
CHROME_DEBUG=true DEBUG="puppeteer:*"combined with
node inspectto debug strange chrome issues.
slowmois enabled and
https://infosimples.github.io/detect-headlesswill be opened before a Southwest URL
Instructions on deploying a proxy is outside the scope of this project. However, here's some information about proxies that might be useful:
squid.confwith something like this to prevent someone from using your setup as an open proxy:
acl swa dstdomain .southwest.com http_access allow swa http_access deny all
To configure the Price Drop Bot to use your proxy, define a new
PROXY variable within the Heroku Config. The proxy format should just be IP:port. Example:
heroku config:set PROXY='18.104.22.168:1234'
To run the test suite:
To run a console loaded up with
When debugging chrome/puppeteer issues it's helpful to use the following command:
DEBUG="puppeteer:*" CHROME_DEBUG=true node tasks/check.js
This will send helpful chromium debugging output into your console, and enable some additional logging to help debug what might be going wrong.
Downstream changes were integrated from:
Thanks to the following for their contributions: