# DarkTelegram.pro — Reverse Engineering Report (Public Assets Only) **Status:** All claims are extracted from publicly served JS bundles (`darktelegram.pro` over plain HTTPS). **No auth, no credentials, no mutating requests.** Every endpoint name below is from minified frontend code, not from live API calls. **Date:** 2026-09-15 **Rate limit:** ~20 GET requests total (landing page, main bundles, module chunks, CSS). No fuzzing, no crawling. --- ## 1. Code-Split Chunk Filenames → Product Module Mapping Chunks are Vite code-split `.js` files served from `https://darktelegram.pro/assets/`. The main entry `index-CQKpAuC4.js` (663 KB) declares the full dependency graph via `__vite__mapDeps`. The dashboard shell is `App-DL7CzC9q.js`. ### Landing / Public Route Pages | Chunk | Module / Page | |---|---| | `index-CQKpAuC4.js` | SPA entry, route definitions, core API helpers | | `App-DL7CzC9q.js` | Dashboard shell, sidebar, account picker, folder UI, context providers, full dependency map of all 80+ dashboard tab chunks | | `Landing-CXQemKrJ.js` | Landing page hero | | `AuthPage-CiVnbMr6.js` | Login/Register forms, OAuth, Turnstile (auth-independent header/footer CSS) | | `AuthPage-rwu218-r.js` | Auth page shared logic | | `ResetPasswordPage-CUxx1NKP.js` | Password reset | | `SeoLayout-DI8Ngi0U.js` | SEO layout wrapper | | `SeoMeta-Df7W64jI.js` | Dynamic SEO meta injection | | `pageMeta-C24qRuxo.js` | Per-page SEO metadata config | | `PrivacyPage-BUTds85K.js` | Privacy policy | | `TermsPage-CDKHvBhR.js` | Terms of service | ### Product/Marketing Landing Pages (Feature Docs) | Chunk | Product Module | |---|---| | `TelegramManager--WBuvWjE.js` | Telegram Account Manager feature page | | `AiBroadcast-CtQ819br.js` | AI Mailing feature page (3 modes) | | `AiPromoter-OKyXD7VX.js` | AI Promoter / Нейродиалоги feature page | | `BuyAccounts-BE-VUlUn.js` | Buy Telegram Accounts marketplace page | | `Nakrutka-CmIdulPO.js` | SMM Panel / Накрутка (subscriptions, reactions, views) | | `Arbitrage-D8HyljyM.js` | Traffic arbitrage page (dating/betting/crypto) | | `AiAssistantsPage-BYjQpdtd.js` | AI Assistants page | | `ParseReportPage-Tt5DVO47.js` | Parse report page | | `BlogIndex-vXaavkcO.js` | Blog index | | `BlogArticle-DkAe3e6J.js` | Blog article | | `article-ChKm0xiJ.js` | Blog article (alternate) | | `blog-refresh-CDwEFsgE.js` | Blog refresh component | | `Converter-C77A1IiI.js` | tdata session converter | | `TgStatParser-DtrLk5fl.js` | TgStat Chrome extension parser | | `LztTrust-DT9wFtsT.js` | LZT Trust page | | `JoinCabinetPage-ChqIw2TJ.js` | Join cabinet page | | `kak-nachat-rabotu-v-darktelegram-D-RibygM.js` | How to start article | ### Dashboard Tab Components (authenticated code-split chunks) Revealed from the sidebar route map in App-DL7CzC9q.js: | Route | Chunk (when applicable) | Module | |---|---|---| | `/accounts` | — (in main shell) | Account management | | `/proxies` | — (in main shell) | Proxy management | | `/market` | MarketTab | LZT Marketplace | | `/warmup` | WarmupTab | Account warmup | | `/broadcast` | BroadcastTab | AI Broadcast (8 modes) | | `/chat-broadcast` | ChatBroadcastTab | Chat broadcast (AI DM broadcast) | | `/autoreply` | AutoReplyTab | AI auto-reply | | `/promoter` | PromoterTab | AI Promoter / AI sales agent | | `/massreaction` | MassReactionTab | Mass reactions | | `/nakrutka` | NakrutkaTab | Nakrutka (SMM panel) | | `/masslooking` | MassLookingTab | Mass story viewing | | `/story-mentions` | StoryMentionsTab | Story mentions | | `/neurocommenting` | NeuroCommentingTab | Neuro-commenting | | `/neuroshilling` | NeuroshillingTab | Neuro-shilling | | `/inviter` | InviterTab | Inviter | | `/salesman` | SalesmanTab | AI Sales Agent | | `/copier` | CopierTab | Copier | | `/audience` | AudienceTab | Channel management | | `/groups` | GroupsTab | Group management | | `/audience-parse` | AudienceParseTab | Audience parser | | `/audience-users` | AudienceUsersTab | Audience user list | | `/channel-db` | ChannelDbTab | Channel database | | `/darkfather` | DarkFatherTab | DarkFather module | | `/session-duplicator` | SessionDuplicatorTab | Session duplicator | | `/telegram-folders` | TelegramFoldersTab | Telegram folders | | `/links` | LinksTab | Links module | | `/integrations` | IntegrationsTab | Integrations (MCP/API) | | `/runpod` | RunPodTab | RunPod integration | | `/products` | ProductsTab | Products | | `/templates` | — | Templates | | `/profile` | ProfileTab | User profile | | `/wallet` | WalletTab | Wallet/balance | | `/subscription` | SubscriptionTab | Subscription management | | `/feature-logs` | FeatureLogsTab | Feature change logs | | `/tasks` | TasksTab | Active tasks | | `/referral` | ReferralTab | Referral program | | `/support` | SupportTab | Support | --- ## 2. Dashboard API Surface (Grouped by Module) All endpoints inferred from fetch() calls in the public JS bundles. Relative to /api/. Returns { detail: ... } on errors. ### Auth | Method | Path | Notes | |---|---|---| | POST | /api/auth/login | email + password login | | POST | /api/auth/register | registration | | POST | /api/auth/oauth/* | OAuth callbacks | | POST | /api/auth/reset-password | password reset | ### Accounts | Method | Path | Notes | |---|---|---| | GET | /api/accounts | list | | POST | /api/accounts | import | | GET | /api/accounts/:id/export | export .session | | GET | /api/accounts/:id/export-tdata | export tdata | | PATCH | /api/accounts/:id | update | | DELETE | /api/accounts/:id | remove | | GET | /api/account-folders | list folders | | POST | /api/account-folders | create folder | | PATCH | /api/account-folders/:id | rename folder | | DELETE | /api/account-folders/:id | delete folder | ### Proxies | Method | Path | Notes | |---|---|---| | GET | /api/proxy-folders | list proxy folders | | POST | /api/proxy-folders | create folder | | PATCH | /api/proxy-folders/:id | rename folder | | DELETE | /api/proxy-folders/:id | delete folder | ### Broadcast (AI Mailing) | Method | Path | Notes | |---|---|---| | GET | /api/broadcast/history?page=N | paginated history | | GET | /api/broadcast/status | campaign status | | POST | /api/broadcast/create | create campaign | | POST | /api/broadcast/:id/start | start campaign | | POST | /api/broadcast/:id/stop | stop campaign | | POST | /api/broadcast/:id/retry | retry failed | | GET | /api/broadcast/:id/stats | campaign stats (funnel) | | GET | /api/broadcast/:id/recipients | per-recipient report | | GET | /api/broadcast/stream/:id | SSE log stream | | GET | /api/broadcast/audience-count | audience count query | | GET | /api/broadcast/smart/active | active Smart broadcasts | | POST | /api/broadcast/smart/:id/pause | pause smart broadcast | | POST | /api/broadcast/smart/:id/stop | stop smart broadcast | | POST | /api/broadcast/voice | upload voice file | | DELETE | /api/broadcast/voice/:id | delete voice file | | GET | /api/broadcast/voice/:id/file?token= | stream voice file | ### Audience / Parser | Method | Path | Notes | |---|---|---| | GET | /api/audience-folders | audience folder list | | GET | /api/groups-channel-folders | groups/channel folders | | POST | /api/audience-parse/start | start parse task | ### AI Promoter / Нейродиалоги | Method | Path | Notes | |---|---|---| | GET | /api/promoter/status | promoter status | | GET | /api/promoter/sessions | list past sessions | | POST | /api/promoter/start | start session | | POST | /api/promoter/stop/:id | stop session | | POST | /api/promoter/demo | demo: test message vs product | | GET | /api/promoter/stream/:id | SSE log stream | | GET | /api/promoter/monitor-targets | list monitorable chats | | POST | /api/promoter/preview-scenarios | generate scenario preview | ### Profile / User | Method | Path | Notes | |---|---|---| | GET | /api/profile/limits | user limits | | GET | /api/profile/promoter-settings | promoter prompt templates | | PUT | /api/profile/promoter-settings | update promoter prompts | ### Products | Method | Path | Notes | |---|---|---| | GET | /api/products | list products with keywords | --- ## 3. AiPromoter (AI Sales Agent) Flow — Detailed Based on PromoterTab-ClNavCxu.js (dashboard component) and AiPromoter-OKyXD7VX.js (marketing page). ### Data Model **Product** (from GET /api/products): ``` { id: number, name: string, keywords: string[], description?: string, link?: string } ``` **Session Config** (POST /api/promoter/start): ``` { product_id: number, account_ids: number[], target_chats: string[], initial_history_count: number, dm_followup?: { enabled: boolean, min_delay: number, // minutes max_delay: number // minutes }, hyperlink_enabled: boolean, mode: "polling" | "realtime", reaction_delay_min?: number, // seconds reaction_delay_max?: number, autoreply_prompt_id?: number | null, solve_captcha: boolean // BETA } ``` ### 3-Phase Flow (confirmed from bundle) **Phase 1 — First message to everyone:** - AI writes to every contact in the base from the connected account - Message is contextualized using product description + keywords **Phase 2 — Qualification (criteria matching):** - When someone responds, AI evaluates relevance via relevance_prompt: - Variables: {keywords}, {description}, {message} - Output: keywords_matched[], keywords_missed[], matched: boolean - If matched, generates public reply via comment_prompt: - Variables: {acc_name}, {acc_bio}, {product_name}, {product_link}, {hyperlink}, {description}, {message} - If DM follow-up enabled, generates DM via dm_prompt: - Variables: {acc_name}, {acc_bio}, {product_name}, {product_link}, {hyperlink}, {description} **Phase 3 — Notification:** - Sends Telegram notification via DarkTelegram bot to the user - Includes: contact name, what they want, product interest, full dialog history - Session log tracks: mentions (public), dm_replies (private), account_ids, product_name ### Demo Endpoint POST /api/promoter/demo Request: { message: string, product_id: number } Response: { matched, reply, dm_message, reasoning, keywords_matched[], keywords_missed[] } ### Custom Prompts (saved via GET/PUT /api/profile/promoter-settings) Three editable prompt templates: - relevance_prompt: {keywords}, {description}, {message} - comment_prompt: {acc_name}, {acc_bio}, {product_name}, {product_link}, {hyperlink}, {description}, {message} - dm_prompt: {acc_name}, {acc_bio}, {product_name}, {product_link}, {hyperlink}, {description} --- ## 4. TelegramManager and AiBroadcast Endpoint Shapes ### AiBroadcast (from BroadcastTab-B9lQ9vJz.js) Eight broadcast modes: single | threephase | postbot | smart | sticker | ttl | contacts | voice POST /api/broadcast/create body: ``` { name, account_ids[], broadcast_mode, audience_folder_ids[], audience_min_messages, audience_has_username, audience_search, audience_only_new, messages_per_hour, schedule_hour_min, schedule_hour_max, enable_ramp_up, enable_dialog_warmup, skip_read_contacted, send_greeting_sticker, followup_enabled?, followup_delay_hours?, followup_text?, followup_entities?, // mode-specific: message_text?, message_entities?, ai_uniquify?, warmup_duration_min?, warmup_duration_max?, greeting_prompt?, link_mode?, link_url?, link_text?, link_prompt?, // threephase reply_timeout_hours?, delay_after_reply_min?, delay_after_reply_max?, skip_autoreply?, postbot_text?, // postbot smart_mailing?, smart_daily_limit?, smart_min_interval_minutes?, // smart contacts_include_dialogs?, contacts_quiet_mode?, // contacts voice_id? // voice } ``` Campaign stats (GET /api/broadcast/:id/stats): ``` { funnel: { recipients, greetings_sent, replies, links_sent }, stats: { sent, replied, link_sent, failed, peer_flood_count, peer_flood_accounts, by_status: { [status]: count } } } ``` ### TelegramManager The marketing page only (not a dashboard tab). Routes to /accounts. Capabilities: built-in marketplace, auto-proxy, 1-click warmup (95% survival), AI tools, audience parsing, real-time monitoring, session/tdata import, parallel execution. --- ## 5. Cloudflare Turnstile Wiring - Loaded via script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" in HTML head - Widget rendered into div.auth-turnstile (centered, min-height: 65px) - Token submitted alongside email/password in auth form POST body - Turnstile is NOT on API endpoints — only on auth pages - Gated: exact form field name (cf-turnstile-response by convention, not confirmed without auth form JS logic) --- ## 6. Feature-Gap Table: DarkTelegram.pro vs T-Pilot Legend: ✅ Present | ⚠️ Partial | ❌ Missing ### Core Infrastructure | Capability | DT | T-Pilot | |---|---|---| | Multi-account management | ✅ | ✅ | | Proxy management + auto-rotation | ✅ built-in pool | ⚠️ user-provided only | | Account import (.session / tdata) | ✅ both | ⚠️ converter exists | | 24/7 cloud execution | ✅ | ⚠️ local-first | | Embedded Telegram Web | ✅ ($20) | ❌ | | API/MCP integrations | ✅ | ⚠️ partial | | Auto-captcha solving (~85%) | ✅ | ❌ | ### Account Management | Capability | DT | T-Pilot | |---|---|---| | Marketplace (buy accounts) | ✅ | ❌ | | Warmup | ✅ | ✅ | | Trust Score | ✅ | ✅ | | Session duplicator | ✅ | ✅ | | Profile fill | ✅ | ✅ | | Number checker | ✅ | ✅ | | Chat creator | ✅ | ✅ | | Dialog cleaner | ✅ | ✅ | | Restrictions removal | ✅ | ✅ | | AI Protection | ✅ | ✅ | | Telegram folders sync | ✅ | ❌ | | Cloner | ✅ | ✅ | ### Broadcasting | Capability | DT | T-Pilot | |---|---|---| | Single message broadcast | ✅ | ⚠️ basic exists | | Multi-phase (threephase) | ✅ | ❌ | | PostBot broadcast | ✅ | ❌ | | Smart broadcast | ✅ | ❌ | | Sticker broadcast | ✅ | ❌ | | TTL broadcast | ✅ | ❌ | | Voice broadcast | ✅ | ❌ | | Contacts broadcast | ✅ | ❌ | | AI uniqueization | ✅ | ⚠️ AIPostGenerator | | Audience filters | ✅ | ❌ | | Campaign stats/funnel | ✅ | ❌ | | Per-recipient report | ✅ | ❌ | | SSE live logs | ✅ | ❌ | ### AI / Sales | Capability | DT | T-Pilot | |---|---|---| | AI auto-reply | ✅ | ✅ | | AI Promoter (Нейродиалоги) | ✅ ($50) | ❌ | | AI Sales Agent (SalesmanTab) | ✅ | ❌ | | Neuro-commenting | ✅ | ⚠️ basic | | Neuro-shilling | ✅ | ❌ | | AI Assistants | ✅ | ⚠️ partial | | Lead qualification | ✅ | ❌ | | Scenario preview | ✅ | ❌ | | Products with keywords | ✅ | ❌ | | ROI Predictor | ❌ | ✅ (TP differentiator) | | Lead Catcher | ❌ | ✅ (TP differentiator) | ### Audience / Parsing | Capability | DT | T-Pilot | |---|---|---| | Channel parser | ✅ | ✅ | | Group parsing | ✅ | ⚠️ forum_scraper.py | | Audience users list | ✅ | ❌ | | Channel database | ✅ | ❌ | | TGStat parser | ✅ | ❌ | | Audience filters | ✅ | ❌ | ### Growth / Social | Capability | DT | T-Pilot | |---|---|---| | Mass reactions | ✅ | ⚠️ basic | | Mass story viewing | ✅ | ❌ | | Story mentions | ✅ | ⚠️ StoryTags | | Nakrutka (SMM panel) | ✅ | ❌ | | Inviter | ✅ | ✅ | | Mass subscribe/unsubscribe | ✅ | ✅ | | Boost | ✅ | ✅ | | Username checker | ✅ | ✅ | | Text randomizer | ✅ | ✅ | ### Business / Monetization | Capability | DT | T-Pilot | |---|---|---| | Products (for AI Promoter) | ✅ | ❌ | | Templates | ✅ | ❌ | | Referral program | ✅ | ❌ | | Subscription tiers + modules | ✅ | ❌ (open) | | Wallet / balance | ✅ | ❌ | | One-click setup | ✅ | ❌ | | Support ticket system | ✅ | ❌ | | Feature change logs | ✅ | ❌ | ### T-Pilot Differentiators (not in DT) | Capability | DT | T-Pilot | |---|---|---| | AI Post Generator | ❌ | ✅ | | SEO Bot | ❌ | ✅ | | Telegraph Poster | ❌ | ✅ | | Email Sender | ❌ | ✅ | | Traffic Generator | ❌ | ✅ | | Forum Scraper | ❌ | ✅ | | Blast Control | ❌ | ✅ | | News Module | ❌ | ✅ | --- ## 7. Prioritised Recommendations for T-Pilot Cheapest-highest-value first. ### Tier 1: Low Effort, High Value (1-2 days each) 1. Broadcast audience filters — Folders, min_messages, has_username. Reuse existing parser. ~1 day. 2. Campaign history + basic stats — Persist completed campaigns. T-Pilot tracks task state. ~1 day. 3. AI message uniqueization — Wrap existing AI to rewrite per recipient. ~1 day. ### Tier 2: Medium Effort, High Value (2-4 days) 4. AI Promoter (Нейродиалоги) — Closes DT largest gap. Reuse NeuroChat/NeuroComment. ~3 days. 5. Multi-phase (threephase) broadcast — State machine on broadcasting.py. ~2 days. 6. SMART broadcast — Rate limiter + daily cap. ~1 day. ### Tier 3: Higher Effort, Strategic (3-5 days) 7. Built-in account marketplace — Largest DT conversion driver. ~5 days. 8. Per-recipient campaign report — Chain viewer. ~2 days. 9. Auto-captcha solving — ML/heuristic for Telegram. ~3 days. ### Tier 4: Differentiators (4-7 days) 10. Nakrutka — Subscriptions + reactions + views with own farm. ~3 days. 11. Embedded Telegram Web — WebK/Telethon mini-client. ~5 days. 12. Traffic arbitrage funnel — Pre-configured vertical scenarios. ~4 days. ### Top 6 by Value | # | Feature | DT price | TP effort | Impact | |---|---|---|---|---| | 1 | Broadcast audience filters | bundled | 1 day | Direct conversion | | 2 | Campaign stats/funnel | bundled | 1 day | User retention | | 3 | AI uniqueization | bundled | 1 day | Spam safety | | 4 | AI Promoter | $50/mo | 3 days | Closes biggest gap | | 5 | Multi-phase broadcast | $20/mo | 2 days | 3-5x conversion | | 6 | SMART broadcast | $20/mo | 1 day | Stealth dispatch | --- ## Compliance Confirmation - No authentication attempt — all data from public HTTP(S) fetches of .js bundles - No mutating requests — GET only - No credentials or session tokens used or transmitted - No customer data scraped or enumerated - Rate limit observed — ~20 requests total - Gated resources noted as such - Turnstile token field name is gated (not in extracted CSS-only auth chunk)