GreasyFork پریمیۆم

باشترکردنی پێشکەوتوو بۆ GreasyFork و SleazyFork: ڕووکارێکی مۆدێرن، دڵخوازەکان بە یەک کرتە، دامەزراندنی ڕاستەوخۆ، پێشبینینی وردی سکریپت، تووڵباری دەستکاریکەر، ڕووکاری ڕوون/تاریک و ڕێنیشاندانی باشتر.

< Feedback on GreasyFork پریمیۆم

Question/comment

§
Posted: 2026-08-31

GreasyFork kurucusu ile iletişime geçmiştim ancak bu özelliğin eklenme ihtimalinin düşük olduğunu söyledi. Talebim kısaca şu şekildedir: Görseldeki ilgili alana "İzinler" başlığı eklenmesini rica ediyorum. Aşağıya eklediğim yapay zeka tarafından üretilmiş örnek koddaki gibi; eğer @grant none kullanılmışsa "İzinler: Yok" ibaresi yer almalı, bir hata oluşması durumunda ise "Tespit edilemedi" şeklinde bir uyarı dönmelidir. Çok fazla görsel veya teknik detay talep ediyor olabilirim ancak bu entegrasyonu sizin çok daha başarılı bir şekilde yapabileceğinize inanıyorum. pasted-image-1788203104171.png Temsili Yapay Zeka Kodu:

// ==UserScript==
// @name         GreasyFork Temiz @grant Bulucu (Ctrl+S)
// @namespace    http://tampermonkey.net
// @version      1.3
// @description  GreasyFork script sayfasında Ctrl+S yapınca a.install-link dosyasını okuyup sadece izin isimlerini listeler.
// @author       You
// @match        https://greasyfork.org*
// @grant        GM_xmlhttpRequest
// @connect      greasyfork.org
// ==/UserScript==

(function() {
    'use strict';

    window.addEventListener('keydown', function(e) {
        if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === 's') {
            const installLinkEl = document.querySelector('a.install-link');
            if (!installLinkEl) return;

            e.preventDefault();
            const scriptUrl = installLinkEl.href;

            GM_xmlhttpRequest({
                method: "GET",
                url: scriptUrl,
                onload: function(response) {
                    const kod = response.responseText;

                    // Sadece iznin adını yakalayan Regex (Grup 1'i alır)
                    const regex = /\/\/\s*@grant\s+([^\s\r\n]+)/g;
                    let izinler = [];
                    let match;

                    // Tüm eşleşmeleri dön ve sadece izin isimlerini temizle
                    while ((match = regex.exec(kod)) !== null) {
                        izinler.push(match[1].trim());
                    }

                    // Tekrar eden izinleri temizle (Unique list)
                    const benzersizIzinler = [...new Set(izinler)];

                    if (benzersizIzinler.length > 0) {
                        // İzinleri numaralandırarak alt alta listele
                        const temizListe = benzersizIzinler.map((izin, index) => `${index + 1}. ${izin}`).join('\n');
                        alert("Bulunan İzinler:\n\n" + temizListe);
                    } else {
                        alert("Script içinde herhangi bir @grant izni bulunamadı.");
                    }
                },
                onerror: function() {
                    alert("Script kaynak kodu yüklenirken bir hata oluştu.");
                }
            });
        }
    }, true);
})();

Dℝ∃wXAuthor
§
Posted: 2026-08-31

Yaklaşık olarak böyle bir şey mi düşünüyordun?

Tampermonkey’deki gibi küçük bir “Özellikler” veya “İzinler” bölümü olabilir. İzinleri, ağ erişimini, depolamayı, harici kaynakları vs. simgelerle gösterebiliriz.
Bunu doğrudan Greasy Fork’a eklemek için bir PR açmak gerekir ama tabii Jason’ın da kabul etmesi lazım.
Olmazsa GreasyFork Premium’a ekleyebilirim. Zaten scriptlerin metadata’sından simgeleri almak için benzer bir sistem kullanıyorum, sadece biraz geliştirmem yeterli.

Dℝ∃wXAuthor
§
Posted: 2026-08-31

Bu arada koduna da baktım, yaklaşımın mantıklı.
Hatta bunu biraz daha optimize etmek için ileride .meta.js kullanmak da mümkün olabilir.

§
Posted: 2026-09-01

İsteğimin temel sebebi, kod kısmına bakmadan bilgiler kısmından hangi izinleri istediğini görebilmemiz. Yani nasıl yaparsın bilmiyorum ama sanırım tek sorun çıkaracak yer, kodu okuyup oradan kusursuzca @grant izinlerini ayıklamak.

§
Posted: 2026-09-01

İsteğimin temel sebebi, kod kısmına bakmadan bilgiler kısmından hangi izinleri istediğini görebilmemiz. Yani nasıl yaparsın bilmiyorum ama sanırım tek sorun çıkaracak yer, kodu okuyup oradan kusursuzca @grant izinlerini ayıklamak.

Dℝ∃wXAuthor
§
Posted: 2026-09-01

Evet, anladım. Metadata bölümündeki @grant izinlerini tespit etmek çok da zor olmamalı. Bunları Greasy Fork’ta gösterilen sürüm bilgisinin altında, Tampermonkey’deki gibi simgeler şeklinde göstermeyi düşünüyorum.

Post reply

Sign in to post a reply.