قابلیت‌ها

عامل مرورگر Dvina

چگونه صاحبان وب‌سایت‌ها می‌توانند مرورگری را که Dvina برای کاربرانش به کار می‌گیرد شناسایی و تأیید کنند و به آن اجازهٔ دسترسی بدهند یا آن را مسدود کنند.

مرورگر Dvina هر بار برای یک نفر از وب‌سایت‌ها بازدید می‌کند؛ زمانی که آن فرد از Dvina کاری می‌خواهد که به یک مرورگر واقعی نیاز دارد. این صفحه برای صاحبان وب‌سایت‌هاست: مرورگر چه می‌کند، چگونه درخواست‌های آن را شناسایی کنید و چگونه به آن اجازهٔ دسترسی بدهید یا آن را مسدود کنید.

این مرورگر چیست

Dvina یک دستیار شخصی است. وقتی کسی که وارد حساب Dvina شده، کاری می‌خواهد که به یک وب‌سایت نیاز دارد، مثل مقایسهٔ پیشنهادها یا پر کردن فرمی که خودش خواسته، Dvina می‌تواند آن کار را در مرورگر خودش، روی رایانهٔ Dvina آن فرد انجام دهد. این مرورگر، Chromium دسکتاپ با پنجره است، نه یک مرورگر بدون رابط گرافیکی؛ فرد می‌تواند کار آن را زنده ببیند و هر زمان بخواهد کنترلش را در دست بگیرد.

  • برای یک نفر کار می‌کند. هر مرورگر متعلق به یک کاربر است که وارد حساب Dvina شده و روی کاری که همان فرد خواسته کار می‌کند.
  • خزنده نیست. فهرستی از سایت‌ها ندارد که خودسرانه به آن‌ها سر بزند. صفحه‌های مورد نیاز یک کار را گام‌به‌گام باز می‌کند: صفحه‌ای را بارگذاری می‌کند، آن را می‌خواند و سپس در آن کاری انجام می‌دهد، درست مثل یک انسان.
  • هرگز برای آموزش مدل‌ها استفاده نمی‌شود. آنچه مرورگر Dvina در سایت شما می‌خواند، فقط برای درخواست فردی استفاده می‌شود که مرورگر برای او کار می‌کند. هرگز از آن برای آموزش یک مدل هوش مصنوعی استفاده نمی‌شود.
  • تصمیم‌های شخصی را به خود فرد واگذار می‌کند. رمز عبور یا اطلاعات کارت را وارد نمی‌کند. وقتی صفحه‌ای نیاز دارد فرد وارد حساب شود یا پرداخت کند، Dvina متوقف می‌شود و از او می‌خواهد کنترل را در دست بگیرد. وارد کردن اطلاعات شخصی، ارسال، پرداخت و حذف، همگی منتظر تأیید فرد می‌مانند.
  • بررسی‌های تشخیص انسان را حل نمی‌کند. وقتی با بررسی‌ای روبه‌رو می‌شود که مشخص می‌کند یک انسان در حال مرور است، مثل بررسی Cloudflare، Turnstile، reCAPTCHA یا hCaptcha، روی آن کلیک نمی‌کند، آن را حل نمی‌کند و دوباره بارگذاری‌اش نمی‌کند. اگر بررسی خودبه‌خود برطرف شود، Dvina منتظر می‌ماند. اگر باقی بماند، کار متوقف می‌شود و فرد کنترل مرورگر را در دست می‌گیرد، بررسی را پشت سر می‌گذارد و کنترل را به Dvina برمی‌گرداند.

درخواست‌های آن را شناسایی کنید

مرورگر Dvina هر درخواست http و https را که می‌فرستد با Web Bot Auth امضا می‌کند؛ با استفاده از امضاهای پیام HTTP (RFC 9421) و یک کلید Ed25519. هر درخواست سه هدر دارد:

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 مبدأ Dvina را مشخص می‌کند، یعنی جایی که کلیدهای آن منتشر می‌شوند.
  • Signature-Input شامل @authority درخواست (میزبان شما) و هدر Signature-Agent است. مقدار tag برابر با web-bot-auth است.
  • هر امضا به مدت 60 ثانیه، از created تا expires، معتبر است.
  • keyid اثر انگشت JWK کلید است (RFC 7638).

