Yağlı Çatal Kodları ve Tampermonkey Kullanımı

Merhaba canlar,

Yine çok farklı bir konu için kolları sıvadım.

Bilgisayarda ne yapsam diye sıkılanlar, farklı arayış içinde olanlar, bu konu size ilaç gibi gelecektir.

Aslında anlatacağım şey yeni değil, ama çoğunuzun duymadığınızı düşünüyorum.

Kendim sürekli kullanıyorum ve 100numaraliadam takipçilerinin de bu konudan eksik kalmasını istemedim. 🙂

Haydi biraz ufkumuzu genişletelim…


Yağlı Çatal Nedir ?

Konumuzun başlığı tuhaf değil mi 🙂 Yağlı Çatal 🍴

Nedir bu yağlı çatal?

İnternette dolaştığımız siteleri anlık olarak modifiye etsek nasıl olurdu..?

Sizin adınıza cevaplayayım çok eğlenceli oluyor. 😎

Google Chrome kendi içinde bir çok araç barındırır.

Biz sitelerin kod yapısına müdahale eden console aracı kullanacağız.

Bahsettiğim araç sadece Google Chrome da yok…

Firefox, Safari, Microsoft Edge, Opera gibi tüm tarayıcılarda mevcut.

Bu araç sayesinde, siteleri değiştirebilir özel alana kod ekleyerek modifikasyonlar yapabilirsiniz.

Tabi kod yazın demiyorum bize hazır kod lazım.

Önce kodları nereden bulacağımıza değinelim…

Türkçesi yağlı çatal anlamına gelen Greasyfork.org sitesi, piyasadaki tüm kodları kendi bünyesinde toplamış.

Sitede bulunan hazır kodları asıl ilgili sitelere nasıl gireceğinizi basit olarak anlatacağım.

Ayrıca;

Tampermonkey adlı eklentiyi kullanarak tek seferde kod girmek suretiyle sürekli kullanım olayını da anlatacağım.

Peki bunlar neye yarar bana ne faydası olacak diyeceksiniz; önce bunlarla nerelerin yapılabileceğine bir göz gezdirin.


Yağlı Çatal ile Yapılabilecekler:

Örnek 1:

Örneğin whatsapp web kullanıyorsunuz.

Ekleyeceğiniz kod sayesinde whatsapp web i mesaj bombardımanına dönüştürerek arkadaşlarınıza şakalar yapabilirsiniz.

Hatta diğer sitemde buna bir örnek kod sunmuştum “bakabilirsiniz”

Örnek 2:

Facebook da sağda solda çıkan reklamları görünmez hale getirebilirsiniz.

Hatta tüm sitelerdeki reklamları bloke edebileceğiniz kodlar bulabilirsiniz.

Örnek 3:

Youtube a girdiğinizde videoların yanında download butonu veya linki çıkmasını sağlayabilir böylece videoları kolayca indirebilirsiniz.

Sadece video değil, tek tık ile mp3 olarak bile indirilmesini sağlayabilen kodlar mevcut.

Örnek 4:

Sitelerin temasını değiştirebilir, renklerini ve çalışmalarını komple değiştirebilirsiniz.

Örnek 5:

Bazı paralı ve kısıtlamalı siteleri aşabilir, siteyi bedava gezebilirsiniz.

Bunla ilgili örnek resim koymadım kendiniz araştırırsınız. 🙂


Aklıma gelenleri yazdım daha bir çok şeyi yapmak mümkün.

Modifiyeli kodları kim yazıyor derseniz, insanlar tamamen yardım amacıyla bu kodları paylaşıyorlar. Size sadece kullanması kalıyor.


Yağlı Çatal Kodları Nasıl Kullanılır

Google Chrome Console ile Basit yöntem:

