close

Cách triển khai Browserless Sandbox trên VPS giúp OpenClaw vượt Anti-Bot & Captcha

Tác giả: Đông Tùng Ngày đăng: 08/10/2026 Chuyên mục: OpenClaw
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Triển khai Browserless Sandbox trên VPS cho phép OpenClaw điều khiển một trình duyệt Chromium chạy riêng trong Docker thông qua Chrome DevTools Protocol (CDP), thay vì phụ thuộc hoàn toàn vào trình duyệt cài trực tiếp trên VPS. Cách triển khai này giúp môi trường browser ổn định hơn, dễ cô lập, dễ quản lý phiên làm việc và phù hợp với các tác vụ AI Agent cần truy cập website 24/7.

Browserless Sandbox là gì?

Browserless là nền tảng cung cấp trình duyệt Chrome/Chromium cho các ứng dụng automation. Thay vì mở Chrome trực tiếp, ứng dụng có thể kết nối đến Browserless thông qua WebSocket hoặc Chrome DevTools Protocol – CDP rồi điều khiển trình duyệt từ xa. Browserless hỗ trợ Puppeteer, Playwright và các hệ thống AI Agent có khả năng kết nối CDP.

Trong trường hợp OpenClaw, chúng ta có thể chạy Browserless bằng Docker ngay trên VPS:

OpenClaw

   │

   │ CDP / WebSocket

   ▼

Browserless

   │

   ▼

Chromium

   │

   ▼

Website

Browserless Container đóng vai trò như một browser sandbox riêng biệt. OpenClaw gửi lệnh đến Browserless, còn Chromium chịu trách nhiệm mở trang web, click, nhập dữ liệu, đọc nội dung hoặc chụp ảnh màn hình.

OpenClaw hiện hỗ trợ trực tiếp các remote CDP profile, trong đó, tài liệu chính thức cũng đưa Browserless làm một ví dụ cụ thể.

Browserless Sandbox là gì?
Browserless Sandbox là gì?

Browserless có giúp OpenClaw vượt Anti-Bot và CAPTCHA không?

Có thể giúp giảm một số vấn đề liên quan đến browser automation, nhưng Browserless Open Source không phải công cụ tự động vượt CAPTCHA.

Đây là điểm cần đặc biệt lưu ý. Browserless hiện có nhiều nhóm sản phẩm khác nhau:

Khả năngBrowserless Open SourceBrowserless Cloud/Enterprise
Chromium trong DockerCóCó
Remote CDPCóCó
Puppeteer/PlaywrightCóCó
Quản lý browser sessionCóCó
BrowserQLKhôngCó
Stealth nâng caoKhôngCó
CAPTCHA assistanceKhôngCó tùy sản phẩm/tính năng
Công cụ fingerprint nâng caoKhôngCó

Hướng dẫn triển khai Browserless Sandbox trên VPS cho OpenClaw

Ví dụ dưới đây giả định:

  • VPS chạy Ubuntu.
  • OpenClaw đã được cài đặt.
  • Bạn có quyền sudo.
  • Browserless chưa được cài.

Bước 1: Cài Docker và nano (nếu chưa có) trên VPS

Kiểm tra trước:

docker --version

Nếu chưa có Docker, chạy:

curl -fsSL https://get.docker.com | sh
Cài Docker và nano (nếu chưa có) trên VPS
Cài Docker và nano (nếu chưa có) trên VPS

Sau đó bật Docker:

sudo systemctl enable --now docker

Kiểm tra lại:

docker --version
Cài Docker và nano (nếu chưa có) trên VPS
Cài Docker và nano (nếu chưa có) trên VPS

Nếu Docker trả về phiên bản hiện tại, có thể chuyển sang bước cài trình soạn thảo nano:

apt update
apt install nano -y

Bước 2: Tạo Browserless Container

Tạo thư mục:

sudo mkdir -p /opt/browserless

cd /opt/browserless

Tạo token ngẫu nhiên:

openssl rand -hex 24
Tạo Browserless Container
Tạo Browserless Container

Hãy lưu chuỗi vừa tạo.

Tiếp theo tạo file:

sudo nano .env

Thêm:

BROWSERLESS_TOKEN=TOKEN_CUA_BAN

Thay TOKEN_CUA_BAN bằng token vừa tạo.

Tạo Browserless Container
Tạo Browserless Container

Tiếp tục tạo Docker Compose:

sudo nano docker-compose.yml

Thêm:

services:
  browserless:
    image: ghcr.io/browserless/chromium:latest
    container_name: browserless
    restart: unless-stopped
    shm_size: "2gb"
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      TOKEN: "${BROWSERLESS_TOKEN}"
      CONCURRENT: "2"
      EXTERNAL: "ws://127.0.0.1:3000"
