publicfile home page
publicfile is a system for publishing public files. It implements
an http server and ftp server. It is secure, reliable, small, fast,
etc etc etc. Just like all of Dan Bernstein's tools. Dan has his own page for publicfile. We've got this one
so we can distribute our enhancements to publicfile.
Dan has a mailing list for
publicfile. The Aims Group has an archive.
A few people have contributed enhancements:
- Giles Lean wrote a patch which makes it send redirects instead of "404 access
denied" when directories are requested without a trailing slash.
- Uwe Ohse wrote FTPcopy, a
tool to mirror a publicfile site.
- Camiel Dobbelaar wrote a patch to publicfile which removes EPLF
support and replaces it with a /bin/ls FTP
listing, or something that looks like it anyway.
- Mark Peloquin wants his EPLF sorted.
- Uwe Ohse has a patch to get file
types from a set of environment variables. This may be used very
profitably with daemontools' envdir program.
- William Baxter wrote some derivative http
servers based on the publicfile code. This includes a CGI server,
a constant file server, and a redirect server.
- Mike DuChene has a patch to publicfile which gives it write capability under the user's
uid. It uses checkpassword for authentication.
- SHINYAMA Yusuke has a patch to publicfile which also gives it write
capability, but it doesn't switch userids, doesn't run as root, is
chrooted, and only allows users to store a file.
- Bruce Guenter has an otherwise-unrelated ftp daemon called twoftpd which uses
checkpassword for authentication. It's not a derivative of
publicfile.
- Laurent G. Bercot has withdrawn skahttpd from distribution. He
encourages people to use fnord
instead.
- Jay Soffian has written a patch to allow for Basic
Auth.
- William Baxter wrote ucspi-ssl,
along with a small patch to publicfile to get it to answer https
queries.
- custom
error messages and directory redirection support for publicfile
0.52. Custom html pages may be displayed instead of the default
one-line error messages given by default. In addition, user omission
of the trailing slash has been forgiven. Read the notes located at
the head of the patch.
- Tivano has three publicfile patches:
- publicfile-0.52-gzip-1.patch
- This patch enables "Content-Encoding" (gzip). If there is a compressed copy of the file available, it is returned instead of the uncompressed version, saving some bandwidth.
- publicfile-0.52-http10keepalive.patch
- This patch enables persistent connections for HTTP/1.0 requests as described in RFC 2616 section 19.6.2.
- publicfile-0.52-commonlog-2.patch
- This patch makes publicfile's httpd write additional log lines in Apache's common or combined format.
- Jeff King has written a patch to allow publicfile's content-type
determining mechanism to follow
symbolic links before examining a filename. The goal is to avoid
ugly URLs like http://host/foo.content=type; instead, I want
http://host/foo with the correct content-type.
Publicfile's ftp server uses a documented listing format which is
designed to be parsed. Some ftp clients have been modified to parse
this format. Some have patches to help them grokk it:
Russell Nelson
Last modified: Fri Apr 27 10:49:09 EDT 2007