// import puppeteer from 'puppeteer'; import puppeteer from "puppeteer-extra"; import StealthPlugin from "puppeteer-extra-plugin-stealth"; import CONSTANTS from "./constants.js"; puppeteer.use(StealthPlugin()); const browser = await puppeteer.launch({ headless: process.env.ENVIRONMENT === "prod" ? true : false, // userDataDir: CONSTANTS.PROFILE_PATH, // Thư mục lưu profile timeout: 60000, args: [ "--no-sandbox", "--disable-setuid-sandbox", "--disable-dev-shm-usage", "--disable-gpu", "--disable-software-rasterizer", "--disable-background-networking", "--disable-sync", "--mute-audio", "--no-first-run", "--no-default-browser-check", "--ignore-certificate-errors", "--start-maximized", "--disable-site-isolation-trials", // Tắt sandbox riêng cho từng site "--memory-pressure-off", // Tắt cơ chế bảo vệ bộ nhớ "--disk-cache-size=0", // Không dùng cache để giảm bộ nhớ "--enable-low-end-device-mode", // Kích hoạt chế độ tiết kiệm RAM "--disable-best-effort-tasks", // Tắt tác vụ không quan trọng "--disable-accelerated-2d-canvas", // Không dùng GPU để vẽ canvas "--disable-threaded-animation", // Giảm animation chạy trên nhiều thread "--disable-threaded-scrolling", // Tắt cuộn trang đa luồng "--disable-logging", // Tắt log debug // "--blink-settings=imagesEnabled=false", // Không tải hình ảnh, "--disable-background-timer-throttling", // Tránh việc throttling các timer khi chạy nền. "--disable-webrtc", "--disable-ipc-flooding-protection", // Nếu có extension cần IPC, cái này giúp tối ưu. ], }); export default browser;