مرورگر، رشتهٔ user agent خود Chromium را می‌فرستد، همانند هر Chromium دیگری روی Linux؛ برای مثال:

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

نسخهٔ Chrome آن با به‌روزرسانی‌های Chromium تغییر می‌کند و رشتهٔ user agent هیچ اشاره‌ای به Dvina ندارد. Dvina را از روی امضای آن شناسایی کنید، نه user agent آن.

یادداشت

با برنامهٔ دسکتاپ، فرد می‌تواند به Dvina اجازه دهد از مرورگری روی رایانهٔ خودش هم استفاده کند. آن مرورگر درخواست‌هایش را امضا نمی‌کند و مانند مرور عادی خود فرد به نظر می‌رسد.

امضا را تأیید کنید

Dvina کلید عمومی خود را در فهرست کلیدهایش منتشر می‌کند:

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

این فهرست با Content-Type: application/http-message-signatures-directory+json و یک مجموعهٔ کلید وب JSON شامل کلید عمومی Ed25519 متعلق به Dvina پاسخ می‌دهد. پاسخ با همان کلید و با tag="http-message-signatures-directory" امضا می‌شود.

اگر سایت شما روی Cloudflare است، Cloudflare عامل‌های امضاشده را برای شما تأیید می‌کند. برای اینکه خودتان یک درخواست را تأیید کنید:

  1. بررسی کنید که مقدار Signature-Agent برابر با "https://api.dvina.ai" باشد و Signature-Input دارای tag="web-bot-auth" باشد.
  2. بررسی کنید که زمان فعلی بین created و expires باشد.
  3. فهرست کلیدها را دریافت کنید و کلیدی را انتخاب کنید که اثر انگشت JWK آن با keyid مطابقت دارد.
  4. مطابق توضیحات RFC 9421، پایهٔ امضا را از @authority، signature-agent و پارامترهای امضا بسازید و Signature را با آن کلید Ed25519 تأیید کنید.

هر کسی می‌تواند این هدرها را بفرستد. تنها زمانی یک درخواست را متعلق به Dvina بدانید که امضای آن با استفاده از فهرست کلیدهای Dvina تأیید شود.

به آن اجازهٔ دسترسی بدهید یا آن را مسدود کنید

مرورگر Dvina به‌صورت لحظه‌ای برای یک نفر کار می‌کند؛ این همان نوع ترافیکی است که گزینهٔ ازپیش‌تنظیم‌شدهٔ Agent در Cloudflare پوشش می‌دهد. اگر سایت شما روی Cloudflare است:

  • سیاست‌های ربات‌های هوش مصنوعی: در تنظیمات امنیتی، پیکربندی سیاست‌های ربات‌های هوش مصنوعی را انتخاب کنید. برای Agent، یکی از گزینه‌های اجازه دادن (مسدود نشود)، مسدود کردن در صفحات دارای تبلیغات یا مسدود کردن (در همهٔ صفحات) را انتخاب کنید.
  • قوانین سفارشی WAF: در درخواست‌های ربات‌های تأییدشده و عامل‌های دارای امضا، مقدار cf.client.bot (در صورت استفاده از Bot Management، مقدار cf.bot_management.verified_bot) برابر با true است. از آن در یک قانون سفارشی استفاده کنید تا این درخواست‌ها را از بررسی مستثنا کنید، به چالش بکشید یا مسدود کنید.
  • فهرست ربات‌های تأییدشده: عامل‌هایی را که Cloudflare تأیید می‌کند در Cloudflare Radar ببینید.

Anywhere else, verify the signature as described above, then allow or block requests whose verified Signature-Agent is "https://api.dvina.ai".

تماس با ما

دربارهٔ مرورگر Dvina در سایت خود پرسشی دارید، یا درخواستی برخلاف توضیحات این صفحه عمل کرده است؟ نشانی سایت خود و، اگر در اختیار دارید، زمان و keyid درخواست‌ها را به support@dvina.ai ایمیل کنید.