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:

Ozy at LessOnline!

I will once again be a guest at LessOnline, alongside many other writers whom you no doubt like less than you like me: Scott Alexander, dynomight, Georgia Ray, David Friedman, Nicholas Decker, Jacob Falkovich, Kelsey Piper, Alicorn, Aella, etc.

via Thing of Things March 23, 2026

Daycares and the Brown School

As someone in Somerville I notice that there are quite high prices regarding childcare. The average family in Somerville pays $1,100 to $3,500 for daycare per month, and I want to make the costs more affordable. I have also noticed that housing is quite …

via Lily Wise's Blog Posts March 22, 2026

2025-26 New Year review

This is an annual post reviewing the last year and setting intentions for next year. I look over different life areas (work, health, parenting, effectiveness, etc) and analyze my life tracking data. Highlights include a minimal group house, the usefulness…

via Victoria Krakovna January 19, 2026

more     (via openring)