راه‌اندازی باونسر آی‌آر‌سی

قبلا در مورد پروتکل چت اینترنتی بنام irc نوشته‌ام. اینبار در مورد znc (یک باونسر) و weechat و revolution irc می‌نویسم.

آی‌آر‌سی یک پروتکل قدیمی است که هنوز هم میان کاربران نرم‌افزار آزاد به خاطر سادگی‌اش محبوبیت دارد. بویژه از این جهت که در ترمینال یک سرور می‌توانید برنامه‌ی چت را باز کنید و از آن استفاده کنید. منتها سرور پیام‌ها را فقط به کاربرانی که در لحظه به سرور متصل هستند ارسال می‌کند و به تازه‌واردین (یا کسانی که اتصالشان قطع و وصل شده است) پیام‌های قبلی را ارسال نمی‌کند. برای رفع این مشکل قبلا از screen و irssi و نیز برای مدتی از thelounge استفاده می‌کردم. اما روش درست استفاده از یک «باونسر» آی‌آر‌سی است.

باونسر یک برنامه است که روی یک کامپیوتر همیشه روشن (مثلا یک رزبری‌پای در منزل) جا خوش کرده است و به نمایندگی از شما به اتاق‌های مختلف وصل می‌شود و همانجا حاضر می‌ماند و مکالمات را دریافت و ذخیره می‌کند. ما هم بجای وصل شدن به سرورهای اصلی به باونسر وصل می‌شویم که پیام‌های قبلی را ذخیره کرده است. وصل شدن به یک باونسر مثل وصل شدن به یک سرور آی‌آر‌سی است.

وضعیت فارسی‌نویسی در آی‌آر‌سی

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

znc

یکی از باونسرهای قدیمی و جاافتاده znc است. نصب این برنامه روی سرور اوبونتو کار تقریبا بی‌دردسری بود:

sudo apt install znc
sudo -u _znc znc --makeconf

دستور بالا برای تنظیم اولیه‌ی znc است (اوبونتو از یوزر _znc برای znc استفاده می‌کند). باید آدرس سرور مقصد و پورت و یک نام برای آن و نیز نیک‌نیم دلخواهمان را وارد کنیم. من مقادیر زیر را وارد کردم:

server name:	libera
server:		irc.libera.chat
server port:	6697
nick:		mehdix

از شما یک پسورد هم خواسته می‌شود برای اتصال به سرور که وارد کنید. بعد از اینها باید بشود یونیت systemd مربوطه را استارت کرد که البته روی اوبونتوی ۲۰ استارت نشد. علت هم نقص در کانفیگ systemd بود که اوبونتو برای znc اضافه کرده است که اصلاح کردم (هرچقدر یک سیستم عامل برنامه‌ها را کمتر دستکاری کند بهتر است):

# Edit /lib/systemd/system/znc.service
# Change this line:
ExecStart=/usr/bin/znc -f --datadir=/var/lib/znc/
# to:
ExecStart=/usr/bin/znc -f --datadir=/var/lib/znc/.znc/

کار بالا را می‌شود در یک خط هم انجام داد:

# sed 's/\/znc\//\/znc\/.znc\//' /lib/systemd/system/znc.service > /lib/systemd/system/znc.service

بعد از هر تغییر در فایل‌های systemd باید آنرا ریلود کرد:

# systemd --daemon-reload

مطمئن شوید znc در حال اجرا نیست و سرویس systemd را فعال و استارت کنید:

$ sudo killall znc
$ sudo systemctl enable --now znc.service

چرا سرور لیبرا چت؟

مدتی پیش مالک جدید برزگترین سرور آی‌آر‌سی بنام Freenode سیاست‌های جدیدی در پیش گرفت که منجر به ترک این شرکت توسط بخش بزرگی از کارمندان و راه‌اندازی Libera.Chat شد. فری‌نود هم اتاق هر کسی که اسم لیبرا چت آورد را بست. بخش مهمی از کامیونیتی هم به لیبراچت مهاجرت کرد.

کلاینت‌ها

برای اتصال به باونسر znc من سه برنامه را امتحان کردم که همگی بدون مشکل کار کردند: weechat و hexchat و revolution irc. از میان اینها weechat برای ترمینال است و hexchat برای ویندوز و لینوکس و revolution irc برای اندروید.

روی ویکی znc تنظیمات وی‌چت و نیز تنظیمات هگزچت دقیقا شرح داده شده، بنابراین از تکرار آن خودداری می‌کنم. روی اندروید من از برنامه‌ی آزاد و خوب revolution irc استفاده کردم (نصب از F-Droid). اتصال به باونسر هم ساده بود، کافی بود آدرس سرور و پورت و نیک و پسوردی که در ابتدا انتخاب کرده بودم وارد کنم. این هم نتیجه:

revolution irc

کانال مهدیکس روی لیبراچت (بعضی‌ها می‌خوانند لینود)

به بهانه‌ی این مقاله یک کانال آی‌آر‌سی روی لیبراچت برای خوانندگان این وبسایت ایجاد کردم. فقط کافی بود روی یکی از کلاینت‌هایی که بالاتر تنظیم کرده‌ام دستور زیر را اجرا کنم:

/join #mehdix.ir

از جایی که این کانال وجود نداشت ساخته شد (البته من پیشتر آی‌دی مهدیکس را روی لیبرا رجیستر کرده بودم). من این کانال را همواره باز نگه خواهم داشت. خواستید آی‌آر‌سی تمرین کنید دریغ نکنید.