byalextran / southwest-checkin Goto Github PK
View Code? Open in Web Editor NEWEasy-to-use gem to check in to Southwest flights automatically. Also supports sending email notifications.
License: MIT License
Easy-to-use gem to check in to Southwest flights automatically. Also supports sending email notifications.
License: MIT License
I had a flight scheduled a few days ago. The flight is scheduled for a 2:40pm departure.
I scheduled it earlier this week, but I don't remember what time it was scheduled for before dst ended. After daylight savings time ended (2am today), I checked it via atq
, and it was scheduled for 13:40.
After I removed and re-added the flight, it said the expected time of 14:40.
My Ubuntu instance ntp daemon is accurate, as it switched to 1am once it turned 2am this morning.
Is there a location where the final results of the checkin attempt is logged? "You got seat B45"
I've been using this for months without error, until today, I had multiple flights fail with a generic "Error." message. Is there a way for me to log to try and debug the error?
I upgraded my Ubuntu server, and it seems to have broken all kinds of things. I'm trying to get this reinstalled, but the luvwrapper download seems to be gone. https://rubygems.org/gems/luvwrapper/versions/0.1.2 doesn't look very encouraging either. Was it pulled completely? Is this project dead?
Retrying download gem from https://rubygems.org/ due to error (2/4): Gem::RemoteFetcher::FetchError bad response Forbidden 403 (https://rubygems.org/gems/luvwrapper-0.7.1.gem)
Retrying download gem from https://rubygems.org/ due to error (3/4): Gem::RemoteFetcher::FetchError bad response Forbidden 403 (https://rubygems.org/gems/luvwrapper-0.7.1.gem)
Retrying download gem from https://rubygems.org/ due to error (4/4): Gem::RemoteFetcher::FetchError bad response Forbidden 403 (https://rubygems.org/gems/luvwrapper-0.7.1.gem)
Gem::RemoteFetcher::FetchError: bad response Forbidden 403 (https://rubygems.org/gems/luvwrapper-0.7.1.gem)
An error occurred while installing luvwrapper (0.7.1), and Bundler cannot continue.
Make sure that `gem install luvwrapper -v '0.7.1' --source 'https://rubygems.org/'` succeeds before bundling.
This seems simple, but I can't figure out how to do a cron task to update it. I'm not too familiar with Gems, and I think that is where my problem lies. I/ve tried putting the full command in a cron task, no luck. I put in in a script instead. script runs fine from a terminal window, but not from cron.
Is this what I need?
https://dev.to/risafj/cron-jobs-in-rails-a-simple-guide-to-actually-using-the-whenever-gem-now-with-tasks-2omi
When it says "Include it in your app's Gemfile, and run bundle to install.", that's when I wasn't sure I should do this.
Thanks for the fix! Glad it is working again.
ERROR:
/var/lib/gems/2.7.0/gems/json-2.3.1/lib/json/common.rb:263:in parse': 784: unexpected token at '<HTML><HEAD> (JSON::ParserError)
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>
You don't have permission to access "http://mobile.southwest.com/api/mobile-air-booking/v1/mobile-air-booking/page/view-reservation/?" on this server.<P>
Reference #18.ce6533b8.1644344262.10357553
</BODY>
</HTML>
Looks like common.rb is having issues accessing: https://mobile.southwest.com/api/mobile-air-booking/v1/mobile-air-booking/page/view-reservation/
I have tried from two different PCs on my network & even tried over cellular data with the same 403.
@byalextran, script is working great with the new headers! Well done!!!
One problem I'm having though is with the email notification. I setup the parameters in the autoluv.env file exactly as I had them before but I'm getting this error: 535 5.7.0 ...authentication rejected (1)
My SMTP is smtp.comcast.net. Not sure if they changed something or not. Clearly it's an authentication error. Any ideas?
Hey mate,
Got everything set up and whatnot to get ready for my flight, and figured I would check in manually to compare.
So I had a check-in this morning at 5:05 with emails scheduled, and right when it hit 5:05 i paused for like half a second, then hit check in on the southwest app and confirm check-in, and it checked me in on the app still before the script could.
I ended up not even getting an email confirmation for some reason, so I manually ran autoluv checkin ABCDEF (with all the correct info) and got the successful checkin email, with it saying it succeeded in 1.74 seconds. However when it mattered, I don't believe the schedule option worked correctly.
Is there something screwed up with the schedule option, like am I better off scheduling a task myself that would run the autoluv checkin
command?
I saw this appear on the first attempt.
Airport check in required. Unable to complete the check in process. Please visit a ticket counter to check in.
I was checking in for somebody else. They probably did something in the app to check themselves in manually and then when I used autoluv again 30 mins later, it chained it was successful.
This included an international flight, so it's not surprising. Perhaps it wanted passport information input or emergency contact info?
Is there a debug mode or forensic log I can dig through to see what really happened?
Alex, I have an active reservation with a flight this Saturday (check-in tomorrow, Friday, morning) if you want to use them to test. Please let me know.
Let me know and let's connect.
I have a fresh install, implemented step by step.
invoking autoluv fails, with several warnings and an error. hoping for some ideas on what's not set up properly
xxxx@instance-2:~$ sudo autoluv schedule AAAAAA Fake Name [email protected]
/var/lib/gems/2.7.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:68: warning: already initialized constant Net::ProtocRetryError
/usr/lib/ruby/2.7.0/net/protocol.rb:66: warning: previous definition of ProtocRetryError was here
/var/lib/gems/2.7.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:214: warning: already initialized constant Net::BufferedIO::BUFSIZE
/usr/lib/ruby/2.7.0/net/protocol.rb:206: warning: previous definition of BUFSIZE was here
/var/lib/gems/2.7.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:541: warning: already initialized constant Net::NetPrivate::Socket
/usr/lib/ruby/2.7.0/net/protocol.rb:503: warning: previous definition of Socket was here
Please create a valid Southwest header file before continuing. Learn more: https://github.com/byalextran/southwest-headers
LUV_HEADERS_FILE = /home/xxxx/southwest-headers/southwest_headers.json
LUV_FROM_EMAIL = xxxx
LUV_USER_NAME = xxxx
LUV_PASSWORD = xxxx
LUV_SMTP_SERVER = smtp.gmail.com
LUV_PORT = 587
xxxx@instance-2:~$ cat /home/xxxx/southwest-headers/southwest_headers.json
{"content-type": "application/json", "x-channel-id": "MWEB", "ee30zvqlwf-a": "78uwUrKpupN3bGLq-=3lDKyqHrs=I-Paxy73AqPeRXgY0DiG_iGPEi==UvsSUDRn2NTidAwR8y99KYNfdSZopR6kix8rxFmf=AcYbIFkCinOP8tFrKfiZCMyoL1tHyZzg66XdWf3KS0D2pTWh05pdA_oYbKw041nCtaJObn83x6BbifJgNiA6tZ1oGuI=enJ8D8yLicLZOPxZJ9Pqb4r=8WPsktZIxnlK6JXJXC9ExyWl_aOgMA=Gb-OWgEc9C=yYq85upxJqTUno6SPPpWZthix0sL9_x=78MFZ=X6d4w-XYiEBGwWF40C4HC46YqYmL-TU=IK5wTG3WeS5x4h8A_JeJY0VasaEXDdaF91Lu-g6p5....... etc etc
I just attempted to use this for the first time since the new headers were required. I got an email that it was unsuccessful. This is what the log showed.
# Logfile created on 2022-02-16 16:30:24 -0500 by logger.rb/v1.4.2
E, [2022-02-16T16:30:24.480616 #6925] ERROR -- : Error.
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/abstract_response.rb:249:in `exception_with_response'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/abstract_response.rb:129:in `return!'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/request.rb:836:in `process_result'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/request.rb:743:in `block in transmit'
/usr/lib/ruby/2.7.0/net/http.rb:933:in `start'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/request.rb:727:in `transmit'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/request.rb:163:in `execute'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient/request.rb:63:in `execute'
/var/lib/gems/2.7.0/gems/rest-client-2.1.0/lib/restclient.rb:70:in `post'
/var/lib/gems/2.7.0/gems/autoluv-0.3.1/lib/autoluv/southwestclient.rb:48:in `block in check_in'
/var/lib/gems/2.7.0/gems/autoluv-0.3.1/lib/autoluv/southwestclient.rb:44:in `times'
/var/lib/gems/2.7.0/gems/autoluv-0.3.1/lib/autoluv/southwestclient.rb:44:in `check_in'
/var/lib/gems/2.7.0/gems/autoluv-0.3.1/bin/autoluv:21:in `<top (required)>'
/usr/local/bin/autoluv:23:in `load'
/usr/local/bin/autoluv:23:in `<main>'
Any ideas what went wrong here?
Anyone seen the following error?
“Failed to open TCP connection to mobile.southwest.com:443 (getaddrinfo: Temporary failure in name resolution)”
I have been using this script and similar methods for a couple years now. Everything was working great here until earlier this year. Not sure if it was due to a chrome update or something on swa side. I’ve been chasing getting it back running & trying to follow the most recent findings about chrome versions.
I have everything as instructed:
google-chrome 109.0.5414.74
chromedriver 109.0.5414.74
undetected-chromedriver 3.1.7
Still seeing odd activity. The headers file creation sometimes errors. Scheduling check-ins sometimes errors. Execution of recent check-ins errors. I say sometimes because without changing anything, if I rerun the command sometimes it goes through. For the check-in execution, I don’t have the opportunity to rerun, it just failed it’s most recent attempt. Error listed above, but I don’t think it’s a simple LAN problem. Ping test to mobile.southwest.com resolved the same IP and response both from my Ubuntu VM and another physical server.
I mean, I don't see why it wouldn't. But I just had two fail (email said error) within the last week and that's the only 'odd' thing about the confirmation.
Requesting the ability to test the email setup configuration to ensure it's working properly before the scheduled check-in event occurs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.