servedir: serve a directory over HTTP from behind NAT
=====================================================
`servedir` is a tiny Ruby program used to serve a directory over HTTP from
boxes that are behind a NAT (most ADSL users).
`servedir` does not require any additional library and is compatible with
Ruby 1.8.7, Ruby 1.9.3 and JRuby.
This program will not try to open ports on the NAT gateway: it expects ports
to be already configured in the proper way.
Installation
------------
`servedir` do not require installation, it is a single standalone executable
script.
However, if desired, it is possible to install `servedir` via RubyGems:
$ gem install servedir
Usage
-----
On the box behind NAT:
$ servedir ~/Public 13428
Server starting... (CTRL-C to terminate)
local address:
public address:
[2012-02-11 13:24:01] INFO WEBrick 1.3.1
[2012-02-11 13:24:01] INFO ruby 1.8.7 (2010-01-10) [x86_64-linux]
[2012-02-11 13:24:01] INFO WEBrick::HTTPServer#start: pid=8207 port=13428
From another computer:
$ w3m -dump http://84.136.123.62:13428/
Index of /
Name Last modified Size
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Parent Directory 2012/02/11 13:28 -
bus timetable.pdf 2011/10/09 11:04 136856
facesofprotest.pdf 2011/04/09 15:15 5531985
Country pictures 2010/ 2011/04/12 22:41 -
fav_webradios.xml 2009/10/28 17:20 854
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WEBrick/1.3.1 (Ruby/1.8.7/2010-01-10)
at localhost:13428
Private files
-------------
It is possible to block access to private files and also hide them from the
directory listing. The list of private files must resides a file named
`.private` in the served directory; each line must be either a file name or a
glob pattern.
Authors
-------
* Gioele Barabucci
Acknowledgements
----------------
The external IP is retrieved via the [whatismyip.com](http://whatismyip.com)
automation service. Please read and follow the
[rules concerning automated retrieval](http://www.whatismyip.com/faq/automation.asp);
do not abuse their service.
License
-------
This is free and unencumbered software released into the public domain.
See the `UNLICENSE` file or for more details.