Skip to content

Linux support, Firefox option, A12/A13 device mode - #5

Open
kaffeindecaf wants to merge 1 commit into
0xjohnnydev:mainfrom
kaffeindecaf:linux-firefox-a12a13
Open

Linux support, Firefox option, A12/A13 device mode#5
kaffeindecaf wants to merge 1 commit into
0xjohnnydev:mainfrom
kaffeindecaf:linux-firefox-a12a13

Conversation

@kaffeindecaf

Copy link
Copy Markdown

What changed

Got the script running properly on Linux and threw in a couple of new modes while I was in there.

Linux

  • Notes export no longer needs macOS. The old code shelled out to osascript to talk to the Notes app, which just dies on Linux. It now writes a plain text file to notes/ with the same grouped layout. No behavior change on macOS beyond that.
  • chromedriver discovery now checks /usr/bin/chromedriver and /usr/local/bin/chromedriver (the old code only looked at Homebrew paths), and the failure message tells you what to install per-platform.
  • User agent is now a generic Linux string instead of a Mac one.
  • README now has real install instructions for Ubuntu/Debian (apt install tesseract-ocr) and Fedora/CentOS (yum install tesseract), plus Linux driver setup.

New flags

  • --a12-a13 — same idea as --legacy but for iPhone XS/XR and iPhone 11 series (A12/A13 chips): extends the iOS ceiling to 26.0.1 for those devices only. iPhone 12+ still limited to the 16.x/17.x jailbreakable range.
  • --browser firefox — uses Firefox + geckodriver instead of Chrome. geckodriver is auto-fetched by webdriver-manager on first run, just like chromedriver. Interactive mode also asks which browser you want.

Verified

Ran a full headless scrape on Linux with Firefox (--browser firefox --no-ocr): 134 unique eBay listings, JSON export works, results sorted by device then price as before.

Screenshot / output sample

$ python JBScrape.py --browser firefox --no-ocr --pages 1 --delay 1
Initializing Firefox browser...
SEARCHING EBAY
Target iOS majors: 16, 17
Total queries to run: 35
[1/35] iPhone "iOS 16"      → 28 new listings
...
Saved 134 listings to jbscrape_results.json
Done! Found 134 total listings.

- Notes app AppleScript replaced with a plain text file export (works
  everywhere, not just macOS)
- chromedriver autodiscovery now also checks Linux paths, error messages
  tell you what to install on both platforms
- user-agent swapped for a generic Linux string
- README rewritten with real Linux install instructions (apt/yum)
- new --a12-a13 flag extends the iOS ceiling to 26.0.1 for XS/XR and
  iPhone 11 series (A12/A13 chips), mirrors the existing --legacy flow
- --browser firefox picks Firefox + geckodriver instead of Chrome;
  webdriver-manager downloads the driver on first run, same as before
- interactive mode asks which browser to use
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant