this post was submitted on 24 Aug 2023
325 points (99.1% liked)

Firefox

17943 readers
23 users here now

A place to discuss the news and latest developments on the open-source browser Firefox

founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Crul@lemm.ee 1 points 1 year ago* (last edited 1 year ago) (1 children)

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 -2 points 1 year ago (1 children)

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 1 points 1 year ago* (last edited 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.