خیلی پیش از الگوریتم‌ها، معیارهای تعامل و اعلان‌های بی‌پایان، اینترنت راهی فوق‌العاده ساده برای دیدن وضعیت دیگران داشت: Finger.

این پروتکل در سال ۱۹۷۱ در دانشگاه استنفورد شکل گرفت و بعدها در RFC 742 و سپس RFC 1288 استاندارد شد. Finger یک پروتکل مینیمال و متنیه که روی پورت ۷۹ TCP اجرا می‌شه. وقتی با دستور finger user@host یک کاربر رو بررسی می‌کنید، ماشین مقصد اطلاعات پایه‌ای درباره اون رو به‌همراه محتوای یک فایل متنی ساده به نام .plan برمی‌گردوند.

برنامه‌نویسان بزرگی مثل جان کارمک در دهه ۱۹۹۰ از فایل‌های .plan خود به‌عنوان یک لاگ توسعه شفاف و خام استفاده می‌کردند. اگر از IndieWeb، پروتکل‌های غیرمتمرکز یا مینیمالیسم ساده‌ی یونیکس لذت می‌برید، راه‌اندازی یک حضور Finger برای خودتون پروژه‌ای سرگرم‌کننده و کوتاهه که فقط در چند دقیقه انجام می‌شه.

فینگر در واقع برای چه ساخته شده بود؟ (فراتر از یک میکروبلاگ)

هرچند جامعه تکنولوژی امروز از فینگر به عنوان نخستین میکروبلاگ یاد می‌کند، اما تعریف رسمی آن در اسناد RFC 742 و RFC 1288 تحت عنوان «پروتکل اطلاعات کاربر Name/Finger» ثبت شده است.

هدف اولیه، ساخت شبکه اجتماعی نبود؛ بلکه ایجاد ابزاری برای استعلام وضعیت حضور کاربران راه دور روی شبکه. پیش از فینگر، سیستم‌هایی مثل WAITS فقط دستور ساده WHO را داشتند که شناسه پایانه و لاگین‌های نامفهوم برمی‌گردوند. فینگر استعلام‌ها رو انسانی کرد و اطلاعات زیر رو ارائه داد:

  • نام کامل و آدرس ایمیل.
  • مدت زمان بیکاری (Idle) ترمینال و موقعیت فیزیکی کاربر.
  • وضعیت آنلاین بودن لحظه‌ای برای اینکه بدونند آیا شخص در ساختمان حضور داره یا نه.

چرا به حاشیه رفت؟ حریم خصوصی و مهندسی اجتماعی

در اینترنت دهه‌های ۷۰ و ۸۰ میلادی که بر پایه اعتماد متقابل بود، انتشار عمومی اطلاعات کاربران یک قابلیت کاربردی محسوب می‌شد. اما با گذر زمان، فینگر به دو تهدید بزرگ تبدیل شد:

  1. شناسایی و مهندسی اجتماعی (Social Engineering): هکرها با ارسال کوئری به سرور شرکت‌ها، فهرست کامل نام کارمندان، ایمیل‌ها و الگوهای آدرس‌ها رو استخراج می‌کردند. این اطلاعات پایه‌ای برای جعل هویت و حملات فیشینگ هدفمند بودند.
  2. آسیب‌پذیری سرریز بافر (Buffer Overflow): در سال ۱۹۸۸ کرم موریس از باگ سرریز حافظه در پیاده‌سازی اولیه fingerd برای اجرای کدهای مخرب و نفوذ به ماشین‌های مقصد استفاده کرد.

همین مسائل باعث شد تا اواخر دهه ۹۰ مدیران سیستم پورت ۷۹ رو تقریبن در همه سرورها ببندند و فینگر از یک ابزار روزمره به یک نوستالژی مینیمال تبدیل شه.

مثال از صفحه وضعیت Finger با ظاهر مینیمال ترمینال

روش اول: راه‌اندازی بدون سرور (Happy Net Box)

