Host Grabber is a web extension to find and download media files from a web page.

It was originally designed for Mozilla Firefox. It is somehow the successor of Image Host Grabber, with some differences thought:

Screenshots

The download view

The download view (selection menu)

The download view (remove menu)

The download view (retry menu)

The menu

The options page

The options page (following)

Install on Firefox   Firefox logo

You can install it from addons.mozilla.org.
From the version 0.7, a side-panel shows up the first time. You can close it without worrying about it. By default, Firefox opens the side-panel of every newly-installed extension that has one.

Install on Chrome / Chromium   Chrome logo

This extension is in alpha version for Chrome / Chromium.
The debug panel is only available on Firefox.

This extension is NOT available on the Chrome store.
The reason is that the developper does not accept to pay fees to Google to distribute the extension. It is not the amount of money (5$) but a matter of principle. This extension is free, it is not acceptable to pay Google to distribute it.

To install the extension on Chrome, download the last release, open a new tab in Chrome in and type chrome://extensions in the address bar, followed by Enter.

Then, drag and drop the ZIP file in the tab.
That’s it.

Usage

Simply browse a web page and right-click anywhere.
Then, click Host Grabber > Extract and Download.

Host Grabber will then analyze the source code, explore its content and finds download links. Once this step is complete, downloading starts. The analysis is performed against a dictionary that defines what and how to find download links.

It is also possible to download direct image links and download images from a selection on the page.

Browser Permissions

This extension needs to introspect the source code of the current web page to find files to download. By doing so, it could also access private information (such as usernames). It could, but it does not. The extension is only executed in your web browser and does not any of your data. For the record, Image Host Grabber used to work the same way. The only difference is that Firefox and Chrome now tell users what permissions a web extension requires.

You can find more information about permissions on the following pages:

Preferences

Here is a short description of the preferences.

Custom Sub-Directory Paths

Here are the available tags if you want to customize the download directory. You can mix these tags with constant values to build path.

Tag Description
%year% Replaced by the current year (4 digits).
%month% Replaced by the current month (2 digits).
%day% Replaced by the current day (2 digits).
%hour% Replaced by the current hour (2 digits).
%minute% Replaced by the current minutes (2 digits).
%domain% Replaced by the page’s URL domain.
%title% Replaced by the page’s title.

Example of custom pattern for a sub-directory: firefox/%year%-%month%/
The resulting name or path will always be truncated to not exceed 160 characters.

Notice

This web site is not about managing a centralized list of hosts. You can fork the original list, add your own hosts and contribute them through a pull request.

As the author of the extension, I will upgrade the web extension itself.
However, I do not intend nor want to manage everybody’s list. So, it is highly possible that a better list of hosts appears somewhere else.

Hosts Definitions

This page explains the various strategies available to find media files to download on a web page.

Debugging

The debug panel (for Firefox only)

In Firefox, there is a debugging panel to create, edit and test dictionary rules. You can access it with a right-click menu and by selecting Host Grabber > Show Debug Panel.

This panel remains open, no matter what tab is selected.
Once a rule is defined, it can be tested by browsing any web page. By clicking the Extract Links button, the page is analyzed with this single rule. Links are extracted, and displayed in a separate view, but nothing is downloaded. This is only to help writing dictionary items.

Reuse by Other Web Extensions

The first use case for this extension is to be invoked by a user through a menu or a shortcut. However, it may also be used by other web extensions through an API. They can indeed send a request to HG ++ so that it explores a given URL and downloads media files from it.

Here is a sample code showing how to invoke HG ++ from your own extension.
Notice that IG ++ does not return any response, it only explores the URL, opens its downloads view and retrieves the media files it found.

browser.runtime.sendMessage(
  '{1a70f086-e7b8-43da-8171-e3e5c532ad4f}',
  {
    req: 'explore-page',
    page: 'The URL of the page to explore.'
  }
);

Bugs, Feature Requests…

No bugs or feature request can be reported for the hosts.xml file.
For the extension itself, you can submit them here.