OnWorks favicon

webfsd - Online in the Cloud

Run webfsd in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command webfsd that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



webfsd - a lightweight http server


webfsd [ options ]


This is a simple http server for purely static content. You can use it to serve the
content of a ftp server via http for example. It is also nice to export some files the
quick way by starting a http server in a few seconds, without editing some config file


-h Print a short help text and the default values for all options. If used as last
option, the printout will reflect command line choices.

-4 Use IPv4 only.

-6 Use IPv6 only.

-d Enable debug output.

-s Write a start/stop notice and serious errors to the syslog. Specify this option
twice to get a verbose log (additional log events like dropped connections).

-t sec Set network timeout to >sec< seconds.

-c n Set the number of allowed parallel connections to >n<. This is a per-thread limit.

-a n Configure the size of the directory cache. Webfs has a cache for directory
listings. The directory will be reread if the cached copy is more than one hour
old or if the mtime of the directory has changed. The mtime will be updated if a
file is created or deleted. It will not be updated if a file is only modified, so
you might get outdated time stamps and file sizes.

-j Do not generate a directory listing if the index-file isn't found.

-y n Set the number of threads to spawn (if compiled with thread support).

-p port
Listen on port >port< for incoming connections.

-r dir Set document root to >dir<.

-R dir Set document root to >dir< and chroot to >dir< before start serving files. Note
that this affects the path for the access log file and pidfile too.

-f file
Use >file< as index file for directories. If a client asks for a directory, it
will get >file< as response if such a file exists in the directory and a directory
listing otherwise. index.html is a frequently used filename.

-n hostname
Set the hostname which the server should use (required for redirects).

-i ip Bind to IP-address >ip<.

-l log Log all requests to the logfile >log< (common log format). Using "-" as filename
makes webfsd print the access log to stdout, which is only useful together with the
-F switch (see below).

-L log Same as above, but additional flush every line. Useful if you want monitor the
logfile with tail -f.

-m file
Read mime types from >file<. Default is /etc/mime.types. The mime types are read
before chroot() is called (when started with -R).

-k file
Use >file< as pidfile.

-u user
Set uid to >user< (after binding to the tcp port). This option is allowed for root

-g group
Set gid to >group< (after binding to the tcp port). This option is allowed for
root only.

-F Don't run as daemon. Webfsd will not fork into background, not detach from
terminal and report errors to stderr.

-b user:pass
Set user+password for the exported files. Only a single username/password
combination for all files is supported.

-e sec Expire documents after >sec< seconds. You can use that to make sure the clients
receive fresh data if the content within your document root is updated in regular
intervals. Webfsd will send a Expires: header set to last-modified time plus >sec<
seconds, so you can simply use the update interval for >sec<.

-v Enable virtual hosts. This has the effect that webfsd expects directories with the
hostnames (lowercase) under document root. If started this way: "webfsd -v -r
/home/web", it will look for the file /home/web/ftp.foobar.org/path/file when asked
for http://ftp.FOObar.org:8000/path/file.

-x path
Use >path< as CGI directory. >path< is interpreted relative to the document root.
Note that CGI support is limited to GET requests. The first character in the path
string must be a slash!

-~ servdir
Enable access to user specific subdirectories, uniformly located below >subdir<. A
request for "/~user/path/file", is rewritten "$HOME/servdir/path/file", and is then
checked for existence. Here the user's home directory is retrieved from the system
in the standard manner from $HOME in the environment. Mark well, that user
specific requests are disabled completely, should this switch be missing. Since
user directories are most probably located outside of the server's root directory,
care is needed with this option.

-S Secure web server mode. Warning: This mode is strictly for https.

-C path
File to use as SSL certificate. This file must be in chained PEM format, and may
contain server certificate as well as RSA key, but the latter can equally well be a
separate entity, see -K.

-K path
File that contains the private key, if the key is not bundled with the certificate.

-A path
Optional file containing CA-certificate and certificate chain.

-V Apply a verification procedure to the client certificate and chain. These must, if
this option is chosen, be supplied by any client. Each chain member must pass
verification, and must in turn verify the next chain member. The validity time for
the client certificate is checked.

-Q ciphers
Specify acceptable cipher priorities for handshake, data exchange, etc. The
default value is NORMAL.

Webfsd can be installed suid root (although the default install isn't suid root). This
allows users to start webfsd chroot()ed and to bind to ports below 1024. Webfsd will drop
root privileges before it starts serving files.

Access control simply relies on Unix file permissions. Webfsd will serve any regular file
and provide listings for any directory it is able to open(2).

Use webfsd online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    libjpeg-turbo is a JPEG image codec
    that uses SIMD instructions (MMX, SSE2,
    NEON, AltiVec) to accelerate baseline
    JPEG compression and decompression on
    x86, x8...
    Download libjpeg-turbo
  • 2
    Xtreme Download Manager
    Xtreme Download Manager
    The project has a new home now:
    https://xtremedownloadmanager.com/ For
    https://github.com/subhra74/xdm Xtreme
    Download Manager is a powerful tool t...
    Download Xtreme Download Manager
  • 3
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Features:4:3 and 16:9 low resolution
    VGA outputPS/2 keyboard and mouse
    inputText-based user interface (TUI)
    with dialog managerPartial Unicode
    supportSlave dis...
    Download TTGO VGA32 Lite
  • 4
    Clover EFI bootloader
    Clover EFI bootloader
    Project has moved to
    Features:Boot macOS, Windows, and Linux
    in UEFI or legacy mode on Mac or PC with
    Download Clover EFI bootloader
  • 5
    Join us in Gitter!
    Enable the URPMS repository in your
    system -
    Download unitedrpms
  • 6
    Boost C++ Libraries
    Boost C++ Libraries
    Boost provides free portable
    peer-reviewed C++ libraries. The
    emphasis is on portable libraries which
    work well with the C++ Standard Library.
    See http://www.bo...
    Download Boost C++ Libraries
  • 7
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • More »

Linux commands