1. Architecture
Traffic Tool
  • Traffic Tool Docs
    • Tổng Quan
    • project
      • admin
        • Hướng dẫn sử dung
          • Đăng Nhập & Xác Thực Hai Bước
          • Thống Kê Hệ Thống
          • Thống Kê Hàng Ngày
          • Tìm Kiếm Tự Động
          • Trung Tâm Báo Cáo
          • Quản Lý Tài Khoản
          • Quản Lý Server
          • Quản Lý Proxy
          • Quản Lý Gói Proxy
          • Quản Lý Nhà Cung Cấp Proxy
          • Quản Lý Backup Proxy
          • Quản Lý Tài Khoản Google
      • api + tool
        • Hướng dẫn sử dụng
          • User Guide
          • Setup Guide
        • Bussiness | Logic
          • 1. Thống kê hàng ngày (Daily Statistics)
          • 2. Thống kê hệ thống (System Statistics)
          • 3. Tìm kiếm tự động (Automated Discovery)
          • 4. Trung tâm Báo cáo (Report Center)
          • 5. Quản lý tài khoản (Account Management)
          • 6. Quản lý Hệ thống (System Management)
          • 7. Quản lý tài khoản Google (Google Account Management)
        • Architecture
          • Database Schema
          • System Architecture
          • Code Structure
          • Logs and Monitoring
          • Environment & Configuration
        • Deployment
          • Local
          • Staging
          • Product
  • Traffic Backend API
    • 🔑 Identity & Session
      • Đăng nhập hệ thống (Login)
      • Đăng ký tài khoản mới (Public)
      • Lấy danh sách người dùng (Phân trang)
      • Admin tạo người dùng mới
      • Lấy thông tin cá nhân hiện tại
      • Khởi tạo bảo mật 2FA
      • Xác thực mã OTP
      • Chi tiết người dùng theo ID
      • Cập nhật thông tin người dùng
      • Xóa tài khoản người dùng
      • Đổi mật khẩu
      • Kiểm tra Cấu hình Thông báo Telegram Toàn hệ thống
      • Bật/Tắt Thông báo Telegram Toàn cục
    • 📁 Campaign Management
      • Danh sách Chiến dịch Toàn cầu
      • Khởi tạo Chiến dịch Mới
      • Chi tiết Chiến dịch
      • Cập nhật Chiến dịch
      • Xóa Chiến dịch
      • Tắt/Mở Chiến dịch (Hàng loạt)
      • Dữ liệu Hình mẫu SEO (Negative SEO)
    • ⚙️ Project Mechanics
      • Danh sách Dự án (Projects List)
      • Khởi tạo Kịch bản Mô phỏng
      • Lấy chi tiết cấu hình Dự án
      • Cập nhật Kịch bản chạy
      • Xóa Dự án
      • Chỉnh sửa Hàng loạt (Bulk)
      • Bật/Tắt Dự án
    • 👤 Profile Management
      • Danh sách Vân tay số (Profiles Data)
      • Tạo Hồ sơ Đơn lẻ (Tạo Vân tay mới)
      • Nhập kho Tài khoản Email (Bulk Import)
      • Chi tiết Session/Cookies
      • Chỉnh sửa Hồ sơ/Ghi chú
      • Xóa Vân tay số và Dữ liệu Local
      • Mở khóa Captcha/Trạng thái Blocked
      • Tra cứu Kho Profile Khả dụng
      • Báo cáo Sức khỏe Kho Tài Khoản
    • 🦾 Worker Interface
      • Đăng ký Khởi tạo Node (Handshake)
      • Nhịp Tim Khảo Sát Tình Trạng (Heartbeat)
      • Nhận Cấu hình Bypass & Hệ thống
      • Kéo (PULL) Nhiệm vụ Traffic SEO
      • Báo cáo Sự cố Node (Crash Report)
    • 📊 Report: Execution
      • Kéo Công việc Báo cáo (Worker Pull)
      • Quản lý Giám sát Nhiệm vụ (Task Dashboard)
      • Bắn Lại Báo Cáo Thất Bại (Manual Retry)
    • 📊 Report: Discovery
      • Danh sách Tên miền Chờ Xử Lý (Discovery Pool)
      • Nhập Mục Tiêu Thủ Công (Manual Insert)
      • Kích hoạt Heuristic Scanner (Cào tự động)
      • Chi tiết Bằng Chứng (Evidence Data)
      • Dán nhãn Vi Phạm / Cập nhật Screenshot
      • Loại Bỏ Mục Tiêu
      • Duyệt Yêu Cầu (Approve to Execution)
    • 📊 Report: Platforms Configuration
      • Truy vấn Danh sách Nền tảng Đối tác (Vendor)
      • Tạo Nền tảng Vendor Báo cáo Mới
      • Bật/Tắt Trang báo cáo theo Loại
      • Cập nhật Metadata Trang
      • Xóa Trang Báo Cáo
      • Lấy Cài đặt LLM cho Vendor cụ thể
      • Cập nhật Cài đặt Tạo mẫu LLM
      • Lấy Cấu hình Schema Biểu mẫu cho Vendor
      • Cập nhật Yêu cầu Trường Biểu mẫu
    • 📊 Report: Email Automation
      • Danh sách SMTP/Mailer Server
      • Thêm kết nối SMTP Mới
      • Nhật ký Nhiệm vụ Gửi Mail (Email Log)
      • Phân tích Tỉ lệ Chuyển đổi (Email Delivery Analytics)
    • 🌐 Global Proxies
      • Danh sách Kho Proxy Phân trang (Proxy Pool)
      • Thêm mới Tuyến IP (Bulk Import)
      • Cập nhật Thông tin máy chủ Proxy
      • Xóa Proxy (Thu hồi tài nguyên)
      • Kích hoạt Xoay vòng (Rotate IP) Cưỡng bức
    • 📈 System Intelligence
      • Báo cáo Luồng Bảo mật Hợp nhất (Colossal Report)
      • Bản Đồ Lưu Lượng GeoIP (Heatmap)
    • 🪝 Webhook Integrations
      • Callback Hoàn tất Gói Lưu lượng SEO (Traffic Node)
      • Callback Thông báo Hoàn tất Bắn Report AI
    • Schemas
      • AppError
      • LoginRequest
      • UserResponseDto
      • UserModel
      • CreateUserRequest
      • UpdateUserRequest
      • PagingInfo
      • ProfileModel
      • CreateProfileRequest
      • BulkImportProfileReq
      • UpdateProfileRequest
      • CampaignModel
      • CampaignConfigs
      • CreateCampaignRequest
      • UpdateCampaignRequest
      • BulkUpdateCampaignStatusReq
      • NegativeSeoData
      • CreateProjectRequest
      • UpdateProjectRequest
      • ProjectModel
      • BulkUpdateProjectRequest
      • ProjectAttribute
      • WorkerHandshakeRequest
      • WorkerHandshakeResponse
      • WorkerHeartbeatPayload
      • WorkerGlobalSettings
      • TaskPullRequest
      • WorkerFatalLog
      • TaskModel
      • TaskTrafficType
      • TaskUpdateDto
      • ReportTaskModel
      • ReportTaskResult
      • PCReportResponse
      • SummaryStats
      • DailyStats
      • BrandStats
      • ProfileStats
      • ReportTaskItem
      • ReportSiteItem
      • CreateReportSiteRequest
      • GPTConfig
      • ResponseConfig
      • FieldConfig
      • ReportDomainsResponse
      • ReportDomainItem
      • AddReportDomainRequest
      • UpdateReportDomainRequest
      • BulkUpdateDashboardRequest
      • ProxyModel
      • CreateProxyRequest
      • UpdateProxyRequest
      • SMTPServerConfig
      • EmailTaskLog
      • GeoLocation
  • Traffic Tools V2 API
    • Tasks
      • Lọc và Truy vấn Nhật ký Phiên Duyệt lẻ
      • Get all tasks
      • Nạp Kết Quả Chạy của Puppeteer (Update Callback)
      • Xóa toàn bộ Tasks lẻ
      • Get all tasks
      • Xóa một Task (ID)
    • Group task
      • Đẩy nhóm công việc Traffic theo lô (Batch Pipeline Task Creation)
      • Lấy sơ đồ trạng thái hàng đợi Group Tasks
      • Endpoint /api/task-traffics/
      • Clear/Flush Hàng đợi Group Task (Kill Queue)
      • Endpoint /api/task-traffics/
      • Xóa 1 nhóm nhiệm vụ (Theo ObjectID Mongoose)
      • Parse chuỗi Proxy
    • Test
      • Kiểm tra Proxy hoạt động ngầm
      • Endpoint /api/test
      • Kho Fingerprint Thử Nghiệm
      • Endpoint /api/test/account-stats
      • Endpoint /api/test/session-recommendation
      • Endpoint /api/test/check-browser
      • Endpoint /api/test/clear-browser-sessions
    • Proxies
      • Lấy kho Proxy server
      • Khai báo Pool Tuyến Proxy mới
      • Get all proxies
      • Get all proxies
      • Xóa toàn bộ Proxy
      • Get all proxies
      • Xóa Proxy theo ID
      • Reset lại số đếm tiến trình (Cron Proxy Thread)
    • Report Platforms
      • Submit report to multiple platforms
      • Submit report to specific platform
      • Get available platforms
      • Get platform statistics
      • Health check
    • Reports
      • Create a new report
      • Create a new report
      • Get report by ID
      • Get report by ID
      • Get report statistics
      • Get report groups
      • Get report groups
      • Get report group
      • Add report to group
      • Bulk add reports to group
      • Get report group statistics
      • Get analytics data
      • Get platform success rates
      • Get reports by platform
      • Get reports by group
      • Create test reports in bulk
    • Test Report
      • Test Microsoft report submission
      • Test AdGuard report submission
      • Test Google Ads report submission
      • Test Spamhaus report submission
      • Test ESET report submission
      • Test multi-platform report submission
      • Get available platforms
    • ESET Test
      • Simple test
      • Minimal POST test
      • Generate ESET report content
      • Get sample test data
      • Test form filling
      • Test full form submission
    • Spamhaus Test
      • Simple test
      • Minimal POST test
      • Generate Spamhaus report content
      • Get sample test data
      • Test Spamhaus form filling
      • Test full Spamhaus form submission
    • Report Scheduler
      • Get report scheduler statistics
      • Process ad detection result
      • Submit a scheduled report
      • Start report scheduler
      • Stop report scheduler
      • Get scheduler status
      • Process scheduled reports
      • Test browser session (non-headless)
      • Test report submission (non-headless)
    • Comprehensive Analytics
      • Get comprehensive dashboard analytics
      • Get overview statistics
      • Get brand-wise statistics
      • Get daily statistics
      • Get platform success rates
      • Get account performance
      • Get summary report
    • Search
      • Ra lệnh Máy Lọc Dữ Liệu TOP SEO Hàng Loại (Scraper Engine)
      • Đếm tổng số dòng tìm kiếm (Length)
    • Report Tasks
      • Tạo chiến dịch Report (Auto Spawn 14 tasks)
      • Tạo chiến dịch Report Form hàng loạt (Bulk Abuse Report)
      • Create Direct Report (Từ API hệ thống thay vì Frontend)
      • Tạo Nhiệm Vụ Sinh Email Khiếu nại (Automated Bulk Mail Spam)
      • Worker Pull - Lấy task Báo cáo đang Pending
      • Worker Trả kết quả (Report Status)
      • Danh mục Platfoms & Providers
      • Dashboard Statistic Báo Cáo
      • Force Run Cronjob
    • Monitor
      • Xuất dữ liệu đo đếm Hardware (Telemetry OS Watchdog)
    • Schemas
      • CreateTask
      • UpdateTask
      • CreateTaskGroupRequest
      • CreateProxy
      • CreateSearch
      • ReportTaskCreation
      • CreateEmail
      • CreateMultipleSearchRequest
      • CreateMultipleReportRequest
      • UpdateReportStatusRequest
      • TestProxyRequest
  1. Architecture

