What are your favourite add-ons/extensions on Firefox? - eviltoast
  • Crul@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Got it, thanks for the patience :)

    It makes the job easier than reverse searching image with Yandex (which is the best method I use).

    Regarding reverse image search, this is the bookmarklet I use to lauch 5 different searches at once. On firefox you can set a keyword so I just type rev on the navbar on a tab with an image.

    If the page has more than 1 images, it tries to print a number on each one so you can specify which one you want to search… but that feature doesn’t work very well. Removing that, the script would be much more simpler.

    pretty-print reverse image searches bookmarklet
    (function() {
        var url;
        var args = '%s';
        var imgs = document.getElementsByTagName("img");
        var imgIdx = undefined;
        if (imgs.length == 0) return;
        if (imgs.length > 1) {
            if (args.length > 1) imgIdx = parseInt(args[1]);
            if (imgIdx === undefined || isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) {
                numberImgs();
                imgIdx = parseInt(prompt(`There are ${imgs.length} images, select index:`, 1));
            }
            if (isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) return;
            url = imgs[imgIdx - 1].src;
        } else {
            url = imgs[0].src;
        }
        if (!url) return;
        url = encodeURIComponent(url);
        window.open("https://saucenao.com/search.php?url=" + url);
        window.open("https://lens.google.com/uploadbyurl?url=" + url);
        window.open("https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=" + url);
        window.open("https://www.tineye.com/search?url=" + url);
        window.open("https://yandex.com/images/search?rpt=imageview&url=" + url);
    
        function numberImgs() {
            var imgs = document.getElementsByTagName("img");
            for (var img = 0; img < imgs.length; img++) {
                var parent = imgs[img].parentElement;
                if (!parent) continue;
                var numberDiv = document.createElement("div");
                numberDiv.innerHTML = 1 + img;
                numberDiv.className = "tmpImgNumberDiv";
                numberDiv.style.position = "absolute";
                numberDiv.style.padding = "2px 9px 2px 6px";
                numberDiv.style.background = "#f00";
                numberDiv.style.color = "#fff";
                numberDiv.style.zIndex = "9999";
                numberDiv.style.lineHeight = "normal";
                parent.prepend(numberDiv);
            }
            setTimeout(function() {
                var imgNumbers = document.getElementsByClassName("tmpImgNumberDiv");
                var idx = imgNumbers.length - 1;
                while (idx >= 0) {
                    imgNumbers[idx].remove();
                    idx--;
                }
            }, 5000);
        }
    })();
    

     

    One-liner:

    javascript:(function() {var url;var args = '%s';var imgs = document.getElementsByTagName("img");var imgIdx = undefined;if (imgs.length == 0) return;if (imgs.length > 1) {if (args.length > 1) imgIdx = parseInt(args[1]);if (imgIdx === undefined || isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) {numberImgs();imgIdx = parseInt(prompt(`There are ${imgs.length} images, select index:`, 1));}if (isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) return;url = imgs[imgIdx - 1].src;} else {url = imgs[0].src;}if (!url) return;url = encodeURIComponent(url);window.open("https://saucenao.com/search.php?url=" + url);window.open("https://lens.google.com/uploadbyurl?url=" + url);window.open("https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=" + url);window.open("https://www.tineye.com/search?url=" + url);window.open("https://yandex.com/images/search?rpt=imageview&url=" + url);function numberImgs() {var imgs = document.getElementsByTagName("img");for (var img = 0; img < imgs.length; img++) {var parent = imgs[img].parentElement;if (!parent) continue;var numberDiv = document.createElement("div");numberDiv.innerHTML = 1 + img;numberDiv.className = "tmpImgNumberDiv";numberDiv.style.position = "absolute";numberDiv.style.padding = "2px 9px 2px 6px";numberDiv.style.background = "#f00";numberDiv.style.color = "#fff";numberDiv.style.zIndex = "9999";numberDiv.style.lineHeight = "normal";parent.prepend(numberDiv);}setTimeout(function() {var imgNumbers = document.getElementsByClassName("tmpImgNumberDiv");var idx = imgNumbers.length - 1;while (idx >= 0) {imgNumbers[idx].remove();idx--;}}, 5000);}})();
    

    The 5 searches it launches are (replacing XXXX with the image URL):

    • Google: https://lens.google.com/uploadbyurl?url=XXXX
    • Bing: https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=XXXX
    • TinEye: https://www.tineye.com/search?url=XXXX
    • Yandex: https://yandex.com/images/search?rpt=imageview&url=XXXX
    • SauceNAO: https://saucenao.com/search.php?url=XXXX
    • TheAnonymouseJoker@lemmy.ml
      link
      fedilink
      arrow-up
      1
      arrow-down
      3
      ·
      1 year ago

      An extension that does this with over 30 image search engines is Search By Image, a Mozilla recommended extension. Check the developer’s GitHub (dessant). On the one off occasion, I also use ImgOps.com, but almost always, I never need to go beyond using Yandex. They are the only search engine that, unlike Google and Bing, did not cripple theirs. Although I am starting to see them putting up captchas more frequently (less than Cloudflare or Google) with any searches that might be related to adult or piracy content.

      • Crul@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        An extension that does this with over 30 image search engines is Search By Image, a Mozilla recommended extension

        I don’t know how I missed that until now, thanks!! I will try it right now.

        I also use ImgOps.com

        Yeah, that’s what I was using for a while and what motivated me to write the bookmarklet to avoid going through it every time.

        Regarding the different searches, I found that they cover very different needs:

        • TinEye: usually the best when you want (almost) exact matches.
        • Yandex: probably the stronger as a general search
        • Google: in my experience, the best to “understand” the image and identify the object / subject even if there are no real matches for that image
        • Bing: you sometimes get lucky with it when the others fail
        • SauceNAO: the most convenient to find the original pages for DeviantArt, ArtStation and Twitter images.