# Dvina-এর ব্রাউজার এজেন্ট

> Dvina যাঁদের হয়ে কাজ করে, তাঁদের জন্য ব্যবহৃত ব্রাউজারটি ওয়েবসাইটের মালিকেরা কীভাবে চিনবেন, যাচাই করবেন, অনুমতি দেবেন বা ব্লক করবেন।

কেউ Dvina-কে এমন কোনো কাজ করতে বললে, যার জন্য একটি বাস্তব ব্রাউজার দরকার, Dvina-এর ব্রাউজার তখন সেই ব্যক্তির হয়ে ওয়েবসাইটে যায়। এটি একবারে একজনের জন্য কাজ করে। এই পৃষ্ঠাটি ওয়েবসাইটের মালিকদের জন্য: ব্রাউজারটি কী করে, এর অনুরোধগুলো কীভাবে চিনবেন এবং কীভাবে এটিকে অনুমতি দেবেন বা ব্লক করবেন।

## এটি কী

Dvina একটি ব্যক্তিগত সহকারী। Dvina-তে সাইন ইন করা কেউ ওয়েবসাইটে করতে হয় এমন কোনো কাজের অনুরোধ করলে—যেমন অফার তুলনা করা বা তাঁর অনুরোধ করা কোনো ফর্ম পূরণ করা—Dvina সেই ব্যক্তির Dvina কম্পিউটারে নিজের ব্রাউজারে কাজটি করতে পারে। এটি উইন্ডোসহ ডেস্কটপ Chromium, হেডলেস ব্রাউজার নয়। সেই ব্যক্তি সরাসরি কাজটি দেখতে পারেন এবং যেকোনো সময় ব্রাউজারের নিয়ন্ত্রণ নিতে পারেন।

- **এটি একজনের হয়ে কাজ করে।** প্রতিটি ব্রাউজার Dvina-তে সাইন ইন করা একজন ব্যবহারকারীর এবং সেই ব্যক্তির অনুরোধ করা কাজই করে।
- **এটি ক্রলার নয়।** নিজে থেকে ঘুরে দেখার জন্য এর কোনো ওয়েবসাইটের তালিকা নেই। কাজের জন্য প্রয়োজনীয় পৃষ্ঠাগুলো এটি এক ধাপ করে খোলে: একটি পৃষ্ঠা লোড করে, পড়ে, তারপর সেখানে কাজ করে—যেভাবে একজন মানুষ করেন।
- **মডেল প্রশিক্ষণে কখনো ব্যবহার করা হয় না।** Dvina-এর ব্রাউজার আপনার সাইটে যা পড়ে, তা শুধু সেই ব্যক্তির অনুরোধের জন্যই ব্যবহার করা হয়, যাঁর হয়ে এটি কাজ করছে। তা দিয়ে কখনো কোনো AI মডেল প্রশিক্ষণ দেওয়া হয় না।
- **ব্যক্তির নিজস্ব সিদ্ধান্ত তাঁর ওপরই ছেড়ে দেয়।** এটি পাসওয়ার্ড বা কার্ডের তথ্য টাইপ করে না। কোনো পৃষ্ঠায় সেই ব্যক্তিকে সাইন ইন করতে বা অর্থ পরিশোধ করতে হলে, Dvina থেমে যায় এবং তাঁকে নিয়ন্ত্রণ নিতে বলে। ব্যক্তিগত তথ্য দেওয়া, পাঠানো, অর্থ পরিশোধ করা ও মুছে ফেলার জন্য সেই ব্যক্তির অনুমতির অপেক্ষা করে।
- **এটি মানুষ যাচাইয়ের পরীক্ষা সমাধান করে না।** কোনো মানুষ ব্রাউজ করছেন কি না, তা যাচাইয়ের পরীক্ষা সামনে এলে—যেমন Cloudflare-এর পরীক্ষা, Turnstile, reCAPTCHA বা hCaptcha—এটি সেখানে ক্লিক করে না, সেটি সমাধান করে না বা আবার লোড করে না। পরীক্ষা নিজে থেকেই সম্পন্ন হলে, Dvina সেটির জন্য অপেক্ষা করে। পরীক্ষা থেকে গেলে কাজ থেমে যায়। তখন সেই ব্যক্তি ব্রাউজারের নিয়ন্ত্রণ নেন, পরীক্ষাটি পাস করেন এবং নিয়ন্ত্রণ ফিরিয়ে দেন।

## এর অনুরোধগুলো চিনুন

