Woof is a small simple webserver that can easily be invoked on a single file. A client can access the file with tools he trusts (e.g. wget). No need to enter passwords on keyboards where you don’t know about keyboard sniffers, no need to start a huge lot of infrastructure, just do a
$ woof filename
and tell the recipient the URL woof spits out. When he got that file, woof will quit and everything is done.

And when someone wants to send you a file, woof has a switch to offer itself, so he can get woof and offer a file to you.

Prerequisites and usage

Woof needs Python on a unix’ish operating system. Some people have used it successfully on Windows within the cygwin environment.
Usage: woof [-i <ip_addr>] [-p <port>] [-c <count>] <file>
woof [-i <ip_addr>] [-p <port>] [-c <count>] [-z|-j|-Z|-u] <dir>
woof [-i <ip_addr>] [-p <port>] [-c <count>] -s
woof [-i <ip_addr>] [-p <port>] [-c <count>] -U

Serves a single file <count> times via http on port <port> on IP
address <ip_addr>.
When a directory is specified, an tar archive gets served. By default
it is gzip compressed. You can specify -z for gzip compression,
-j for bzip2 compression, -Z for ZIP compression or -u for no compression.
You can configure your default compression method in the configuration
file described below.

When -s is specified instead of a filename, woof distributes itself.

When -U is specified, woof provides an upload form and allows uploading files.

defaults: count = 1, port = 8080

You can specify different defaults in two locations: /etc/woofrc
and ~/.woofrc can be INI-style config files containing the default
port and the default count. The file in the home directory takes
precedence. The compression methods are “off”, “gz”, “bz2” or “zip”.

Sample file:

port = 8008
count = 2
ip =
compressed = gz


  • woof2009-12-27: Upload functionality, quite some code cleanup.
  • woof – 2009-02-27: minor fix.
  • woof – 2009-02-17: support for zip (without temp files!).
  • woof – 2009-02-13: support for bz2, no dependency on an external “tar”.
  • woof – 2007-01-20: ancient woof version.
  • g33kadmin

    I am a g33k, Linux blogger, developer, student and Tech Writer for Liquidweb.com/kb. My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....

    Leave a Reply

    This site uses Akismet to reduce spam. Learn how your comment data is processed.