Environment & Configuration

Environment & Configuration Guide#


Mục lục#

1.
API — Golang (api/.env)
2.
Admin — Vue 3 (admin/.env)
3.
Tools V2 — Bun (tools_v2/.env)
4.
Mẫu .env đầy đủ sẵn dùng

1. API — Golang#

File: api/.env (copy từ api/.env.example)
Loaded bởi: pkg/env.go dùng github.com/spf13/viper
Ưu tiên: biến trong shell/Docker > giá trị trong .env

🔧 Application#

BiếnBắt buộcDefaultMô tả
APP_MODEdevelopmentMôi trường: development hoặc production
AUTO_MIGRATE_DATABASEfalseTự động chạy GORM AutoMigrate khi khởi động
SERVER_PORT✅33001Port HTTP server lắng nghe
API_KEY✅—API key xác thực internal
IP_ALLOWED—Danh sách IP được phép (comma-separated): 127.0.0.1,10.0.0.1

🗄️ Database — MongoDB#

BiếnBắt buộcDefaultMô tả
DB_MONGO_HOST✅traffic_tool_mongodbMongoDB hostname / container name
DB_MONGO_PORT✅27017MongoDB port
DB_MONGO_USER✅—MongoDB username
DB_MONGO_PASS✅—MongoDB password
DB_MONGO_NAME✅tool-traffic-apiTên database MongoDB

