Google Üzgün Sayfasını Atla - Google Tekrar Deneme

Veed
2025-09-24T21:17:36Z

Google reCAPTCHA sayfasına gelindiğinde aramayı modern JS API kullanarak tekrar Google'a yönlendirir.

Google Üzgün Sayfasını Atla - Google Tekrar Deneme (Userscript)

Bu userscript, Google'ın yoğun trafik veya şüpheli hareket nedeniyle kullanıcıları yönlendirdiği "Üzgün/reCAPTCHA" sayfasına (google.com/sorry/...) gelindiğinde, aramayı modern **URL API**'ını kullanarak otomatik olarak orijinal sorgusuyla birlikte tekrar Google'a yönlendirir.

⚙️ Nasıl Çalışır?

Google'ın Üzgün Sayfası, kullanıcıyı asıl hedefine yönlendiren bir continue parametresi içerir. Ancak bu parametre genellikle URI encode edilmiş bir URL'dir. Betiğimiz şu adımları izler:

1. Mevcut sayfanın URL'sini çeker ve modern URLSearchParams API'ını kullanarak continue parametresini alır.

2. Bu parametrenin içindeki encoded URL'yi **decodeURIComponent** ile çözer.

3. Çözülen URL'nin içinden asıl arama sorgusu olan q parametresini çıkarır.

4. Çıkarılan sorguyu tekrar **encodeURIComponent** ile güvenli bir şekilde encode eder.

5. Son olarak, tarayıcı geçmişini temiz tutmak için window.location.replace() metodunu kullanarak kullanıcıyı saniyeler içinde arama sonuçlarına geri gönderir.

✨ Modern JavaScript ve Best Practices

Bu kod parçası, performans ve sürdürülebilirlik açısından JavaScript'in en iyi uygulamalarını kullanır:

URL API Kullanımı: Geleneksel ve hataya açık dize (string) manipülasyonu veya Regex yerine, yerel ve güvenli new URL() ve URLSearchParams sınıfları kullanılır. Bu, kodun hem daha okunaklı hem de standartlara uygun olmasını sağlar.

Güvenli Yönlendirme (UX Optimizasyonu): window.location.replace() kullanımı, "sorry" sayfasının tarayıcı geçmişinde kalmasını engeller. Bu sayede, kullanıcı "Geri" tuşuna bastığında tekrar aynı döngüye düşmez.

Hata Yakalama (Robustness): Olası hatalı veya bozuk URL yapılarından dolayı betiğin çökmesini önlemek için tüm yönlendirme mantığı bir try...catch bloğu içine alınmıştır.

IIFE & Strict Mode: Kod, genel (global) kapsamı kirletmemek için hemen çağrılan bir fonksiyon ifadesi (IIFE) içine alınmış ve **'use strict'** ile daha güvenli ve optimize çalışmaya zorlanmıştır.

🛠️ Userscript Meta Verileri

// ==UserScript==
// @name         Google Üzgün Sayfasını Atla - Google Tekrar Deneme
// @version      2.0.1
// @description  Google reCAPTCHA sayfasına gelindiğinde aramayı modern JS API kullanarak tekrar Google'a yönlendirir.
// @author       JavaScript Kod Asistanı
// @namespace    https://www.google.com/
// @include      *://www.google.*/sorry/*
// @grant        none
// @icon         https://www.google.com/s2/favicons?domain=google.com&sz=128
// @run-at       document-start
// ==/UserScript==

Önemli Not: @run-at document-start yönergesi, betiğin HTML yüklenmeye başlamadan önce çalışmasını sağlar. Bu sayede yönlendirme işlemi olabildiğince hızlı gerçekleşir.

Kodun Kaynağı

(function() {
    'use strict';

    const HEDEF_ARAMA_URL_TEMELI = "https://www.google.com/search?q=";

    const mevcutSorryUrl = new URL(window.location.href);
    const devamParametresi = mevcutSorryUrl.searchParams.get('continue');

    if (devamParametresi) {

        try {
            // Parametre URI decode edilir ve URL nesnesine dönüştürülür.
            const hedefUrl = new URL(decodeURIComponent(devamParametresi));

            // Gerçek arama sorgusu ('q') çekilir.
            const aramaSorgusu = hedefUrl.searchParams.get('q');

            if (aramaSorgusu) {
                // Sorgu güvenli bir şekilde tekrar encode edilerek son URL oluşturulur.
                const sonYönlendirmeUrl = HEDEF_ARAMA_URL_TEMELI + encodeURIComponent(aramaSorgusu);

                // Geçmişi temiz tutan yönlendirme.
                window.location.replace(sonYönlendirmeUrl);
            }
        } catch (hata) {
            // Hata durumunda sessiz kalmak yerine konsola hata loglanır.
            console.error("Hata Yakalandı: URL ayrıştırma işlemi başarısız oldu.", hata);
        }
    }
})();