.TH DHTNODE 1 2026-04-18 .SH "نام (NAME)" dhtnode \- یک اجراکننده خط فرمانی ساده برای گره OpenDHT. .SH "خلاصه دستور (SYNOPSIS)" .B dhtnode [\fB\-h\fR] [\fB\-V\fR] [\fB\-v\fR [\fB\-l\fR \fIlogfile\fR] [\fB\-L\fR]] [\fB\-i\fR [\fB\-I\fR \fIfile\fR]] [\fB\-c\fR \fIfile\fR] [\fB\-k\fR \fIfile\fR] [\fB\-m\fR \fIpassword\fR] [\fB\-d\fR] [\fB\-s\fR] [\fB\-D\fR] [\fB\-U\fR] [\fB\-P\fR] [\fB\-n\fR \fInetwork_id\fR] [\fB\-p\fR \fIlocal_port\fR] [\fB\-b\fR \fIbootstrap_host\fR[:\fIport\fR]] [\fB\-f\fR \fIpath\fR] [\fB\-S\fR \fIport\fR] [\fB\-e\fR \fIport\fR] [\fB\-a\fR \fIaddress\fR] [\fB\-w\fR \fIfile\fR] [\fB\-K\fR \fIfile\fR] [\fB\-M\fR \fIpassword\fR] [\fB\-C\fR \fIserver\fR] [\fB\-y\fR \fIendpoint\fR] [\fB\-z\fR \fIkey\fR] [\fB\-u\fR \fIbundleid\fR] .SH "توضیحات (DESCRIPTION)" یک گره OpenDHT را با یک واسط خط فرمان تعاملی (CLI، پیش‌فرض) یا به عنوان یک دیمن (با \fB'\-d'\fP یا \fB'\-s'\fP) اجرا می‌کند. دستورهای در دسترس در پوسته تعاملی عبارتند از: .EX h, help چاپ این پیام راهنما. x, quit خروج از برنامه. log شروع/توقف چاپ گزارش‌های DHT. اطلاعات گره: ll چاپ اطلاعات پایه‌ای و آمار گره فعلی. ls [key] چاپ اطلاعات پایه‌ای درباره جستجو(های) جاری. ld [key] چاپ اطلاعات پایه‌ای درباره مقادیر ذخیره‌شده فعلی روی این گره (یا برای یک کلید مشخص). lr چاپ جدول کامل و فعلی مسیریابی این گره. عملیات روی DHT: b ارسال پینگ به گره بالقوه در آدرس IP/پورت مشخص‌شده. g دریافت مقادیر در . l شنود برای تغییرات مقدار در . cl لغو شنود برای و . p قرار دادن مقدار رشته‌ای در . pp قرار دادن مقدار رشته‌ای در (نسخه پایدار). cpp لغو عملیات قرار دادن پایدار برای و مقدار . s قرار دادن مقدار رشته‌ای در ، امضاشده با کلید خصوصی تولیدشده ما. e قرار دادن مقدار رشته‌ای در ، رمزگذاری‌شده برای با کلید عمومی آن (در صورت یافت شدن). cc ارسال سیگنال تغییر اتصال‌پذیری. عملیات با پروکسی (در صورت کامپایل با پشتیبانی از سرور پروکسی): pst [port] راه‌اندازی واسط پروکسی روی پورت. psx [port] راه‌اندازی واسط SSL پروکسی روی پورت. psp [port] توقف واسط پروکسی روی پورت. عملیات با پروکسی (در صورت کامپایل با پشتیبانی از کلاینت پروکسی): stt [server_address] راه‌اندازی کلاینت پروکسی. stp توقف کلاینت پروکسی. rs [token] اشتراک مجدد در opendht. rp [token] تزریق یک اعلان push. .EE .SH "گزینه‌ها (OPTIONS)" .TP \fB\-h\fP, \fB\-\-help\fP راهنما را چاپ کرده و خارج می‌شود. .TP \fB\-V\fP, \fB\-\-version\fP اطلاعات نسخه را چاپ کرده و خارج می‌شود. .TP \fB\-v\fP, \fB\-\-verbose\fP فعال‌سازی حالت پرگو (ثبت گزارش‌ها در stdout/stderr به صورت پیش‌فرض). .TP \fB\-l\fP \fIlogfile\fP, \fB\-\-logfile\fP \fIlogfile\fP نوشتن گزارش در فایل به جای stdout/stderr. .TP \fB\-L\fP, \fB\-\-syslog\fP نوشتن گزارش در syslog به جای stdout/stderr (حالت پرگو را فعال می‌کند). .TP \fB\-i\fP, \fB\-\-identity\fP تولید یک هویت رمزنگاری (جفت‌کلید RSA و گواهی خودامضا) برای گره. در صورتی که هیچ فایل کلید خصوصی ارائه نشده باشد، برای انجام عملیات‌های رمزنگاری (رمزگذاری/امضای مقادیر) لازم است. .TP \fB\-I\fP \fIfile\fP, \fB\-\-save\-identity\fP \fIfile\fP ذخیره هویت تولیدشده (گواهی و کلید خصوصی) در پیشوند فایل داده‌شده. فایل‌ها به صورت \fIfile\fP و \fIfile\fP_ca ذخیره می‌شوند. .TP \fB\-c\fP \fIfile\fP, \fB\-\-certificate\fP \fIfile\fP بارگذاری گواهی هویت از فایل داده‌شده. در صورت مشخص شدن، گواهی روی DHT منتشر می‌شود. .TP \fB\-k\fP \fIfile\fP, \fB\-\-privkey\fP \fIfile\fP بارگذاری کلید خصوصی هویت از فایل داده‌شده. در صورتی که هویتی تولید نشده باشد، برای انجام عملیات‌های رمزنگاری لازم است. .TP \fB\-m\fP \fIpassword\fP, \fB\-\-privkey\-password\fP \fIpassword\fP گذرواژه مورد استفاده برای رمزگذاری یا رمزگشایی کلید خصوصی (اختیاری). .TP \fB\-d\fP, \fB\-\-daemonize\fP اجرای برنامه در حالت دیمن (در پس‌زمینه fork خواهد شد). هنگامی که حالت پرگو فعال باشد، به صورت پیش‌فرض گزارش‌ها را در syslog می‌نویسد. .TP \fB\-s\fP, \fB\-\-service\fP اجرای برنامه در حالت سرویس (دیمن بدون انشعاب یا non\-forking). .TP \fB\-D\fP, \fB\-\-peer\-discovery\fP کشف خودکار و محلی همتاها به صورت چندپخشی (multicast) را فعال می‌کند. .TP \fB\-U\fP, \fB\-\-no\-rate\-limit\fP غیرفعال‌سازی محدودیت نرخ (امکان ارسال درخواست‌ها و ذخیره‌سازی نامحدود را فراهم می‌کند). .TP \fB\-P\fP, \fB\-\-public\-stable\fP فعال‌سازی حالت پایدار عمومی (public stable). .TP \fB\-f\fP \fIpath\fP, \fB\-\-persist\fP \fIpath\fP مشخص کردن مسیر فایل برای ذخیره پایدار/بارگذاری وضعیت گره (جدول مسیریابی و مقادیر). .TP \fB\-n\fP \fInetwork_id\fP, \fB\-\-net\fP \fInetwork_id\fP مشخص کردن شناسه شبکه. این گزینه امکان اتصال به شبکه‌های مجزا را به شما داده و از ادغام دو شبکه مختلف جلوگیری می‌کند. مقدار پیش‌فرض 0 است (شبکه عمومی اصلی). .TP \fB\-p\fP \fIlocal_port\fP, \fB\-\-port\fP \fIlocal_port\fP استفاده از پورت UDP با شماره \fIlocal_port\fP برای مقید شدن برنامه به آن. اگر تنظیم نشود، از هر پورت در دسترسی استفاده خواهد کرد. پورت پیش‌فرض OpenDHT برای گره‌های عمومی 4222 است. .TP \fB\-b\fP \fIbootstrap_host\fP[:\fIport\fP], \fB\-\-bootstrap\fP \fIbootstrap_host\fP[:\fIport\fP] مشخص کردن آدرس یک گره راه‌انداز (bootstrap) برای اتصال به شبکه. .TP \fB\-S\fP \fIlocal_port\fP, \fB\-\-proxyserver\fP \fIlocal_port\fP اجرای سرور پروکسی REST API مقیدشده به این گره DHT روی پورت HTTP به شماره \fIlocal_port\fP. .TP \fB\-e\fP \fIlocal_port\fP, \fB\-\-proxyserverssl\fP \fIlocal_port\fP اجرای سرور پروکسی REST API به همراه SSL مقیدشده به این گره DHT روی پورت HTTPS به شماره \fIlocal_port\fP. .TP \fB\-a\fP \fIaddress\fP, \fB\-\-proxy\-addr\fP \fIaddress\fP آدرس مقیدسازی سرور پروکسی. .TP \fB\-w\fP \fIfile\fP, \fB\-\-proxy\-certificate\fP \fIfile\fP بارگذاری گواهی SSL پروکسی از فایل داده‌شده. .TP \fB\-K\fP \fIfile\fP, \fB\-\-proxy\-privkey\fP \fIfile\fP بارگذاری کلید خصوصی SSL پروکسی از فایل داده‌شده. .TP \fB\-M\fP \fIpassword\fP, \fB\-\-proxy\-privkey\-password\fP \fIpassword\fP گذرواژه برای رمزگذاری یا رمزگشایی کلید خصوصی پروکسی (اختیاری). .TP \fB\-C\fP \fIserver\fP, \fB\-\-proxyclient\fP \fIserver\fP اجرای این گره DHT در حالت کلاینت پروکسی، و اتصال به \fIserver\fP. .TP \fB\-y\fP \fIendpoint\fP, \fB\-\-pushserver\fP \fIendpoint\fP نقطه پایانی سرور اعلان push. .TP \fB\-z\fP \fIkey\fP, \fB\-\-devicekey\fP \fIkey\fP کلید دستگاه برای اعلان‌های push. .TP \fB\-u\fP \fIbundleid\fP, \fB\-\-bundleid\fP \fIbundleid\fP شناسه بسته (Bundle ID) برای اعلان‌های push. .SH "مثال‌ها (EXAMPLES)" اجرای یک گره با استفاده از bootstrap.jami.net به عنوان گره راه‌انداز (bootstrap): .PP .EX dhtnode -b bootstrap.jami.net:4222 .EE .PP اجرای یک گره به عنوان دیمن بدون انشعاب (non-forking) روی پورت 4222: .PP .EX dhtnode -b bootstrap.jami.net -p 4222 -s .EE .PP اجرای یک سرور پروکسی روی پورت 8000: .PP .EX dhtnode -b bootstrap.jami.net:4222 --proxyserver 8000 .EE .PP استفاده از یک کلاینت پروکسی برای اتصال به یک سرور پروکسی: .PP .EX dhtnode --proxyclient dhtproxy.jami.net:80 .EE .SH "نویسندگان (AUTHORS)" .TP برنامه نوشته‌شده توسط .IP \(bu .\} Adrien Béraud .TP صفحه راهنما نوشته‌شده توسط .IP \(bu .\} Simon Désaulniers