🗄️ Database — MySQL#

BiếnBắt buộcDefaultMô tả
DB_MYSQL_HOST✅traffic_tool_mysqlMySQL hostname / container name
DB_MYSQL_PORT✅3306MySQL port
DB_MYSQL_USER✅—MySQL username (root)
DB_MYSQL_PASS✅—MySQL password
DB_MYSQL_NAME✅tool_traffic_apiTên database MySQL

🔴 Redis (Session Cache)#

BiếnBắt buộcDefaultMô tả
REDIS_HOST✅traffic_tool_redisRedis hostname
REDIS_PORT✅6379Redis port
REDIS_USER""Redis username (để trống nếu không có auth)
REDIS_PASS""Redis password
REDIS_DB0Redis database index (0–15)

🔐 Authentication#

BiếnBắt buộcDefaultMô tả
JWT_SECRET✅—Secret key để ký JWT token
SESSION_TIMEOUT1hThời gian hết hạn session (format: 1h, 30m)
DISABLE_2FAtrue (dev)Tắt xác thực 2FA (chỉ dùng khi dev)
DISABLE_SESSION_TIMEOUTtrue (dev)Tắt session timeout (chỉ dùng khi dev)
DEV_SESSION_TIMEOUT24h (dev)Thời gian session khi dev mode

