1- <div align =" center " >
1+ <div align =" center " >
22
33# 🛸 ABDUCTR
44
3232| 🗺️ ** City Rotation** | Cycles through all US cities/states, resuming where it left off |
3333| 🔮 ** BANT Scoring** | Auto-calculated Budget/Authority/Need/Timing score per lead |
3434| 🌐 ** URL Email Harvester** | Paste any URL and extract all contact emails instantly |
35- | 🕵️ ** Hunter.io Integration** | One-click email discovery per lead |
3635| 🛡️ ** Proxy Shield** | Rotate free proxies automatically, refreshed every 30 minutes |
3736| ⚡ ** Supabase Realtime** | Live table updates via Supabase subscriptions |
3837| 📤 ** CSV Export** | One-click download of filtered leads |
4645### Prerequisites
4746- Node.js 20+
4847- A free [ Supabase] ( https://supabase.com ) project
49- - (Optional) [ Hunter.io] ( https://hunter.io ) free API key for email lookup
5048
5149### 1 — Clone & Install
5250
53- \\ \ash
54- git clone https://github.com/YOUR_USERNAME/abductr .git
55- cd abductr
51+ ``` bash
52+ git clone https://github.com/itsRabb/ABDUCTR .git
53+ cd ABDUCTR/ abductr
5654npm install
57- \\ \
55+ ```
5856
5957### 2 — Environment
6058
61- \\ \ash
59+ ``` bash
6260cp .env.example .env.local
63- \\ \
61+ ```
6462
65- Fill in .env.local:
63+ Fill in ` .env.local ` :
6664
67- \\ \ env
65+ ``` env
6866NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
6967NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
7068SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
71- HUNTER_API_KEY=your-hunter-key # optional
7269
7370# Leave blank on localhost (node-cron used automatically).
7471# Set to your production domain to enable Supabase pg_cron mode.
7572NEXT_PUBLIC_APP_URL=
76- \\ \
73+ ```
7774
7875### 3 — Database
7976
8077Open your ** Supabase SQL Editor** and run:
8178
82- \\ \
79+ ```
8380supabase/schema.sql
84- \\ \
81+ ```
8582
8683Then in ** Dashboard → Database → Replication** , add ` leads ` , ` extracted_emails ` , and ` scrape_jobs ` to the realtime publication.
8784
8885### 4 — Run
8986
90- \\ \ash
87+ ``` bash
9188npm run dev
9289# → http://localhost:3000
93- \\ \
90+ ```
9491
9592---
9693
9794## 🗂️ Project Structure
9895
99- \\ \
96+ ```
10097abductr/
10198├── app/
10299│ ├── (app)/
@@ -109,8 +106,7 @@ abductr/
109106│ ├── pipeline/ # 3-worker orchestrator (SSE streaming)
110107│ ├── enrich/ # Batch enrich existing leads without emails
111108│ ├── cron-control/ # Start / stop / status for background cron
112- │ ├── proxies/ # Proxy list management
113- │ └── hunter/ # Hunter.io email lookup
109+ │ └── proxies/ # Proxy list management
114110├── lib/
115111│ ├── local-cron.ts # node-cron singleton (survives hot-reload)
116112│ ├── types.ts
@@ -119,11 +115,11 @@ abductr/
119115├── supabase/
120116│ └── schema.sql # Full DB schema (idempotent)
121117└── .env.example
122- \\ \
118+ ```
123119
124120---
125121
126- ## � Cold Email Pipeline
122+ ## 📧 Cold Email Pipeline
127123
128124The ` /pipeline ` page runs a ** 3-worker chain** via SSE streaming:
129125
@@ -249,7 +245,6 @@ Use for **legitimate B2B outreach only**. Respect Google's Terms of Service. Do
249245| ** Animation** | Framer Motion |
250246| ** Toasts** | Sonner |
251247| ** Icons** | Lucide React |
252- | ** Email Discovery** | Hunter.io API |
253248
254249</div >
255250
0 commit comments