ZennoPoster và BAS (Browser Automation Studio) là hai công cụ tạo bot phổ biến trong cộng đồng nói tiếng Nga: chúng được sử dụng để thu thập đăng ký, làm nóng, đăng bài và phân tích dữ liệu. Cả hai đều cần proxy — tài nguyên chính, và thường thì lỗi xảy ra không phải do định dạng chuỗi mà do sơ đồ: hai luồng sử dụng chung một IP, địa chỉ thay đổi giữa chừng trong quá trình đăng ký, và mẫu trình duyệt tải xuống hàng chục gigabyte hình ảnh trong một đêm. Đến mùa thu năm 2026, việc kiểm soát điều này trở nên dễ dàng hơn: ZennoPoster 7.9.1 ra mắt vào ngày 11 tháng 8 đã học cách tính toán lưu lượng truy cập cho từng proxy ngay từ dự án, trong khi ZennoPoster 7.9.2 (17 tháng 9) và BAS 30.8.0 (16 tháng 9) đã chuyển trình duyệt sang Chromium 152 và 153. Dưới đây là sơ đồ làm việc "một luồng - một IP" cho cả hai chương trình, lựa chọn xoay vòng theo nhiệm vụ và tính toán lưu lượng trước khi hóa đơn đến.
Những gì đã thay đổi vào năm 2026 và tại sao điều này quan trọng cho proxy
Nếu các mẫu hoạt động trên các phiên bản đầu năm, một số vấn đề với proxy có thể được giải quyết bằng cách cập nhật đơn giản. Từ nhật ký thay đổi của ZennoLab và Bablosoft, năm điểm quan trọng cho việc làm việc với proxy:
- ZennoPoster 7.9.0 (25 tháng 6). Khối "Xử lý hình ảnh → Lưu hình ảnh → URL" đã học cách hoạt động qua proxy. Trước đó, khối này đã truy cập hình ảnh mà không có proxy, với IP của máy mà mẫu đang chạy — một rò rỉ nhỏ mà dễ dàng không nhận thấy.
- ZennoPoster 7.9.1 (11 tháng 8). Đã có tính toán lưu lượng truy cập vào và ra theo byte cho từng proxy: cho các trình duyệt Chromium và ChromiumFromZB (bao gồm WebSocket, không có phản hồi từ bộ nhớ cache) và cho tất cả các khối HTTP — thông thường, thay thế và TLS. Dữ liệu có thể truy cập từ mã thông qua đối tượng
ZennoPoster.ProxyTrafficInfo. - Trong cùng một phiên bản giả lập dữ liệu địa lý và múi giờ đã bắt đầu tính đến địa chỉ IPv6, và các hồ sơ ZennoBrowser với proxy SOCKS5 trong tích hợp đã ngừng bị lỗi do thời gian chờ khi khởi động.
- ZennoPoster 7.9.2 (17 tháng 9). API HTTP công khai với hơn 100 thao tác, ba máy chủ MCP cho trợ lý AI và chế độ tác nhân của khối "AI Agent", tự quản lý trình duyệt của nhiệm vụ. Động cơ — Chromium 152.
- BAS 30.8.0 (16 tháng 9). Động cơ đã được cập nhật lên phiên bản 153, xuất hiện chế độ Agent, cho phép tạo, thay đổi và kiểm tra kịch bản theo mô tả văn bản, và mô-đun tạo mã xác thực hai yếu tố.
Kết luận thực tiễn: trước khi mở rộng các mẫu, hãy cập nhật ít nhất lên ZennoPoster 7.9.1 và BAS 30.8.0. Việc tính toán lưu lượng cho từng proxy chính xác là điều mà trước đây còn thiếu khi thanh toán cho gigabyte.
Bước 1. Chọn chế độ xoay vòng theo nhiệm vụ
Câu trả lời ngắn gọn: để làm việc với tài khoản cần một phiên làm việc dính với cổng riêng cho mỗi luồng; để phân tích bằng yêu cầu HTTP — IP mới cho mỗi yêu cầu; để phân tích trình duyệt mà không cần đăng nhập — phiên làm việc dính với khoảng thời gian ngắn.
Trong ProxyCove, chế độ được xác định bằng cổng. Cổng 824 thay đổi IP cho mỗi yêu cầu. Các cổng 10000–20000 hoạt động với xoay vòng theo khoảng thời gian: mỗi cổng cung cấp IP riêng và giữ nó trong khoảng thời gian đã định — từ 1 đến 120 phút. Khoảng thời gian có thể thay đổi trong cài đặt xoay vòng trong thẻ proxy.
- Đăng ký, làm nóng, đăng bài. Tài khoản cần một địa chỉ ổn định trong suốt chu trình. Đặt khoảng thời gian với dự phòng cho thời gian của một lần chạy: nếu việc đăng ký với xác nhận email mất 20–25 phút, hãy lấy 40–60. Thay đổi IP giữa chừng trong mẫu — nguyên nhân điển hình gây ra checkpoint.
- Thu thập dữ liệu bằng các khối GET/POST. Mỗi yêu cầu là độc lập, không cần giữ phiên. Cổng 824 phân phối tải cho bể và giảm khả năng gặp giới hạn trên một IP.
- Phân tích trình duyệt mà không cần đăng nhập. Ở đây, việc xoay vòng cho mỗi yêu cầu là bất lợi. Theo dữ liệu từ Web Almanac 2025, trang chính trung bình trên máy tính để bàn thực hiện 77 yêu cầu đến các tài nguyên khác nhau, và trên cổng 824, các phần của một trang sẽ đến từ các địa chỉ khác nhau. Đối với hệ thống chống bot, đây là hành vi không điển hình, vì vậy hãy chọn cổng dính với khoảng thời gian 1–5 phút và thay đổi IP giữa các trang, chứ không phải bên trong chúng.
Bước 2. Chọn loại proxy
Loại xác định không chỉ giá của gigabyte mà còn cách mà nền tảng xử lý địa chỉ:
- Proxy dân cư — IP của các nhà cung cấp dịch vụ tại nhà. Lựa chọn cơ bản cho các mẫu trình duyệt, thị trường, SEO và đăng ký trên các trang web có độ nghiêm ngặt trung bình. Trong ProxyCove, proxy dân cư với lựa chọn quốc gia và khoảng thời gian xoay vòng có giá $2,70 cho mỗi GB.
- Proxy di động — địa chỉ của các nhà mạng. Với một IP như vậy qua CGNAT, nhiều thuê bao thực tế có thể truy cập mạng cùng lúc, vì vậy các mạng xã hội cấm chúng cẩn thận hơn. Đây là lựa chọn cho tài khoản trên mạng xã hội và các nền tảng nghiêm ngặt: proxy di động có giá $3,80 cho mỗi GB.
- Proxy trung tâm dữ liệu — $1,50 cho mỗi GB, nhanh và rẻ, nhưng các subnet của chúng rất nổi tiếng với các hệ thống chống bot. Phù hợp cho việc phân tích HTTP trên các trang web thân thiện và API, nhưng là lựa chọn kém cho tài khoản trên mạng xã hội.
Nếu nền tảng quan tâm đến địa lý ổn định, chứ không phải địa chỉ cụ thể, hãy bật nhắm mục tiêu theo thành phố hoặc nhà mạng (ASN). IP sẽ thay đổi, nhưng trong phạm vi một thành phố hoặc mạng, giống như một người dùng bình thường. Nhắm mục tiêu đắt hơn: đối với proxy dân cư — $4,70 cho mỗi GB.
Bước 3. Chuẩn bị danh sách "một cổng - một luồng"
- Mở thẻ proxy trong văn phòng ProxyCove và bật xoay vòng theo khoảng thời gian.
- Trong trường "Số lượng luồng", chỉ định số dòng cần thiết. Các cổng không được tính phí riêng — bạn chỉ trả cho lưu lượng, vì vậy hãy lấy danh sách dài gấp 2–3 lần số luồng. Tại sao — sẽ giải thích bên dưới.
- Chọn định dạng
httphoặcsocks5. Văn phòng sẽ tạo các dòng với các cổng 10000, 10001, 10002 và tiếp theo: mỗi dòng là một phiên riêng với IP của riêng nó. - Lưu danh sách vào tệp, ví dụ
proxies.txt. Dòng sẽ trông như sau:socks5://login:[email protected]:10000.
Nếu nhắm mục tiêu được bật, các tham số quốc gia, thành phố hoặc ASN sẽ được thêm vào tên đăng nhập qua dấu chấm phẩy. Sao chép toàn bộ dòng và không chỉnh sửa bằng tay: lỗi trong các tham số sẽ làm hỏng xác thực hoặc nhắm mục tiêu.
Bước 4. ZennoPoster: proxy riêng cho mỗi luồng
Proxy trong ZennoPoster có thể được chỉ định toàn cầu, cho dự án hoặc cho luồng. Đối với công việc đa luồng, cách an toàn nhất là lấy dòng từ danh sách bên trong mẫu:
- Thêm vào ProjectMaker khối "Danh sách", bật "Tải từ tệp" và "Lưu thay đổi danh sách vào tệp", chỉ định đường dẫn đến
proxies.txt. - Thêm "Thao tác trên danh sách": "Lấy dòng" → "Đầu tiên" với dấu kiểm "Xóa dòng sau khi lấy". Đặt kết quả vào biến, ví dụ
proxy. Việc xóa đảm bảo rằng hai luồng song song không lấy cùng một cổng. - Thêm "Trình duyệt → Cài đặt → Đặt proxy" và truyền
{-Variable.proxy-}. Bật giả lập vị trí và múi giờ: trình duyệt sẽ nhận dữ liệu địa lý và múi giờ qua IP proxy. - Trong mỗi khối HTTP (GET, POST), ghi lại cùng một proxy — qua biến hoặc tùy chọn proxy của dự án. Trường proxy trống trong khối có nghĩa là yêu cầu từ IP của máy chủ.
- Cuối mỗi lần chạy — cả trong nhánh thành công và nhánh lỗi — hãy trả lại dòng vào cuối danh sách. Nếu không, danh sách sẽ dần trở nên trống rỗng, và mỗi luồng bị lỗi sẽ "ăn" cổng mãi mãi.
ProxyChecker tích hợp rất tiện lợi cho các danh sách công khai, nhưng đối với cổng với thanh toán theo lưu lượng, việc kiểm tra toàn bộ danh sách thường xuyên là vô nghĩa: mỗi lần kiểm tra tiêu tốn megabyte đã thanh toán, và trên cổng 824, yêu cầu tiếp theo vẫn sẽ đi với một IP khác. Trước khi khởi động lớn, chỉ cần kiểm tra một vài dòng.
Bước 5. BAS: tài nguyên với proxy và hành động Proxy
- Tạo tài nguyên loại "Tệp" hoặc "URL" với danh sách proxy — đây là cách mà tài liệu của Bablosoft khuyên dùng, để người dùng mẫu tự chọn nguồn.
- Trong cài đặt tài nguyên, giới hạn việc sử dụng đồng thời của dòng chỉ bởi một luồng. Tại đó cũng đặt giới hạn cho số lần sử dụng thành công và không thành công và khoảng thời gian giữa các lần sử dụng — đối với các cổng dính, hãy đặt nó không ngắn hơn khoảng thời gian xoay vòng.
- Hành động đầu tiên của luồng, trước khi tải bất kỳ trang nào, hãy đặt "Proxy" và truyền dòng từ tài nguyên. BAS hiểu nhiều định dạng, bao gồm
login:password@host:portvàsocks5://login:password@host:port, làm việc với HTTP và SOCKS5 có xác thực và gửi yêu cầu DNS qua proxy. - Bật trong hành động việc thay đổi địa lý và múi giờ theo IP proxy.
- Nếu mẫu truy cập trang web còn qua cả HTTP-client, hãy đặt proxy cho nó: HTTP-client của BAS có cài đặt riêng, tách biệt với trình duyệt.
Có hai đặc điểm của BAS cần lưu ý. Proxy có thể thay đổi mà không cần khởi động lại luồng, bằng cách thực hiện lại hành động "Proxy", — điều này thuận tiện cho việc thay đổi IP do lỗi. Nếu proxy ngừng phản hồi, BAS sẽ khởi động lại luồng và lấy cái tiếp theo. Đối với phân tích, đây là một lợi thế, nhưng đối với tài khoản — rủi ro: công việc sẽ tiếp tục với một IP khác. Hãy giữ liên kết "tài khoản — cổng" và trả lại tài khoản về cổng của nó.
Bước 6. Tính toán lưu lượng trước khi khởi động
Khi thanh toán theo gigabyte, mẫu trình duyệt là phần đắt nhất của sơ đồ. Theo dữ liệu từ Web Almanac 2025, trang chính trung bình nặng 2862 KB trên máy tính để bàn, trong đó 1058 KB là hình ảnh. 10.000 lần tải trang như vậy — khoảng 28,6 GB, với proxy dân cư khoảng $77. Không có hình ảnh — khoảng 18 GB và $49. Các con số thực tế phụ thuộc vào trang web và bộ nhớ cache, nhưng thứ tự là rõ ràng: hình ảnh — hơn một phần ba hóa đơn.
- BAS. Các hành động "Request mask deny" và "Request mask allow" được đặt trước khi tải trang và nhận các mặt nạ với dấu sao. Trong tài liệu của Bablosoft có ví dụ: cấm
*.png,*.jpgvà*.gif, và sau đó cho phép hình ảnh captcha, để chỉ tải nó. - ZennoPoster. Tiết kiệm lớn nhất — chuyển việc thu thập dữ liệu từ trình duyệt sang các khối GET/POST: chúng không tải hình ảnh, phông chữ và script. Trong cửa sổ "Lưu lượng", có thể thấy yêu cầu nào nặng nhất, và từ phiên bản 7.9.1, khối lượng cho mỗi proxy có thể đọc từ mã qua
ZennoPoster.ProxyTrafficInfo, ghi vào nhật ký và dừng luồng khi vượt quá ngưỡng. - Cẩn thận với mạng xã hội. Trang không có hình ảnh đối với người dùng thực là điều hiếm gặp, và trên một số nền tảng, điều này tự nó trông không điển hình. Đối với tài khoản, tốt hơn là chỉ giới hạn việc chặn video nặng và media, còn hình ảnh thì để lại.
Đối chiếu tài khoản của bạn với văn phòng: ở đó có thể thấy số dư và biểu đồ tiêu thụ cho từng proxy. Dữ liệu của nhà cung cấp được cập nhật với độ trễ, vì vậy việc kiểm soát kịp thời thuận tiện hơn khi giữ trong chính mẫu.
Các cạm bẫy
- Rò rỉ IP thực. Khối HTTP không có proxy, lưu hình ảnh qua URL trong ZennoPoster trước 7.9.0, WebRTC. Bước đầu tiên của mẫu hãy mở trang kiểm tra IP và WebRTC và so sánh kết quả với địa chỉ proxy — điều này rẻ hơn so với việc xử lý lệnh cấm.
- Thay đổi IP giữa chừng trong phiên. Nếu khoảng thời gian xoay vòng ngắn hơn chu kỳ của tài khoản, nền tảng sẽ thấy sự nhảy địa chỉ giữa các bước của một mẫu. Khoảng thời gian tối đa trong ProxyCove — 120 phút; các kịch bản dài hãy chia thành các phiên ngắn với việc lưu hồ sơ.
- Một IP cho hai tài khoản. Khi khoảng thời gian xoay vòng chưa hết, cổng sẽ trả địa chỉ cũ. Nếu cổng ngay lập tức được giao cho tài khoản tiếp theo, tài khoản đó sẽ truy cập mạng với IP của tài khoản trước. Do đó, lời khuyên về danh sách dài: với 30 luồng và 90 cổng, mỗi cổng có thời gian "nguội" trước khi sử dụng lại.
- Khác biệt địa lý. Múi giờ và địa lý của trình duyệt phải trùng khớp với quốc gia của IP. Nếu proxy là "Đức", nhưng trang web hiển thị Hà Lan, vấn đề thường nằm ở cơ sở dữ liệu địa lý, chứ không phải ở proxy — đây là cách hoạt động của địa lý IP và tại sao các cơ sở dữ liệu lại khác nhau.
- Dấu vân tay của động cơ. Các phiên bản Chromium mới mang lại các tín hiệu mới. Trong Chrome 152 đã xuất hiện thuộc tính
navigator.cpuPerformance— loại bộ xử lý, phụ thuộc chủ yếu vào số lõi, và ZennoPoster 7.9.2 và BAS 30.8.0 hoạt động trên Chromium 152 và 153. Nếu các mẫu chạy trên VPS với hai lõi, trong khi hồ sơ mô tả các máy tính để bàn mạnh mẽ, hãy kiểm tra xem thuộc tính này trả về gì: phân tích tín hiệu mới trong Chrome 152. - Đại lý AI và lưu lượng. Chế độ tác nhân của khối "AI Agent" trong ZennoPoster 7.9.2 quản lý trình duyệt của nhiệm vụ, có nghĩa là nó truy cập mạng qua proxy của nó. Chu kỳ của nó bị giới hạn bởi giới hạn bắt buộc về số lần lặp — đừng đặt giới hạn với dự phòng lớn: mỗi lần lặp thừa đều tốn cả token và megabyte.
Kết luận
Sơ đồ cho cả hai chương trình là giống nhau: một cổng dính riêng cho mỗi luồng, khoảng thời gian xoay vòng dài hơn chu kỳ của tài khoản, khoảng dừng trước khi sử dụng lại cổng, địa lý và múi giờ theo IP, proxy trong tất cả các yêu cầu HTTP và tính toán lưu lượng từ ngày đầu tiên. Bắt đầu với một luồng: kiểm tra IP, WebRTC và múi giờ, chạy hàng trăm chu kỳ và xem xét tiêu thụ trong ZennoPoster.ProxyTrafficInfo hoặc trong văn phòng. Sau đó, việc mở rộng mẫu lên hàng chục và hàng trăm luồng sẽ an toàn và rẻ hơn. Đối với các kịch bản trình duyệt với tài khoản, hãy chọn proxy dân cư hoặc di động với xoay vòng theo khoảng thời gian, đối với phân tích HTTP — cổng với IP mới cho mỗi yêu cầu.