Tạo Browserless Container
Tạo Browserless Container

Sau đó chạy:

sudo docker compose up -d

Kiểm tra container:

sudo docker ps

Bạn sẽ thấy container có tên:

browserless
Tạo Browserless Container
Tạo Browserless Container

Browserless hiện khuyến nghị tăng /dev/shm cho Chromium khi chạy Docker vì dung lượng mặc định của Docker khá nhỏ và có thể khiến Chrome thiếu bộ nhớ dùng chung.

Bước 3: Kiểm tra Browserless

Có thể xem log bằng:

sudo docker logs browserless --tail 50

Sau đó thử endpoint:

curl "http://127.0.0.1:3000/pressure?token=TOKEN_CUA_BAN"

Nếu Browserless trả về dữ liệu trạng thái, container đã hoạt động.

Bạn cũng có thể kiểm tra:

curl "http://127.0.0.1:3000/json/version?token=TOKEN_CUA_BAN"

Browserless sẽ cung cấp thông tin về browser/CDP endpoint.

Bước 4: Kết nối Browserless với OpenClaw

OpenClaw lưu cấu hình browser trong ~/.openclaw/openclaw.json.

Mở file:

nano ~/.openclaw/openclaw.json

Nếu file đã có cấu hình khác, chỉ cần thêm hoặc ghép phần browser, không xóa các cấu hình đang sử dụng.

Ví dụ:

{
  browser: {
    enabled: true,
    defaultProfile: "browserless",
    profiles: {
      browserless: {
        cdpUrl: "ws://127.0.0.1:3000?token=TOKEN_CUA_BAN",
        attachOnly: true
      }
    }
  }
}

Thay TOKEN_CUA_BAN bằng token Browserless thực tế.

Kết nối Browserless với OpenClaw
Kết nối Browserless với OpenClaw

Theo tài liệu OpenClaw, khi Browserless chạy ngoài OpenClaw nhưng sử dụng địa chỉ loopback như 127.0.0.1, profile nên đặt attachOnly: true. Nếu bỏ tùy chọn này, OpenClaw có thể hiểu nhầm cổng Browserless là browser do OpenClaw tự quản lý và báo lỗi cổng đang được sử dụng.

Bước 5: Kiểm tra Browserless Profile

Chạy:

openclaw browser –browser-profile browserless doctor

Tiếp theo:

openclaw browser --browser-profile browserless tabs

Thử mở một website đơn giản:

openclaw browser --browser-profile browserless open https://example.com

Sau đó lấy snapshot:

openclaw browser --browser-profile browserless snapshot

OpenClaw hiện cung cấp browser doctor để kiểm tra CDP, profile và khả năng kết nối trình duyệt.

Nếu cấu hình chưa được nhận, có thể restart Gateway an toàn:

openclaw gateway restart --safe

Các phiên bản OpenClaw hiện tại hỗ trợ restart Gateway trực tiếp bằng CLI.

Bước 6: Cho phép OpenClaw Agent sử dụng Browserless

Nếu defaultProfile: "browserless" đã được thiết lập, các tác vụ browser của OpenClaw có thể sử dụng profile Browserless làm mặc định.

Ví dụ prompt:

Mở https://example.com bằng browser.

Đọc tiêu đề trang và nội dung chính.

Tóm tắt nội dung thành 5 ý ngắn.

Luồng xử lý sẽ trở thành:

Prompt

   ↓

OpenClaw Agent

   ↓

Browser Tool

   ↓

Browserless

   ↓

Chromium

   ↓

Website

Nếu OpenClaw Agent đang chạy trong sandbox riêng, browser tool có thể mặc định sử dụng browser bên trong sandbox thay vì browser của host.

Trong trường hợp thực sự cần Agent truy cập Browserless trên host, OpenClaw hỗ trợ:

{

  agents: {

    defaults: {

      sandbox: {

        browser: {

          allowHostControl: true

        }

      }

    }

  }

}

Chỉ bật tùy chọn này khi cần thiết vì quyền điều khiển browser của Agent sẽ được mở rộng sang host.

Các lỗi thường gặp khi kết nối OpenClaw với Browserless

Lỗi connection refused

Kiểm tra Browserless:

sudo docker ps

Nếu container không chạy, hãy gửi lệnh:

cd /opt/browserless

sudo docker compose up -d

OpenClaw báo CDP không kết nối được

Chạy:

openclaw browser --browser-profile browserless doctor

Sau đó kiểm tra:

