SYSTEM DASHBOARD
REAL-TIME NODE TELEMETRY
Last cycle: —
// TOTAL SCANNED
0
listings processed
// ALERTS FIRED
0
qualifying hits
// UPTIME
0h
continuous operation
// ENGINE
—
current state
// ACTIVITY LOG
[BOOT]
Ghost Node dashboard initialized.
// RECENT HITS (top 5)
No hits yet.
CAPTURED LISTINGS
ALL QUALIFYING AUCTION HITS
Loading…
KEYWORD MATRIX
SEARCH TERMS & SCORING WEIGHTS
// ADD KEYWORD
// BATCH IMPORT KEYWORDS
One keyword per line. Optional weight: laptop:3 or just laptop (defaults to weight 1)
Loading…
TARGET SITES
SITE URL TEMPLATES & SELECTORS
// REGISTER NEW SITE
MODE A — DIRECT URL
Include
e.g.
Scraper substitutes the term and navigates directly.
{keyword} in the URL.e.g.
ebay.co.uk/sch/?_nkw={keyword}Scraper substitutes the term and navigates directly.
MODE B — HOMEPAGE SEARCH
Paste the homepage URL as-is.
e.g.
Scraper auto-discovers the search box and types.
e.g.
shopgoodwill.com/homeScraper auto-discovers the search box and types.
▶ LOGIN / SESSION OPTIONS (for sites requiring an account)
This site requires login before scraping
After adding the site, use the 🔑 Login button in the table below.
Ghost Node will open a visible browser window — log in manually, close it, and your session is saved automatically for all future scrapes.
Loading…
SYSTEM SETTINGS
TELEGRAM C2 & SCRAPER CONFIGURATION
// TELEGRAM C2 CONFIG
Commands: /status · /pause · /resume · /listings
// SCRAPER TIMING
Minimum: 30s · Recommended: 120–300s · Jitter ±5–15s between keywords
①
Wait after the browser opens but before the first page navigation.
Lets the browser fully initialise. Set 0 to skip.
Lets the browser fully initialise. Set 0 to skip.
②
Applied once per site launch — fires when the browser first opens a
target website, before any keyword is processed.
When the engine moves to the next site, it fires once again for that site.
Does not repeat between keywords on the same site. Set 0 to skip.
When the engine moves to the next site, it fires once again for that site.
Does not repeat between keywords on the same site. Set 0 to skip.
③
Wait after the results page loads but before extracting listings.
Useful for lazy-loaded pages. Set 0 to scrape immediately.
Useful for lazy-loaded pages. Set 0 to scrape immediately.
④
Hold the results page open for this many seconds, re-scraping each time
a pass completes. New dynamic listings are captured. Duplicates suppressed.
Set 0 to scrape once and move on.
ℹ
Page-Hold re-scrape behaviour:
When ④ is active the scraper finishes each pass then immediately starts the
next — no idle gap. Passes repeat until the timer expires. Each listing link is
saved exactly once — clones across all passes are automatically suppressed.
// BROWSER ENGINE
Restart Ghost Node after changing the browser for it to take effect.
// INCOGNITO MODE
OFF
When ON: each scrape session launches with
no cached sessions, no login state. Harder to track, slower to warm up.
--incognito — no cookies,no cached sessions, no login state. Harder to track, slower to warm up.
// BROWSER VISIBILITY
HEADLESS — Browser hidden
Toggle ON to open a visible browser window so you can watch
every page load, search and result in real time. Useful for debugging.
Takes effect on the next scrape cycle — no restart needed.
every page load, search and result in real time. Useful for debugging.
Takes effect on the next scrape cycle — no restart needed.
// HUMANIZE LEVEL
Select a level above.
// CAPTCHA SOLVER
When enabled, Ghost Node will auto-solve CAPTCHAs via the chosen service. Get an API key at 2captcha.com or capsolver.com.
// AI SMART FILTER — powered by Groq (free) or Ollama (local)
When enabled, the AI reads each lot title and decides if it matches your natural-language target description per keyword.
Eliminates accessories, cases, chargers, wrong generations, etc. that keywords alone miss.
Set an AI Target on each keyword in the Keywords tab.
Eliminates accessories, cases, chargers, wrong generations, etc. that keywords alone miss.
Set an AI Target on each keyword in the Keywords tab.
OFF
Only affects keywords that have an AI Target set
OFF
DEBUG MODE — prints every prompt & raw response to the console. Turn on to inspect AI behaviour, turn off in production.
Free tier: ~1,300 requests/day. Ghost Node only calls AI on NEW, unique listings — so this is more than enough for normal use.
AUTO-ADAPTER — N17
When enabled, Ghost Node uses the AI to auto-generate CSS selectors for each target site.
It reads the page HTML, asks the AI to identify the listing container, title, price, time and link selectors,
validates them live, then stores them for reuse. Works with any site — Angular, React, Vue, or plain HTML.
Use the 🤖 Adapt button in the Sites tab to run immediately on any site.
It reads the page HTML, asks the AI to identify the listing container, title, price, time and link selectors,
validates them live, then stores them for reuse. Works with any site — Angular, React, Vue, or plain HTML.
Use the 🤖 Adapt button in the Sites tab to run immediately on any site.
OFF
Automatically re-adapts stale sites during scrape cycles
// CLOSING SOON ALERTS
Only fires for lots that have a captured countdown timer. Each threshold fires once per lot.
Set to 0 or leave schedule empty to get no closing alerts (capture alert only).
Set to 0 or leave schedule empty to get no closing alerts (capture alert only).
OFF
Enable closing-soon alerts
Example: 60,30,10,5 fires 4 alerts at 60 min, 30 min, 10 min, and 5 min left. 0 = capture alert only, no countdown alerts.
// ALERT CHANNELS
Choose one or multiple channels. All enabled channels receive every alert simultaneously.
// CURRENCY DISPLAY — N4
Prices are shown in their raw scraped currency by default.
Optionally choose a target currency — all prices will also show a converted value using daily rates from frankfurter.app (free, no key needed).
Leave blank to keep raw currency display.
Optionally choose a target currency — all prices will also show a converted value using daily rates from frankfurter.app (free, no key needed).
Leave blank to keep raw currency display.
Rates refresh every 6 hours via frankfurter.app
// PROXY ROTATION — N1 optional
Optional — provide your own proxy list. Ghost Node rotates through them round-robin per scrape.
Format: one proxy per line — http://host:port or http://user:pass@host:port
Leave blank to scrape without proxy. Free proxy lists can be found at free-proxy-list.net (quality varies).
Format: one proxy per line — http://host:port or http://user:pass@host:port
Leave blank to scrape without proxy. Free proxy lists can be found at free-proxy-list.net (quality varies).
OFF
Enable proxy rotation
// SITE HEALTH — AUTO COOLDOWN
consecutive failures (0 = never). Site enters 30-min cooldown then retries.
// EXPORT LISTINGS
Downloads all captured listings. HTML is a self-contained report you can share.
// DATABASE BACKUP & RESTORE
Your sniper.db contains all listings, sites, keywords, settings and your Telegram token.
Back it up regularly. Restore to move Ghost Node to a new machine with all data intact.
BACKUP
Downloads a clean timestamped copy of your database file. Store it somewhere safe.
📦 DOWNLOAD BACKUP
RESTORE
Upload a backup .db file. Current database is auto-saved before overwriting.
// DASHBOARD PREFERENCES
Listing Detail View
Click listing title to open full detail panel
AI DEBUG LOG
LIVE PROMPT / RESPONSE INSPECTOR
POLLING OFF
0
total calls
0
prompt tokens
0
completion tokens
0
YES verdicts
0
NO verdicts
0
errors
No AI calls captured yet.
Enable Debug Mode in Settings and trigger an AI Filter or Auto-Adapt call.