Admin Dashboard là giao diện web dành cho người vận hành. Tại đây, người dùng tạo chiến dịch, cấu hình từ khóa, domain mục tiêu, số lượng traffic cần tạo, và theo dõi kết quả theo thời gian thực.
Go API Backend là trung tâm điều phối. Nó lưu trữ toàn bộ dữ liệu chiến dịch, phân phối tác vụ xuống các worker, thu thập kết quả và cung cấp dữ liệu cho Admin Dashboard.
Tools V2 Worker Engine là nơi công việc thực sự diễn ra. Nó nhận tác vụ từ Go API, mở Chrome, thực hiện hành vi trên trình duyệt, và gửi kết quả về.
Người vận hành tạo chiến dịch trên Admin Dashboard với từ khóa, domain mục tiêu và số lượng traffic.
Go API Backend lưu chiến dịch và tạo danh sách tác vụ cần thực thi.
Tools V2 định kỳ hỏi Go API có tác vụ mới không. Khi có, nó nhận về danh sách tác vụ và lưu vào MongoDB nội bộ.
Cron job của Tools V2 lấy tác vụ từ hàng đợi, yêu cầu proxy từ Go API, khởi động Chrome và thực thi.
Sau khi hoàn thành, Tools V2 chụp màn hình bằng chứng, upload lên cloud storage và gửi kết quả về Go API qua webhook.
Go API cập nhật trạng thái tác vụ. Admin Dashboard hiển thị kết quả và ảnh bằng chứng.
Fingerprint của trình duyệt: User-Agent, canvas fingerprint, WebGL renderer, danh sách fonts.
Hành vi tương tác: Cách di chuyển chuột, tốc độ gõ phím, pattern scroll.
Thông tin mạng: IP address, geolocation, timezone.
Lịch sử phiên: Cookies, localStorage, session history.
Ẩn thuộc tính navigator.webdriver — đây là dấu hiệu đầu tiên mà các hệ thống phát hiện bot kiểm tra.
Giả mạo WebGL vendor và renderer để trông giống card đồ họa thực.
Randomize canvas fingerprint mỗi phiên để tránh bị nhận dạng qua fingerprinting.
Patch navigator.plugins để hiển thị danh sách plugin như browser thật.
Override permissions API để tránh các permission prompts bất thường.
Di chuyển chuột theo đường cong Bezier tự nhiên thay vì đường thẳng.
Tốc độ di chuyển chuột biến thiên, có overshoot và correction movements.
Gõ phím với delay ngẫu nhiên từ 50 đến 150ms giữa các ký tự.
Scroll từ từ với easing function, pause tại các điểm quan trọng.
Thời gian ở lại trang được tính dựa trên số lượng từ trong trang, thêm random variance.
Mỗi phiên dùng một proxy riêng biệt để có IP khác nhau.
Geolocation của browser được cấu hình khớp với vị trí địa lý của proxy.
Timezone được set theo geolocation.
User-Agent được chọn phù hợp với loại thiết bị (desktop Windows, desktop Mac, Android, iOS).
Google Safe Browsing — Báo cáo phishing và malware.
Microsoft SmartScreen — Báo cáo website nguy hiểm.
Cloudflare — Báo cáo lạm dụng dịch vụ Cloudflare.
Spamhaus — Báo cáo spam và malware.
Netcraft — Báo cáo phishing.
ESET, Kaspersky, Fortinet — Báo cáo đến các hãng antivirus.
Google Ads — Báo cáo vi phạm chính sách quảng cáo.
US-CERT, CISA, NCSC — Báo cáo đến các cơ quan an ninh mạng chính phủ.
AdGuard, Mozilla Firefox — Báo cáo đến các nhà cung cấp trình duyệt và bộ lọc.
Google (Ads Abuse, Gmail Abuse, Play Abuse, YouTube Abuse, Cloud Compliance).
Các hãng antivirus: Kaspersky, ESET, Avast, McAfee, Bitdefender, Sophos.
Các tổ chức chống phishing: OpenPhish, APWG, Abusix, Talos, Symantec.
Các nhà cung cấp threat intelligence: AlphaSoc, AiLabs, MalwarePatrol, Sucuri.
Hơn 80 nền tảng khác từ danh sách VirusTotal vendors.
Mỗi nền tảng có một prompt riêng được lưu trên Go API Backend.
Khi cần tạo báo cáo, hệ thống lấy prompt từ API, cung cấp thông tin về domain cần báo cáo, và yêu cầu AI tạo nội dung theo format của nền tảng đó.
AI trả về nội dung dạng JSON với các trường tương ứng với form fields của nền tảng.
Hệ thống điền các trường này vào form và submit.
ZingProxy là nguồn proxy chính, cung cấp proxy chất lượng cao với IP sạch từ nhiều quốc gia. Kết nối qua API với ZING_PROXY_API_KEY.
Proxy từ Go API là proxy được Go API Backend cấp phát cho từng task cụ thể qua proxy_webhook URL. Đây là cơ chế linh hoạt cho phép Go API kiểm soát việc phân bổ proxy.
Free Proxy là proxy miễn phí từ các nguồn công cộng, lưu trong thư mục working-proxies/. Chất lượng thấp hơn, chỉ dùng khi không có lựa chọn khác.
Tools V2 gọi proxy_webhook URL.
Go API trả về thông tin proxy phù hợp (host, port, username, password, type).
Tools V2 cấu hình proxy này cho browser context của task.
Sau khi task hoàn thành, proxy được giải phóng.
Tài khoản Google với email, password và refresh token.
Thông tin thiết bị: User-Agent, screen resolution, device type, operating system.
Thông tin địa lý: country, timezone, latitude, longitude.
Session data: cookies, localStorage từ các lần sử dụng trước.
Profile được tạo và quản lý trên Go API Backend, sau đó đồng bộ xuống Tools V2.
Sau mỗi lần sử dụng, session data (cookies, localStorage) được lưu lại để dùng cho lần sau.
Profile được đặt cooldown sau khi sử dụng để tránh dùng quá nhiều trong thời gian ngắn.
Nếu đăng nhập thất bại nhiều lần liên tiếp, profile bị vô hiệu hóa tự động.
DigitalOcean Spaces là lựa chọn đầu tiên. Đây là dịch vụ object storage tương thích S3, có CDN tích hợp, URL công khai và tốc độ truy cập nhanh từ Đông Nam Á (region Singapore).
Cloudinary là lựa chọn dự phòng khi DigitalOcean Spaces không khả dụng. Cloudinary cũng cung cấp CDN và hỗ trợ transformation ảnh.
Local storage là lựa chọn cuối cùng, lưu ảnh trong thư mục storage/screenshots/ trên server. Chỉ dùng khi cả hai cloud storage đều không khả dụng.
Cron job task-group-api-request-cron chạy mỗi giây.
Nó kiểm tra số lượng task đang pending và processing trong MongoDB nội bộ.
Nếu tổng số task thấp hơn ngưỡng tối thiểu (thường là maxProcess * 2), nó request thêm task từ Go API.
Số lượng task request mỗi lần tối đa là maxProcess * 10, không vượt quá 300.
browserSessionRunning: Số Chrome instances đang chạy. Nếu con số này liên tục bằng BROWSER_LIMIT_PER_PROCESS, worker đang chạy full capacity.
task.maxProcess: Giới hạn task đồng thời tối đa.
task.totalProcessRunning: Số task đang thực thi.
proxy.totalProcessRunning: Số proxy đang được sử dụng.
proxy.processRunning: Danh sách ID các proxy đang dùng.
Mô phỏng hành vi người dùng thực ở mức độ cao, khó bị phát hiện bởi các hệ thống anti-bot hiện đại.
Hỗ trợ hơn 100 nền tảng báo cáo bảo mật, bao gồm cả browser-based và email-based.
Kiến trúc phân tán cho phép scale horizontal bằng cách thêm server mới mà không cần thay đổi cấu hình.
Tự phục hồi sau crash, không mất task khi server gặp sự cố.
Nội dung báo cáo được tạo bởi AI, có thể cập nhật mà không cần thay đổi code.
Hệ thống proxy linh hoạt, hỗ trợ nhiều loại proxy và nhiều nguồn cung cấp.
Mỗi Chrome instance tiêu thụ nhiều RAM. Server cần đủ RAM để chạy số lượng instance mong muốn.
Chất lượng proxy ảnh hưởng trực tiếp đến tỷ lệ thành công. Proxy bị block hoặc chậm sẽ làm giảm hiệu quả.
Các nền tảng như Google liên tục cập nhật hệ thống phát hiện bot. Cần theo dõi và điều chỉnh cấu hình định kỳ.
CAPTCHA solving có chi phí (Anti-Captcha API tính phí theo số lần giải). Cần theo dõi số dư tài khoản.
OpenAI API có chi phí theo số token. Cần theo dõi usage để kiểm soát chi phí.
Sử dụng nhiều selector CSS khác nhau để tìm quảng cáo, không phụ thuộc vào một selector duy nhất.
Kiểm tra nhiều dấu hiệu nhận diện quảng cáo: class CSS, aria-label, data attributes, URL tracking parameters.
Tính confidence score cho mỗi element tìm được. Chỉ click khi confidence đạt ngưỡng tối thiểu.
Nếu không tìm thấy quảng cáo của domain mục tiêu, task được đánh dấu thất bại và retry sau.
Prompt cho AI: Mô tả role, context và yêu cầu nội dung.
GPT config: Model, temperature, max_tokens, response_format.
Response config: Danh sách required fields, mapping với form fields.
Google Safe Browsing — Báo cáo phishing, malware, unwanted software.
Microsoft SmartScreen — Báo cáo website nguy hiểm cho Windows Defender.
Cloudflare — Báo cáo lạm dụng d ịch vụ Cloudflare (DDoS, phishing, spam).
Spamhaus — Báo cáo spam infrastructure, botnet, malware hosting.
Google Ads Policy Violation — Báo cáo vi phạm chính sách quảng cáo Google.
Google Ads Third-party — Báo cáo quảng cáo của bên thứ ba vi phạm.
Google Ads Other — Báo cáo các vi phạm khác liên quan đến Google Ads.
Google Legal Troubleshooter — Báo cáo vi phạm pháp lý qua công cụ troubleshooter.
Google Legal Specific — Báo cáo vi phạm pháp lý cụ thể.
Google Legal Category 2 — Báo cáo vi phạm pháp lý danh mục 2.
Google Play — Báo cáo ứng dụng vi phạm trên Google Play Store.
ESET — Báo cáo malware đến hãng antivirus ESET.
Mozilla Firefox WebCompat — Báo cáo website không tương thích với Firefox.
AdGuard — Báo cáo quảng cáo độc hại đến AdGuard.
Netcraft — Báo cáo phishing đến tổ chức Netcraft.
US-CERT — Báo cáo đến United States Computer Emergency Readiness Team.
CRDF — Báo cáo đến Cyber Research and Defense Foundation.
Kaspersky — Báo cáo malware đến hãng antivirus Kaspersky.
Fortinet — Báo cáo đến hãng bảo mật Fortinet.
CISA — Báo cáo đến Cybersecurity and Infrastructure Security Agency.
NCSC — Báo cáo đến National Cyber Security Centre.
Google Email — Địa chỉ abuse chung của Google.
Google Cloud Compliance — Báo cáo vi phạm trên Google Cloud.
Google Spam Gmail — Báo cáo spam qua Gmail.
Google Ads Abuse — Báo cáo lạm dụng Google Ads.
Google Ads Noreply — Báo cáo đến địa chỉ noreply của Google Ads.
Google Play Abuse — Báo cáo lạm dụng Google Play.
Google YouTube Abuse — Báo cáo lạm dụng YouTube.
Google Gmail Abuse — Báo cáo lạm dụng Gmail.
Microsoft — Báo cáo đến Microsoft Security.
PayPal — Báo cáo phishing liên quan đến PayPal.
Abusix — Báo cáo đến dịch vụ abuse reporting Abusix.
Acronis — Báo cáo đến hãng bảo mật Acronis.
AdminusLabs — Báo cáo đến AdminusLabs threat intelligence.
AiLabs MonitorApp — Báo cáo đến AiLabs.
AlienVault — Báo cáo đến AlienVault OTX.
AlphaSoc — Báo cáo đến AlphaSoc threat intelligence.
Antiy AVL — Báo cáo đến hãng antivirus Antiy.
Bitdefender — Báo cáo đến hãng antivirus Bitdefender.
Blueliv — Báo cáo đến Blueliv threat intelligence.
Certego — Báo cáo đến Certego security.
Chong Lua Dao — Báo cáo đến tổ chức chống lừa đảo Việt Nam.
CRDF — Báo cáo đến CRDF qua email.
Criminal IP — Báo cáo đến Criminal IP threat intelligence.
Cyble — Báo cáo đến Cyble threat intelligence.
CyRadar — Báo cáo đến CyRadar.
DNS8 — Báo cáo đến DNS8 security.
Dr.Web — Báo cáo đến hãng antivirus Dr.Web.
EmergingThreats — Báo cáo đến EmergingThreats.
Emsisoft — Báo cáo đến hãng antivirus Emsisoft.
ESTsecurity — Báo cáo đến ESTsecurity.
Feodo Tracker — Báo cáo đến Feodo Tracker botnet database.
Forcepoint ThreatSeeker — Báo cáo đến Forcepoint.
G Data — Báo cáo đến hãng antivirus G Data.
GreenSnow — Báo cáo đến GreenSnow blacklist.
Heimdal Security — Báo cáo đến Heimdal Security.
Ipsum — Báo cáo đến Ipsum threat intelligence.
Juniper Networks — Báo cáo đến Juniper Networks.
MalwareD — Báo cáo đến MalwareD.
MalwarePatrol — Báo cáo đến MalwarePatrol.
OpenPhish — Báo cáo đến OpenPhish phishing database.
Phishing Database — Báo cáo đến Phishing Database.
Và nhiều nền tảng khác từ danh sách VirusTotal vendors.
Đường di chuyển được tạo bằng đường cong Bezier với các control points ngẫu nhiên.
Tốc độ di chuyển không đều — nhanh ở giữa đường đi, chậm lại khi gần đến đích.
Có overshoot nhỏ và correction movement khi đến gần đích.
Pause ngẫu nhiên từ 50 đến 200ms giữa các movements.
Đôi khi di chuyển chuột ra khỏi element rồi quay lại, mô phỏng sự do dự.
Bắt đầu từ đầu trang, scroll xuống từ từ với easing function (chậm ở đầu, nhanh ở giữa, chậm lại ở cuối).
Pause tại các điểm quan trọng như headings, hình ảnh lớn, hoặc đoạn văn dài.
Đôi khi scroll ngược lên để đọc lại một đoạn, mô phỏng hành vi đọc thực.
Tốc độ scroll biến thiên theo độ dài nội dung — trang dài thì scroll nhanh hơn.
Không scroll đến cuối trang trong mọi trường hợp — người dùng thực thường không đọc hết trang.
ZING_PROXY_API_KEY: API key để xác thực.
ZING_PROXY_BASE_URL: Base URL của ZingProxy API.
Hệ thống gọi API để lấy proxy mới khi cần.
Proxy được trả về với đầy đủ thông tin: host, port, username, password, type.
ANTICAPTCHA_API_KEY: API key để xác thực.
ANTICAPTCHA_BASE_URL: URL API, mặc định https://api.anti-captcha.com.
ANTICAPTCHA_TIMEOUT: Timeout tối đa chờ giải CAPTCHA, mặc định 300 giây.
ANTICAPTCHA_RETRY_ATTEMPTS: Số lần retry khi giải thất bại, mặc định 3.
DIGITAL_OCEAN_BUCKET_NAME: Tên bucket.
DIGITAL_OCEAN_REGION: Region, mặc định sgp1 (Singapore).
DIGITAL_OCEAN_ACCESS_KEY_ID và DIGITAL_OCEAN_SECRET_ACCESS_KEY: Credentials.
DIGITAL_OCEAN_ENDPOINT: Endpoint URL.
DIGITAL_OCEAN_CDN_URL: CDN URL để serve ảnh nhanh hơn.
Bốn loại traffic flow: Ads, Search, Kill, Home Traffic.
Hơn 100 nền tảng báo cáo bảo mật.
Tự động giải CAPTCHA qua Anti-Captcha API và OpenAI Vision.
Mô phỏng hành vi người dùng với ghost-cursor và natural scroll.
Quản lý browser profile với session persistence.
Lưu trữ bằng chứng trên DigitalOcean Spaces và Cloudinary.
Horizontal scaling không giới hạn.
Cải thiện thuật toán phát hiện quảng cáo để thích nghi với các thay đổi của Google SERP.
Thêm hỗ trợ cho các search engine mới.
Cải thiện cơ chế phân bổ tài nguyên để tối ưu hóa throughput.
Thêm distributed tracing để dễ debug hơn trong môi trường nhiều worker.
Cải thiện cơ chế cache prompt để giảm latency khi tạo báo cáo.
Thêm metrics dashboard tích hợp để theo dõi hiệu suất theo thời gian thực.
Tính năng mới không được làm giảm độ ổn định của các tính năng hiện có.
Mọi tính năng mới phải có error handling và retry logic.
Mọi tính năng mới phải có logging đầy đủ để dễ debug.
Giới hạn đồng thời phải được cập nhật khi thêm loại task mới.
Tài liệu phải được cập nhật trước khi deploy lên production.
Sử dụng proxy từ nhiều nhà cung cấp khác nhau để tránh phụ thuộc vào một nguồn.
Theo dõi tỷ lệ thành công của từng proxy và loại bỏ proxy có tỷ lệ thấp.
Rotate proxy thường xuyên, không dùng cùng một proxy quá nhiều lần trong ngày.
Sử dụng proxy từ các ISP dân dụng (residential proxy) thay vì datacenter proxy khi cần.
Có sẵn danh sách proxy dự phòng để chuyển sang khi proxy chính bị block.
Sử dụng nhiều selector CSS khác nhau cho cùng một element, không phụ thuộc vào một selector duy nhất.
Theo dõi tỷ lệ thành công của Ads Flow và Search Flow. Nếu giảm đột ngột, kiểm tra ngay.
Có cơ chế fallback khi không tìm thấy element mong đợi.
Cập nhật selectors kịp thời khi phát hiện thay đổi.
Google Analytics và các analytics platform phát hiện request không có JavaScript execution và không tính vào số liệu.
Không có session data, cookies hay JavaScript state — trông rõ ràng là bot.
Không thể thực hiện các hành vi phức tạp như tìm kiếm, click quảng cáo.
Dễ bị block bởi Cloudflare và các WAF khác.
Worker Engine: Tiến trình chạy trên máy chủ, nhận và thực thi tác vụ từ orchestrator.
Task Group: Một nhóm tác vụ liên quan được thực thi cùng nhau trong một phiên Chrome.
SERP: Search Engine Results Page — Trang kết quả tìm kiếm.
CTR: Click-Through Rate — Tỷ lệ click trên số lần hiển thị.
Bounce Rate: Tỷ lệ người dùng thoát trang ngay mà không tương tác.
Organic Traffic: Traffic từ kết quả tìm kiếm tự nhiên, không phải quảng cáo.
Direct Traffic: Traffic từ người dùng truy cập trực tiếp vào URL.
Fingerprinting: Kỹ thuật nhận dạng trình duyệt dựa trên các đặc điểm kỹ thuật.
Stealth Mode: Chế độ ẩn các dấu hiệu automation của trình duyệt.
Headless Browser: Trình duyệt chạy không có giao diện đồ họa.
Proxy Pool: Tập hợp các proxy được quản lý và luân chuyển.
Session Persistence: Lưu trữ session data để tái sử dụng giữa các lần.
Crash Recovery: Cơ chế phục hồi trạng thái sau khi hệ thống crash.
Horizontal Scaling: Tăng capacity bằng cách thêm máy chủ mới.
Vertical Scaling: Tăng capacity bằng cách nâng cấp phần cứng của máy chủ hiện có.
Ads Flow: Luồng click quảng cáo trả phí trên Google hoặc CocCoc.
Search Flow: Luồng tạo organic traffic qua tìm kiếm tự nhiên.
Kill Flow: Luồng tạo bounce rate cao cho domain đối thủ.
Home Traffic Flow: Luồng tạo direct traffic cho domain.
Report Task: Tác vụ gửi báo cáo bảo mật đến một nền tảng cụ thể.
Browser-Based Report: Báo cáo được submit qua form trên website.
Email-Based Report: Báo cáo được gửi qua email.
Proxy Webhook: URL được gọi để lấy proxy cho một task cụ thể.
Evidence Screenshot: Ảnh chụp màn hình bằng chứng sau khi hoàn thành task.
Fallback Prompt: Prompt dự phòng được dùng khi không lấy được cấu hình từ API.
CRON_TASK_LIMIT: Số task traffic chạy đồng thời tối đa.
CRON_REPORT_LIMIT: Số report task chạy đồng thời tối đa.
BROWSER_LIMIT_PER_PROCESS: Tổng số Chrome instances tối đa.
TASK_RETRY_LIMIT: Số lần retry tối đa cho một task.
KILL_TRAFFIC_RATIO: Tỷ lệ kill traffic trong tổng số task.
HOME_TRAFFIC_RATIO: Tỷ lệ home traffic trong tổng số task.
HOME_TRAFFIC_PER_TARGET_LIMIT: Số home traffic task đồng thời cho cùng một URL.
SERVER_ID: Định danh duy nhất của worker instance.
API_HOST: URL của Go API Backend.
WEBHOOK_API_KEY: Token xác thực cho webhook từ Go API.
Thêm giá trị mới vào enum ReportPlatform trong report-task.model.ts.
Tạo adapter mới trong src/services/report-tasks/browser-based/ hoặc email-based/.
Tạo fallback prompt trong prompts/fallback/.
Thêm cấu hình prompt trên Go API Backend.
Test với script scripts/test-single-platform.ts.
Khởi động nhanh hơn Node.js 3-5 lần, quan trọng khi server restart thường xuyên.
Chạy TypeScript native không cần biên dịch, giảm thời gian development.
Hiệu năng I/O cao hơn, quan trọng khi xử lý nhiều concurrent tasks.
Tích hợp sẵn nhiều tính năng (SQLite, WebSocket, test runner) không cần thêm dependencies.
Tương thích với hầu hết npm packages, không cần thay đổi nhiều code.
Xem log lỗi qua endpoint /logs?filePath=app/[ngày]/error.log.
Tìm task ID trong log để trace toàn bộ quá trình thực thi.
Xem browser crash log nếu Chrome bị crash.
Kiểm tra screenshot bằng chứng trên Admin Dashboard để xem trạng thái trang tại thời điểm lỗi.
Chạy task thủ công với script test để reproduce lỗi.
Bật DEBUG=true để xem log chi tiết hơn.