<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tools and methods to save a webpage from the CLI (preferrably not single-file-cli)]]></title><description><![CDATA[<p dir="auto">I could really use a commandline mechanism for saving a webpage locally for offline viewing later. Saving the page in a single file is ideal.</p>
<h3>“singlefile”, the browser extension</h3>
<p dir="auto">For GUI users there is a quite useful extension (<a href="https://addons.mozilla.org/en-US/firefox/addon/single-file/" rel="nofollow ugc">single-file</a>). That can be run from the CLI by installing <a href="https://github.com/gildas-lormeau/single-file-cli" rel="nofollow ugc">single-file-cli</a>. But I am not enthusiastic about the bloaty option. You must first install some obscure package manager called “Deno”, which does not exist in the official Debian archives (thus has not proven to be worthy for mainstream public use, and also complicates every Debian upgrade). Then it uses JavaScript to instrument a bloaty GUI browser. Not great.</p>
<p dir="auto">Worth noting that there is <a href="https://github.com/nitincodery/org-dex.el" rel="nofollow ugc">Org-mode integration</a> but this does not get around the the non-Debian dependency on Deno.</p>
<h3>wget</h3>
<p dir="auto">A page can be fetched using this command:</p>
<pre><code>$ wget -U 'stopDiscriminatingAgainstWg3t' -c -P "$dir" -E -H -k -K --xattr -p "$url"
$ printf '%s' "$url" &gt; "$dir"/url.txt
</code></pre>
<p dir="auto">The <code>printf</code> is needed because <code>wget</code> just dumps a big tree of files with no indication of which file must be opened to render the whole page. Indeed it sucks. Saving the URL gives us a fighting chance at locating the file but it’s still a pain. And from there, the files are still scattered on your hard drive.</p>
<p dir="auto">There is a non-Debian tool called <a href="https://github.com/BitLooter/htmlark" rel="nofollow ugc">HTMLArk</a>. Again, I am not thrilled about non-Debian stuff. But it claims to be able to produce a single HTML file from a scattered collection of files. I have not tried it but in principle it can be used to tidy up the mess dumped by <code>wget</code>.</p>
<h3>ArchiveBox and Grunt-inline</h3>
<p dir="auto"><a href="https://github.com/ArchiveBox/ArchiveBox" rel="nofollow ugc">ArchiveBox</a> looks interesting. But it’s non-Debian so not exactly spot-on. Same issue with <a href="https://github.com/chyingp/grunt-inline" rel="nofollow ugc">Grunt-inline</a>. There is some <em>grunt</em> stuff in the Debian repos but not this tool specifically.</p>
<h3>webpages2html</h3>
<p dir="auto">This is <a href="https://github.com/zTrix/webpage2html" rel="nofollow ugc">a python script</a> but the script and its dependencies are non-debian. Requires using <code>pip</code> which is a disaster of a tool that is barely suitable for developers but hardly suitable for the end users who end up getting pushed into it.</p>
<h3>What else?</h3>
<p dir="auto">Any decent option I have overlooked?</p>
]]></description><link>https://forum.ieu.app/topic/a2775b32-c6fc-479e-8995-8121bde818c0/tools-and-methods-to-save-a-webpage-from-the-cli-preferrably-not-single-file-cli</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 18:28:38 GMT</lastBuildDate><atom:link href="https://forum.ieu.app/topic/a2775b32-c6fc-479e-8995-8121bde818c0.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Aug 2026 08:53:30 GMT</pubDate><ttl>60</ttl></channel></rss>