Google chrome da bulunan dahili özelliği kullanarak sadece kodu aktif ederek işlevi etkinleştirebilirsiniz.

  1. Kodu Greasyfork.org sitesinden kodu bulun kopyalayın.
    Türkiye’den ararken otomatikman Türkçe dillerde kod arar. O yüzden aradığınız kelime ile alakalı kod bulamazsa “Tüm dillerdeki sonuçları göster” linkine tıklayın ki tüm dillerde arasın.
    ÖRNEK: https://greasyfork.org/tr/scripts?filter_locale=0&q=whatsapp
    Sağ taraftan güncelleme tarihine göre ararsanız kodun çalışma garantisi daha yükselecektir.
    Sonuçta 2021 senesinde kod arıyorsanız, 2015 de yazılmış kod çalışmayabilir.
    Bulunca tıklayın, kod linkine girin ve kodu bulun oradan kopyalayın.
  2. Sonra kodun çalışacağı ilgili siteyi açın.
    Örnek: Whatsapp web temasını değiştiren bir kod kopyalamışsanız doğal olarak whatsapp web sitesini açmanız gerekir.
  3. Siteyi Açtıktan Sonra …
    F12
    butonu ile DevTools yani Geliştirme Araçları bölümünü açın.
    Bu alanda Console tabı mevcut oraya tıklıyoruz.
    Aşağıda boş alana kodu yapıştırıp enter a basıyoruz.

İşte bu kadar kod işlevini yerine getirmeye başlıyor.

Not: Resimde sağda görülen beyaz alana ilgili kodu girip enter a basmamız ile kod un sağladığı modifiye işlemeye başlıyor.


Tampermonkey Yöntemi:

Bu yöntem ilk seferde biraz zor gibi görünse de sürekli kullanımı halinde yukarıda anlattığımdan daha basittir.

  1. Önce Google Chrome u açıyoruz. Chrome Web Mağazası na giriyoruz.
    Buradan girebilirsiniz:
    https://chrome.google.com/webstore?utm_source=chrome-ntp-icon
    Burası eklenti arayacağımız devasa bir alan…
  2. Arama bölümüne tampermonkey yazın.
    En çok indirilmiş olan bizim indireceğimizdir. En son 66bin indirmesi vardı.
    Bunlarla uğraşmadan direkt indirmek isteyenlere direkt linkini de veriyorum:
    https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?utm_source=chrome-ntp-icon
  3. Tampermonkey i bulduk şimdi Crome a Ekle butonuna basın.
    Butona basınca artık Tampermonkey Chrome unuza eklenecek ve Yağlı Çatal sitesinden bulacağımız kodları bu eklenti içine otomatik yükleyerek sürekli olarak çalıştırabileceğiz
  4. Yeni betik ekle diyoruz.

    Ekle dedikten sonra orada görünen kodları önemsemeyin. O kodları silip Yağlı Çatal sitesinden bulduğumuz kodu buraya komple ekliyoruz.
  5. Örnek: Youtube Sitesinde Download Butonu vs çıkarmaya yarayan kodu ekleyelim…
  6. Bu scripti kur botonuna tıkla…

  7. Artık kodumuz youtube da çalışacaktır. Deneyelim…

    Gördüğünüz videoları izlerken istediğimiz zaman basitce kaydedebilmemiz için gibi yeşil indir butonu eklendi.

Yağlı Çatal Örnek Kodlar:

Google Image Search Show Image Dimensions

Google görsel arama yapınca resimlerin üzerinde çözünürlüklerini göstermek için

https://greasyfork.org/tr/scripts/404103-google-image-search-show-image-dimensions


Z Show Pass

Webde yazılan şifreleri göstermeye yarar. Mouse ile şifrenin üzerine gelince şifreyi gösterir, Mosue imleci şifre üzerinde değilken şifreyi gizler ve bulanıklaştırır

https://greasyfork.org/tr/scripts/7078-zshowpass


SoundCloud Mp3 İndir

Aşağıdaki kodu Tampermonkey e eklediğinizde. Tampermonkey çalışıyorken, aktifken soundcloud sitesine girdiğinizde parçaların yanında ek olarak download butonu belirecektir. 🙂

