.\" Generated by scdoc 1.11.4 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "soju" "1" "2025-11-13" .PP .SH "نام (NAME)" .PP soju \- باونسر IRC .PP .SH "خلاصه دستور (SYNOPSIS)" .PP \fBsoju\fR [options.\&.\&.\&] .PP .SH "توضیحات (DESCRIPTION)" .PP دستور soju یک باونسر (bouncer) کاربرپسند برای IRC است.\& این برنامه از طرف کاربر به سرورهای بالادستی IRC متصل می‌شود تا امکانات بیشتری را فراهم کند.\& .PP .PD 0 .IP \(bu 4 اشتراک‌گذاری همزمان یک باونسر توسط چندین کاربر مجزا، که هر کدام سرورهای بالادستی خود را دارند .IP \(bu 4 ارسال تاریخچه پیام‌های پیشین (پیام‌های دریافتی هنگام قطع بودن اتصال کاربر از باونسر)، با بافرهای مجزا به ازای هر کلاینت .PD .PP برای اتصال به باونسر، از نام کاربری و گذرواژه باونسر استفاده کنید.\& جهت استفاده از کلاینتی که از افزونه IRC با نام \fIsoju.\&im/bouncer-networks\fR پشتیبانی نمی‌کند، برای هر سرور پیکربندی‌شده در soju یک اتصال برقرار کرده و نام شبکه را در نام کاربری به صورت "/" مشخص کنید.\& سپس می‌توانید به کانال‌ها ملحق شده یا از آن‌ها خارج شوید، درست مانند اینکه مستقیماً به سرور بالادستی متصل هستید.\& .PP برای فعال بودن تاریخچه پیام‌ها به ازای هر کلاینت در کلاینت‌هایی که از افزونه IRCv3 با نام \fIchathistory\fR پشتیبانی نمی‌کنند، کلاینت‌ها باید نام خود را مشخص کنند.\& این کار را می‌توان با افزودن پسوند "@" به نام کاربری انجام داد.\& .PP هنگام ملحق شدن به یک کانال، کانال ذخیره شده و در اتصال بعدی به صورت خودکار به آن ملحق می‌شوید.\& هنگام ثبت‌نام یا احراز هویت در NickServ، اطلاعات هویتی ذخیره شده و در صورتی که سرور از SASL پشتیبانی کند، در اتصال بعدی به صورت خودکار استفاده می‌شود.\& هنگام ترک کانال با دلیل "detach"، کانال به جای خروج کامل، جدا (detach) می‌شود.\& .PP اگر شبکه مشخص‌شده در نام کاربری وجود نداشته باشد و نام شبکه یک نام میزبان معتبر باشد، آن شبکه به صورت خودکار اضافه خواهد شد.\& .PP هنگامی که همه کلاینت‌ها از باونسر قطع شوند، کاربر به صورت پیش‌فرض و خودکار به عنوان غایب (away) علامت‌گذاری می‌شود.\& .PP برنامه soju با دریافت سیگنال HUP، فایل پیکربندی، گواهی/کلید TLS و فایل MOTD را مجدداً بارگذاری خواهد کرد.\& گزینه‌های پیکربندی \fIlisten\fR، \fIdb\fR و \fIlog\fR قابل بارگذاری مجدد نیستند.\& .PP مدیران سیستم می‌توانند پیامی را با \fI/notice $ \fR به همه کاربران باونسر همگانی (broadcast) کنند، یا در صورتی که اتصال مقید به شبکه خاصی نباشد از طریق \fI/notice $* \fR اقدام کنند.\& همه کاربران متصل فعلی باونسر، پیام را از سرویس ویژه \fIBouncerServ\fR دریافت خواهند کرد.\& .PP .SH "گزینه‌ها (OPTIONS)" .PP \fB-h, -help\fR .RS 4 نمایش پیام راهنما و خروج.\& .PP .RE \fB-config\fR .RS 4 مسیر فایل پیکربندی.\& در صورت تنظیم نشدن، از فایل پیکربندی پیش‌فرض استفاده می‌شود.\& .PP .RE \fB-debug\fR .RS 4 فعال‌سازی گزارش‌گیری اشکال‌زدایی (این کار اطلاعات حساسی مانند گذرواژه‌ها را فاش می‌کند).\& این تنظیم می‌تواند در زمان اجرا با دستور سرویس \fIserver debug\fR بازنویسی شود.\& .PP .RE \fB-listen\fR .RS 4 شناسه URI شنود (پیش‌فرض: ":6697").\& می‌تواند چندین بار مشخص شود.\& .PP .RE .SH "فایل پیکربندی (CONFIG FILE)" .PP فایل پیکربندی در هر خط شامل یک دستورالعمل (directive) است.\& .PP مثال: .PP .nf .RS 4 listen ircs:// tls cert\&.pem key\&.pem hostname example\&.org .fi .RE .PP دستورالعمل‌های زیر پشتیبانی می‌شوند: .PP \fBlisten\fR .RS 4 شناسه URI شنود (پیش‌فرض: ":6697").\& .PP شناسه‌های URI زیر پشتیبانی می‌شوند: .PP .PD 0 .IP \(bu 4 \fI[ircs://][host][:port]\fR با TLS روی TCP شنود می‌کند (پورت پیش‌فرض در صورت حذف: 6697) .IP \(bu 4 \fIirc://localhost[:port]\fR به صورت متن ساده روی TCP شنود می‌کند (پورت پیش‌فرض در صورت حذف: 6667، میزبان باید "localhost" باشد) .IP \(bu 4 \fIirc+insecure://[host][:port]\fR به صورت متن ساده روی TCP شنود می‌کند (پورت پیش‌فرض در صورت حذف: 6667) .IP \(bu 4 \fIunix://\fR روی یک سوکت دامنه یونیکس (Unix domain socket) شنود می‌کند .IP \(bu 4 \fIhttps://[host][:port]\fR برای اتصالات HTTPS شنود می‌کند (پورت پیش‌فرض: 443) و به درخواست‌های زیر رسیدگی می‌نماید: .RS 4 .IP \(bu 4 \fI/socket\fR برای وب‌سوکت (WebSocket) .IP \(bu 4 \fI/uploads\fR (و زیرپوشه‌ها) برای بارگذاری فایل .RE .IP \(bu 4 \fIhttp://localhost[:port]\fR برای اتصالات متنی HTTP شنود می‌کند (پورت پیش‌فرض: 80، میزبان باید "localhost" باشد) و مانند \fIhttps://\fR به درخواست‌ها رسیدگی می‌کند .IP \(bu 4 \fIhttp+insecure://[host][:port]\fR برای اتصالات متنی HTTP شنود می‌کند (پورت پیش‌فرض: 80) و مانند \fIhttps://\fR به درخواست‌ها رسیدگی می‌کند .IP \(bu 4 \fIhttp+unix://\fR برای اتصالات متنی HTTP روی یک سوکت دامنه یونیکس شنود می‌کند و مانند \fIhttps://\fR به درخواست‌ها رسیدگی می‌کند .IP \(bu 4 \fIwss://[host][:port]\fR برای اتصالات وب‌سوکت روی TLS شنود می‌کند (پورت پیش‌فرض: 443) .IP \(bu 4 \fIws://localhost[:port]\fR برای اتصالات وب‌سوکت متنی شنود می‌کند (پورت پیش‌فرض: 80، میزبان باید "localhost" باشد) .IP \(bu 4 \fIws+insecure://[host][:port]\fR برای اتصالات وب‌سوکت متنی شنود می‌کند (پورت پیش‌فرض: 80) .IP \(bu 4 \fIws+unix://\fR برای اتصالات وب‌سوکت متنی روی یک سوکت دامنه یونیکس شنود می‌کند .IP \(bu 4 \fIident://[host][:port]\fR برای اتصالات ident متنی شنود می‌کند (پورت پیش‌فرض: 113) .IP \(bu 4 \fIhttp+prometheus://localhost:\fR برای اتصالات متنی HTTP شنود کرده و معیارهای پرومتئوس (Prometheus) را ارائه می‌دهد (میزبان باید "localhost" باشد) .IP \(bu 4 \fIhttp+pprof://localhost:\fR برای اتصالات متنی HTTP شنود کرده و داده‌های پروفایل زمان اجرای pprof را ارائه می‌دهد (میزبان باید "localhost" باشد).\& برای اطلاعات بیشتر، ببینید: .\& .IP \(bu 4 \fIunix+admin://[path]\fR روی یک سوکت دامنه یونیکس برای اتصالات مدیریتی، مانند sojuctl شنود می‌کند (مسیر پیش‌فرض: /run/soju/admin) .PD .PP در صورت حذف طرح‌واره (scheme)، مقدار "ircs" فرض می‌شود.\& در صورت مشخص شدن چندین دستورالعمل \fBlisten\fR، برنامه soju روی تک‌تک آن‌ها شنود خواهد کرد.\& .PP .RE \fBhostname\fR .RS 4 نام میزبان سرور (پیش‌فرض: نام میزبان سیستم).\& .PP این گزینه باید روی یک نام دامنه کاملاً معین (FQDN) تنظیم شود.\& .PP .RE \fBtitle\fR .RS 4 عنوان سرور.\& زمانی که کلاینت‌ها شبکه مشخصی را انتخاب نکرده باشند، این مقدار به عنوان مقدار \fIISUPPORT NETWORK\fR ارسال می‌شود.\& .PP .RE \fBtls\fR <cert> <key> .RS 4 فعال‌سازی پشتیبانی از TLS.\& فایل‌های گواهی و کلید باید دارای کدگذاری PEM باشند.\& .PP .RE \fBdb\fR <driver> <source> .RS 4 تنظیم مکان پایگاه‌داده برای ذخیره‌سازی کاربران، شبکه‌ها و کانال‌ها.\& به صورت پیش‌فرض، یک پایگاه‌داده \fIsqlite3\fR در مسیر ".\&/soju.\&db" باز می‌شود.\& .PP درایورهای پشتیبانی‌شده: .PP .PD 0 .IP \(bu 4 درایور \fIsqlite3\fR انتظار دارد که \fIsource\fR مسیری به فایل SQLite باشد .IP \(bu 4 درایور \fIpostgres\fR انتظار دارد که \fIsource\fR فهرستی از پارامترهای \fIkey=value\fR با جداکننده فاصله باشد، مانند \fIdb postgres "host=/run/postgresql dbname=soju"\fR.\& توجه داشته باشید که مقدار پیش‌فرض \fIsslmode\fR برابر با \fIrequire\fR است.\& برای اطلاعات بیشتر درباره رشته‌های اتصال، ببینید: <https://pkg.\&go.\&dev/github.\&com/lib/pq#hdr-Connection_String_Parameters>.\& .PD .PP .RE \fBmessage-store\fR <driver> [source] .RS 4 تنظیم مکان پایگاه‌داده برای پیام‌های IRC.\& به صورت پیش‌فرض، از \fIdb\fR استفاده می‌شود.\& .PP درایورهای پشتیبانی‌شده: .PP .PD 0 .IP \(bu 4 درایور \fIdb\fR پیام‌ها را در پایگاه‌داده ذخیره می‌کند.\& برای افزایش سرعت پرس‌وجوهای جستجو، از یک نمایه جستجوی تمام‌متن استفاده می‌شود.\& .IP \(bu 4 درایور \fIfs\fR پیام‌ها را روی دیسک، با همان فرمت ZNC ذخیره می‌کند.\& پارامتر \fIsource\fR الزامی است و مسیر دایرکتوری ریشه برای پایگاه‌داده می‌باشد.\& این فرمت روی دیسک با اتلاف داده (lossy) همراه است: برخی پیام‌های IRCv3 (مانند TAGMSG) و تمام برچسب‌های پیام نادیده گرفته می‌شوند.\& .IP \(bu 4 درایور \fImemory\fR پیام‌ها را در حافظه ذخیره می‌کند.\& برای هر کانال/کاربر، تنها ۴ هزار پیام آخر در حافظه نگه داشته شده و پیام‌های قدیمی‌تر حذف می‌شوند.\& این درایور بسیار پایه بوده و از قابلیت‌هایی مانند افزونه \fIchathistory\fR و جستجو پشتیبانی نمی‌کند.\& .PD .PP (دستورالعمل \fIlog\fR یک نام مستعار منسوخ‌شده برای این گزینه است.\&) .PP .RE \fBfile-upload\fR <driver> [source] .RS 4 تنظیم مکان پایگاه‌داده برای فایل‌های بارگذاری‌شده.\& .PP بارگذاری فایل نیازمند راه‌اندازی یک شنونده HTTP است (به شناسه‌های URI نوع \fIhttps://\fR و \fIhttp+insecure://\fR در دستورالعمل \fIlisten\fR مراجعه کنید).\& .PP درایورهای پشتیبانی‌شده: .PP .PD 0 .IP \(bu 4 درایور \fIfs\fR فایل‌های بارگذاری‌شده را روی دیسک ذخیره می‌کند.\& مقدار \fIsource\fR الزامی است.\& .IP \(bu 4 درایور \fIhttp\fR فایل‌های بارگذاری‌شده را از طریق یک سرویس خارجی HTTP ذخیره می‌کند.\& مقدار \fIsource\fR الزامی است و باید یک نشانی اینترنتی HTTP باشد.\& هنگام دریافت فایل، soju یک درخواست HTTP POST به آن نشانی ارسال می‌کند و فایل را همان‌طور که هست در بدنه درخواست HTTP می‌فرستد؛ همچنین نام کاربری بارگذار در soju را در هدر \fISoju-Username\fR ارسال می‌نماید.\& سرور HTTP در صورت موفقیت باید با کد وضعیت HTTP 201 پاسخ دهد و هدر \fILocation\fR روی نشانی فایل بارگذاری‌شده تنظیم شده باشد.\& .PD .PP .RE \fBhttp-origin\fR <patterns.\&.\&.\&> .RS 4 فهرست مبداهای (origins) مجاز HTTP برای شنوندگان وب‌سوکت.\& پارامترها به عنوان الگوهای شل تفسیر می‌شوند، به \fBglob\fR(7) مراجعه کنید.\& .PP به صورت پیش‌فرض، فقط میزبان درخواست مجاز است.\& از این دستورالعمل برای فعال‌سازی وب‌سوکت‌های چندمبدایی (cross-origin WebSockets) استفاده کنید.\& .PP .RE \fBhttp-ingress\fR <url> .RS 4 نشانی اینترنتی خارجی که شنوندگان HTTPS روی آن در دسترس قرار می‌گیرند.\& .PP به صورت پیش‌فرض، این مقدار \fIhttps://<hostname>\fR است.\& .PP .RE \fBaccept-proxy-ip\fR <cidr.\&.\&.\&> .RS 4 مجاز ساختن نشانی‌های IP مشخص‌شده برای عمل به عنوان پراکسی.\& پراکسی‌ها قابلیت بازنویسی نشانی‌های اتصال دوردست و محلی را دارند (از طریق پروتکل PROXY، فیلد هدر Forwarded در HTTP تعریف‌شده در RFC 7239، یا فیلدهای هدر X-Forwarded-* در HTTP).\& نام ویژه "localhost" نشانی‌های لوپ‌بک 127.\&0.\&0.\&0/8 و ::1/128 را می‌پذیرد.\& .PP به صورت پیش‌فرض، تمامی نشانی‌های IP رد می‌شوند.\& .PP .RE \fBmax-user-networks\fR <limit> .RS 4 حداکثر تعداد شبکه‌های فعال برای هر کاربر.\& به صورت پیش‌فرض، هیچ محدودیتی وجود ندارد.\& .PP .RE \fBmotd\fR <path> .RS 4 مسیر فایل MOTD (پیام روز).\& پیام MOTD باونسر به کلاینت‌هایی که مقید به شبکه خاصی نیستند ارسال می‌شود.\& به صورت پیش‌فرض، هیچ MOTD ارسال نمی‌شود.\& .PP .RE \fBupstream-user-ip\fR <cidr.\&.\&.\&> .RS 4 فعال‌سازی نشانی‌های IP اختصاصی به ازای هر کاربر.\& یک محدوده IPv4 و/یا یک محدوده IPv6 می‌تواند در قالب نمادگذاری CIDR مشخص شود.\& از هر محدوده، یک نشانی IP به هر کاربر اختصاص داده شده و به عنوان نشانی مبدا هنگام اتصال به شبکه بالادستی استفاده خواهد شد.\& .PP این گزینه می‌تواند برای جلوگیری از مسدود شدن کل باونسر در یک شبکه بالادستی به دلیل فعالیت یک کاربر مخرب مفید باشد.\& .PP .RE \fBdisable-inactive-user\fR <duration> .RS 4 غیرفعال کردن کاربران غیرفعال پس از مدت زمان مشخص‌شده.\& .PP کاربر زمانی غیرفعال محسوب می‌شود که آخرین اتصال فرودستی (downstream) او بسته شود.\& .PP مدت زمان، یک عدد اعشاری مثبت است که به دنبال آن واحد "d" (روز) می‌آید.\& برای نمونه، "30d" کاربران را ۳۰ روز پس از آخرین قطع اتصالشان از باونسر غیرفعال می‌کند.\& .PP .RE \fBenable-user-on-auth\fR true|false .RS 4 فعال کردن کاربران هنگام احراز هویت موفقیت‌آمیز.\& .PP این گزینه می‌تواند همراه با \fIdisable-inactive-user\fR برای غیرفعال‌سازی و فعال‌سازی مجدد و یکپارچه کاربران در دوره‌های طولانی عدم فعالیت استفاده شود.\& .PP هنگام استفاده از احراز هویت خارجی (مانند \fIauth oauth2\fR)، کاربران باونسر پس از احراز هویت موفق به صورت خودکار ایجاد می‌شوند.\& .PP .RE \fBauth\fR <driver> .\&.\&.\& .RS 4 تعیین روش احراز هویت.\& به صورت پیش‌فرض از احراز هویت داخلی استفاده می‌شود.\& .PP درایورهای پشتیبانی‌شده: .PP \fBauth internal\fR .RS 4 استفاده از احراز هویت داخلی.\& .RE \fBauth http\fR <url> .RS 4 استفاده از احراز هویت پایه خارجی HTTP (Basic Authentication).\& یک درخواست HTTP به نشانی داده‌شده ارسال شده و اطلاعات کاربری را در هدر Authorization Basic ارسال می‌کند.\& اطلاعات کاربری با دریافت کد وضعیت HTTP 200 معتبر در نظر گرفته می‌شود؛ با دریافت HTTP 403 نامعتبر تلقی شده؛ و هر کد خطای دیگری به معنای وقوع خطا است.\& .RE \fBauth oauth2\fR <url> .RS 4 استفاده از احراز هویت خارجی OAuth 2.\&0.\& نشانی سرور مجوزدهی (Authorization Server) باید ارائه شود.\& شناسه کلاینت (Client ID) و رمز کلاینت (Client Secret) را می‌توان به عنوان نام کاربری و گذرواژه در نشانی اینترنتی قرار داد.\& سرور مجوزدهی باید از متادیتای سرور مجوزدهی OAuth 2.\&0 (RFC 8414) و درون‌نگری توکن OAuth 2.\&0 (RFC 7662) پشتیبانی کند.\& .RE \fBauth pam\fR .RS 4 استفاده از احراز هویت PAM.\& .PP .RE .RE .SH "سرویس IRC (IRC SERVICE)" .PP برنامه soju یک سرویس IRC به نام \fBBouncerServ\fR را برای مدیریت باونسر ارائه می‌دهد.\& دستورات را می‌توان از طریق پیام‌های خصوصی معمولی ارسال کرد (\fI/msg BouncerServ <command> [args.\&.\&.\&]\fR).\& دستورات را می‌توان به شکل کامل یا مختصر نوشت، برای نمونه \fBnetwork\fR را می‌توان به صورت \fBnet\fR یا تنها \fBn\fR خلاصه کرد.\& .PP دستورات بر اساس قوانین شل POSIX تجزیه می‌شوند.\& به‌ویژه، کلمات می‌توانند درون نقل‌قول قرار گیرند (تکی یا دوتایی) و یک بک‌اسلش کاراکتر بعدی را اسکیپ می‌کند.\& .PP \fBhelp\fR [command] .RS 4 نمایش فهرستی از دستورات.\& اگر \fIcommand\fR مشخص شده باشد، پیام راهنمای آن دستور نمایش داده می‌شود.\& .PP .RE \fBnetwork create\fR \fB-addr\fR <addr> [options.\&.\&.\&] .RS 4 اتصال به یک شبکه جدید در نشانی \fIaddr\fR.\& گزینه \fI-addr\fR الزامی است.\& .PP پارامتر \fIaddr\fR از چندین نوع اتصال پشتیبانی می‌کند: .PP .PD 0 .IP \(bu 4 \fI[ircs://]<host>[:port]\fR با استفاده از TLS روی TCP متصل می‌شود .IP \(bu 4 \fIirc+insecure://<host>[:port]\fR با استفاده از TCP متنی و بدون رمزنگاری متصل می‌شود .IP \(bu 4 \fIirc+unix:///<path>\fR به یک سوکت یونیکس متصل می‌شود .PD .PP برای نمونه، جهت اتصال به Libera Chat: .PP .nf .RS 4 net create -addr irc\&.libera\&.chat .fi .RE .PP سایر گزینه‌ها عبارتند از: .PP \fB-name\fR <name> .RS 4 نام کوتاه شبکه.\& از این نام به جای \fIaddr\fR برای اشاره به شبکه استفاده خواهد شد.\& .PP .RE \fB-username\fR <username> .RS 4 اتصال با نام کاربری مشخص‌شده.\& به صورت پیش‌فرض، از نام مستعار (nickname) استفاده می‌شود.\& .PP .RE \fB-pass\fR <pass> .RS 4 اتصال با گذرواژه سرور مشخص‌شده.\& .PP .RE \fB-realname\fR <realname> .RS 4 اتصال با نام واقعی (real name) مشخص‌شده.\& به صورت پیش‌فرض، در صورت تنظیم بودن از نام واقعی حساب کاربری استفاده می‌شود، در غیر این صورت از نام مستعار شبکه استفاده خواهد شد.\& .PP .RE \fB-certfp\fR <fingerprint> .RS 4 به جای استفاده از مراجع صدور گواهی (CA) برای بررسی گواهی TLS سرور، بررسی می‌کند که آیا گواهی سرور با اثرانگشت (fingerprint) ارائه‌شده مطابقت دارد یا خیر.\& از این گزینه می‌توان برای اتصال به سرورهایی با گواهی‌های خودامضا استفاده کرد.\& قالب اثرانگشت SHA512 است.\& رشته خالی اثرانگشت‌های قبلی را حذف می‌کند.\& .PP برای دریافت اثرانگشت گواهی یک سرور IRC می‌توان از دستور زیر استفاده کرد: .PP .nf .RS 4 openssl s_client -connect irc\&.example\&.org:6697 -verify_quiet </dev/null | openssl x509 -fingerprint -sha512 -noout -in /dev/stdin .fi .RE .PP .RE \fB-nick\fR <nickname> .RS 4 اتصال با نام مستعار مشخص‌شده.\& به صورت پیش‌فرض، از نام کاربری حساب استفاده می‌شود.\& .PP .RE \fB-auto-away\fR true|false .RS 4 فعال یا غیرفعال کردن قابلیت غیبت خودکار (auto-away).\& در صورت فعال بودن، هنگامی که همه کلاینت‌ها از باونسر قطع شوند، کاربر به عنوان غایب علامت‌گذاری می‌شود.\& به صورت پیش‌فرض، auto-away فعال است.\& .PP .RE \fB-enabled\fR true|false .RS 4 فعال یا غیرفعال کردن شبکه.\& در صورت غیرفعال بودن شبکه، باونسر به آن متصل نخواهد شد.\& به صورت پیش‌فرض، شبکه فعال است.\& .PP .RE \fB-ignore-limit\fR true|false .RS 4 نادیده گرفتن محدودیت حداکثر شبکه‌ها برای این دستور.\& تنها کاربران مدیر می‌توانند محدودیت را نادیده بگیرند.\& .PP .RE \fB-connect-command\fR <command> .RS 4 ارسال رشته نقل‌قول‌شده مشخص به عنوان یک دستور خام IRC بلافاصله پس از اتصال به سرور.\& در صورتی که سرور از SASL پشتیبانی نکند، می‌توان از این گزینه برای احراز هویت (identify) در یک حساب کاربری استفاده کرد.\& .PP برای نمونه، جهت احراز هویت در \fINickServ\fR، می‌توان از دستور زیر استفاده کرد: .PP .nf .RS 4 "PRIVMSG NickServ :IDENTIFY <password>" .fi .RE .PP این گزینه می‌تواند چندین بار برای ارسال چندین پیام IRC مشخص شود.\& برای پاک کردن همه دستورات، آن را روی رشته خالی تنظیم کنید.\& .PP .RE .RE \fBnetwork update\fR [name] [options.\&.\&.\&] .RS 4 به‌روزرسانی یک شبکه موجود.\& گزینه‌ها مشابه دستور \fInetwork create\fR هستند.\& .PP هنگام اجرای این دستور، soju اتصال شبکه را قطع کرده و مجدداً متصل می‌شود.\& .PP اگر \fIname\fR مشخص نشود، شبکه فعلی به‌روزرسانی خواهد شد.\& .PP .RE \fBnetwork delete\fR [name] .RS 4 قطع اتصال و حذف یک شبکه.\& .PP اگر \fIname\fR مشخص نشود، شبکه فعلی حذف خواهد شد.\& .PP .RE \fBnetwork quote\fR [name] <command> .RS 4 ارسال یک خط خام IRC همان‌طور که هست به یک شبکه.\& .PP اگر \fIname\fR مشخص نشود، دستور به شبکه فعلی ارسال می‌شود.\& .PP .RE \fBnetwork status\fR .RS 4 نمایش فهرستی از شبکه‌های ذخیره‌شده و وضعیت فعلی آن‌ها.\& .PP .RE \fBchannel status\fR [options.\&.\&.\&] .RS 4 نمایش فهرستی از کانال‌های ذخیره‌شده و وضعیت فعلی آن‌ها.\& .PP گزینه‌ها: .PP \fB-network\fR <name> .RS 4 تنها نمایش کانال‌های مربوط به شبکه مشخص‌شده.\& به صورت پیش‌فرض، فقط کانال‌های موجود در شبکه فعلی نمایش داده می‌شوند.\& .PP .RE .RE \fBchannel create\fR <name> [options.\&.\&.\&] .RS 4 پیوستن به یک کانال جدید.\& .PP پیوستن به یک کانال معمولاً باید با یک دستور ساده join از طرف کلاینت انجام شود، اما در صورت استفاده همراه با \fIuser run\fR، این دستور می‌تواند برای وارد کردن کاربری دیگر به یک کانال استفاده شود.\& .PP گزینه‌ها عبارتند از: .PP \fB-detached\fR true|false .RS 4 متصل (attach) یا جدا (detach) کردن این کانال.\& .PP یک کانال جداشده (detached) پیوسته باقی می‌ماند اما توسط باونسر پنهان می‌شود.\& این قابلیت به عنوان نمونه برای جمع‌آوری گزارش‌ها و پیام‌های هایلایت در کانال‌های کم‌اهمیت یا پرتردد مفید است.\& .PP .RE \fB-relay-detached\fR <mode> .RS 4 تعیین زمان بازپخش پیام‌های کانال‌های جداشده به کاربر با یک اعلان BouncerServ NOTICE.\& .PP حالت‌ها عبارتند از: .PP \fBmessage\fR .RS 4 بازپخش هر پیامی از این کانال در هنگام جدا بودن.\& .PP .RE \fBhighlight\fR .RS 4 بازپخش تنها پیام‌هایی که در هنگام جدا بودن به شما اشاره می‌کنند.\& .PP .RE \fBnone\fR .RS 4 عدم بازپخش هرگونه پیام از این کانال در هنگام جدا بودن.\& .PP .RE \fBdefault\fR .RS 4 در حال حاضر مشابه \fBhighlight\fR است.\& این رفتار پیش‌فرض است.\& .PP .RE .RE \fB-reattach-on\fR <mode> .RS 4 تعیین زمان اتصال خودکار مجدد (reattach) به کانال‌های جداشده.\& .PP حالت‌ها عبارتند از: .PP \fBmessage\fR .RS 4 اتصال مجدد به این کانال به محض دریافت هر پیامی.\& .PP .RE \fBhighlight\fR .RS 4 اتصال مجدد به این کانال به محض دریافت هر پیامی که به شما اشاره می‌کند.\& .PP .RE \fBnone\fR .RS 4 عدم اتصال خودکار مجدد به این کانال در هر حالتی.\& .PP .RE \fBdefault\fR .RS 4 در حال حاضر مشابه \fBnone\fR است.\& این رفتار پیش‌فرض است.\& .PP .RE .RE \fB-detach-after\fR <duration> .RS 4 جداسازی خودکار این کانال پس از سپری شدن مدت زمان مشخص‌شده بدون دریافت هرگونه پیامی مطابق با \fB-detach-on\fR.\& .PP نمونه مقادیر مدت زمان: \fB1h30m\fR، \fB30s\fR، \fB2.\&5h\fR.\& .PP تنظیم این مقدار روی 0 این رفتار را غیرفعال می‌کند، یعنی این کانال هرگز به صورت خودکار جدا نخواهد شد.\& این رفتار پیش‌فرض است.\& .PP .RE \fB-detach-on\fR <mode> .RS 4 تعیین زمان بازنشانی تایمر جداسازی خودکار مورد استفاده توسط \fB-detach-after\fR، که باعث می‌شود قبل از جداسازی، دوباره به اندازه مدت زمان تعیین‌شده منتظر بماند.\& پیوستن، اتصال مجدد، ارسال پیام، یا تغییر هر گزینه کانال علاوه بر پیام‌های مشخص‌شده توسط حالت، تایمر را بازنشانی می‌کند.\& .PP حالت‌ها عبارتند از: .PP \fBmessage\fR .RS 4 دریافت هر پیامی از این کانال، تایمر جداسازی خودکار را بازنشانی می‌کند.\& .PP .RE \fBhighlight\fR .RS 4 دریافت هر پیامی از این کانال که به شما اشاره می‌کند، تایمر جداسازی خودکار را بازنشانی می‌کند.\& .PP .RE \fBnone\fR .RS 4 دریافت پیام‌ها از این کانال تایمر جداسازی خودکار را بازنشانی نخواهد کرد.\& با این حال، ارسال پیام یا پیوستن به کانال همچنان تایمر را بازنشانی می‌کند.\& .PP .RE \fBdefault\fR .RS 4 در حال حاضر مشابه \fBmessage\fR است.\& این رفتار پیش‌فرض است.\& .PP .RE .RE .RE \fBchannel update\fR <name> [options.\&.\&.\&] .RS 4 به‌روزرسانی گزینه‌های یک کانال موجود.\& گزینه‌ها مشابه دستور \fInetwork create\fR هستند.\& .PP .RE \fBchannel delete\fR <name> .RS 4 ترک و فراموش کردن یک کانال.\& .PP .RE \fBcertfp generate\fR [options.\&.\&.\&] .RS 4 تولید گواهی خودامضا و استفاده از آن برای احراز هویت (از طریق SASL EXTERNAL).\& .PP به صورت پیش‌فرض یک کلید خصوصی ۳۰۷۲ بیتی RSA تولید می‌کند.\& .PP توجه داشته باشید که برای استفاده از گواهی تازه‌تولیدشده، اتصال مجدد به شبکه بالادستی الزامی است.\& .PP گزینه‌ها عبارتند از: .PP \fB-network\fR <name> .RS 4 انتخاب یک شبکه.\& به صورت پیش‌فرض، شبکه فعلی (در صورت وجود) انتخاب می‌شود.\& .PP .RE \fB-key-type\fR <type> .RS 4 الگوریتم کلید خصوصی مورد استفاده.\& مقادیر معتبر عبارتند از: \fIrsa\fR، \fIecdsa\fR و \fIed25519\fR.\& گزینه \fIecdsa\fR از منحنی NIST P-521 استفاده می‌کند.\& .PP .RE \fB-bits\fR <bits> .RS 4 اندازه کلید RSA برای تولید.\& برای سایر انواع کلید نادیده گرفته می‌شود.\& .PP .RE .RE \fBcertfp fingerprint\fR [options.\&.\&.\&] .RS 4 نمایش اثرانگشت‌های SHA-1 و SHA-256 برای گواهی‌ای که در حال حاضر با شبکه استفاده می‌شود.\& .PP گزینه‌ها عبارتند از: .PP \fB-network\fR <name> .RS 4 انتخاب یک شبکه.\& به صورت پیش‌فرض، شبکه فعلی (در صورت وجود) انتخاب می‌شود.\& .PP .RE .RE \fBsasl status\fR [options.\&.\&.\&] .RS 4 نمایش وضعیت فعلی SASL.\& .PP گزینه‌ها عبارتند از: .PP \fB-network\fR <name> .RS 4 انتخاب یک شبکه.\& به صورت پیش‌فرض، شبکه فعلی (در صورت وجود) انتخاب می‌شود.\& .PP .RE .RE \fBsasl set-plain\fR [options.\&.\&.\&] <username> <password> .RS 4 تنظیم اطلاعات کاربری SASL PLAIN.\& .PP توجه داشته باشید که برای اعمال تنظیمات جدید، اتصال مجدد به شبکه بالادستی الزامی است.\& .PP گزینه‌ها عبارتند از: .PP \fB-network\fR <name> .RS 4 انتخاب یک شبکه.\& به صورت پیش‌فرض، شبکه فعلی (در صورت وجود) انتخاب می‌شود.\& .PP .RE .RE \fBsasl reset\fR [options.\&.\&.\&] .RS 4 غیرفعال‌سازی احراز هویت SASL و حذف اطلاعات کاربری ذخیره‌شده.\& .PP توجه داشته باشید که برای اعمال تنظیمات جدید، اتصال مجدد به شبکه بالادستی الزامی است.\& .PP گزینه‌ها عبارتند از: .PP \fB-network\fR <name> .RS 4 انتخاب یک شبکه.\& به صورت پیش‌فرض، شبکه فعلی (در صورت وجود) انتخاب می‌شود.\& .PP .RE .RE \fBuser status\fR [username] .RS 4 نمایش فهرستی از کاربران این سرور.\& تنها مدیران می‌توانند این اطلاعات را پرس‌وجو کنند.\& .PP اگر \fIusername\fR مشخص شود، آمار تنها برای این کاربر نمایش داده می‌شود.\& .PP .RE \fBuser create\fR -username <username> -password <password> [options.\&.\&.\&] .RS 4 ایجاد یک کاربر جدید soju.\& تنها کاربران مدیر می‌توانند حساب‌های کاربری جدید ایجاد کنند.\& فلگ‌های \fI-username\fR و \fI-password\fR الزامی هستند.\& .PP گزینه‌ها عبارتند از: .PP \fB-username\fR <username> .RS 4 نام کاربری باونسر.\& این مقدار پس از ایجاد کاربر قابل تغییر نیست.\& .PP .RE \fB-password\fR <password> .RS 4 گذرواژه باونسر.\& .PP .RE \fB-disable-password\fR .RS 4 غیرفعال‌سازی احراز هویت با گذرواژه.\& کاربر قادر به ورود نخواهد بود.\& .PP .RE \fB-admin\fR true|false .RS 4 ارتقای کاربر جدید به مدیر سیستم.\& .PP .RE \fB-nick\fR <nick> .RS 4 تنظیم نام مستعار (nickname) کاربر.\& در صورت عدم تنظیم نام مستعار برای یک شبکه، از این مقدار به عنوان جایگزین استفاده می‌شود.\& .PP .RE \fB-realname\fR <realname> .RS 4 تنظیم نام واقعی (realname) کاربر.\& در صورت عدم تنظیم نام واقعی برای یک شبکه، از این مقدار به عنوان جایگزین استفاده می‌شود.\& .PP .RE \fB-enabled\fR true|false .RS 4 فعال یا غیرفعال کردن کاربر.\& اگر کاربر غیرفعال باشد، باونسر به هیچ‌یک از شبکه‌های او متصل نخواهد شد و اتصالات فرودستی فوراً بسته خواهند شد.\& به صورت پیش‌فرض، کاربران فعال هستند.\& .PP .RE \fB-max-networks\fR <max-networks> .RS 4 تعیین محدودیت برای تعداد شبکه‌های فعالی که این کاربر می‌تواند استفاده کند.\& مقدار 0 به معنای عدم دسترسی به شبکه و مقدار -1 به معنای پیروی از مقدار پیکربندی سراسری \fImax-user-networks\fR است.\& .PP .RE .RE \fBuser update\fR [username] [options.\&.\&.\&] .RS 4 به‌روزرسانی یک کاربر.\& گزینه‌ها مشابه دستور \fIuser create\fR هستند.\& .PP اگر \fIusername\fR ذکر نشود، کاربر فعلی به‌روزرسانی می‌شود.\& تنها مدیران می‌توانند سایر کاربران را به‌روزرسانی کنند.\& .PP همه فلگ‌ها در همه زمینه‌ها معتبر نیستند: .PP .PD 0 .IP \(bu 4 فلگ \fI-username\fR هرگز معتبر نیست؛ نام‌های کاربری تغییرناپذیرند.\& .IP \(bu 4 فلگ‌های \fI-nick\fR و \fI-realname\fR تنها هنگام به‌روزرسانی کاربر فعلی معتبر هستند.\& .IP \(bu 4 فلگ‌های \fI-admin\fR، \fI-enabled\fR و \fI-max_networks\fR تنها هنگام به‌روزرسانی کاربری دیگر معتبر هستند.\& .PD .PP .RE \fBuser delete\fR <username> [confirmation token] .RS 4 حذف یک کاربر soju.\& .PP تنها مدیران می‌توانند کاربران دیگر را حذف کنند.\& .PP .RE \fBuser run\fR <username> <command.\&.\&.\&> .RS 4 اجرای یک دستور به عنوان کاربری دیگر.\& .PP تنها مدیران می‌توانند از این دستور استفاده کنند.\& .PP .RE \fBserver status\fR .RS 4 نمایش آمارهای مربوط به باونسر.\& تنها مدیران می‌توانند این اطلاعات را پرس‌وجو کنند.\& .PP .RE \fBserver notice\fR <message> .RS 4 همگانی کردن یک اعلان (notice).\& تمامی کاربران متصل فعلی باونسر، پیام را از سرویس ویژه \fIBouncerServ\fR دریافت خواهند کرد.\& تنها مدیران می‌توانند یک اعلان را همگانی کنند.\& .PP .RE \fBserver debug\fR <true|false> .RS 4 فعال/غیرفعال کردن گزارش‌گیری اشکال‌زدایی (این کار اطلاعات حساسی را فاش می‌کند).\& این تنظیم هر مقداری را که در \fI-debug\fR به soju داده شده باشد بازنویسی می‌کند.\& .PP .RE .SH "نویسندگان (AUTHORS)" .PP توسعه و نگهداری توسط Simon Ser <contact@emersion.\&fr>، با همکاری سایر مشارکت‌کنندگان پروژه‌های متن‌باز.\& برای اطلاعات بیشتر درباره توسعه soju، ببینید: <https://soju.\&im>.\& .PP .SH "همچنین ببینید (SEE ALSO)" .PP \fBsojuctl\fR(1)