اگر نمی‌خواید سرور مدیریت کنید یا پورت فایروال باز کنید، سرویس‌هایی مثل happynetbox.com یک رابط وب ساده ارائه می‌دهند که به شبکه Finger متصل می‌شه.

  1. یک حساب رایگان در happynetbox.com بسازید.
  2. وضعیت متنی، ASCII art یا گزارش روزانه‌تون رو در ویرایشگر مرورگر وارد کنید.
  3. تغییرات رو ذخیره کنید.

حالا هر کسی در دنیا می‌تونه وضعیت شما رو مستقیمن از ترمینال خودش بررسی کنه:

روش دوم: میزبانی روی سرور شخصی

اگر یک سرور Ubuntu دارید (VPS، سرور ابری یا سرور خانگی)، می‌تونید یک سرویس Finger بومی و امن اجرا کنید.

گام ۱: نصب openbsd-inetd و ffingerd

نسخه قدیمی fingerd در دهه ۱۹۸۰ مشکلات امنیتی داشت. روی توزیع‌های مدرن Debian/Ubuntu از ffingerd استفاده می‌شه؛ یک جایگزین امن و سازگار که مخصوص سرورهای عمومی طراحی شده .

1
2
sudo apt update
sudo apt install openbsd-inetd ffingerd finger -y

گام ۲: تنظیم Super-Server

فایل پیکربندی super-server رو باز کنید:

1
sudo nano /etc/inetd.conf

مطمئن بشید خط زیر وجود داره (یا خط فعلی finger رو با این جایگزین کنید):

1
finger stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/ffingerd

تغییرات رو ذخیره کنید (Ctrl+O, Enter, Ctrl+X) و سپس سرویس رو دوباره راه‌اندازی کنید:

1
sudo systemctl restart openbsd-inetd

گام ۳: ساخت فایل .plan

یک فایل .plan در دایرکتوری خونه‌ی کاربر خود بسازید و دسترسی خوندن عمومی به اون بدید تا کاربر nobody بتونه اون رو سرو کنه:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
cat <<'EOF' > ~/.plan
======================================================
  mazafard's terminal space
======================================================

--- 2026-08-19 ---
Serving plain text over port 79.
Minimalism over algorithms.

* Blog: https://blog.fard.pt
* X   : https://x.com/mazafard
EOF

chmod 644 ~/.plan

گام ۴: باز کردن پورت ۷۹ در فایروال

Finger روی پورت TCP ۷۹ کار می‌کند. ترافیک رو در UFW مجاز کنید:

1
2
sudo ufw allow 79/tcp
sudo ufw reload

اگر سرور شما روی یک سرویس ابری مثل Hetzner، AWS یا DigitalOcean است، مطمئن بشید که پورت TCP ۷۹ در گروه امنیتی یا فایروال ابری هم بازه.

گام ۵: تست تنظیمات

از لپ‌تاپ یا ترمینال دیگری، این دستور رو اجرا کنید:

1
finger yourusername@your-server-ip

اگر یک رکورد DNS A استاندارد (مثلن finger.yourdomain.com) به IP سرور شما اشاره کنه، می‌تونید از طریق دامنه هم آن رو تست کنید:

چرا امروز هم Finger رو استفاده کنیم؟

Finger سعی نداره جای ارتباطات مدرن رو بگیره. این یک artifact از تاریخ کامپیوتره که هنوز کاملن عملیه: متنی، مالک خود، بدون ردیابی و کاملن مستقیم.

این ترکیب سخته که نادیده گرفته شه. Finger یک پروتکل کوچک و صادقه که یادآور می‌شه اینترنت روزگاری شخصی‌تر، محلی‌تر و کمتر متمرکز بر جذب توجه بود.

اگر به دنبال یک پروژه کوچک و خاص‌اید که هیجان زیادی هم داشته باشد، Finger یکی از بهترین راه‌ها برای بازگردوندن کمی از آن اینترنت قدیمی به دنیای امروزه.