Trong phiên bản mới, một sự chuyển đổi đã được thực hiện sang một engine trình duyệt mới. Điều này có nghĩa là kiến trúc của dự án đã thay đổi đáng kể, giờ đây quy trình làm việc của trình duyệt hoạt động như thế này:
Ưu điểm là gì?
Loại tự động hóa này rất khó phát hiện. Điều này chỉ có thể bằng các bài kiểm tra gián tiếp, chẳng hạn như: sự lặp lại của cùng các action, các khoảng dừng không hợp lý giữa các action, v.v. Việc phát hiện trình duyệt qua chức năng bị thiếu là cực kỳ khó đạt được, và hệ thống thay đổi fingerprint làm cho việc thu thập thông tin về phần cứng trở nên khó khăn.
Các dự án BAS cũ dễ chuyển đổi. Mặc dù thực tế là rất nhiều thứ đã thay đổi bên trong phần mềm, một số chức năng đã được viết lại hoàn toàn từ đầu, thật dễ dàng để chuyển đổi dự án cũ để làm việc với engine mới. Trong một số trường hợp, chỉ cần mở nó trong một phiên bản mới là đủ. Tuy nhiên vẫn có một số ngoại lệ nhỏ và chúng được mô tả bên dưới.
Các cải tiến mới. Hệ thống engine mới cũng mang lại khả năng thêm các tính năng mới. Một số trong số chúng đã được thêm vào phiên bản mới, một số sẽ được thêm vào sau. Hỗ trợ extension. Phiên bản mới có khả năng sử dụng các extension trình duyệt. Để làm điều đó:
Rất tiếc, việc truy cập giao diện extension chưa được hỗ trợ. Dự kiến triển khai điều này trong một trong các phiên bản tiếp theo. Cập nhật phiên bản trình duyệt trong tương lai. Một yếu tố rất quan trọng về tính xác thực của trình duyệt là sự hiện diện của tất cả các phương thức, class và hằng số javascript. Nói cách khác, nếu phiên bản của trình duyệt cũ, nó có thể bị phát hiện. Để tránh điều này, dự kiến cập nhật phiên bản trình duyệt rất thường xuyên. Trong kịch bản tốt nhất, điều này sẽ được thực hiện hàng tháng cùng với một bản cập nhật Chrome.
Để đảm bảo rằng các bản cập nhật liên tục sẽ diễn ra, các bài kiểm tra đã được viết cho các action làm việc với trình duyệt (điều này được thực hiện bởi @GhostZ), tài liệu chi tiết cho mỗi patch đã được thêm vào, các công cụ để patch đã được cải thiện, các bài kiểm tra cho việc thay đổi fingerprint sẽ được viết trong tương lai gần.
Việc chuyển sang một engine trình duyệt mới cũng hữu ích trong vấn đề này. Dự kiến sẽ có ít lỗi tự động hóa hơn đáng kể khi cập nhật phiên bản trình duyệt. Bài kiểm tra Piхеlscan. Nhiều người dùng của chúng tôi đã hỏi về bài kiểm tra này, giờ đây BAS đang vượt qua nó thành công, để làm điều này:
Tính đến hôm nay, có một lỗi trong bài kiểm tra này. Một trình duyệt thông thường được xác định là một framework tự động hóa, . Điều này xảy ra vì gần đây thuộc tính navigator.webdriver trong trình duyệt Chrome tiêu chuẩn đã thay đổi giá trị của nó từ undefined thành false và bài kiểm tra chưa được cập nhật. Trong trường hợp này, BAS cũng "bị phát hiện" là một framework tự động hóa, giống như trình duyệt Chrome tiêu chuẩn ngay bây giờ.
Nếu bạn đang dùng một proxy cho bài kiểm tra này, bạn cần có một ip cư dân.
Với một trình duyệt mới, dữ liệu canvas "gốc" không phải là duy nhất, bạn có thể kiểm tra nó trên trang sau https://browserleaks.com/canvas Tối ưu hóa CPU. Tải CPU bổ sung so với Chrome tiêu chuẩn có thể xảy ra khi liên tục chuyển hình ảnh từ trình duyệt sang BAS. Việc giảm nó hóa ra không phải là một tác vụ dễ dàng chút nào. Để làm điều đó, giao thức truyền dữ liệu đã được viết lại. Phiên bản gốc lãng phí thời gian nén dữ liệu và chuyển nó qua một websocket, cách tiếp cận này cho kết quả không thể chấp nhận được ở tốc độ khung hình cao.
Giao thức mới đã giúp ích, nhưng giải pháp vẫn chưa hoàn hảo. Do đó, việc giảm tốc độ khung hình thích ứng đã được thêm vào. Nếu người dùng kích hoạt trình duyệt, fps được tăng lên. Khi trình duyệt được thu nhỏ, fps lại được giảm xuống. Phương pháp này giúp giảm đáng kể tải ở chế độ đa luồng, và cũng không ảnh hưởng đến việc thực thi script, vì việc tối ưu hóa không ảnh hưởng đến bất kỳ phần nào khác của chức năng trình duyệt ngoại trừ việc chuyển hình ảnh. Tối ưu hóa việc sử dụng ổ cứng. Kích thước hồ sơ đã được giảm đáng kể so với một trình duyệt thông thường.
Kích thước của các hồ sơ có tác động tích cực không chỉ đến lượng dung lượng đĩa được dùng, mà còn đến thời gian bắt đầu của mỗi luồng. Widevine Trong phiên bản mới, widevine phải được bật rõ ràng trong cài đặt, hoặc trong action "Browser Settings". Rất tiếc, BAS không được Google ủy quyền, vì vậy các site như spotify sẽ không phát nội dung. Action "Javascript" Đã thêm một phiên bản mới của action "Javascript", nó có thể thực thi mã trong ngữ cảnh của trình duyệt giống như phiên bản cũ, nhưng làm điều đó tốt hơn nhiều:
Hầu hết công việc được thực hiện bởi @Oyasumi-Punpun
Action cũ sẽ tiếp tục hoạt động, nhưng nó giờ đây đã lỗi thời. Đặt referrer. Việc đặt referrer giờ đây được thực hiện qua action "Load" hoặc "Add Tab". Điều này nên được tính đến khi chuyển đổi một dự án. Emoji. Phiên bản mới bổ sung hỗ trợ cho các biểu tượng cảm xúc khi nhập văn bản. Phương pháp nhập này vẫn chưa đáng tin cậy, vì không có emoji trên bàn phím, và do đó các sự kiện keyup, keydown và keypress không được mô phỏng.
Sự hiện diện của các biểu tượng cảm xúc trong các resource của dự án sẽ không cho phép biên dịch dự án với bảo vệ.
Việc nhập các ký tự gồm 4 byte vẫn chưa được triển khai, điều này bao gồm cả cờ quốc gia chẳng hạn. Các yếu tố fingerprint mới. Các yếu tố fingerprint mới đã được thêm vào phiên bản mới. Cơ sở dữ liệu chưa được cập nhật đầy đủ, vì vậy khuyến nghị sử dụng fingerprint không cũ hơn 2 tuần. Cập nhật module. Các module mới "String" và "SQL" đã được thêm vào. Module đầu tiên mở rộng khả năng của BAS để làm việc với các chuỗi. Có các action để định dạng, chỉnh sửa, tìm kiếm bên trong chuỗi, và cả để phân tích văn bản. Module thứ hai cho phép bạn làm việc với các cơ sở dữ liệu SQL phổ biến: mysql, mariadb, postgres, sqlite, mssql. Có thể thực hiện các action nguyên thủy mà không cần biết cú pháp, cũng như thực hiện các truy vấn tùy ý đến cơ sở dữ liệu.
Cảm ơn @GhostZ vì các module này. Hạn chế của phiên bản mới. Chúng tôi chưa quản lý để chuyển đổi tất cả các thứ về trình duyệt sang phiên bản mới. Đây là danh sách:
Đây không phải là những thứ quan trọng nhất, vì vậy không mong muốn hoãn việc phát hành phiên bản cho đến khi chúng được hoàn thành. Tuy nhiên, tất cả chúng sẽ được sửa trong các bản phát hành tương lai. Đạt được tính ẩn danh tối đa. Nếu site vẫn quản lý để phát hiện một phiên bản BAS mới và bạn chắc chắn rằng vấn đề không phải ở proxy, không phải ở số điện thoại, hoặc chuỗi action mà bạn thực hiện, mà ở chính trình duyệt, thì đây là danh sách các action cần được thực hiện:
Nếu tất cả các tùy chọn này thất bại, dùng thuật toán được mô tả trong thread này https://community.bablosoft.com/topic/12199/. Cách chuyển đổi một dự án cũ. Để làm điều này, bạn cần mở dự án cũ trong một phiên bản mới và thực hiện các thay đổi sau:
Referer phải được thay thế bằng các action Load hoặc Add tab.Reset, Set combobox by value, Set combobox by index, Set combobox to random, Previous Page, Add Tab, Is Element ExistsHãy nhớ rằng định dạng của cookie và hồ sơ đã được thay đổi. Nếu dự án của bạn dựa vào định dạng cũ của hồ sơ, bạn cần cập nhật chúng.
!QUAN TRỌNG Người dùng phiên bản Windows 32-bit sẽ không thể cập nhật tự động. Sau khi tải, một sự cố sập sẽ xảy ra. Phiên bản mới cần được tải thủ công. Sẽ không có vấn đề gì cho phiên bản 64-bit.
Patch 24.0.3
Chúng tôi đã sửa các vấn đề quan trọng nhất với engine mới.
Đã sửa các lỗi khi chạy một số site.
Việc stream đến twitch có thể bị gián đoạn với lỗi 3000 trên một số proxy và chỉ khi chất lượng tự động được chọn.
Trang đăng nhập epic games store không tải hoàn toàn.
Các vấn đề này đã được sửa. Nhưng để xác thực trong EGS, bạn cần bật canvas / dùng fingerprint và vô hiệu hóa AjaxRecaptcha2.
Các bản sửa lỗi này không chỉ liên quan đến các site này và có thể hoạt động ở những nơi khác. Đã sửa các vấn đề ssl. Lỗi "This site can't provide a secure connection" sẽ không còn xuất hiện.
Chúng tôi đã có thể tái tạo vấn đề, nhưng chỉ theo một cách cụ thể.
Nếu vấn đề vẫn tồn tại sau khi cập nhật, bạn cần cung cấp các bước chi tiết để tái tạo nó. Tốc độ khung hình mặc định được đặt thành 30. Điều này giảm đáng kể việc sử dụng CPU.
Thực tế, bây giờ phiên bản mới ở chế độ đa luồng tiêu thụ ít thời gian CPU hơn phiên bản trước và thậm chí ít hơn Chrome tiêu chuẩn.
Cảm ơn một trong những người dùng của chúng tôi vì ý tưởng.
Mã này rất phụ thuộc vào phần cứng. Nếu bản sửa lỗi không hoạt động trên màn hình của bạn, vui lòng viết cho @Fox với mô tả vấn đề. Antidetect của trình duyệt đã được cải thiện. Bảo vệ Imреrva, phát hiện BAS khi thay đổi proxy, giờ đây không làm điều này nữa. Thay đổi proxy ngay lập tức. Đã sửa các vấn đề với việc thay đổi proxy mà không khởi động lại trình duyệt. Sau khi cập nhật action "Proxy" đã tăng thêm 3 giây. Vô hiệu hóa các extension được cài đặt sẵn. Nếu có một số giá trị nhất định trong registry, các extension được cài đặt trên PC của người dùng có thể được thêm vào các hồ sơ mới được BAS tạo.
Sau khi cập nhật tính năng này đã bị vô hiệu hóa.
https://www.chromium.org/administrators/pre-installed-extensions Cải thiện chế độ khởi động luồng mượt mà. Sau khi cập nhật luồng chỉ được coi là đang chạy khi cả tiến trình helper của BAS và trình duyệt thật đều đang chạy, chứ không phải chỉ khi tiến trình helper đang chạy như trước đây.
Các phép tính này được yêu cầu để hệ thống khởi động các luồng mượt mà.
Trước đây, số lượng trình duyệt được khởi chạy đồng thời là 1, giờ đây là 3. Giá trị này có thể được thay đổi trong cài đặt. Chỉnh sửa header cho tất cả các request. Các phương pháp tiêu chuẩn để thay đổi header như User-Agent và Accept-Language không thay đổi chúng cho tất cả các request.
Điều này giúp dễ dàng phát hiện các trình duyệt chỉ dựa vào các phương pháp này.
Một phương pháp mới đáng tin cậy đã được thêm vào cho phép thay thế tuyệt đối tất cả các request.
Nó hoạt động theo cách tương tự như cách tunneling hoạt động cho các proxy, chỉ trong trường hợp này các giá trị header được thay đổi.
Dưới đây là một ảnh chụp màn hình cho thấy rằng ngay cả các request nội bộ của Chrome cũng đang được thay thế:
Vui lòng đừng đánh giá liệu các header có đang được thay thế hay không bằng cách nhìn vào bên trong developer tools, thông tin này không phải lúc nào cũng chính xác.
Patch 24.0.5 Tối ưu hóa.
Giờ đây bạn có thể đặt FPS tối đa. Điều này có thể được thực hiện trên trang cài đặt hoặc qua action "Browser Settings". Việc thay đổi tốc độ khung hình có thể hữu ích để giảm tải CPU trên các site có animation.
Theo mặc định, giá trị được đặt thành 30.
Trước đây, khi tạo một hồ sơ mới, trình duyệt đang thực hiện một số tác vụ tiêu tốn nhiều tài nguyên. Sau khi sửa lỗi việc sử dụng CPU khi bắt đầu luồng đã được giảm. Sửa lỗi.
Patch 24.0.7
Patch này đã thêm nhiều bản sửa lỗi về hiệu suất. Hầu như tất cả các loại sử dụng tài nguyên PC đã được tối ưu hóa.
CPU
Rất nhiều tính năng tiêu tốn CPU đã bị vô hiệu hóa: nhiều metric khác nhau, một số function crashpad, kiểm tra hiển thị ảo, lấy hwid, kiểm soát của cha mẹ, và nhiều hơn nữa.
Chức năng quan trọng đối với hoạt động của trình duyệt không bị loại bỏ. Các patch này giảm tải khi tạo một hồ sơ trung bình 10%.
Việc kiểm tra checksum cho các extension Chrome và việc giám sát các file này đã bị vô hiệu hóa. Bộ nhớ Kích thước bộ nhớ được phân bổ cho việc truyền hình ảnh giờ đây là động. Điều này cho phép giảm lượng bộ nhớ được tiêu thụ, đặc biệt là đối với các phiên bản trình duyệt có độ phân giải thấp.
Đã sửa một lỗi mà kích thước bộ nhớ vật lý có sẵn trên một máy có thể được xác định không chính xác. HDD Một cơ chế để cache các hồ sơ đã được thêm vào. Để tạo hồ sơ, trình duyệt cần khởi tạo mỗi file nằm trong thư mục hồ sơ. Cải tiến này cho phép sao chép các file chung thay vì tạo chúng mỗi lần. Lưu ý rằng các hồ sơ được tạo ngầm mỗi khi một luồng mới được bắt đầu.
Danh sách các module BAS được cache để tránh đọc chúng khi bắt đầu mỗi luồng. Khởi động và dừng trình duyệt mượt mà Cơ chế để khởi động mượt mà các trình duyệt đã được cải thiện. Trình duyệt chỉ có thể được khởi động nếu bộ xử lý không quá bận trong vài giây qua.
Nhiều trình duyệt không còn có thể được khởi chạy trong cùng một khoảnh khắc. Một khoảng thời gian ngắn phải trôi qua trước lần khởi chạy tiếp theo. Điều này tránh các đợt tăng vọt lớn về tải CPU.
Việc dừng các trình duyệt giờ đây cũng xảy ra mượt mà, tất cả các trình duyệt không dừng cùng một lúc. Hành vi này có thể khiến hệ thống đơ trong vài giây trước đó.
Khi trình duyệt bị dừng, vị trí của hồ sơ được tính đến. Nếu nó nằm trong một thư mục tạm, tiến trình dừng ngay lập tức, điều này nhanh hơn, nhưng nó có thể dẫn đến mất dữ liệu hồ sơ. Nếu hồ sơ không phải là tạm, việc đóng trình duyệt xảy ra đúng cách.
Bạn có thể thay đổi các tham số khởi động mềm trong cài đặt. Đơ hệ thống Trong một phiên bản trước sau khi mở task manager hệ thống có thể treo trong 10 giây. Điều này có thể xảy ra chỉ khi nhiều luồng được bắt đầu. Vấn đề đã được sửa. Cảm ơn người dùng đã báo cáo lỗi này.
Khi có sự thiếu hụt RAM, nhiều thành phần trình duyệt khác nhau bắt đầu giải phóng nó hoặc thực hiện các action khác. Điều này cũng có thể dẫn đến đơ hệ thống khi lượng bộ nhớ trống giảm. Sau khi cập nhật, trình duyệt sẽ nghĩ rằng có đủ bộ nhớ, ngay cả khi không phải vậy.
Patch 24.0.8 Tính xác thực của trình duyệt.
Cải thiện thuật toán ẩn biến trong trình duyệt.
Đã sửa một số vấn đề với việc phát hiện BAS ở chế độ ghi.
Module AjaxRecaptcha2 có thể bị phát hiện. Mã không an toàn đã được chuyển sang module ReCaptcha, bị vô hiệu hóa theo mặc định.
Nếu các dự án cũ làm việc với recaptcha, bạn cần bật nó ở đây
Cải tiến trình chỉnh sửa. Đã sửa việc làm việc với bất kỳ action nào khởi động lại trình chỉnh sửa. Ví dụ, "Reset" hoặc "Create or switch to local profile". Các cải tiến này chỉ áp dụng cho chế độ ghi.
Trong quá trình thực thi các action này, điểm thực thi không reset, và script có thể tiếp tục hoạt động đúng:
Việc di chuyển điểm thực thi không còn reset call stack, trạng thái vòng lặp, v.v.
Sửa lỗi. Đã sửa hoạt động của tab trên một số site.
Trong các phiên bản trước, khi bạn kích hoạt drag and drop, trình duyệt bị đơ. Điều này giờ đây đã được sửa. Hỗ trợ drag and drop đầy đủ sẽ được thêm vào với bản cập nhật phiên bản trình duyệt tiếp theo. UDP. BAS có thể tunnel giao thức UDP. Nhưng không phải tất cả các proxy socks5 đều hỗ trợ điều này. QUIC là một giao thức dựa trên UDP được phát triển và sử dụng chủ yếu bởi Google. Điều này có thể dẫn đến một số vấn đề trong trường hợp nó được dùng. Ví dụ, các website có quảng cáo Google có thể bị đơ, các trang có thể không tải hoàn toàn.
Để giải quyết vấn đề này, QUIC giờ đây bị vô hiệu hóa theo mặc định trong BAS. Khuyến nghị đảm bảo các proxy của bạn hỗ trợ UDP và bật QUIC nếu có. Điều này có thể được thực hiện trong cài đặt hoặc trong action "Browser Settings".