Scroll to navigation

DOSAGE(1) General Commands Manual DOSAGE(1)


dosage - a comic strip downloader and archiver


dosage [options] module...


dosage is an application designed to keep a local mirror of specific web comics and other picture-based content, such as Picture Of The Day sites, with a variety of options for updating and maintaining collections.


Specifies a base path to put comic subdirectories. The default is Comics.
Specifies the base URL for output handlers. The default is a local file URI.
Traverses all available strips backwards from the current one. This can be useful you want a full collection of a new comic strip, or update an existing one where files are missing. Catchups can start at a specific strip by using the index syntax, see the INDEX SYNTAX and SPECIAL SYNTAX sections for more information. This is useful when you missed some days and want only to download the missing files.
Same as --all, but stop at the first existing image file. Useful for cron jobs that are not executed every day.
Output brief help information.
List available comic modules in multi-column fashion.
List available comic modules in single-column fashion.
Output module-specific help for MODULE.
OUTPUT may be any one of the following:

html - Writes out an HTML file linking to the strips actually downloaded in the current run, named by date (ala dailystrips). The files can be found in the html directory of your Comics directory.

rss - Writes out an RSS feed detailing what strips were downloaded in the last 24 hours. The feed can be found in Comics/dailydose.xml.

json - Write a JSON file with all download infos (URLs, images). Can be used with other scripts, eg. to add symbolic links.
This option can be given multiple times.
Print timestamps for all output at any level.
Increase the output level by one with each occurence.
Display the version number.
Vote for the selected comics to tell others that you like them. The sum of all votes for a comic will be displayed at the comic index pages at module At least one valid module must be specified. A list of valid modules can be found by passing the -l option. Multiple module arguments can be specified on the command line. Module names are case insensitive, and it is sufficient to specify a unique substring of the module name.


Instead of starting at the latest comic strip, an index lets dosage start at a certain strip. The index can be specified by appending a colon : and the index name after the module. Multiple comma-spearated indices can also be specified.

The index name itself usually is the part of the comic strip URL that identifiess a strip, eg. a number or a date. The expected format is documented when using the --modulehelp option.


This expands to mean all the comics currently in your Comics directory. All other specified comic module names will be ignored.
This expands to mean all the comics available to Dosage.

INDEX SYNTAX can not be used with SPECIAL SYNTAX.


Retrieve all Mega Tokyo comics:

dosage -a megatokyo

Retrieve the current comic of Cyanide and Happiness:

dosage cyanideandhappiness

Retrieve the current strip of all comics in your Comics directory:

dosage @

Vote for the comics in your Comics directory:

dosage --vote @

Retrieve the current strip of every comic that there is a module for:

dosage @@

Retrieve the Penny Arcade strip for a given index:

dosage pennyarcade:2004-07-22

Retrieve Calvin and Hobbes strips from a given index going backwards to the beginning.

dosage -a calvinandhobbes:2012/07/22


dosage will use the specified HTTP proxy when downloading URL contents.


Should retrieval fail on any given strip dosage will attempt to retry. However the retry information is only outputted in the second and successive output levels.

At the time of writing, a complete Dosage collection weighs in at around 3.0GB.


The return value greater than zero when

  • a program error occurred.
  • comics could not be found or downloaded
  • the program run was aborted with Ctrl-C

Else the return value is zero.


Users can report or view bugs, patches or feature suggestions at


Jonathan Jacobs, Tristan Seligmann, Bastian Kleineidam <>


Copyright © 2004-2005 Tristan Seligmann and Jonathan Jacobs
Copyright © 2012-2014 Bastian Kleineidam