sudo docker logs browserless --tail 50

Nếu OpenClaw và Browserless cùng VPS, kiểm tra cdpUrl:

ws://127.0.0.1:3000
Các lỗi thường gặp khi kết nối OpenClaw với Browserless
Các lỗi thường gặp khi kết nối OpenClaw với Browserless

Báo cổng 3000 đang được sử dụng

Kiểm tra:

sudo ss -lntp | grep 3000

Nếu Browserless đang sử dụng cổng này thì đây là trạng thái bình thường.

Quan trọng hơn là profile OpenClaw phải có:

attachOnly: true

Browserless hoạt động nhưng OpenClaw không mở được website

Thử:

openclaw browser --browser-profile browserless tabs

Nếu tabs hoạt động nhưng:

openclaw browser --browser-profile browserless open https://example.com

thất bại, vấn đề có thể nằm ở chính sách điều hướng/SSRF thay vì CDP.

Tài liệu OpenClaw cũng khuyến nghị phân biệt hai nhóm lỗi này bằng chuỗi kiểm tra doctor → tabs → open.

Website vẫn xuất hiện CAPTCHA

Điều này không đồng nghĩa Browserless bị lỗi. Browserless Open Source không bao gồm CAPTCHA solving hoặc BrowserQL stealth.

Hãy kiểm tra:

  • Website có cho phép automation hay không.
  • Tần suất truy cập có quá cao không.
  • Session có liên tục bị tạo mới không.
  • Tài khoản có đang bị yêu cầu xác minh không.
  • Website có API chính thức thay cho browser automation không.

Nếu CAPTCHA là bước xác minh bắt buộc, nên chuyển tác vụ sang human-in-the-loop.

Những lưu ý khi sử dụng Browserless trên VPS

  • Không mở cổng Browserless trực tiếp ra Internet nếu không cần thiết.
  • Luôn đặt TOKEN cho Browserless.
  • Không lưu token Browserless lên GitHub hoặc repository công khai.
  • Chỉ dùng attachOnly: true với Browserless/CDP do dịch vụ bên ngoài OpenClaw quản lý.
  • Giới hạn CONCURRENT phù hợp với RAM và CPU của VPS.
  • Tăng shm_size để Chromium ổn định hơn khi chạy Docker.
  • Theo dõi docker logs browserless khi browser thường xuyên crash.
  • Không xem Browserless Open Source như một công cụ CAPTCHA bypass.
  • Ưu tiên API chính thức khi website cung cấp API phù hợp.
  • Chỉ tự động hóa những website và tài khoản mà bạn được quyền truy cập.
Những lưu ý khi sử dụng Browserless trên VPS
Những lưu ý khi sử dụng Browserless trên VPS

Kết luận

Triển khai Browserless Sandbox trên VPS giúp OpenClaw có một trình duyệt riêng: tách biệt, an toàn và chạy liên tục. Chỉ với Docker và vài dòng cấu hình, bạn đã có nền tảng vững chắc. Để xử lý Anti-Bot và Captcha ở mức cao, hãy kết hợp thêm Stealth, proxy dân cư hoặc dùng Browserless Cloud. Bắt đầu từ bản tự dựng, thử nghiệm trên vài tác vụ thật, rồi nâng cấp khi cần. 

Các bài viết liên quan:

Những câu hỏi thường gặp

OpenClaw và Browserless có thể nằm trên hai máy khác nhau không?

Được. Điều kiện là OpenClaw truy cập được địa chỉ CDP. Cách an toàn là dùng đường hầm SSH hoặc Nginx kèm HTTPS và token, tránh mở cổng 3000 công khai. 

Browserless trên VPS có tự vượt được Captcha không?

Bản mã nguồn mở thì chưa. Tính năng giải Captcha và Stealth nâng cao thuộc gói Cloud hoặc Enterprise. Bản tự dựng miễn phí chủ yếu giúp bạn có trình duyệt cô lập, ổn định cho OpenClaw. 

Tự dựng Browserless trên VPS có miễn phí không?

Image mã nguồn mở dùng được miễn phí theo giấy phép SSPL-1.0, nhưng bạn vẫn trả tiền thuê VPS. Với dự án thương mại mã nguồn đóng, bạn cần giấy phép thương mại. 

Nên chọn Browserless Cloud hay tự dựng trên VPS?

Nếu ưu tiên vượt Anti-Bot và Captcha nhanh, Cloud tiện hơn vì có sẵn Stealth, proxy và giải Captcha. Nếu ưu tiên kiểm soát dữ liệu và chi phí cố định, tự dựng trên VPS phù hợp hơn. 

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan

Xem nhiều