# Dvina'nın tarayıcı ajanı

> Web sitesi sahipleri, Dvina'nın kullanıcıları adına kullandığı tarayıcıyı nasıl tanıyabilir, doğrulayabilir, tarayıcıya nasıl izin verebilir veya tarayıcıyı nasıl engelleyebilir?

Dvina'nın tarayıcısı, bir kullanıcı Dvina'dan gerçek bir tarayıcı gerektiren bir şey istediğinde web sitelerini ziyaret eder ve her seferinde yalnızca o kullanıcı için çalışır. Bu sayfa web sitesi sahipleri içindir: tarayıcının ne yaptığını, isteklerini nasıl tanıyacağınızı ve tarayıcıya nasıl izin vereceğinizi veya tarayıcıyı nasıl engelleyeceğinizi açıklar.

## Nedir?

Dvina kişisel bir asistandır. Dvina'da oturum açmış bir kullanıcı, teklifleri karşılaştırmak veya istediği bir formu doldurmak gibi bir web sitesi gerektiren bir iş istediğinde, Dvina bu işi kullanıcının Dvina bilgisayarında, kendine ait bir tarayıcıda yapabilir. Bu, arayüzsüz bir tarayıcı değil, penceresi olan bir masaüstü Chromium tarayıcısıdır. Kullanıcı tarayıcıyı canlı olarak izleyebilir ve istediği zaman kontrolü devralabilir.

- **Tek bir kişi adına çalışır.** Her tarayıcı, Dvina'da oturum açmış tek bir kullanıcıya aittir ve o kullanıcının istediği iş üzerinde çalışır.
- **Bir web tarayıcısı (crawler) değildir.** Kendi başına ziyaret ettiği sitelerden oluşan bir listesi yoktur. Görevin gerektirdiği sayfaları adım adım açar: bir insanın yaptığı gibi sayfayı yükler, okur, ardından sayfada işlem yapar.
- **Model eğitmek için asla kullanılmaz.** Dvina'nın tarayıcısının sitenizde okuduğu içerik yalnızca adına çalıştığı kişinin isteği için kullanılır. Asla bir yapay zekâ modelini eğitmek için kullanılmaz.
- **Kişinin kendi kararlarını ona bırakır.** Parola veya kart bilgileri girmez. Bir sayfa kişinin oturum açmasını ya da ödeme yapmasını gerektirdiğinde Dvina durur ve kontrolü devralmasını ister. Kişisel bilgiler, gönderme, ödeme ve silme işlemleri kişinin onayını bekler.
- **İnsan doğrulamasını çözmez.** Cloudflare'ın kontrolü, Turnstile, reCAPTCHA veya hCaptcha gibi, tarayıcıyı bir insanın kullandığını doğrulayan bir kontrolle karşılaştığında buna tıklamaz, bunu çözmez veya yeniden yüklemez. Kontrol kendiliğinden tamamlanıyorsa Dvina bekler. Kontrol devam ederse iş durur; kişi tarayıcının kontrolünü devralır, kontrolü geçer ve tarayıcıyı Dvina'ya geri verir.

## İsteklerini tanıyın

Dvina'nın tarayıcısı, gönderdiği her http ve https isteğini [Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/about/) ile, bir Ed25519 anahtarı kullanarak HTTP mesaj imzalarıyla ([RFC 9421](https://www.rfc-editor.org/rfc/rfc9421)) imzalar. Her istek üç başlık taşır:

