Skip to main content

Standalone local fetch helper for hosted JobHunt — handles LinkedIn, Bayt, Indeed, and Glassdoor from your own IP

Project description

JobHunt Local Fetch Helper

jobhunt-linkedin-helper is the standalone local companion for hosted JobHunt deployments.

It keeps LinkedIn, Bayt, Indeed, and Glassdoor fetching on the user's own machine instead of the shared server IP, which makes the hosted product safer and more reliable.

What it does

  • pairs with your hosted JobHunt server using a short-lived code
  • stores only a revocable device token on disk
  • starts the bundled LinkedIn scraper locally when needed
  • runs Bayt / Indeed / Glassdoor fetches locally via JobSpy
  • polls the server for local fetch tasks
  • returns raw jobs back to JobHunt for normal scoring and deduping

Install

For end users (hosted JobHunt)

  1. Download the .whl from your JobHunt admin or the project releases page.
  2. Install it (Python 3.11+ required. Node.js 20+ is needed for LinkedIn support):
    uv tool install jobhunt-linkedin-helper.whl
    # or: pip install jobhunt-linkedin-helper.whl
    
  3. Run it with your pairing code (see Run below).

The CLI bootstraps the bundled LinkedIn scraper automatically on first launch when LinkedIn support is needed — no separate node server.js step needed.

For local development (from this repo)

uv tool install ./linkedin-helper

Building a distributable wheel

cd linkedin-helper
./build.sh
# outputs dist/jobhunt_linkedin_helper-*.whl

Upload the wheel wherever you host downloads and set VITE_LINKEDIN_HELPER_DOWNLOAD_URL in your frontend .env.

Run

First pairing:

jobhunt-linkedin-helper \
  --server-url https://your-jobhunt-domain.com \
  --pairing-code JHLI-XXXX-XXXX

After pairing, the helper remembers its device token and future runs only need:

jobhunt-linkedin-helper --server-url https://your-jobhunt-domain.com

Notes

  • The helper starts its own bundled LinkedIn scraper automatically. Users should not need a separate node server.js command.
  • Bayt / Indeed / Glassdoor use JobSpy inside the same helper package.
  • On first launch, the helper bootstraps its LinkedIn scraper dependencies with npm install if needed.
  • If you only use Bayt / Indeed / Glassdoor, Python is enough. LinkedIn support still expects node and npm to be available on the local machine.

Options

Flag Default Description
--server-url http://127.0.0.1:8000 Hosted JobHunt URL
--pairing-code One-time code from the JobHunt UI
--device-name hostname Friendly device label shown in JobHunt
--token-file ~/.jobhunt/linkedin-local-agent.json Where the helper stores its device token
--poll-seconds 8 How often to poll when idle
--once off Claim one task and exit
--scraper-port 3001 Port used by the helper-managed local scraper
--no-managed-scraper off Skip starting the bundled scraper and use --scraper-url instead
--scraper-url http://127.0.0.1:3001 External scraper URL when --no-managed-scraper is used
--skip-scraper-bootstrap off Skip automatic npm install for advanced/dev usage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jobhunt_linkedin_helper-0.2.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file jobhunt_linkedin_helper-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jobhunt_linkedin_helper-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92fdee8c27e8f6b46a90468050ed1b6f355858655362597c70c4acdfe67b5424
MD5 509660fe5bd3ccf7a52b92ecda5c8e13
BLAKE2b-256 4ce2eb6d1071ee55fadac2fce5b54b8b40dcc4c273e6c6e490ec0b5e01b0728f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page