Fingerプロトコルを使ってみる
概要
Smol Web関連のサイトを見ているとfinger://で始まるリンクを見ることがあり、ずっと昔に使われていた古いプロトコルということくらいしか知らなかったため実際に使ってみた。シンプルながらなかなか面白い仕組みであることがわかった。
目次
Fingerプロトコルとは
ホスト機にログインしているユーザーの情報を知るために80年代に使われていた。ユーザー名、最新ログイン日時、メールアドレスなどの情報や、ユーザーが自分のホームディレクトリに用意した.projectや.planファイルに書き込まれたテキストデータも表示することができるので仕事の予定やジョーク、日記などいろいろな情報を手軽に共有することができた。シンプルではあるが使い方によっては現代でいうSNSや、Teamsのプレゼンス機能と同じようなことができる仕組みだった。
実際に使ってみる
Fingerのサーバーを立ててもユーザーが自分一人では面白みは無いので、公開されているサーバーが無いか探したところユーザー登録可能なFingerサーバーを公開しているこのサイトを発見したので、これを利用させてもらうことにした。 単にFingerのサーバーというだけでなくWebからユーザー登録や情報更新ができる今風なシステムになっていた。
サーバにアカウント、表示用の情報を登録
まず、Webからアカウントを登録し用意されているWebAPIを使ってFingerで公開したい名前などの情報や、.planファイルにあたるデータをサーバーに送信した。なお登録用のコマンドはWebサイトで紹介されていた。
テスト用に牛のアスキーアートを表示するcowsayコマンドを送信(WindowsのWSLから実行)
T=`mktemp` && curl -so $T https://plan.cat/~shino && cowsay hello > $T && \
curl -su shino -F "plan=<$T" https://plan.cat/stdin
データの確認
確認する方法はfingerコマンド。Windows10にも最初から入っているようだった。
finger [email protected]
実行するとこんな感じに結果が返ってくる。
[plan.cat]
Login: shino Name: shinonome
Directory: /home/shino Shell: /bin/plan.cat
Last login Tue Mar 04 05:48:24 2025 UTC
No Mail.
Plan:
_______
< hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
サーバー全員の情報を見たいときはこのコマンド。
finger plan.cat
こんな風に一覧で表示される。
Login Name Login Time
shino shinonome Tue Mar 04 05:48 UTC
usera user a Tue Mar 04 01:57 UTC
userb user b Mon Mar 03 15:59 UTC
userc user b Mon Mar 03 14:34 UTC
...
plan.catの場合はWebのインターフェースも用意されているので登録するとこのページに一覧表示される。個人用のページも用意されていて、例えば私の作ったアカウントの情報はここから確認できる。
Fingerコマンドからしか参照できないというのも隠れ家的な面白さはあるが、plan.catの場合はブラウザからも参照できるので、例えば自己紹介としてWebサイトやSNSのリンクを載せたり日記を書いたりする用途にも使える。また、更新情報をRSSで配信しているので誰かが情報を更新したタイミングを知ることもできるので、思ったよりだいぶ実用的だった。
fingerのサーバにアクセス可能なブラウザ
fingerのサーバにアクセス可能なブラウザもあり、これを使うといい感じに情報を確認できる。例えば上で作った私の情報はfinger://plan.cat/shinoのURLでアクセスできる。
使ってみた感想
プロトコル自体はごくシンプルなものだが、サーバーはアカウントを作れるサーバーがいくつかあり使おうと思えば現在も使えることがわかった。レトロなインターフェースだが、データの送信や検索が非常に簡単なのでいろいろ遊べそうで調べてみてよかったと思っている。
似たような古いプロトコルGopherについてもいずれ調べてみたい。
参考情報
サーバを探したり、クライアントの使い方を調べたりするには以下のサイトの情報が参考になった。
