.TH man 1 "2026-06-08" "0.18.2" "Profanity XMPP client" .SH "نام (NAME)" profanity \- یک کلاینت سادهٔ گفتگوی XMPP مبتنی بر کنسول. .SH "خلاصه دستور (SYNOPSIS)" .B profanity [\-vh] [\-l level] [\-a account] .SH "توضیحات (DESCRIPTION)" .B Profanity یک کلاینت ساده و سبک‌وزن گفتگوی XMPP مبتنی بر کنسول است. تمرکز آن بر ارائه یک رابط کاربری خط فرمانی ساده و قابل پیکربندی است؛ صفحهٔ خانگی آن را ببینید در: .br .PP .SH "گزینه‌ها (OPTIONS)" .TP .BI "\-v, \-\-version" نمایش نسخه و اطلاعات ساخت. .TP .BI "\-h, \-\-help" نمایش راهنمای آرگومان‌های خط فرمان. .TP .BI "\-a, \-\-account "ACCOUNT اتصال خودکار به یک حساب کاربری هنگام راه‌اندازی، .I ACCOUNT باید یک حساب موجود باشد. .TP .BI "\-c, \-\-config" استفاده از یک فایل پیکربندی جایگزین. .TP .BI "\-l, \-\-log "LEVEL تعیین سطح ثبت لاگ، .I LEVEL می‌تواند روی DEBUG ،INFO (پیش‌فرض) ،WARN یا ERROR تنظیم شود. .TP .BI "\-f, \-\-logfile" مشخص کردن یک فایل لاگ متفاوت. .TP .BI "\-r, \-\-cmd" مشخص کردن دستوراتی که باید بلافاصله پس از راه‌اندازی اجرا شوند. این گزینه می‌تواند چندین بار مشخص شود، مانند: .EX profanity --cmd /foo --cmd "/sleep 10" --cmd /quit .EE .TP .BI "\-t, \-\-theme "THEME مشخص کردن تم مورد استفاده. .I THEME باید یکی از تم‌های نصب‌شده در $XDG_CONFIG_HOME/profanity/themes باشد. .SH "کلیدهای میان‌بر (KEYBINDINGS)" .TP .BR Tab , " Shift+Tab" تکمیل خودکار بعدی، قبلی. برای دستورها، نام‌های مستعار و نقل‌قول‌ها (هنگامی که خط ورودی با .BR > شروع می‌شود) کار می‌کند. .TP .BR ALT+1..Alt-0 " or " F1..F10 انتخاب پنجره ۱ تا ۱۰. .TP .BR ALT+q..Alt-p " (in QWERTY layout)" انتخاب پنجره ۱۱ تا ۲۰. .TP .BI ALT+LEFT انتخاب پنجره گفتگوی قبلی. .TP .BI ALT+RIGHT انتخاب پنجره گفتگوی بعدی. .TP .BI PAGEUP پیمایش پنجره فعال به بالا. .TP .BI PAGEDOWN پیمایش پنجره فعال به پایین. .TP .BI ALT+PAGEUP پیمایش پنل اعضا یا فهرست مخاطبان (roster) به بالا. .TP .BI ALT+PAGEDOWN پیمایش پنل اعضا یا فهرست مخاطبان به پایین. .TP .BI ALT+UP " or " ALT+WHEEL UP پیمایش به بالا. نکته: پشتیبانی محدود از پیمایش با چرخ ماوس؛ اگر می‌دانید چگونه برای سایر ترمینال‌ها پشتیبانی اضافه کنید، لطفاً با توسعه‌دهندگان تماس بگیرید. .TP .BI ALT+DOWN " or " ALT+WHEEL DOWN پیمایش به پایین. نکته بالا را ببینید. .TP .BI ALT+a پرش به پنجره خوانده‌نشده بعدی. .TP .BI ALT+v علامت‌گذاری پنجره جاری با یک نشان توجه برای خواندن در آینده. .TP .BI ALT+m جابجایی بین پنجره‌های علامت‌گذاری‌شده با نشان توجه. .TP .BI ALT+ENTER افزودن نویسه خط جدید بدون ارسال پیام یا دستور. .TP .BI ALT+c اجرای ویرایشگر خارجی (نگاه کنید به .BR profanity-editor (1)) برای خط ورودی جاری. .TP .BI CTRL+DOWN ذخیره خط ورودی جاری در تاریخچه بدون اجرای آن. .PP .I نکته: برنامه Profanity از کتابخانه GNU Readline برای مدیریت ورودی استفاده می‌کند، بنابراین فایل پیکربندی پیش‌فرض .I ~/.inputrc بر عملکرد آن اثر می‌گذارد. علاوه بر آن، فایل .I $XDG_CONFIG_HOME/profanity/inputrc پس از تنظیم همه میان‌برهای پیش‌فرض خوانده می‌شود، بنابراین می‌توان در آنجا تنظیمات را بازنویسی کرد یا افزود. برای ارجاع، مستندات Readline را ببینید: .I "info readline ""Command Line Editing"" ""Readline Init File"" ""Readline Init File Syntax""" و فهرست دستورات موجود Profanity در .IR inputwin.c . کلیدهای میان‌بر استاندارد Readline پشتیبانی می‌شوند، از جمله .B C-r برای جستجوی تعاملی تاریخچه و .B C-x C-r برای بارگذاری دوبارهٔ inputrc بدون راه‌اندازی مجدد. .SH "استفاده از PROFANITY (USING PROFANITY)" نخستین گام اتصال به یک سرور XMPP است. دستورات \fB/connect\fR و \fB/account\fR می‌توانند برای راه‌اندازی حساب‌های XMPP در profanity (نگاه کنید به .BR profanity-connect (1) و .BR profanity-account (1)) با یک حساب XMPP موجود به کار روند. دستور \fB/register\fR می‌تواند برای ثبت‌نام یک حساب در یک سرور استفاده شود: .BR profanity-register (1) دستور \fB/help commands connection\fR را در profanity اجرا کنید تا دستورات بیشتری برای مدیریت اتصال شما نمایش داده شود. .PP فهرست مخاطبان (roster) همان دفترچه نشانی شما است. به‌طور پیش‌فرض، فهرست مخاطبان در «پنجره ۱» که همان \fB/console\fR در profanity است نشان داده خواهد شد. پنهان کردن آن با \fB/roster hide\fR و نمایش آن با \fB/roster show\fR در کنسول profanity امکان‌پذیر است. مخاطبان را می‌توان با \fB/roster add JID\fR افزود. .PP برای مشاهده وضعیت برخط مخاطبان، می‌توان از دستور \fB/sub\fR برای مدیریت اشتراک وضعیت حضور مخاطبان استفاده کرد. دستور \fB/sub request\fR یک درخواست ارسال می‌کند. دستور \fB/sub allow\fR برای تایید درخواست اشتراک یک مخاطب به کار می‌رود. از \fB/help commands roster\fR برای دریافت فهرستی از دستوراتی که می‌توانند برای مدیریت فهرست مخاطبان استفاده شوند کمک بگیرید. .PP پنجره‌های باز گفتگو با دستور \fB/wins\fR نشان داده می‌شوند. پرش به یک پنجره می‌تواند از طریق \fB/win NUMBER\fR یا \fB/win JID\fR انجام شود. برنامه profanity از تکمیل خودکار با کلید TAB پشتیبانی می‌کند. . دستور \fB/msg\fR می‌تواند برای آغاز گفتگو با یک مخاطب به کار رود. گفتگوهای گروهی را می‌توان با دستور \fB/join\fR ملحق شد یا در نشانک‌های (bookmarks) حساب مدیریت کرد. .PP اگر گفتگوی گروهی در نشانک‌ها ذخیره شده باشد، می‌توان آن را روی پیوستن خودکار تنظیم کرد. اگر پیوستن خودکار خاموش باشد، از \fB/bookmark join\fR برای پیوستن به گفتگوی گروهی استفاده کنید. دستورهای \fB/sendfile\fR و \fB/url\fR می‌توانند برای به‌اشتراک‌گذاری و بارگیری فایل‌ها به کار روند. برای نقل‌قول پیامی موجود در پنجره گفتگو، > را وارد کرده و کلید TAB را فشار دهید. .PP راهنمای کاربر را می‌توان در نشانی یافت. .SH "رمزنگاری (ENCRYPTION)" پروگرام Profanity از انواع مختلف رمزنگاری پشتیبانی می‌کند: OMEMO، OTR، PGP، OX. در هر زمان برای هر مخاطب تنها می‌توانید یکی از آن‌ها را فعال کنید. .TP .BR OMEMO پروتکل OMEMO (/omemo) در XEP-0384 تعریف شده است. این پروتکل از پیاده‌سازی پروتکل Signal برای مدیریت کلیدها و همگام‌سازی پیام‌ها میان کلاینت‌های مختلف بهره می‌برد. این روش حتی زمانی که سایر کلاینت‌ها آفلاین هستند نیز کار می‌کند و رازداری پیشرو کامل (Perfect Forward Secrecy) و انکارپذیری موجه (Plausible deniability) را فراهم می‌کند. سرورها باید از PEP (XEP-0163) پشتیبانی کنند. ما نسخه «siacs» از OMEMO را پیاده‌سازی کرده‌ایم: نگارش 0.3.0 که در حال حاضر گسترده‌ترین گزینه پذیرفته‌شده است. قابلیت OMEMO تنها گزینه رمزنگاری در Profanity است که از رمزنگاری گفتگوهای گروهی MUCs (XEP-0045) و انتقال فایل از طریق بارگذاری HTTP (XEP-0363) نیز پشتیبانی می‌کند. .TP .BR OTR پروتکل OTR (/otr) در XEP-0364 تعریف شده است. این روش از ترکیبی از الگوریتم کلید متقارن AES، تبادل کلید Diffie–Hellman و تابع هش SHA-1 استفاده می‌کند. این پروتکل احراز هویت انکارپذیر و رازداری پیشرو کامل را فراهم می‌کند. برای راه‌اندازی یک نشست، هر دو کلاینت باید هم‌زمان برخط باشند. یک نشست میان دو کلاینت است، بنابراین گفتگوهای چندکلاینتی کار نمی‌کنند؛ که این یک قابلیت است نه یک باگ. پروتکل OTR ذاتاً برای MUCها کار نمی‌کند. .TP .BR OpenPGP پروتکل OpenPGP (/pgp) در XEP-0027 تعریف شده است. از کلید عمومی و خصوصی استفاده می‌کند. همچنین با نام Legacy OpenPGP شناخته می‌شود و منسوخ شده است. این روش در برابر حملات بازپخش (replay attacks) محافظتی ارائه نمی‌دهد. گفتگوهای MUC و انتقال فایل از طریق بارگذاری HTTP در آن مشخص نشده‌اند و بنابراین پشتیبانی نمی‌شوند. .TP .BR OX پروتکل OX (/ox) در XEP-0373 و XEP-0374 تعریف شده است. این یک روش مدرن‌تر برای استفاده از OpenPGP روی XMPP است و کاستی‌های نسخه قدیمی XEP-0027 را برطرف می‌کند. سرورها باید از PEP (XEP-0163) پشتیبانی کنند. گفتگوهای MUC و انتقال فایل از طریق بارگذاری HTTP در آن مشخص نشده‌اند و بنابراین پشتیبانی نمی‌شوند. .TP .BR DETAILS برای جزئیات بیشتر XEPهای مربوطه را مطالعه کرده و به نمای کلی در نگاهی بیندازید. .SH "اصطلاحات (TERMINOLOGY)" برخی اصطلاحات ویژه XMPP وجود دارند که ممکن است برای کاربران تازه ناشناخته باشند. ما سعی می‌کنیم آن‌ها را در اینجا توصیف کنیم زیرا اغلب در راهنما و صفحات man به آن‌ها ارجاع داده می‌شود. .TP .BR JID مخفف Jabber ID است و به یک نشانی XMPP اشاره دارد. از نظر تاریخی XMPP با عنوان Jabber نیز شناخته می‌شد. .TP .BR MAM مخفف Message Archive Management (XEP-0313) است و توانایی ذخیره پیام‌ها بر روی سرور و بازیابی بعدی آن‌ها را توصیف می‌کند. .TP .BR MUC مخفف Multi-User Chats (XEP-0045) است و به آن‌ها گروه‌ها، گفتگوهای گروهی، اتاق‌های گفتگو یا کنفرانس‌ها نیز گفته می‌شود. .TP .BR Roster دفترچه یا فهرست مخاطبان شما است. به‌طور پیش‌فرض در سمت راست پنجره کنسول نمایش داده می‌شود. به RFC6121 مراجعه کنید. .TP .BR XEP پروتکل XMPP یک پروتکل توسعه‌پذیر است. قابلیت‌های هسته و قابلیت‌های اختیاری در پروتکل‌های گسترش XMPP، به اختصار XEPها، شرح داده شده‌اند. .PP انواع مختلفی از پیام‌ها وجود دارد: .TP پیام‌های 1:1 پیام‌های معمولی از یک طرف به طرف دیگر، از یک JID به JID دیگر هستند. اغلب طرف مقابل به فهرست مخاطبان شما افزوده شده است. .TP پیام‌های MUC پیام‌هایی از یک طرف به یک گفتگوی گروهی هستند. .TP پیام‌های MUC PM (پیام‌های خصوصی MUC) پیام‌هایی از یک طرف به طرف دیگری هستند که در همان گفتگوی گروهی حضور دارند. ممکن است JID این شخص را در فهرست مخاطبان خود نداشته باشید یا اصلاً از JID او آگاه نباشید. ارتباط بر روی MUC از طریق نام مستعار (nick) صورت می‌گیرد. فقط این دو طرف می‌توانند پیام را ببینند. در کلاینت اندرویدی Conversations این ویژگی با عنوان "whispering" (نجوا) نشان داده می‌شود. اگر کاربری یک MUC را ترک کند، کاربر دیگری می‌تواند با همان نام مستعار وارد MUC شود مگر اینکه نام مستعار ثبت شده باشد؛ که اغلب این‌طور نیست. .SH "همچنین ببینید (SEE ALSO)" خود .B Profanity دارای راهنمای داخلی فراوانی است. دستور .I /help را برای اطلاعات بیشتر بررسی کنید. عبارت "/help help" را برای دریافت اطلاعات درباره چگونگی استفاده از خودِ راهنما وارد کنید. برنامه Profanity به همراه یک صفحه man برای هر دستور داخلی عرضه می‌شود، برای نمونه .BR profanity-account (1) برای .IR /account موجود است. .SH "پیکربندی (CONFIGURATION)" تنظیمات .B Profanity در .I $XDG_CONFIG_HOME/profanity/profrc ذخیره می‌شود. جزئیات دستورات مربوط به پیکربندی Profanity را می‌توان در یا در راهنماهای داخلی یا صفحات man مربوطه یافت. .SH "گزارش باگ‌ها (BUGS)" باگ‌ها را می‌توان با ایجاد یک issue در ردیاب مشکلات گیت‌هاب گزارش کرد: .br .PP .br .PP یا به فهرست پستی در نشانی زیر ارسال نمود: .br .PP .br .SH "کپی‌رایت و تکثیر (COPYRIGHT)" حق نشر (C) 2012 \- 2019 متعلق است به James Booth . حق نشر (C) 2019 \- 2026 متعلق است به Michael Vetter . مجوز GPLv3+: گنو GPL نسخه ۳ یا بالاتر این یک نرم‌افزار آزاد است؛ شما در تغییر و بازتوزیع آن آزاد هستید. تا حد مجاز قانون، هیچ‌گونه ضمانتی وجود ندارد. .SH "نویسندگان (AUTHORS)" .B Profanity توسط James Booth ایجاد شده است .B به همراه مشارکت‌های بسیار از سوی دیگران؛ فهرست کامل را در نشانی زیر مشاهده کنید: