Appearance
Quickstart
FreshSource: bible/getting-started.md
Your first 10 minutes. Follow these steps in order and you will have a ghost-mode browser running by the end.
Prerequisites
- Windows 11 with Chrome installed
- Node.js 18+
- The
browser-senderrepo cloned - A terminal (PowerShell, cmd, or Git Bash)
Step 1: Start the engine (1 minute)
bash
cd C:\Users\jennb\browser-sender\lib\dna-engine\mini-engine-v2
node server.mjsYou will see:
[ghost-engine] Listening on http://localhost:4700
[ghost-engine] Loaded 109 plugins, 704 routes
[ghost-engine] Account store: 50 accounts loadedLeave this terminal open. The engine runs as long as this process is alive.
Step 2: Open the dashboard (30 seconds)
Open your browser to http://localhost:4700/.
You will see the Ghost Engine dashboard: dark theme, 13 tabs across the top, quick action buttons in the middle.
The top bar shows: Accounts (50), Browsers (0), Cookies Valid, Fingerprints, Campaigns, Health. These update every 10 seconds.
Step 3: Verify detection scores (2 minutes)
Launch a browser and check detection sites see a real human:
bash
curl -s -X POST http://localhost:4700/browser/launch \
-H "Content-Type: application/json" \
-H "x-api-key: ghost-engine-key" \
-d '{"headless":false}'A Chrome window opens. Navigate to these sites and verify:
CreepJS
Go to https://abrahamjuliot.github.io/creepjs/ and scroll to the Headless section:
- 0% headless: not detected as headless
- 0% stealth: no stealth plugins detected
- 6% like headless: minor (ContentIndex and ContactsManager stubs cover most)
BrowserScan
Go to https://www.browserscan.net/:
- Browser fingerprint authenticity: 100%
Sannysoft Bot Detection
Go to https://bot.sannysoft.com/:
- All rows green
- WebDriver: missing (passed)
Step 4: Launch a ghost-mode browser (1 minute)
This is the real thing: OS-level input, zero CDP traces.
bash
curl -s -X POST http://localhost:4700/browser/launch \
-H "Content-Type: application/json" \
-H "x-api-key: ghost-engine-key" \
-d '{"email":"someone@gmail.com","mode":"ghost","platform":"reddit","headless":false}'Replace someone@gmail.com with a real account email from the account store.
Ghost mode means:
- Mouse clicks go through Windows SendInput (isTrusted: true)
- Keyboard goes through Windows SendInput (isTrusted: true)
- Navigation uses vision (screenshot, then AI, then coordinates)
- Zero CDP interaction traces
Important. Ghost mode requires window focus. Only one ghost session at a time on desktop.
Step 5: Run your first CTR round (2 minutes)
bash
node cli.mjs ctr \
--keyword "junk removal dallas" \
--domain "journeyjunkremoval.com" \
--city "Dallas" \
--state "TX"This will:
- Pick a random active account
- Launch a browser with that account's fingerprint and proxy
- Search Google for the keyword (from Dallas via UULE)
- Do warmup searches first
- Find and click the target domain
- Deep dwell: scroll, click internal links, read
- Close and save cookies
Or via the dashboard: click Fire CTR in Quick Actions.
Step 6: Check what happened (1 minute)
bash
# Active browsers
curl -s http://localhost:4700/browser
# Account status
curl -s http://localhost:4700/accounts/army-status
# All routes
curl -s http://localhost:4700/routesOr just look at the dashboard, it auto-refreshes every 10 seconds.
Quick reference
| Action | Command |
|---|---|
| Start engine | node server.mjs |
| Open dashboard | http://localhost:4700/ |
| Health check | curl http://localhost:4700/health |
| Launch browser | curl -X POST http://localhost:4700/browser/launch -H "Content-Type: application/json" -H "x-api-key: ghost-engine-key" -d '{"email":"...","headless":false}' |
| Ghost mode | Add "mode":"ghost","platform":"reddit" to launch body |
| Fire CTR | node cli.mjs ctr --keyword "..." --domain "..." --city "..." --state "..." |
| List accounts | node cli.mjs accounts list |
| Army status | curl http://localhost:4700/accounts/army-status |
| All routes | curl http://localhost:4700/routes |
| Autopilot on | curl -X POST http://localhost:4700/schedules/autopilot -H "x-api-key: ghost-engine-key" |
| Autopilot off | curl -X DELETE http://localhost:4700/schedules/autopilot -H "x-api-key: ghost-engine-key" |
What's next
- Schedule ongoing CTR: set up daily campaigns with natural-spread timing
- Warm accounts: run warmup batches to build account history
- Post to platforms: use the 18-platform social posting system
- Run cascades: deploy one article to 9 platforms in sequence
- Engage autopilot: 3 daemon schedules that run continuously
See Runbook for every command. See Concepts for how the whole system works.