Auto-Downloder Chrome Extension

September 18th, 2021
comments, tech
Let's say you want Chrome to automatically download pieces of pages, such as Facebook comments. How could you do it? I recently wanted to do this and couldn't find docs, so here's what I did.

  1. Make a folder somewhere for a browser extension.

  2. In that folder, make manifest.json with contents like:

    {
      "name": "Downloader",
      "description": "Downloads stuff",
      "version": "1.0",
      "manifest_version": 3,
      "permissions": [
        "activeTab",
        "downloads"
      ],
      "background": {
        "service_worker": "background.js"
      },
      "content_scripts": [{
        "matches": [
          "https://example.com/path/*",
        ],
        "js": ["content_script.js"]
      }]
    }
    
  3. In content_script.js put:

    // This file extracts what you want from the page
    // and asks the background script to save it.
    
    // You write the code to extract what you want.
    const yourStringToSave =
      yourFunctionToExtractFromPage();
    
    chrome.runtime.sendMessage(
        /* extension id not needed */ undefined,
        [fileNameToUse,
         yourStringToSave]);
    
  4. In background.js put:

    // This file receives messages from the content
    // script and puts them in your Dowloads folder.
    
    function makeDataUrl(body) {
      // We use a data: url because Chrome has
      // trouble with object URLs in Incognito.
      return "data:application/json;base64," +
        btoa(unescape(encodeURIComponent(body)));
    }
    
    chrome.runtime.onMessage.addListener(
      function(message) {
        const fname = message[0];
        const body = message[1];
    
        chrome.downloads.download({
          conflictAction: "overwrite",
          filename: fname,
          url: makeDataUrl(body),
        });
      });
    
  5. Visit chrome://extensions

  6. Enable Developer Mode

  7. Click the "Load unpacked" and select the extension directory

  8. If you need it in Incognito, click "Details" on the extension card and then enable "Allow in Incognito".

Example code: github.

(And, yes, this is how Facebook comments are back.)

Comment via: facebook, lesswrong, substack

Recent posts on blogs I like:

The odds are good and the goods are great

I stole the title and thesis of this post from the great etirabys and arguably I should just link her post.

via Thing of Things August 31, 2026

Bug blindness

I used to wonder why I see so many more bugs than most people. I easily observe hundreds to thousands of bugs per week and nothing seems to work, but most people I talk to don't see anything like this. For a long time, I thought this had something to …

via Posts on August 30, 2026

Microfictions 2

A few more microfictions, still no LLMs.

via Evan Fields August 7, 2026

more     (via openring)