SingleFile can be launched from the command line by running it into a (headless) browser. It runs through Node.js as a standalone script injected into the web page instead of being embedded into a WebExtension. To connect to the browser, it can use Puppeteer or Selenium WebDriver. Alternatively, it can also emulate a browser with JavaScript disabled by using jsdom.
-
Make sure Chrome or Firefox is installed and the executable can be found through the
PATHenvironment variable. Otherwise you will need to set the--browser-executable-pathoption to help SingleFile locating it. As an alternative to Chrome and Firefox, you can use jsdom by setting the--back-endoption tojsdom. -
Install Node.js
-
Unzip the master archive somewhere on your disk in an empty folder and go into the
SingleFile-master/clidirectory.unzip master.zip .cd SingleFile-mastercd cli -
As an alternative to decompressing the master archive, you can clone the repository if
gitis installed on your machine and go into theSingleFile/clidirectory.git clone https://github.com/gildas-lormeau/SingleFile.gitcd SingleFilecd cli -
Install dependencies with npm (installed with Node.js).
npm install -
Make
single-fileexecutable (Linux/Unix/BSD etc.).chmod +x single-file -
To use Firefox instead of Chrome, you must download the Selenium WebDriver component (i.e.
geckodriverfor Firefox). Make sure it can be found through thePATHenvironment variable or theclifolder. Otherwise you will need to set the--web-driver-executable-pathoption to help WebDriver locating the executable. -
To use Puppeteer with Firefox, you must install the package
puppeteer-firefoxmanually by runningnpm install puppeteer-firefoxand set the--back-endoption topuppeteer-firefox.
-
Syntax
single-file <url> [output] [options ...] -
Display help
single-file --help -
Examples
- Dump the processed content of https://www.wikipedia.org into the console
single-file https://www.wikipedia.org- Save https://www.wikipedia.org into
wikipedia.html
single-file https://www.wikipedia.org wikipedia.html- Save https://www.wikipedia.org into
wikipedia.htmlwith Firefox instead of Chrome
single-file https://www.wikipedia.org wikipedia.html --back-end=webdriver-gecko
-
Build
docker build -t singlefile . -
Run
docker run singlefile "https://www.wikipedia.org" -
Run and pipe the result into a file
docker run singlefile "https://www.wikipedia.org" > wikipedia.html
SingleFile is licensed under AGPL. Code derived from third-party projects is licensed under MIT. Please contact me at gildas.lormeau <at> gmail.com if you are interested in licensing the SingleFile code for a commercial service or product.