|
|
FINGER PORTAL TO WORDPRESS BLOG |
|
|
|
|
|
|
|
2022-11-17 |
|
|
|
|
|
|
|
FINGER PRIMER |
|
|
|
|
|
|
|
The finger protocol, first standardised way back in 1977, is a lightweight |
|
|
|
directory system for querying resources on a local or remote shared system. |
|
|
|
Despite barely being used today, it's so well-established that virtually every |
|
|
|
modern desktop operating system - Windows, MacOS, Linux etc. - comes with a |
|
|
|
copy of finger, giving it a similar ubiquity to web browsers! (If you haven't |
|
|
|
yet, give it a go.) |
|
|
|
|
|
|
|
If you were using a shared UNIX-like system in the 1970s through 1990s, you |
|
|
|
might run finger to see who else was logged on at the same time as you, finger |
|
|
|
chris to get more information about Chris, or finger alice@example.net to look |
|
|
|
up the details of Alice on the server example.net. Its ability to transcend |
|
|
|
the boundaries of different systems meant that it was, after a fashion, an |
|
|
|
example of an early decentralised social network! |
|
|
|
|
|
|
|
I first actively used finger when I was a student at Aberystwyth University. |
|
|
|
The shared central computers osfa and osfb supported it in what was a pretty |
|
|
|
typical way: users could add a .plan and/or .project file to their home |
|
|
|
directory and the contents of these would be output to anybody using finger to |
|
|
|
look up that user, along with other information like what department they |
|
|
|
belonged to. I'm simulating from memory so this won't be remotely accurate, |
|
|
|
but broadly speaking it looked a little like this - |
|
|
|
|
|
|
|
$ finger dlq9@aber.ac.uk |
|
|
|
Login: dlq9 Name: Dan Q |
|
|
|
Directory: /users/9/d/dlq9 Department: Computer Science |
|
|
|
|
|
|
|
Project: |
|
|
|
Working on my BEng Software Engineering. |
|
|
|
|
|
|
|
Plan: |
|
|
|
_______ |
|
|
|
---' ____)____ |
|
|
|
______) Finger me! |
|
|
|
_____) |
|
|
|
(____) |
|
|
|
---.__(___) |
|
|
|
|
|
|
|
It's not just about a directory of people, though: you could finger printers |
|
|
|
to see what their queues were like, finger a time server to ask what time it |
|
|
|
was, finger a vending machine to see what drinks it had available... even |
|
|
|
finger for a weather forecast where you are (this one still works as shown |
|
|
|
below; try it for your own location!) - |
|
|
|
|
|
|
|
$ finger oxford@graph.no |
|
|
|
-= Meteogram for Oxford, Oxfordshire, England, United Kingdom =- |
|
|
|
'C Rain (mm) |
|
|
|
12 |
|
|
|
11 |
|
|
|
10 ^^^=--=-- |
|
|
|
9^^^ === |
|
|
|
8 ^^^=== ====== ^^^ |
|
|
|
7 ====== ===============^^^ =-- |
|
|
|
6 =--=----- |
|
|
|
5 |
|
|
|
4 |
|
|
|
3 | | | | | | | 1 mm |
|
|
|
17 18 19 20 21 22 23 18/11 02 03 04 05 06 07_08_09_10_11_12_13_14 Hour |
|
|
|
|
|
|
|
W W W W W W W W W W W W W W W W W W W W W W Wind dir. |
|
|
|
6 6 7 7 7 7 7 7 6 6 6 5 5 4 4 4 4 5 6 6 5 5 Wind(m/s) |
|
|
|
|
|
|
|
Legend left axis: - Sunny ^ Scattered = Clouded =V= Thunder # Fog |
|
|
|
Legend right axis: | Rain ! Sleet * Snow |
|
|
|
|
|
|
|
If you'd just like to play with finger, then finger.farm is a great starting |
|
|
|
point. They provide free finger hosting and they're easy to use (try finger |
|
|
|
dan@finger.farm to find me!). But I had something bigger in mind... |
|
|
|
|
|
|
|
FINGERING WORDPRESS |
|
|
|
|
|
|
|
What if you could finger my blog. I.e. if you ran finger blog@danq.me you'd |
|
|
|
see a summary of some of my recent posts, along with additional addresses you |
|
|
|
could finger to read the full content of each. This could be the world's first |
|
|
|
finger-to-WordPress gateway; y'know, for if you thought the world needed such |
|
|
|
a thing. Here's how I did it: |
|
|
|
* Installed efingerd; I'm using the Debian binaries. |
|
|
|
* Opened a hole in the firewall on port 79 so the outside world could access |
|
|
|
it (ufw allow 1965; utf reload). |
|
|
|
* The default configuration for efingerd acts like a "typical" finger server, |
|
|
|
but it's highly programmable to make it "smarter". I: |
|
|
|
|
|
|
|
Blanked /etc/efingerd/list to prevent any output from "listing" the |
|
|
|
server (finger @danq.me). |
|
|
|
Replaced the contents of /etc/efingerd/list and |
|
|
|
/etc/efingerd/nouser(which are run when a request matches, or doesn't match, a |
|
|
|
user account name) with a call to my script: |
|
|
|
/usr/local/bin/finger-to-wordpress "$3". $3 holds the username that was |
|
|
|
requested, so we can act on it. |
|
|
|
Created /usr/local/bin/finger-to-wordpress - a Ruby program that either |
|
|
|
(a) lists a selection of posts or (b) returns a specific post (stripping the |
|
|
|
HTML tags) |
|
|
|
|
|
|
 |
Screenshot showing finger blog@danq.me |
image/png |
|
|
|
|
|
|
In future, I might use some extra tags or metadata to enhance finger-friendly |
|
|
|
WordPress posts. The infrastructure's in place already (I already have tags |
|
|
|
that I use to make certain kinds of content available only via certain media - |
|
|
|
shh!). You might rightly as what the point is of this entire enterprise, of |
|
|
|
course, and you'd be well within your rights to ask such a question. But I |
|
|
|
think the best answer available is "because Dan". |
|
|
|
|
|
|
 |
Screenshot showing finger wp-finger@danq.me |
image/png |
|
|
|
|
|
|
If you want to see my blog in a whole new way, give it a go: run finger |
|
|
|
blog@danq.me on your computer and follow the instructions. |
|
|
|
|
|
|
|
LINKS |
|
|
|
|
|
|
 |
RFC742: NAME/FINGER (https://www.rfc-editor.org) |
|
|
 |
ComputerHope's guide to the finger command (https://www.computerhope.com) |
text/html |
|
 |
Aberystwyth University (https://www.aber.ac.uk) |
|
|
 |
Story of the Coke Vending Machine that answered to Finger. (https://www.cs.cmu.edu) |
text/plain |
|
 |
Finger.farm (https://finger.farm) |
|
|
 |
WordPress (https://wordpress.org) |
|
|
 |
efingerd repository from Debian (https://sources.debian.org) |
|
|
 |
Source code of my program that routes efingerd requests to WordPress (https://gist.github.com) |
|