```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'yı ve anahtarlarının yayımlandığı kaynağı belirtir.
- `Signature-Input`, isteğin `@authority` değerini (sitenizin ana makinesini) ve `Signature-Agent` başlığını kapsar. `tag` değeri `web-bot-auth` olur.
- Her imza, `created` ile `expires` arasında 60 saniye boyunca geçerlidir.
- `keyid`, anahtarın JWK parmak izidir ([RFC 7638](https://www.rfc-editor.org/rfc/rfc7638)).

Tarayıcı, Linux üzerindeki herhangi bir Chromium ile aynı olan Chromium'un kendi kullanıcı aracısı bilgisini gönderir. Örneğin:

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

Chrome sürümü Chromium güncellemeleriyle değişir ve kullanıcı aracısı bilgisi Dvina hakkında hiçbir şey belirtmez. Dvina'yı kullanıcı aracısı bilgisinden değil, imzasından tanıyın.

> [!NOTE]
> Masaüstü uygulamasıyla kullanıcı, Dvina'nın kendi bilgisayarındaki bir tarayıcıyı kullanmasına da izin verebilir. Bu tarayıcı isteklerini imzalamaz ve kullanıcının kendi gezinmesi gibi görünür.

## Bir imzayı doğrulayın

Dvina, açık anahtarını anahtar dizininde yayımlar:

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

Dizin, `Content-Type: application/http-message-signatures-directory+json` ve Dvina'nın Ed25519 açık anahtarını içeren bir JSON Web Key Set ile yanıt verir. Yanıt, `tag="http-message-signatures-directory"` ile aynı anahtar kullanılarak imzalanır.

Siteniz Cloudflare üzerindeyse Cloudflare imzalı ajanları sizin için doğrular. Bir isteği kendiniz doğrulamak için:

1. `Signature-Agent` değerinin `"https://api.dvina.ai"` olduğunu ve `Signature-Input` içinde `tag="web-bot-auth"` bulunduğunu kontrol edin.
2. Şu anki zamanın `created` ile `expires` arasında olduğunu kontrol edin.
3. Anahtar dizinini alın ve JWK parmak izi `keyid` ile eşleşen anahtarı seçin.
4. RFC 9421'de açıklandığı gibi `@authority`, `signature-agent` ve imza parametrelerinden imza tabanını oluşturun ve `Signature` değerini bu Ed25519 anahtarıyla doğrulayın.

Bu başlıkları herkes gönderebilir. Bir isteği yalnızca imzası Dvina'nın anahtar dizini kullanılarak doğrulandığında Dvina'ya ait kabul edin.

## İzin verin veya engelleyin

Dvina'nın tarayıcısı, tek bir kişi adına gerçek zamanlı olarak işlem yapar. Bu trafik türü, Cloudflare'ın **Agent** ön ayarı kapsamındadır. Siteniz Cloudflare kullanıyorsa:

- **Yapay zekâ bot politikaları:** **Güvenlik Ayarları** bölümünde **Yapay zekâ bot politikalarını yapılandır** seçeneğini seçin. **Agent** için **İzin ver (engelleme)**, **Reklam içeren sayfalarda engelle** veya **Engelle (tüm sayfalarda)** seçeneğini seçin.
- **WAF özel kuralları:** Doğrulanmış botlardan ve imzalı ajanlardan gelen isteklerde `cf.client.bot` (Bot Management kullanıldığında `cf.bot_management.verified_bot`) değeri true olarak ayarlanır. Bu istekleri atlamak, doğrulama sorgulamasına tabi tutmak veya engellemek için bu alanı özel bir kuralda kullanın.
- **Doğrulanmış botlar dizini:** Cloudflare'ın doğruladığı ajanları [Cloudflare Radar](https://radar.cloudflare.com/verified-bots) üzerinden inceleyin.

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

## Bize ulaşın

Dvina'nın tarayıcısının sitenizdeki işleyişiyle ilgili sorularınız mı var? Ya da bu sayfada açıklanandan farklı davranan bir istekle mi karşılaştınız? Sitenizin adresini ve elinizde varsa isteklerin zamanını ve `keyid` değerini [support@dvina.ai](mailto:support@dvina.ai) adresine e-postayla gönderin.

## İlgili sayfalar

- [Bilgisayar kullanımı](/docs/use-dvina/features/computer-use)
- [Gizlilik ve veriler](/docs/help/privacy-and-data)
