'\" t .\" Title: mosquitto_ctrl .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/03/2026 .\" Manual: Commands .\" Source: Mosquitto Project .\" Language: English .\" .TH "MOSQUITTO_CTRL" "1" "04/03/2026" "Mosquitto Project" "Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" mosquitto_ctrl \- ابزاری برای مقداردهی اولیه یا پیکربندی نمونه کارگزار Mosquitto .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBmosquitto_ctrl\fR\ 'u \fBmosquitto_ctrl\fR [options\ |\ \fB\-o\fR\ \fIconfig\-file\fR] module\-name module\-command [command\-options] .HP \w'\fBoptions:\fR\ 'u \fBoptions:\fR [auth\-options] [connection\-options] [mqtt\-options] [output\-options] [tls\-certificate\-options | tls\-psk\-options] .HP \w'\fBauth\-options:\fR\ 'u \fBauth\-options:\fR .br [\fB\-u\fR\ \fIusername\fR] [\fB\-P\fR\ \fIpassword\fR] .HP \w'\fBconnection\-options:\fR\ 'u \fBconnection\-options:\fR .br {[\fB\-h\fR\ \fIhostname\fR]\ [\fB\-\-unix\fR\ \fIsocket\ path\fR]\ [\fB\-p\fR\ \fIport\-number\fR] | \fB\-L\fR\ \fIURL\fR} .br [\fB\-A\fR\ \fIbind\-address\fR] .br [\fB\-\-proxy\fR\ \fIsocks\-url\fR] .HP \w'\fBmqtt\-options:\fR\ 'u \fBmqtt\-options:\fR .br [\fB\-c\fR] [\fB\-i\fR\ \fIclient\-id\fR] [\fB\-q\fR\ \fImessage\-QoS\fR] [\fB\-V\fR\ \fIprotocol\-version\fR] .HP \w'\fBoutput\-options:\fR\ 'u \fBoutput\-options:\fR .br [\fB\-d\fR] [\fB\-\-quiet\fR] .HP \w'\fBtls\-certificate\-options:\fR\ 'u \fBtls\-certificate\-options:\fR .br [\fB\-\-no\-tls\fR] .br {\fB\-\-cafile\fR\ \fIfile\fR | \fB\-\-capath\fR\ \fIdir\fR} .br [\fB\-\-tls\-use\-os\-certs\fR] .br [\fB\-\-cert\fR\ \fIfile\fR] [\fB\-\-key\fR\ \fIfile\fR] .br [\fB\-\-ciphers\fR\ \fIciphers\fR] [\fB\-\-insecure\fR] [\fB\-\-tls\-alpn\fR\ \fIprotocol\fR] [\fB\-\-tls\-keylog\fR\ \fIfile\fR] [\fB\-\-tls\-version\fR\ \fIversion\fR] .br [\fB\-\-tls\-engine\fR\ \fIengine\fR] [\fB\-\-keyform\fR\ {\fIpem\fR\ |\ \fIengine\fR}] [\fB\-\-tls\-engine\-kpass\-sha1\fR\ \fIkpass\-sha1\fR] .br .HP \w'\fBtls\-psk\-options:\fR\ 'u \fBtls\-psk\-options:\fR .br \fB\-\-psk\fR\ \fIhex\-key\fR \fB\-\-psk\-identity\fR\ \fIidentity\fR [\fB\-\-ciphers\fR\ \fIciphers\fR] [\fB\-\-tls\-version\fR\ \fIversion\fR] .HP \w'\fBmosquitto_ctrl\fR\ 'u \fBmosquitto_ctrl\fR [connection\-options] (حالت پوسته تعاملی) .HP \w'\fBmosquitto_ctrl\fR\ 'u \fBmosquitto_ctrl\fR [\fB\-\-help\fR] .SH "توضیحات (DESCRIPTION)" .PP \fBmosquitto_ctrl\fR ابزاری برای کمک به پیکربندی یک نمونه از کارگزار Mosquitto است\&. .PP این ابزار می‌تواند اساساً به صورت یک ابزار خط فرمانی استاندارد (همان‌گونه که در اینجا شرح داده شده) اجرا شود، یا به صورت یک پوسته تعاملی مطابق توضیحات \fBmosquitto_ctrl_shell\fR(1)\&. پوسته تعاملی اکثر عملیات را بسیار ساده و روان می‌کند و به دلیل سهولت در استفاده توصیه می‌شود\&. .SH "اتصالات رمزنگاری‌شده (ENCRYPTED CONNECTIONS)" .PP \fBmosquitto_ctrl\fR از اتصالات رمزنگاری‌شده با TLS پشتیبانی می‌کند\&. اکیداً توصیه می‌شود که برای تمامی استفاده‌های راه دور از mosquitto_ctrl از یک اتصال رمزنگاری‌شده استفاده کنید\&. .PP جهت فعال‌سازی اتصالات TLS هنگام استفاده از گواهی‌های x509، باید یکی از گزینه‌های \fB\-\-cafile\fR یا \fB\-\-capath\fR به عنوان گزینه مشخص شود\&. .PP برای فعال‌سازی اتصالات TLS هنگام استفاده از TLS\-PSK، باید از گزینه‌های \fB\-\-psk\fR و \fB\-\-psk\-identity\fR استفاده کنید\&. .SH "ماژول‌ها (MODULES)" .PP \fBامنیت پویا (Dynamic security)\fR .RS 4 احراز هویت و کنترل دسترسی مبتنی بر نقش به همراه کاربران و گروه‌ها\&. از نام ماژول \fBdynsec\fR استفاده می‌کند\&. ببینید: \fBmosquitto_ctrl_dynsec\fR(1) .RE .PP \fBماژول‌های خارجی (External modules)\fR .RS 4 \fBmosquitto_ctrl\fR قابلیت بارگذاری ماژول‌های خارجی در قالب کتابخانه‌های اشتراکی را دارد\&. برای نمونه، استفاده از نام ماژول \fBexample\fR بسته به پلتفرم تلاش می‌کند تا ماژول خارجی \fBmosquitto_ctrl_example\&.so\fR یا \fBmosquitto_ctrl_example\&.dll\fR را بارگذاری کند\&. این امکان اجازه می‌دهد قابلیت‌های جدید با ترکیب یک افزونه و ماژول mosquitto_ctrl به Mosquitto اضافه شوند، بدون نیاز به کامپایل مجدد هیچ بخشی از کد مبدأ Mosquitto\&. .RE .SH "گزینه‌های اتصال (CONNECTION OPTIONS)" .PP گزینه‌های زیر را می‌توان در خط فرمان مشخص کرد، اما می‌توان آن‌ها را در یک فایل پیکربندی واقع در مسیر \fB$XDG_CONFIG_HOME/mosquitto_ctrl\fR یا \fB$HOME/\&.config/mosquitto_ctrl\fR نیز قرار داد\&. .PP فایل پیکربندی را می‌توان با گزینه \fB\-o \fR\fB\fIconfig\-file\fR\fR به صورت دستی مشخص کرد\&. .PP فایل پیکربندی باید در هر خط شامل یک جفت \fB\-option \fR\fB\fIvalue\fR\fR باشد\&. مقادیر موجود در فایل پیکربندی به عنوان پیش‌فرض استفاده می‌شوند و می‌توان آن‌ها را از طریق خط فرمان بازنویسی کرد\&. استثنای این قاعده، گزینه‌های نوع پیام هستند که تنها یکی از آن‌ها می‌تواند مشخص شود\&. همچنین توجه داشته باشید که در حال حاضر برخی گزینه‌ها را نمی‌توان نفی کرد، برای مثال \fB\-S\fR\&. خطوطی از فایل پیکربندی که نویسه نخست آن‌ها \fB#\fR است، به عنوان توضیح در نظر گرفته شده و پردازش نمی‌شوند\&. .PP \fB\-A\fR .RS 4 اتصال خروجی را به یک نشانی IP یا نام میزبان محلی مقید (bind) می‌کند\&. اگر نیاز به محدود کردن ارتباط شبکه به یک رابط خاص دارید، از این آرگومان استفاده کنید\&. .RE .PP \fB\-\-cafile\fR .RS 4 مسیر فایلی حاوی گواهی‌های CA مورد اعتماد با کدگذاری PEM را مشخص می‌کند\&. برای فعال‌سازی ارتباط SSL استفاده می‌شود\&. .sp همچنین ببینید: \fB\-\-capath\fR .RE .PP \fB\-\-capath\fR .RS 4 مسیر دایرکتوری حاوی گواهی‌های CA مورد اعتماد با کدگذاری PEM را مشخص می‌کند\&. برای فعال‌سازی ارتباط SSL استفاده می‌شود\&. .sp برای این که \fB\-\-capath\fR به درستی کار کند، فایل‌های گواهی باید دارای پسوند "\&.crt" باشند و هر بار که گواهی‌ای اضافه یا حذف می‌کنید باید دستور "openssl rehash " را اجرا نمایید\&. .sp همچنین ببینید: \fB\-\-cafile\fR .RE .PP \fB\-\-cert\fR .RS 4 مسیر فایلی حاوی گواهی با کدگذاری PEM را برای این کلاینت مشخص می‌کند، در صورتی که توسط سرور الزامی باشد\&. .sp همچنین ببینید: \fB\-\-key\fR و بخش اتصالات رمزنگاری‌شده\&. .RE .PP \fB\-\-ciphers\fR .RS 4 فهرستی از الگوریتم‌های رمزنگاری TLS سازگار با OpenSSL جهت پشتیبانی در کلاینت\&. برای اطلاعات بیشتر به \fBciphers\fR(1) مراجعه کنید\&. .RE .PP \fB\-d\fR, \fB\-\-debug\fR .RS 4 پیام‌های اشکال‌زدایی را فعال می‌کند\&. .RE .PP \fB\-D\fR, \fB\-\-property\fR .RS 4 ویژگی‌های MQTT v5 را برای این کلاینت تنظیم می‌کند\&. اگر از این گزینه استفاده کنید، کلاینت در حالت MQTT v5 تنظیم خواهد شد\&. این گزینه دو ساختار دارد: .sp \fB\-D command identifier value\fR .sp \fB\-D command identifier name value\fR .sp \fBcommand\fR شناسه دستور/بسته MQTT است و می‌تواند یکی از مقادیر CONNECT، PUBLISH، PUBACK، PUBREC، PUBCOMP، SUBSCRIBE، UNSUBSCRIBE، DISCONNECT، AUTH یا WILL باشد\&. ویژگی‌های موجود برای هر دستور در بخش ویژگی‌ها فهرست شده‌اند\&. .sp \fBidentifier\fR نام ویژگی برای افزودن است\&. این نام همان‌طور که در مشخصات استاندارد آمده با علامت \*(Aq\-\*(Aq به عنوان جداکننده کلمات نوشته می‌شود\&. به عنوان مثال: \fBpayload\-format\-indicator\fR\&. جزئیات بیشتر در بخش ویژگی‌ها آمده است\&. .sp \fBvalue\fR مقدار ویژگی مورد نظر برای افزودن است، با نوع داده‌ای که وابسته به آن ویژگی است\&. .sp \fBname\fR فقط برای ویژگی \fBuser\-property\fR به عنوان رشته اول در جفت‌رشته استفاده می‌شود\&. در آن حالت، \fBvalue\fR رشته دوم در این جفت خواهد بود\&. .RE .PP \fB\-\-help\fR .RS 4 اطلاعات نحوه استفاده را نمایش می‌دهد\&. .RE .PP \fB\-h\fR, \fB\-\-host\fR .RS 4 میزبانی را که باید به آن متصل شوید مشخص می‌کند\&. مقدار پیش‌فرض localhost است\&. .RE .PP \fB\-i\fR, \fB\-\-id\fR .RS 4 شناسه‌ای که برای این کلاینت استفاده می‌شود\&. اگر داده نشود، یک شناسه کلاینت بسته به نسخه پروتکل MQTT مورد استفاده تولید خواهد شد\&. برای نسخه‌های v3\&.1\&.1/v3\&.1 کلاینت شناسه‌ای در قالب \fBmosq\-XXXXXXXXXXXXXXXXXX\fR تولید می‌کند که در آن \fBX\fR با نویسه‌های الفبایی-عددی تصادفی جایگزین می‌شوند\&. برای نسخه v5\&.0 کلاینت یک شناسه با طول صفر ارسال می‌کند و سرور یک شناسه برای کلاینت تولید خواهد کرد\&. .RE .PP \fB\-\-insecure\fR .RS 4 هنگام استفاده از رمزنگاری مبتنی بر گواهی، این گزینه بررسی تطابق نام میزبان سرور در گواهی سرور را غیرفعال می‌کند\&. این ویژگی هنگام آزمایش اولیه‌ی پیکربندی سرور می‌تواند مفید باشد، اما این امکان را فراهم می‌سازد که یک شخص ثالث مخرب برای مثال با جعل DNS (اسپوفینگ) خود را به عنوان سرور شما جا بزند\&. از این گزینه تنها در آزمایش‌ها استفاده کنید\&. اگر مجبور به استفاده از این گزینه در یک محیط عملیاتی هستید، راه‌اندازی شما دارای ایراد است و استفاده از رمزنگاری هیچ فایده‌ای نخواهد داشت\&. .RE .PP \fB\-\-key\fR .RS 4 مسیر فایلی حاوی کلید خصوصی با کدگذاری PEM را برای این کلاینت مشخص می‌کند تا TLS دوطرفه با سرور انجام پذیرد\&. .sp همچنین ببینید: \fB\-\-cert\fR و بخش اتصالات رمزنگاری‌شده\&. .RE .PP \fB\-\-keyform\fR .RS 4 نوع کلید خصوصی مورد استفاده هنگام برقراری اتصالات TLS را مشخص می‌کند\&. این گزینه می‌تواند "pem" یا "engine" باشد\&. این پارامتر زمانی مفید است که یک ماژول TPM مورد استفاده قرار گرفته و کلید خصوصی با آن ایجاد شده باشد\&. مقدار پیش‌فرض "pem" است که یعنی از فایل‌های معمولی کلید خصوصی استفاده می‌شود\&. .sp همچنین ببینید: \fB\-\-tls\-engine\fR\&. .RE .PP \fB\-L\fR, \fB\-\-url\fR .RS 4 نام کاربری، گذرواژه، نام میزبان، پورت و موضوع را هم‌زمان به عنوان یک URL مشخص می‌کند\&. ساختار URL باید به این شکل باشد: mqtt(s)://[username[:password]@]host[:port]/topic یا ws(s)://[username[:password]@]host[:port]/path .sp بسته به پیشوند، پورت پیش‌فرض مقادیر متفاوتی خواهد داشت: mqtt:// \- 1883، mqtts:// \- 8883، ws:// \- 80، wss:// \- 443\&. .RE .PP \fB\-\-nodelay\fR .RS 4 الگوریتم Nagle را برای سوکت غیرفعال می‌کند\&. این بدان معنی است که تأخیر پیام‌های ارسالی کاهش می‌یابد که این موضوع به ویژه برای پیام‌های کوچک و نسبتاً کم‌تکرار مشهود است\&. استفاده از این گزینه ممکن است منجر به ارسال بسته‌های بیشتری نسبت به حالت معمول شود\&. .RE .PP \fB\-o\fR \fIconfig\-file\fR .RS 4 مسیری را به یک فایل پیکربندی برای بارگذاری گزینه‌ها ارائه می‌دهد\&. فایل پیکربندی باید در هر سطر شامل یک جفت \fB\-option \fR\fB\fIvalue\fR\fR باشد\&. مقادیر موجود در فایل پیکربندی به عنوان پیش‌فرض استفاده شده و می‌توانند توسط خط فرمان بازنویسی شوند\&. استثنای این امر گزینه‌های نوع پیام هستند که تنها یکی از آن‌ها می‌تواند مشخص شود\&. همچنین توجه داشته باشید که در حال حاضر برخی گزینه‌ها را نمی‌توان نفی کرد؛ به عنوان مثال \fB\-S\fR\&. سطرهایی از فایل پیکربندی که نویسه نخست آن‌ها \fB#\fR است، به عنوان توضیح تلقی شده و پردازش نمی‌شوند\&. .RE .PP \fB\-p\fR, \fB\-\-port\fR .RS 4 به پورت مشخص‌شده متصل می‌شود\&. اگر داده نشود، مقدار پیش‌فرض ۱۸۸۳ برای MQTT ساده یا ۸۸۸۳ برای MQTT از طریق TLS استفاده خواهد شد\&. .RE .PP \fB\-P\fR, \fB\-\-pw\fR .RS 4 گذرواژه‌ای برای احراز هویت با کارگزار ارائه می‌دهد\&. استفاده از این آرگومان بدون مشخص کردن نام کاربری هنگام استفاده از MQTT نسخه‌های v3\&.1 یا v3\&.1\&.1 نامعتبر است\&. .sp همچنین گزینه \fB\-\-username\fR را ببینید\&. .RE .PP \fB\-\-proxy\fR .RS 4 یک پروکسی SOCKS5 را برای اتصال از طریق آن مشخص می‌کند\&. انواع احراز هویت "None" و "username" پشتیبانی می‌شوند\&. \fBsocks\-url\fR باید به شکل \fBsocks5h://[username[:password]@]host[:port]\fR باشد\&. پیشوند پروتکل \fBsocks5h\fR به این معنی است که نام‌های میزبان توسط پروکسی تحلیل می‌شوند\&. نویسه‌های %25، %3A و %40 در صورت وجود در نام کاربری یا گذرواژه به ترتیب به %، : و @ رمزگشایی می‌شوند\&. .sp اگر نام کاربری داده نشود، هیچ تلاشی برای احراز هویت صورت نمی‌گیرد\&. اگر پورت داده نشود، مقدار پیش‌فرض ۱۰۸۰ استفاده می‌شود\&. .sp اگر میزبان به صورت نشانی IPv6 مشخص شود، باید درون کروشه قرار گیرد؛ مانند \fBsocks5h://[::1]:1080\fR\&. توجه داشته باشید که کروشه‌ها در برخی پوسته‌ها دارای معنای خاصی هستند، بنابراین ممکن است نشانی URL پروکسی نیاز به قرارگیری داخل گیومه تکی یا جفتی داشته باشد\&. .sp نسخه‌های بیشتری از SOCKS ممکن است بر اساس تقاضا در آینده در دسترس قرار گیرند و از پیشوندهای پروتکل متفاوتی طبق توضیحات \fBcurl\fR(1) استفاده خواهند کرد\&. .RE .PP \fB\-\-psk\fR .RS 4 کلید از پیش به اشتراک گذاشته شده در مبنای ۱۶ (بدون 0x آغازین) منطبق با آنچه در کارگزار استفاده شده است را برای پشتیبانی از رمزنگاری TLS\-PSK ارائه می‌دهد\&. \fB\-\-psk\-identity\fR نیز باید برای فعال‌سازی TLS\-PSK مشخص شود\&. .RE .PP \fB\-\-psk\-identity\fR .RS 4 شناسه کلاینت برای استفاده با پشتیبانی از TLS\-PSK\&. اگر کارگزار برای آن پیکربندی شده باشد، می‌توان از این مقدار به جای نام کاربری استفاده کرد\&. .RE .PP \fB\-q\fR, \fB\-\-qos\fR .RS 4 سطح کیفیت خدمات (QoS) را برای پیام‌ها از بین 0، 1 و 2 مشخص می‌کند\&. پیش‌فرض 1 است\&. .RE .PP \fB\-\-quiet\fR .RS 4 اگر این آرگومان داده شود، هیچ خطای زمان اجرایی چاپ نخواهد شد\&. این امر پیام‌های خطای مربوط به ورودی نامعتبر کاربر را شامل نمی‌شود (مانند استفاده از \fB\-\-port\fR بدون پورت)\&. .RE .PP \fB\-\-tls\-alpn\fR .RS 4 پروتکلی را برای استفاده هنگام اتصال به کارگزاری که چندین پروتکل را روی یک پورت در دسترس دارد (مانند MQTT و WebSockets) ارائه می‌دهد\&. .RE .PP \fB\-\-tls\-engine\fR .RS 4 یک شناسه معتبر موتور openssl\&. این شناسه‌ها را می‌توان با دستور \fBopenssl engine\fR فهرست کرد\&. .sp همچنین ببینید: \fB\-\-keyform\fR\&. .RE .PP \fB\-\-tls\-engine\-kpass\-sha1\fR .RS 4 مقدار هش SHA1 گذرواژه کلید خصوصی هنگام استفاده از موتور TLS\&. برخی از موتورهای TLS مانند موتور TPM ممکن است برای دسترسی نیاز به گذرواژه داشته باشند\&. این گزینه اجازه می‌دهد هش SHA1 کدگذاری‌شده به صورت هگز به طور مستقیم به موتور تحویل داده شود، به جای این‌که از کاربر خواسته شود گذرواژه را وارد کند\&. .sp همچنین ببینید: \fB\-\-tls\-engine\fR\&. .RE .PP \fB\-\-tls\-use\-os\-certs\fR .RS 4 در صورت استفاده، گواهی‌های CA ارائه‌شده توسط سیستم‌عامل بارگذاری شده و مورد اعتماد قرار می‌گیرند\&. این گزینه می‌تواند در کنار \fB\-\-cafile\fR و \fB\-\-capath\fR استفاده شود، یا به تنهایی برای فعال کردن حالت TLS به کار رود\&. اگر از \fB\-L mqtts://\&.\&.\&.\fR استفاده شود یا اگر پورت برابر ۸۸۸۳ باشد و هیچ گزینه گواهی دیگری استفاده نشده باشد، این گزینه به طور پیش‌فرض فعال خواهد شد\&. .RE .PP \fB\-\-tls\-version\fR .RS 4 نسخه پروتکل TLS را برای ارتباط با کارگزار انتخاب می‌کند\&. گزینه‌های معتبر \fBtlsv1\&.3\fR و \fBtlsv1\&.2\fR هستند\&. مقدار پیش‌فرض \fBtlsv1\&.2\fR است\&. باید با نسخه پروتکل مورد استفاده کارگزار همخوانی داشته باشد\&. .RE .PP \fB\-u\fR, \fB\-\-username\fR .RS 4 نام کاربری مورد استفاده برای احراز هویت در کارگزار را مشخص می‌کند\&. .sp همچنین آرگومان \fB\-\-pw\fR را ببینید\&. .RE .PP \fB\-\-unix\fR .RS 4 اتصال به کارگزار از طریق یک سوکت دامنه یونیکس محلی به جای سوکت TCP\&. این گزینه جایگزینی برای \fB\-h\fR و \fB\-L\fR است؛ به عنوان مثال: \fBmosquitto_ctrl \-\-unix /tmp/mosquitto\&.sock \&.\&.\&.\fR .sp گزینه \fBsocket_domain\fR را در \m[blue]\fBmosquitto\&.conf\fR\m[](5) برای پیکربندی Mosquitto جهت گوش دادن به یک سوکت یونیکس ببینید\&. .RE .PP \fB\-V\fR, \fB\-\-protocol\-version\fR .RS 4 نسخه پروتکل MQTT مورد استفاده هنگام اتصال به کارگزار راه دور را مشخص می‌کند\&. می‌تواند \fB5\fR، \fB311\fR، \fB31\fR، یا شکل مشروح‌تر \fBmqttv5\fR، \fBmqttv311\fR یا \fBmqttv31\fR باشد\&. مقدار پیش‌فرض \fB311\fR است\&. .RE .SH "ویژگی‌ها (PROPERTIES)" .PP گزینه \fB\-D\fR / \fB\-\-property\fR امکان افزودن ویژگی‌ها را در مراحل مختلف اجرای mosquitto_ctrl فراهم می‌کند\&. ویژگی‌های پشتیبانی‌شده برای هر دستور به شرح زیر است: .SS "اتصال (Connect)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBauthentication\-data\fR (داده دودویی \- توجه: به عنوان رشته رفتار می‌شود) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBauthentication\-method\fR (جفت‌رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmaximum\-packet\-size\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBreceive\-maximum\fR (عدد صحیح بی‌علامت ۱۶ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrequest\-problem\-information\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrequest\-response\-information\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsession\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی؛ توجه: به جای آن از \fB\-x\fR استفاده کنید) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtopic\-alias\-maximum\fR (عدد صحیح بی‌علامت ۱۶ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "انتشار (Publish)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcontent\-type\fR (رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcorrelation\-data\fR (داده دودویی \- توجه: به عنوان رشته رفتار می‌شود) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmessage\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpayload\-format\-indicator\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBresponse\-topic\fR (رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtopic\-alias\fR (عدد صحیح بی‌علامت ۱۶ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "قطع اتصال (Disconnect)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsession\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "ویژگی‌های وصیت (Will properties)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcontent\-type\fR (رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcorrelation\-data\fR (داده دودویی \- توجه: به عنوان رشته رفتار می‌شود) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmessage\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpayload\-format\-indicator\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBresponse\-topic\fR (رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBwill\-delay\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .SH "وضعیت خروج (EXIT STATUS)" .PP در صورت موفقیت مقدار صفر و در صورت بروز خطا مقداری غیر صفر بازگردانده می‌شود\&. اگر اتصال توسط کارگزار در سطح MQTT رد شود، کد خروج همان کد دلیل CONNACK خواهد بود\&. در صورت بروز هر خطای دیگری، کد خروج مقدار بازگشتی libmosquitto است\&. .PP کدهای CONNACK در MQTT نسخه v3\&.1\&.1: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR موفقیت‌آمیز (Success) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB1\fR اتصال رد شد: نسخه پروتکل نامعتبر است (Connection refused: Bad protocol version) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB2\fR اتصال رد شد: شناسه پذیرفته نشد (Connection refused: Identifier rejected) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB3\fR اتصال رد شد: سرور در دسترس نیست (Connection refused: Server unavailable) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB4\fR اتصال رد شد: نام کاربری یا گذرواژه نادرست است (Connection refused: Bad username/password) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB5\fR اتصال رد شد: فاقد مجوز (Connection refused: Not authorized) .RE .PP کدهای CONNACK در MQTT نسخه v5: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR موفقیت‌آمیز (Success) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB128\fR خطای نامشخص (Unspecified error) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB129\fR بسته ناقص یا بدشکل (Malformed packet) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB130\fR خطای پروتکل (Protocol error) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB131\fR خطای وابسته به پیاده‌سازی (Implementation specific error) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB132\fR نسخه پروتکل پشتیبانی نمی‌شود (Unsupported protocol version) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB133\fR شناسه کلاینت نامعتبر است (Client ID not valid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB134\fR نام کاربری یا گذرواژه نادرست است (Bad username or password) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB135\fR فاقد مجوز (Not authorized) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB136\fR سرور در دسترس نیست (Server unavailable) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB137\fR سرور مشغول است (Server busy) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB138\fR مسدود شده (Banned) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB139\fR سرور در حال خاموش شدن است (Server shutting down) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB140\fR روش احراز هویت نادرست است (Bad authentication method) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB141\fR پایان مهلت زنده ماندن (Keep alive timeout) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB142\fR نشست توسط اتصال دیگری تصاحب شد (Session taken over) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB143\fR فیلتر موضوع نامعتبر است (Topic filter invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB144\fR نام موضوع نامعتبر است (Topic name invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB147\fR سقف دریافت رد شد (Receive maximum exceeded) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB148\fR نام مستعار موضوع نامعتبر است (Topic alias invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB149\fR بسته بیش از حد بزرگ است (Packet too large) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB148\fR نرخ ارسال پیام بیش از حد بالاست (Message rate too high) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB151\fR سهمیه مصرف تمام شده است (Quota exceeded) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB152\fR اقدام مدیریتی (Administrative action) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB153\fR قالب داده بدنه نامعتبر است (Payload format invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB154\fR نگهداری پیام پشتیبانی نمی‌شود (Retain not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB155\fR سطح کیفیت خدمات پشتیبانی نمی‌شود (QoS not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB156\fR از سرور دیگری استفاده کنید (Use another server) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB157\fR سرور منتقل شده است (Server moved) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB158\fR اشتراک‌های هم‌رسان پشتیبانی نمی‌شود (Shared subscriptions not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB159\fR نرخ برقراری اتصال بیش از حد مجاز است (Connection rate exceeded) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB160\fR حداکثر زمان مجاز اتصال (Maximum connect time) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB161\fR شناسه‌های اشتراک پشتیبانی نمی‌شود (Subscription IDs not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB162\fR اشتراک‌های با نویسه عمومی پشتیبانی نمی‌شود (Wildcard subscriptions not supported) .RE .PP سایر کدها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB27\fR پایان مهلت انتظار برای دریافت پیام (Timed out waiting for message) .RE .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .PP \fBMOSQUITTO_UNSAFE_ALLOW_SYMLINKS\fR .RS 4 به طور پیش‌فرض، از بارگذاری فایل‌های حساس که مسیر آن‌ها شامل یک پیوند نمادین (symlink) باشد خودداری خواهد شد\&. این متغیر محیطی را روی هر مقداری تنظیم کنید تا بارگذاری فایل‌ها از طریق پیوندهای نمادین مجاز گردد\&. توجه داشته باشید که بهره‌گیری از این متغیر می‌تواند شما را در معرض حملات پیوند نمادین قرار دهد و بنابراین فقط در مواردی باید استفاده شود که کاملاً مطمئن هستید چنین خطری وجود ندارد\&. .RE .SH "اشکالات (BUGS)" .PP اطلاعات اشکالات \fBmosquitto\fR را می‌توانید در نشانی زیر بیابید: \m[blue]\fB\%https://github.com/eclipse-mosquitto/mosquitto/issues\fR\m[] .SH "همچنین ببینید (SEE ALSO)" \fBmosquitto\fR(7), \fBmqtt\fR(7), \fBmosquitto_ctrl_shell\fR(1), \fBmosquitto_rr\fR(1), \fBmosquitto_pub\fR(1), \fBmosquitto_sub\fR(1), \fBmosquitto\fR(8), \fBlibmosquitto\fR(3), \fBmosquitto-tls\fR(7) .SH "نویسنده (AUTHOR)" .PP Roger Light