// ==UserScript==
// @name         Soundcloud Downloader Clean
// @namespace    https://openuserjs.org/users/webketje
// @version      0.2.1
// @description  An ad-less, multilingual, clean Soundcloud downloader with robust code. Adds a 'Download' button in the toolbar of all single track views.
// @author       webketje
// @license      MIT
// @icon         https://a-v2.sndcdn.com/assets/images/sc-icons/favicon-2cadd14bdb.ico
// @homepageURL  https://gist.github.com/webketje/8cd2e6ae8a86dbe0533c5d2c612c42c6
// @supportURL   https://gist.github.com/webketje/8cd2e6ae8a86dbe0533c5d2c612c42c6#comments
// @updateURL    https://openuserjs.org/meta/webketje/Soundcloud_Downloader_Clean.meta.js
// @downloadURL  https://openuserjs.org/install/webketje/Soundcloud_Downloader_Clean.user.js
// @noframes
// @match        https://soundcloud.com/*
// @grant        unsafeWindow
// @require      https://cdn.jsdelivr.net/npm/file-saver@2.0.2/dist/FileSaver.min.js
// ==/UserScript==

/* globals saveAs */

(function() {
    'use strict';

    var win = unsafeWindow || window;
    var containerSelector = '.soundActions.sc-button-toolbar .sc-button-group';
    var scdl = {
      debug: false,
      client_id: '',
      dlButtonId: 'scdlc-btn'
    };

    /**
    *   @desc Log to console only if debug is true
    */
    function log() {
      var stamp  = new Date().toLocaleString(),
          args   = [].slice.call(arguments),
          prefix = ['SCDLC', stamp, '-'];
      if (scdl.debug) console.log.apply(console, prefix.concat(args));
    };

    /**
    *   @desc There is no other way to retrieve a Soundcloud client_id than by spying on existing requests.
    *         We temporarily patch the XHR.send method to retrieve the url passed to it.
    *   @param restoreIfTrue - restores the original prototype method when true is returned
    *   @param onRestore - a function to exec when the restoreIfTrue condition is met
    */
    function patchXHR(restoreIfTrue, onRestore) {
      var originalXHR = win.XMLHttpRequest.prototype.open;

      win.XMLHttpRequest.prototype.open = function() {
        originalXHR.apply(this, arguments);
        var restore = restoreIfTrue.apply(this, arguments);
        if (restore) {
          win.XMLHttpRequest.prototype.open = originalXHR;
          onRestore(restore);
        }
      };
    };

    scdl.getTrackName = function(trackJSON) {
      return [
        trackJSON.user.username,
        trackJSON.title
      ].join(' - ');
    };

    scdl.getMediaURL = function(json, onresolve, onerror) {
      //if (json.download_url) return onresolve(json.download_url + '&client_id=' + scdl.client_id);
      //if (json.stream_url) return onresolve(json.stream_url + '&client_id=' + scdl.client_id);
      if (json.media && json.media.transcodings) {
        var found = json.media.transcodings.filter(function(tc) {
          return tc.format && tc.format.protocol === 'progressive';
        })[0];
        if (found) {
          var xhr = new XMLHttpRequest();
          xhr.onload = function() {
            var result;
            try {
              result = JSON.parse(xhr.responseText);
            } catch (err) {}
            if (result && result.url)
              onresolve(result.url);
            else
              onerror(false);
          };
          xhr.onerror = onerror;
          xhr.open('GET', found.url + '?client_id=' + scdl.client_id);
          xhr.send();
        } else {
          onerror(false);
        }
      } else {
        onerror(false);
      }
    };

    scdl.getStreamURL = function(url, onresolve, onerror) {
      var xhr = new XMLHttpRequest();
      xhr.onload = function() {
        var trackJSON = JSON.parse(xhr.responseText);
        scdl.getMediaURL(trackJSON, function resolve(url) {
          onresolve({
            stream_url: url,
            track_name: scdl.getTrackName(trackJSON)
          });
        }, function reject() {
          onerror(false);
        })
      }.bind(this);
      xhr.onerror = function() {
        onerror(false);
      };
      xhr.open('GET', 'https://api-v2.soundcloud.com/resolve?url=' + encodeURIComponent(url) + '&client_id=' + this.client_id);
      xhr.send();
    };

    scdl.button = {
      label: {
        en: 'Download',
        es: 'Descargar',
        fr: 'Télécharger',
        nl: 'Download',
        de: 'Download',
        pl: 'Ściągnij',
        it: 'Scaricare',
        pt_BR: 'Baixar',
        sv: 'Ladda ner'
      },
      download: function(e) {
        e.preventDefault();
        saveAs(e.target.href, e.target.dataset.title);
      },
      render: function(href, title, onClick) {
        var label = scdl.button.label[document.documentElement.lang];
        var a = document.createElement('a');
        a.className = "sc-button sc-button-medium sc-button-responsive sc-button-download";
        a.href = href;
        a.id = scdl.dlButtonId;
        a.textContent = label;
        a.title = label;
        a.dataset.title = title + '.mp3';
        a.setAttribute('download', title + '.mp3');
        a.target = '_blank';
        a.onclick = onClick;
        a.style.marginLeft = '5px';
        a.style.cssFloat = 'left';
        a.style.border = '1px solid orangered';
        return a;
      },
      attach:function() {
        this.remove();
        var f = document.querySelector(containerSelector);
        log('Attaching download button', f);
        if (f)
          f.insertAdjacentElement('beforeend', this.render.apply(this, arguments));
      },
      remove: function() {
        var btn = document.getElementById(scdl.dlButtonId);
        if (btn)
          btn.parentNode.removeChild(btn);
      }
    };

    scdl.parseClientIdFromURL = function(url) {
      var search = /client_id=([\w\d]+)&*/;
      return url && url.match(search) && url.match(search)[1];
    };

    scdl.getClientID = function(onClientIDFound) {
      patchXHR(function(method, url) {
        return scdl.parseClientIdFromURL(url);
      }, onClientIDFound);
    };

    scdl.load = function(url) {
      // for now only make available for single track pages
      if (/^(\/(you|stations|discover|stream|upload|search|settings))/.test(win.location.pathname)) {
        scdl.button.remove();
        return;
      }

      scdl.getStreamURL(url,
        function onSuccess(result) {
          if (!result) {
            scdl.button.remove();
          } else {
            log('Detected valid Soundcloud artist track URL. Requesting info...');
            scdl.button.attach(
              result.stream_url,
              result.track_name,
              scdl.button.download
            );
          }
        },
        function onError() {
          scdl.button.remove();
        }
      );
    };

    // patch front-end navigation
    ['pushState','replaceState','forward','back','go'].forEach(function(event) {
      var tmp = win.history.pushState;
      win.history[event] = function() {
        tmp.apply(win.history, arguments);
        scdl.load(win.location.href);
      }
    });
    if (scdl.debug) win.scdl = scdl;
    scdl.getClientID(function(id) {
      log('Found Soundcloud client id:', id, '. Initializing...');
      scdl.client_id = id;
      scdl.load(win.location.href);
    });
})();

Daha başka bir çok kod var ve buldukça burada paylaşmaya çalışacağım. Sizler de güzel kod bulursanız burada paylaşın ki elimiz güçlensin.

Hoşçakalın efemm…

Yazar: utquick

utquickMerhaba, Bu site 2017 senesinde kurulmuştur: Kemal SUNAL 'ın 100 Numaralı Adam filminden feyz alınarak kurulan sitemiz, filmdeki Halk Kahramanı rolünü de bünyesine katarak dürüst paylaşımlarda bulunmaktadır. Bizi takip ediniz. Büyük bir aile oluyoruz. Tek güvencemiz paylaşımlarımızın samimiliğidir.

Bunlar da hoşunuza gidebilir...

Bir yanıt yazın

Cevabı alabilmek için E-Posta adresinizi doğru yazmaya özen gösteriniz.

css.php