🔗 Webhook — Kết nối với Tools V2#

BiếnBắt buộcDefaultMô tả
WEBHOOK_HOST✅—Base URL của API (e.g. http://api:33001)
WEBHOOK_KEY✅—Secret key xác thực webhook (phải khớp với Tools V2)
WEBHOOK_SECKET_KEY✅—Secret key riêng cho Proxy webhook
WEBHOOK_TASK_UPDATE_STATUS_URL✅—URL nhận kết quả task từ Worker
WEBHOOK_PROXY_GET_PROXY_URL✅—URL API cấp Proxy cho Worker
WEBHOOK_SEARCH_KEYWORD_URL✅—URL nhận kết quả SERP từ Worker
WEBHOOK_CHECK_PROXY_ALIVE_URL—URL kiểm tra Proxy còn sống
WEBHOOK_URL—URL nhận update traffic process
WHITE_LIST_IP_TOOL_TRAFFIC—IP whitelist nhận request từ Workers
TOOLS_V2_URL—Base URL của Tools V2 service

📬 Telegram Notifications#

BiếnBắt buộcDefaultMô tả
TELEGRAM_BOT_TOKEN—Bot Token từ @BotFather
TELEGRAM_CHAT_ID—Chat ID nhận thông báo chung
TELEGRAM_CHAT_ERROR_ID—Chat ID nhận alert lỗi
TELEGRAM_CHAT_REPORT_ID—Chat ID nhận báo cáo traffic
ENABLE_PUSH_MESSAGE_ERROR_TO_TELEGRAMfalseGửi alert lỗi lên Telegram
ENABLE_TELEGRAM_REPORTfalseGửi báo cáo định kỳ lên Telegram

🌐 Mattermost Notifications#

BiếnBắt buộcDefaultMô tả
MATTERMOST_API_URLhttps://chat.nospace.networkMattermost server URL
MATTERMOST_API_TOKEN—Bot access token
MATTERMOST_CHANNEL_ID—Channel ID nhận notifications
MATTERMOST_VERIFY_SSLtrueVerify SSL certificate
MATTERMOST_TIMEOUT—Request timeout (ms)
MATTERMOST_CONNECT_TIMEOUT—Connection timeout (ms)
MATTERMOST_SCHEDULE0 0 9 * * *Cron schedule gửi báo cáo sáng

🔄 Proxy Configuration#

BiếnBắt buộcDefaultMô tả
PROXY_USE_MAX1Số Task tối đa dùng chung 1 Proxy
PROXY_ROTATE_MAX_CONCURRENT10Số Proxy xoay đồng thời tối đa
PROXY_URL—URL API cấp proxy cho Task
PROXY_SCAN_DOMAIN_URL—URL service quét domain
NET_HTTP_PROXY_URL""HTTP proxy cho outbound requests (nếu API ở sau proxy)

🔑 Proxy Provider Credentials#

BiếnBắt buộcDefaultMô tả
PROXY_XOAY_USERNAME—Username ProxyXoay provider
PROXY_XOAY_PASSWORD—Password ProxyXoay provider
ENODE_PROXY_TOKEN—API token Enode proxy
ZING_PROXY_TOKEN—API token ZingProxy
M2_PROXY_TOKEN—API token M2Proxy

📊 Traffic Pool Limits#

BiếnBắt buộcDefaultMô tả
TRAFFIC_GG_ADS100Giới hạn lượt click Google Ads mỗi ngày
TRAFFIC_CC_ADS100000Giới hạn lượt click CocCoc Ads mỗi ngày
TRAFFIC_KILL750000Giới hạn lượt Kill Traffic (click fraud) mỗi ngày
TRAFFIC_HOME5000Giới hạn lượt Home Traffic mỗi ngày
TRAFFIC_NORMAL_CLICK100000Giới hạn lượt click Organic thường mỗi ngày
LIMIT_SEND_TASK_PER_SERVER300Số Task gửi tối đa mỗi lần cho 1 Server
MAX_REPORT_TASK_LIMIT—Giới hạn Report Task đồng thời
PROJECT_DEAD_TIME_MINUTES30Phút không có result → Project = Dead

⏰ Cron Schedules#

BiếnDefaultMô tả
SCHEDULE_RESET_TASK0 0 * * *Reset task về Pending (hàng ngày 0h)
SCHEDULE_SEND_TASK*/5 * * * *Gửi task xuống Workers (mỗi 5 phút)
SCHEDULE_SEARCH_KEYWORD*/10 * * * *Quét SERP keyword (mỗi 10 phút)
SCHEDULE_CONFIRM_FIRE*/30 * * * *Xác nhận chiến dịch fire (mỗi 30 phút)
SCHEDULE_CHANGE_ACTIVE_PROXY*/10 * * * *Xoay Proxy định kỳ (mỗi 10 phút)
SCHEDULE_REPORT_PROXY_EXPIRED0 0 * * *Báo cáo proxy sắp hết hạn (0h hàng ngày)
SCHEDULE_REPORT_TRAFFIC0 2-22/2 * * *Báo cáo traffic (mỗi 2 tiếng)
SCHEDULE_REPORT_TRAFFIC_EXTRA59 23 * * *Báo cáo bổ sung (23h59 hàng ngày)
SCHEDULE_SERVER_HOURLY_REPORT0 * * * *Ghi báo cáo Server theo giờ
SCHEDULE_MONTHLY_REPORT0 0 1 * *Báo cáo tháng (ngày 1 hàng tháng)
SCHEDULE_WEEKLY_REPORT0 0 * * 0Báo cáo tuần (Chủ Nhật 0h)
SCHEDULE_CHECK_PROJECT_DEAD*/5 * * * *Kiểm tra Project chết (mỗi 5 phút)

☁️ DigitalOcean Spaces (S3)#

BiếnBắt buộcDefaultMô tả
DIGITALOCEAN_ACCESS_KEY—Access key DO Spaces
DIGITALOCEAN_SECRET_KEY—Secret key DO Spaces
DIGITALOCEAN_REGIONnyc3Region bucket (nyc3, sgp1, ...)
DIGITALOCEAN_BUCKET_NAME—Tên bucket lưu file
DIGITALOCEAN_ENDPOINThttps://nyc3.digitaloceanspaces.comS3-compatible endpoint
DIGITALOCEAN_CDN_URL—CDN URL public cho file

🔎 Domain Scan#

BiếnMô tả
API_SCAN_DOMAIN_URLURL service kiểm tra domain (external)
API_ACCESS_TOKENToken xác thực API scan domain
API_KIOT_PROXY_APIURL API KiotViet proxy

2. Admin — Vue 3#

File: admin/.env.development / admin/.env.production
Loaded bởi: Vite build tool tự động (chỉ expose biến VITE_*)
BiếnBắt buộcDev DefaultMô tả
NODE_MODEdevelopmentMôi trường build
VITE_API_SERVER✅http://localhost:33001Base URL của API (Go) — tất cả Axios calls dùng biến này
Lưu ý: Chỉ những biến có prefix VITE_ mới được inject vào bundle JavaScript. Các biến khác chỉ dùng khi build.
Cách dùng trong code:
Tạo file production:

3. Tools V2 — Bun#

File: tools_v2/.env (tạo thủ công, không có .env.example)
Loaded bởi: src/utils/env.ts dùng process.env
Ưu tiên: shell environment > .env file (Bun tự load .env)

🔧 Application#

BiếnBắt buộcDefaultMô tả
NODE_ENVdevelopmentMôi trường. development bật một số giới hạn đặc biệt
LOCALfalseSet true khi chạy local để dùng limits khác
PORT3005Port HTTP server ElysiaJS
SERVER_IDtools_v2_serverĐịnh danh server Worker này
DEBUGfalseBật debug logging

🔗 API Connection#

BiếnBắt buộcDefaultMô tả
API_HOST✅https://traffic-api.longtu.clubBase URL của API (Go)
API_BASE_URL→ API_HOSTAlias cho API_HOST
WEBHOOK_HOST→ API_HOSTAlias cho API_HOST — dùng cho webhook callbacks

🔐 Security#

BiếnBắt buộcDefaultMô tả
API_KEY✅—API key gọi lên API (Go)
WEBHOOK_KEY✅webhook-keyShared secret với API để xác thực webhooks
WEBHOOK_API_KEY→ WEBHOOK_KEYAlias cho WEBHOOK_KEY
IP_ALLOWED[]IPs được phép gọi vào API Tools V2 (comma-separated)
PROXY_API_KEY—Key riêng cho proxy operations

🗄️ Database — MongoDB#

BiếnBắt buộcDefaultMô tả
DB_MONGO_HOST✅localhostMongoDB hostname
DB_MONGO_PORT27017MongoDB port
DB_MONGO_USERNAME""Username (để trống nếu không có auth)
DB_MONGO_PASSWORD""Password
DB_MONGO_DATABASE✅traffic-toolTên DB riêng (khác với API — là traffic-tool)
⚠️ Lưu ý: Tools V2 dùng DB traffic-tool, API dùng DB tool-traffic-api. Phải cùng MongoDB server nhưng khác database.

🌐 Search Configuration#

BiếnBắt buộcDefaultMô tả
SEARCH_FLOWclickFlow xử lý search: click hoặc report

🚦 Traffic Limits#

BiếnLocal DefaultProduction DefaultMô tả
BROWSER_LIMIT_PER_PROCESS11Số browser per process
TASK_RETRY_LIMIT∞8Số lần retry task tối đa
PROXY_RETRY_LIMIT∞15Số lần retry proxy tối đa
MAX_RETRY_COUNT∞3Số lần retry chung
SEARCH_TASK_LIMIT∞1000Số Search Task đồng thời
KILL_TRAFFIC_RATIO0.80.8Tỷ lệ Kill Traffic (0.0–1.0)
HOME_TRAFFIC_RATIO0.250.25Tỷ lệ Home Traffic (0.0–1.0)
HOME_TRAFFIC_PER_TARGET_LIMIT33Giới hạn Home Traffic per target
HOME_TRAFFIC_LIMIT22Giới hạn tổng Home Traffic đồng thời
GEOLOCATION_RANDOM_RADIUS_KM2.02.0Bán kính random GPS (km)
Hằng số cứng (hard-coded, không đổi được qua env):
BROWSER_LIMIT = 100 — Tổng browsers pool toàn server
CRON_TASK_LIMIT = 25 — Task chạy mỗi cron tick
CRON_SEARCH_LIMIT = 1 — Search task mỗi tick
CRON_REPORT_LIMIT = 2 — Report task mỗi tick

🎭 Fake Mode (Testing)#

BiếnBắt buộcDefaultMô tả
FAKE_SUCCESSfalseGiả lập kết quả thành công (không chạy browser thật)
FAKE_SUCCESS_RATIO0.5Tỷ lệ success khi fake (0.0–1.0)

📋 Logging#

BiếnBắt buộcDefaultMô tả
LOG_LEVELinfoLevel log: debug, info, warn, error
LOG_SERVICEappTên service trong log entries
LOG_TIMESTAMPfalseThêm timestamp vào log
LOG_COLORIZEDfalseColorize console log output
LOG_WRITE_TO_FILEfalseGhi log ra file
LOG_WRITE_TO_CONSOLEfalseGhi log ra console
LOG_DIRstorage/logThư mục chứa log files
LOG_FOR_RECORDfalseMode ghi log chi tiết để phân tích

🤖 AI — OpenAI GPT#

BiếnBắt buộcDefaultMô tả
CHATGPT_API_KEY✅—OpenAI API key (dùng để sinh nội dung báo cáo)
OPENAI_API_KEY→ CHATGPT_API_KEYAlias cho CHATGPT_API_KEY
CHATGPT_MODELgpt-4o-miniModel GPT sử dụng
OPENAI_MODEL→ CHATGPT_MODELAlias cho CHATGPT_MODEL

📧 Email (SMTP)#

BiếnBắt buộcDefaultMô tả
SMTP_HOSTsmtp.gmail.comSMTP server hostname
SMTP_PORT587SMTP port (587 = TLS, 465 = SSL)
SMTP_SECUREfalseDùng SSL (true) hay STARTTLS (false)
SMTP_USER—Email gửi đi (tài khoản Gmail)
SMTP_PASS—App Password Gmail (không phải mk thường)

📸 Screenshot#

BiếnBắt buộcDefaultMô tả
ENABLE_SCREENSHOTStrueBật chụp màn hình bằng chứng sau khi report

🔄 Proxy Provider — ZingProxy#

BiếnBắt buộcDefaultMô tả
ZING_PROXY_API_KEY—JWT key để gọi ZingProxy API
ZING_PROXY_BASE_URLhttps://api.zingproxy.com/proxyBase URL ZingProxy REST API

4. Mẫu .env đầy đủ sẵn dùng#

api/.env (Production template)#

# ===== APPLICATION =====
APP_MODE=production
AUTO_MIGRATE_DATABASE=false
SERVER_PORT=33001
API_KEY=your-strong-api-key-here

# ===== MONGODB =====
DB_MONGO_HOST=localhost
DB_MONGO_PORT=27017
DB_MONGO_USER=admin
DB_MONGO_PASS=your-mongo-password
DB_MONGO_NAME=tool-traffic-api

# ===== MYSQL =====
DB_MYSQL_HOST=localhost
DB_MYSQL_PORT=3306
DB_MYSQL_USER=root
DB_MYSQL_PASS=your-mysql-password
DB_MYSQL_NAME=tool_traffic_api

# ===== REDIS =====
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_USER=
REDIS_PASS=
REDIS_DB=0

# ===== AUTH =====
JWT_SECRET=your-jwt-secret-min-32-chars
SESSION_TIMEOUT=1h

# ===== WEBHOOK (phải khớp với Tools V2) =====
WEBHOOK_HOST=https://your-api-domain.com
WEBHOOK_KEY=your-shared-webhook-secret
WEBHOOK_SECKET_KEY=your-proxy-webhook-secret
WEBHOOK_TASK_UPDATE_STATUS_URL=https://your-api-domain.com/webhook/task/update-status
WEBHOOK_PROXY_GET_PROXY_URL=https://your-api-domain.com/webhook/proxy/get-proxy
WEBHOOK_SEARCH_KEYWORD_URL=https://your-api-domain.com/webhook/keyword-result
WEBHOOK_CHECK_PROXY_ALIVE_URL=https://api.ipify.org/
WHITE_LIST_IP_TOOL_TRAFFIC=10.0.0.1,10.0.0.2
TOOLS_V2_URL=https://your-toolsv2-domain.com

# ===== TELEGRAM =====
TELEGRAM_BOT_TOKEN=your-bot-token
TELEGRAM_CHAT_ID=-100xxxxxxxxx
TELEGRAM_CHAT_ERROR_ID=-100xxxxxxxxx
TELEGRAM_CHAT_REPORT_ID=-100xxxxxxxxx
ENABLE_PUSH_MESSAGE_ERROR_TO_TELEGRAM=true
ENABLE_TELEGRAM_REPORT=true

# ===== PROXY SETTINGS =====
PROXY_USE_MAX=2
PROXY_ROTATE_MAX_CONCURRENT=10
LIMIT_SEND_TASK_PER_SERVER=300
PROJECT_DEAD_TIME_MINUTES=30

# ===== PROXY PROVIDERS =====
ZING_PROXY_TOKEN=your-zing-proxy-jwt-token
ENODE_PROXY_TOKEN=your-enode-token
M2_PROXY_TOKEN=your-m2-token

# ===== TRAFFIC LIMITS =====
TRAFFIC_GG_ADS=100
TRAFFIC_CC_ADS=100000
TRAFFIC_KILL=750000
TRAFFIC_HOME=5000
TRAFFIC_NORMAL_CLICK=100000

# ===== CRON SCHEDULES =====
SCHEDULE_RESET_TASK=0 0 * * *
SCHEDULE_SEND_TASK=*/5 * * * *
SCHEDULE_SEARCH_KEYWORD=*/10 * * * *
SCHEDULE_CONFIRM_FIRE=*/30 * * * *
SCHEDULE_CHANGE_ACTIVE_PROXY=*/10 * * * *
SCHEDULE_REPORT_PROXY_EXPIRED=0 0 * * *
SCHEDULE_REPORT_TRAFFIC=0 2-22/2 * * *
SCHEDULE_REPORT_TRAFFIC_EXTRA=59 23 * * *
SCHEDULE_SERVER_HOURLY_REPORT=0 * * * *
SCHEDULE_MONTHLY_REPORT=0 0 1 * *
SCHEDULE_WEEKLY_REPORT=0 0 * * 0
SCHEDULE_CHECK_PROJECT_DEAD=*/5 * * * *

# ===== DIGITALOCEAN SPACES =====
DIGITALOCEAN_ACCESS_KEY=your-do-access-key
DIGITALOCEAN_SECRET_KEY=your-do-secret-key
DIGITALOCEAN_REGION=nyc3
DIGITALOCEAN_BUCKET_NAME=your-bucket-name
DIGITALOCEAN_ENDPOINT=https://nyc3.digitaloceanspaces.com
DIGITALOCEAN_CDN_URL=https://your-bucket-name.nyc3.cdn.digitaloceanspaces.com

# ===== DOMAIN SCAN =====
API_SCAN_DOMAIN_URL=https://your-scan-service.com/api/check-domains
API_ACCESS_TOKEN=your-scan-api-token

tools_v2/.env (Production template)#

# ===== APPLICATION =====
NODE_ENV=production
PORT=3005
SERVER_ID=worker-server-01
DEBUG=false

# ===== API CONNECTION (trỏ về api Go) =====
API_HOST=https://your-api-domain.com
API_KEY=your-strong-api-key-here
WEBHOOK_KEY=your-shared-webhook-secret

# ===== SECURITY =====
IP_ALLOWED=10.0.0.1,10.0.0.2

# ===== MONGODB =====
DB_MONGO_HOST=localhost
DB_MONGO_PORT=27017
DB_MONGO_USERNAME=admin
DB_MONGO_PASSWORD=your-mongo-password
DB_MONGO_DATABASE=traffic-tool

# ===== TRAFFIC LIMITS =====
BROWSER_LIMIT_PER_PROCESS=5
TASK_RETRY_LIMIT=8
PROXY_RETRY_LIMIT=15
MAX_RETRY_COUNT=3
KILL_TRAFFIC_RATIO=0.8
HOME_TRAFFIC_RATIO=0.25

# ===== OPENAI GPT =====
CHATGPT_API_KEY=sk-proj-your-openai-key
CHATGPT_MODEL=gpt-4o-mini

# ===== EMAIL (SMTP) =====
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-gmail@gmail.com
SMTP_PASS=your-app-password

# ===== SCREENSHOTS =====
ENABLE_SCREENSHOTS=true

# ===== PROXY PROVIDERS =====
ZING_PROXY_API_KEY=your-zing-proxy-jwt
ZING_PROXY_BASE_URL=https://api.zingproxy.com/proxy

# ===== LOGGING =====
LOG_LEVEL=info
LOG_WRITE_TO_FILE=true
LOG_WRITE_TO_CONSOLE=false
LOG_DIR=storage/log

admin/.env.production#

NODE_MODE=production
VITE_API_SERVER=https://your-api-domain.com

Ghi chú quan trọng#

[!IMPORTANT]
WEBHOOK_KEY trong api/.env và tools_v2/.env phải giống hệt nhau — đây là shared secret để 2 service xác thực lẫn nhau.
[!WARNING]
Tools V2 dùng MongoDB database traffic-tool, API dùng tool-traffic-api. Cả 2 có thể chạy trên cùng 1 MongoDB server nhưng bắt buộc khác database name.
[!NOTE]
Khi NODE_ENV=development, Tools V2 tự động set các retry limits = ∞ và BROWSER_LIMIT_PER_PROCESS=1 để dễ debug.
[!NOTE]
Khi APP_MODE=development, API tự động disable 2FA và session timeout để tiện phát triển.
Modified at 2026-03-25 07:02:23
Previous
Logs and Monitoring
Next
Local
Built with