PageKite can be used to expose a
finger server to the public, or to make an particular page (or set of pages) on an HTTP server available using the
This feature was added to allow people without public/fixed IP addresses to directly participate in Thimbl, an experimental distributed micro-blogging network.
Getting up and running with this snapshot of the 0.4 version of
pagekite.py is probably easiest for most people:
$ echo Plan: | tee .finger $ pagekite.py .finger httpfinger://ANYTHING.pagekite.me:/~USER/
You should now be able to finger yourself in another terminal with:
$ finger USER+ANYTHING.pagekite.me@ANYTHING.pagekite.me
If you don't already have a PageKite account, the program should walk you through the sign-up process. If you want to add this to an existing
pagekite.py 0.4.x configuration, put the
--add argument before the port number, or read on for more details on how to manually update an existing configuration file.
Note 2: Note that pagekite.net and pagekite.me are not a gratis service, but the trial period is generous and all our software is free and open source.
The 0.4.4 and 0.3.22 versions of
pagekite.py will add support for tunneling the
finger protocol, as well as support for serving finger requests using an HTTP server instead of a traditional finger daemon.
Until those versions are released, these features can be found on GitHub or in this development snapshot. Just keep in mind that (like Thimbl) this code is pretty new and experimental still. This snapshot has been tested on Ubuntu 11.04, and it may depend on you having a relatively recent version of Python.
If you don't want to use
pagekite.py's built in HTTPD, you will need either a
finger daemon or a web server.
See the Thimbl site for details on how to use this for micro-blogging.
If you already have a
finger daemon running on your computer, the following back-end definition will make it visible to the world:
People from outside will now be able to
finger your users using commands like this:
$ finger firstname.lastname@example.org
Note that the domain has to be embedded (repeated) in the user-name portion of the address, because the finger protocol lacks support for name-based virtual hosts. This is admittedly a bit ugly, but it does work.
If you would rather use a local web server than a real
finger daemon, you can use the
httpfinger psuedo-protocol instead of
finger in the back-end definition:
And optionally, you can provide a recipie for how to convert the user-name into a path on your server, like so:
# Default is /~%s/.finger = http://localhost/~USER/.finger fingerpath=/people/%s/.finger
Or if you want to respond to all users with the same file:
Whatever file that resolves to will be served as an answer to
finger requests, for that user. Note that you can write anything you like in this file, but formatting it similarly to a normal
finger response would probably be the polite thing to do.
If you want to run your own PageKite front-end and allow your users to run
finger servers of their own, you will need to:
httpfingerto your protocol list (or just use the defaults)
pagekite.pyas root, to get access to port 79.