Dvina-এর ব্রাউজার তার পাঠানো প্রতিটি http ও https অনুরোধে একটি Ed25519 কী দিয়ে [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/)-এর HTTP মেসেজ সিগনেচার ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) যোগ করে। প্রতিটি অনুরোধে তিনটি হেডার থাকে:

```http
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`।
- প্রতিটি সিগনেচার `created` থেকে `expires` পর্যন্ত 60 সেকেন্ড বৈধ থাকে।
- `keyid` হলো কীটির JWK থাম্বপ্রিন্ট ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638))।

ব্রাউজারটি Chromium-এর নিজস্ব ইউজার এজেন্ট পাঠায়, যা Linux-এ চলা যেকোনো Chromium-এর মতোই। যেমন:

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

Chromium-এর আপডেটের সঙ্গে এর Chrome সংস্করণ বদলায়, আর ইউজার এজেন্টে Dvina সম্পর্কে কিছু উল্লেখ থাকে না। ইউজার এজেন্ট নয়, সিগনেচার দিয়ে Dvina-কে চিনুন।

> [!NOTE]
> ডেস্কটপ অ্যাপের মাধ্যমে কেউ Dvina-কে তাঁর নিজের কম্পিউটারের ব্রাউজার ব্যবহার করতে দিতে পারেন। সেই ব্রাউজার অনুরোধে সিগনেচার যোগ করে না এবং তা সেই ব্যক্তির নিজের ব্রাউজিংয়ের মতোই দেখায়।

## সিগনেচার যাচাই করুন

Dvina তার কী ডিরেক্টরিতে পাবলিক কী প্রকাশ করে:

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

ডিরেক্টরিটি `Content-Type: application/http-message-signatures-directory+json` এবং Dvina-এর Ed25519 পাবলিক কীসহ একটি JSON Web Key Set দিয়ে উত্তর দেয়। উত্তরে একই কী দিয়ে সিগনেচার যোগ করা হয়, যেখানে `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` এবং সিগনেচারের প্যারামিটারগুলো থেকে সিগনেচার বেস তৈরি করুন। তারপর সেই Ed25519 কী দিয়ে `Signature` যাচাই করুন।

যে কেউ এই হেডারগুলো পাঠাতে পারে। Dvina-এর কী ডিরেক্টরি দিয়ে সিগনেচার যাচাই সফল হলেই শুধু কোনো অনুরোধকে Dvina-এর অনুরোধ হিসেবে ধরুন।

## এটিকে অনুমতি দিন বা ব্লক করুন

Dvina-এর ব্রাউজার একজন ব্যক্তির জন্য রিয়েল টাইমে কাজ করে: Cloudflare-এর **Agent** প্রিসেট এই ধরনের ট্র্যাফিকের জন্যই প্রযোজ্য। আপনার সাইট Cloudflare-এ থাকলে:

- **AI বট নীতি:** **নিরাপত্তা সেটিংস** থেকে **AI বট নীতি কনফিগার করুন** বেছে নিন। **Agent**-এর জন্য **অনুমতি দিন (ব্লক করবেন না)**, **বিজ্ঞাপন থাকা পৃষ্ঠায় ব্লক করুন** বা **ব্লক করুন (সব পৃষ্ঠায়)** বেছে নিন।
- **WAF কাস্টম নিয়ম:** যাচাইকৃত বট ও স্বাক্ষরযুক্ত এজেন্টের অনুরোধে `cf.client.bot` (Bot Management ব্যবহার করলে `cf.bot_management.verified_bot`) true হিসেবে সেট করা থাকে। কাস্টম নিয়মে এটি ব্যবহার করে এসব অনুরোধ এড়িয়ে যেতে, চ্যালেঞ্জ করতে বা ব্লক করতে পারেন।
- **যাচাইকৃত বটের ডিরেক্টরি:** Cloudflare যেসব এজেন্ট যাচাই করে, সেগুলো [Cloudflare Radar](https://radar.cloudflare.com/verified-bots)-এ দেখুন।

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

## আমাদের সঙ্গে যোগাযোগ করুন

আপনার সাইটে Dvina-এর ব্রাউজার নিয়ে কোনো প্রশ্ন আছে, বা কোনো অনুরোধ এই পৃষ্ঠায় বর্ণিতভাবে কাজ করেনি? আপনার সাইটের ঠিকানা দিয়ে [support@dvina.ai](mailto:support@dvina.ai)-এ ইমেইল করুন। অনুরোধগুলোর সময় ও `keyid` আপনার কাছে থাকলে সেগুলোও দিন।

## সম্পর্কিত

- [কম্পিউটার ব্যবহার](/docs/use-dvina/features/computer-use)
- [গোপনীয়তা ও ডেটা](/docs/help/privacy-and-data)
