Xem dạng Markdown

Trình duyệt của Dvina truy cập các trang web để phục vụ từng người một, khi người đó yêu cầu Dvina làm việc cần đến trình duyệt thực sự. Trang này dành cho chủ sở hữu trang web: trình duyệt làm gì, cách nhận diện các yêu cầu của trình duyệt và cách cho phép hoặc chặn trình duyệt.

Đây là gì

Dvina là trợ lý cá nhân. Khi một người đã đăng nhập vào Dvina yêu cầu thực hiện công việc cần đến trang web, chẳng hạn như so sánh các ưu đãi hoặc điền một biểu mẫu theo yêu cầu của họ, Dvina có thể làm việc đó bằng trình duyệt riêng trên máy tính Dvina của người đó. Đây là Chromium dành cho máy tính để bàn, có cửa sổ, không phải trình duyệt không giao diện. Người dùng có thể theo dõi trực tiếp và tiếp quản bất cứ lúc nào.

  • Trình duyệt làm việc thay một người. Mỗi trình duyệt thuộc về một người dùng Dvina đã đăng nhập và thực hiện những gì người đó yêu cầu.
  • Đây không phải trình thu thập dữ liệu. Trình duyệt không có danh sách trang web để tự truy cập. Trình duyệt mở các trang cần thiết cho công việc, từng bước một: tải trang, đọc rồi thao tác trên trang, như cách một người làm.
  • Không bao giờ dùng để huấn luyện mô hình. Nội dung mà trình duyệt của Dvina đọc trên trang web của bạn chỉ được dùng để thực hiện yêu cầu của người mà trình duyệt đang phục vụ. Nội dung đó không bao giờ được dùng để huấn luyện mô hình AI.
  • Những quyết định của người dùng vẫn do họ tự đưa ra. Trình duyệt không nhập mật khẩu hoặc thông tin thẻ. Khi một trang yêu cầu người dùng đăng nhập hoặc thanh toán, Dvina dừng lại và yêu cầu họ tiếp quản. Việc nhập thông tin cá nhân, gửi, thanh toán và xóa đều chờ người dùng đồng ý.
  • Trình duyệt không vượt qua bước xác minh con người. Khi gặp bước kiểm tra xem người đang duyệt web có phải là con người hay không, chẳng hạn như bước kiểm tra của Cloudflare, Turnstile, reCAPTCHA hoặc hCaptcha, trình duyệt không nhấp vào, giải hoặc tải lại bước kiểm tra đó. Nếu bước kiểm tra tự hoàn tất, Dvina chờ cho đến khi xong. Nếu bước kiểm tra vẫn còn, công việc dừng lại và người dùng tiếp quản trình duyệt, vượt qua bước kiểm tra rồi giao lại cho Dvina.

Nhận diện các yêu cầu của trình duyệt

Trình duyệt của Dvina ký mọi yêu cầu http và https mà nó gửi bằng Web Bot Auth, sử dụng chữ ký thông điệp HTTP (RFC 9421) với khóa Ed25519. Mỗi yêu cầu có ba tiêu đề:

Signature-Agent: "https://api.dvina.ai"
Signature-Input: sig1=("@authority" "signature-agent");created=<unix time>;expires=<created + 60>;keyid="<key id>";alg="ed25519";nonce="<random>";tag="web-bot-auth"
Signature: sig1=:<Ed25519 signature>:
  • Signature-Agent xác định Dvina, nguồn công bố các khóa của Dvina.
  • Signature-Input bao gồm @authority của yêu cầu (máy chủ của bạn) và tiêu đề Signature-Agent. Giá trị tag là web-bot-auth.
  • Mỗi chữ ký có hiệu lực trong 60 giây, từ created đến expires.
  • keyid là dấu vân tay JWK của khóa (RFC 7638).

Trình duyệt gửi chuỗi user agent của chính Chromium, giống như mọi trình duyệt Chromium trên Linux, ví dụ:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36

Phiên bản Chrome của trình duyệt thay đổi theo các bản cập nhật Chromium và chuỗi user agent không có thông tin nào về Dvina. Hãy nhận diện Dvina bằng chữ ký, không phải bằng user agent.

Lưu ý

Với ứng dụng máy tính, người dùng cũng có thể cho phép Dvina dùng trình duyệt trên máy tính của họ. Trình duyệt đó không ký các yêu cầu và trông giống như hoạt động duyệt web của chính người dùng.

Xác minh chữ ký

Dvina công bố khóa công khai trong danh mục khóa của mình:

https://api.dvina.ai/.well-known/http-message-signatures-directory

Danh mục trả về phản hồi với Content-Type: application/http-message-signatures-directory+json và một JSON Web Key Set chứa khóa công khai Ed25519 của Dvina. Phản hồi được ký bằng cùng khóa đó, với tag="http-message-signatures-directory".

Nếu trang web của bạn dùng Cloudflare, Cloudflare sẽ xác minh các tác nhân có chữ ký cho bạn. Để tự xác minh một yêu cầu:

  1. Kiểm tra xem Signature-Agent có phải là "https://api.dvina.ai" và Signature-Input có chứa tag="web-bot-auth" hay không.
  2. Kiểm tra xem thời điểm hiện tại có nằm trong khoảng từ created đến expires hay không.
  3. Lấy danh mục khóa và chọn khóa có dấu vân tay JWK khớp với keyid.
  4. Tạo dữ liệu cơ sở cho chữ ký từ @authority, signature-agent và các tham số chữ ký theo mô tả trong RFC 9421, rồi xác minh Signature bằng khóa Ed25519 đó.

Bất kỳ ai cũng có thể gửi các tiêu đề này. Chỉ coi một yêu cầu là của Dvina khi chữ ký của yêu cầu được xác minh bằng danh mục khóa của Dvina.

Cho phép hoặc chặn trình duyệt

Trình duyệt của Dvina hoạt động theo thời gian thực cho một người: đây là loại lưu lượng thuộc phạm vi áp dụng của cấu hình Agent trên Cloudflare. Nếu trang web của bạn dùng Cloudflare:

  • Chính sách về bot AI: Trong Cài đặt bảo mật, chọn Cấu hình chính sách về bot AI. Với Agent, chọn Cho phép (không chặn), Chặn trên các trang có quảng cáo hoặc Chặn (trên tất cả các trang).
  • Quy tắc WAF tùy chỉnh: Các yêu cầu từ bot đã được xác minh và tác nhân có chữ ký có cf.client.bot (cf.bot_management.verified_bot khi dùng Bot Management) được đặt thành true. Dùng trường này trong quy tắc tùy chỉnh để bỏ qua kiểm tra, yêu cầu xác minh hoặc chặn các yêu cầu đó.
  • Danh mục bot đã được xác minh: Xem các tác nhân được Cloudflare xác minh trên Cloudflare Radar.

Nếu không dùng Cloudflare, hãy xác minh chữ ký như mô tả ở trên, rồi cho phép hoặc chặn các yêu cầu có Signature-Agent đã được xác minh là "https://api.dvina.ai".

Liên hệ với chúng tôi

Bạn có câu hỏi về trình duyệt của Dvina trên trang web của mình, hoặc gặp yêu cầu không hoạt động như mô tả trên trang này? Hãy gửi email đến support@dvina.ai, kèm địa chỉ trang web của bạn và thời gian cùng keyid của các yêu cầu nếu bạn có những thông tin này.