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:
[main]
port = 8008
count = 2
ip = 127.0.0.1
compressed = gz