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
LISTINGS TABLE
👻
Loading…
KEYWORD MATRIX
SEARCH TERMS & SCORING WEIGHTS
// ADD KEYWORD
Search Term
Weight ℹ
// BATCH IMPORT KEYWORDS
One keyword per line. Optional weight: laptop:3 or just laptop (defaults to weight 1)
ACTIVE KEYWORDS
🔍
Loading…
TARGET SITES
SITE URL TEMPLATES & SELECTORS
// REGISTER NEW SITE
MODE A — DIRECT URL
Include `{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. `shopgoodwill.com/home`
Scraper auto-discovers the search box and types.
Site Name
URL
Search Selector ℹ
Pages ℹ
▶ LOGIN / SESSION OPTIONS (for sites requiring an account)
This site requires login before scraping
LOGIN PAGE URL
LOGGED-IN SELECTOR ℹ
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.
REGISTERED SITES
🌐
Loading…
SYSTEM SETTINGS
TELEGRAM C2 & SCRAPER CONFIGURATION
// TELEGRAM C2 CONFIG
Bot Token
Chat ID
Commands: /status · /pause · /resume · /listings
// SCRAPER TIMING
Cycle Timer (seconds) ℹ
Minimum: 30s · Recommended: 120–300s · Jitter ±5–15s between keywords
①
Post-Launch Delay sec
Wait after the browser opens but before the first page navigation.
Lets the browser fully initialise. Set 0 to skip.
②
Website-Launch Delay sec
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.
③
Post-Search Delay sec
Wait after the results page loads but before extracting listings.
Useful for lazy-loaded pages. Set 0 to scrape immediately.
④
Page-Hold Timer sec
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
Scraper Browser ℹ
🔍 Auto-Detect Edge → Yandex → Chromium
🟡 Google Chrome chrome / google-chrome
🔵 Microsoft Edge msedge.exe
🔴 Yandex Browser browser.exe / yandex-browser
🦁 Brave brave.exe / brave-browser
Restart Ghost Node after changing the browser for it to take effect.
// INCOGNITO MODE
OFF
When ON: each scrape session launches with `--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.
// HUMANIZE LEVEL
Select a level above.
// CAPTCHA SOLVER
SERVICE
API KEY
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.
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.
PROVIDER
MODEL
GROQ API KEY (free — get one at console.groq.com → API Keys)
Free tier: ~1,300 requests/day. Ghost Node only calls AI on NEW, unique listings — so this is more than enough for normal use.
OLLAMA BASE URL
Install Ollama from ollama.com/download/windows then run: `ollama pull llama3.2:3b`
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.
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).
OFF
Enable closing-soon alerts
ALERT SCHEDULE — minutes before closing (comma-separated)
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.
DISCORD WEBHOOK URL
Uses Gmail via an App Password (not your main Gmail password).
1. Enable 2-Step Verification on your Google account.
2. Go to myaccount.google.com/apppasswords → create an app password → paste it below.
GMAIL ADDRESS (sender)
APP PASSWORD (16-char code)
SEND ALERTS TO (destination email)
// 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.
DISPLAY CURRENCY
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).
OFF
Enable proxy rotation
PROXY LIST (one per line)
// SITE HEALTH — AUTO COOLDOWN
COOLDOWN AFTER consecutive failures (0 = never). Site enters 30-min cooldown then retries.
// EXPORT LISTINGS
⬇ CSV ⬇ JSON ⬇ HTML Report
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.
🔁 UPLOAD & RESTORE
// DASHBOARD PREFERENCES
Listing Detail View
Click listing title to open full detail panel
AI DEBUG LOG
LIVE PROMPT / RESPONSE INSPECTOR
POLLING OFF
⚠ AI Debug Mode is OFF. No new entries will be captured. Go to Settings → AI Smart Filter → DEBUG MODE and turn it ON, then save.
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.
📦 LISTING DETAIL
PRICE
TIME LEFT
LOCATION
SITE
KEYWORD
SCORE
AI VERDICT
CAPTURED
LAST REFRESHED
LOT IMAGES
↗ Open Listing
✏ EDIT SITE
SITE NAME
SEARCH SELECTOR (optional)
URL TEMPLATE (use {keyword} for direct mode)
MAX PAGES
Requires Login
Login Enabled
LOGIN URL
LOGIN CHECK SELECTOR
💰 PRICE FILTER —
Filter listings for this keyword by price. Leave blank for no limit. Values are in the raw listing currency — comparison is done after converting both sides to USD.
MIN PRICE (USD equivalent)
MAX PRICE (USD equivalent)
🤖 AI TARGET —
Describe in plain English exactly what you want to find. The AI reads each lot title and decides YES or NO.
Be specific: mention generation/model range, condition, and what to exclude.
// TEST BEFORE SAVING — paste a real lot title below