22120: Your Browsing History As A Self-Hosted Offline Internet

22120 is a tool to save your browser history as an offline archive, available for Linux, Microsoft Windows and macOS. Currently, it only supports Chrome-based web browsers, but its developer is investigating making this work for Firefox too.

22120 Internet offline archive

Using 22120 allows you to browse websites that you've previously visited, completely offline, without your web browser noticing the difference. You don't have to use it all the time - launch it when you want to save some web pages for offline browsing, then close it until you want to save more pages or visit the pages you've saved in offline mode.

Along with the web pages you visit, this tool also archives the web page resources exactly as they are sent to the browser, except for video, audio and websockets, at least for now. In case you use an ad blocker, it's worth noting that 22120 will not archive the blocked elements.

On the 22120 roadmap there's the ability to search the offline archive, a library server to serve the archive publicly, and distributed p2p web browser on IPFS. The developer is also investigating archiving streaming content, like audio and video, and web sockets.


Close Google Chrome, launch the 22120 binary and it will automatically launch Google Chrome with a new tab pointing to the 22120 local url (http://localhost:22120/) from where you can set the web browser in either save (to save the pages you visit from this moment going forward) mode or serve (to serve locally cached web pages) mode.

I struggled a bit to find out how to use 22120 with a Chromium-based web browser that's not Google Chrome because this information seems to be missing from its documentation. This is possible by launching the Chromium-based web browser of your choice using the --remote-debugging-port=9222 command line argument, e.g. for Chromium (the binary name may be different, depending on the Linux distribution you use - it may also be just chromium):

chromium-browser --remote-debugging-port=9222

Then you'll need to open a new tab and open http://localhost:22120 to control 22120.


Besides setting 22120 in save or serve mode, from the 22120 settings page (http://localhost:22120) you can also set the system path of the archive (which on Linux defaults to a folder called 22120-arc in the home directory) and view the archive index - a list of URLs saved as your offline Internet library. There's also an option to search your archive, but this feature does not work yet.

22120 archive index
Pages saved for offline browsing by 22120

22120 supports some command line arguments that allow changing the server port, launch it in save or serve mode, specify a different Chrome port, and specify the library path:

Args usage: <server_port> <save|serve> <chrome_port> <library_path>

The tool also offers the posibility of blacklisting some domains, so they are not archived. This is done by creating a file called no.json inside the 22120-arc folder (by default, this is in your home directory on Linux) with the following contents:






Where * matches 0 or more anything, and ? matches 0 or 1 anything. In case you have multiple archives, create a no.json file for each of them.

Download 22120

On the 22120 releases page you'll find binaries for Linux (32 and 64 bit), Microsoft Windows and macOS. You can also run it from source. A Chrome extension is also on the way.

You may also like:

via hn