.\" Text automatically generated by txt2man .TH turnutils_uclient 1 "۱۷ مه ۲۰۲۶" "" "دستورات کاربر" .SH "نام (NAME)" turnutils_uclient \- شبیه‌ساز چندین کلاینت UDP، TCP، TLS یا DTLS برای اهداف آزمایشی .SH "اطلاعات عمومی (GENERAL INFORMATION)" مجموعه‌ای از برنامه‌های turnutils_* عملکردهای کمکی و سودمندی را برای آزمایش و راه‌اندازی سرور TURN فراهم می‌کنند. .TP .B 1. turnutils_uclient: چندین کلاینت UDP، TCP، TLS یا DTLS را شبیه‌سازی می‌کند. (این برنامه فقط برای اهداف آزمایشی ارائه شده است!) تصویر باینری کامپایل‌شده این برنامه در زیرشاخه bin/ قرار دارد. .TP .B 2. turnutils_peer: یک سرور پژواک (echo) ساده بدون وضعیت و فقط UDP، که به عنوان سرور نهایی در الگوی رله ("همتا" یا "peer") استفاده می‌شود. برای هر بسته ورودی UDP، آن را بازتاب می‌دهد. (این برنامه فقط برای اهداف آزمایشی ارائه شده است!) هنگامی که کلاینت‌های آزمایشی به صورت کلاینت\-به\-کلاینت ارتباط برقرار می‌کنند (زمانی که برنامه "turnutils_uclient" با گزینه "\-y" استفاده می‌شود)، نیازی به turnutils_peer نیست. .PP تصویر باینری کامپایل‌شده این برنامه در زیرشاخه bin/ قرار دارد. .TP .B 3. turnutils_stunclient: یک نمونه کلاینت ساده STUN. تصویر باینری کامپایل‌شده این برنامه در زیرشاخه bin/ قرار دارد. .TP .B 4. turnutils_rfc5769check: ابزاری که صحت پیاده‌سازی پروتکل STUN/TURN را بررسی می‌کند. این ابزار فقط برای فرآیند بررسی حین کامپایل استفاده می‌شود و به مقصد نصب نهایی کپی نمی‌گردد. .PP در زیرشاخه "examples/scripts" نمونه‌هایی از خط فرمان‌های مورد استفاده برای اجرای این برنامه‌ها را خواهید یافت. اسکریپت‌ها برای اجرا از زیرشاخه examples/ طراحی شده‌اند، به عنوان مثال: .PP $ cd examples .PP $ ./scripts/secure_relay.sh .TP .B 5. turnutils_natdiscovery: ابزاری که رفتار NAT را بر اساس RFC5780 کشف می‌کند. این ابزار رفتار واقعی نگاشت و فیلتر کردن NAT و موارد دیگر را کشف می‌کند. توجه داشته باشید که در سمت سرور TURN باید دو آدرس IP شنود مختلف پیکربندی شود تا به درستی کار کند! .TP .B 6. turnutils_oauth: ابزاری که تولید access_token پروتکل OAuth (رمزنگاری AEAD)، اعتبارسنجی و رمزگشایی آن را فراهم می‌سازد. این ابزار تمام کلیدها و طول‌عمرها و هرگونه اطلاعات مرتبط لازم برای ایجاد و اعتبارسنجی access_token را به عنوان ورودی دریافت می‌کند. خروجی آن یک JSON شامل تمام پارامترهای OAuth PoP است که باید به کلاینت منتقل شوند. خروجی طبق ضمیمه B، شکل 8 در RFC7635 تولید می‌شود. .PP برای جزئیات بیشتر و ساختار access_token، سند rfc7635 را مطالعه کرده و اسکریپت examples/scripts/oauth.sh را مشاهده نمایید. .RE .PP .SH "=====================================" .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_uclient [\-tTSvsyhcxg] [گزینه‌ها] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" این ابزار برای شبیه‌سازی چندین کلاینت طراحی شده است. از رابط برنامه‌نویسی ورودی/خروجی ناهمگام در libevent برای مدیریت چندین کلاینت بهره می‌برد. کلاینت به رله متصل می‌شود، در مورد نشست مذاکره می‌کند، و تعداد مشخصی پیام را به سرور (رله) ارسال می‌نماید، در حالی که انتظار دریافت همان تعداد پاسخ را دارد. طول پیام‌ها و تعداد پیام‌های ارسالی قابل تنظیم است. پیام یک جریان بایت دلخواه است. .PP فلگ‌ها: .TP .B \fB\-t\fP استفاده از TCP برای ارتباط میان کلاینت و سرور TURN (پیش‌فرض UDP است). .TP .B \fB\-b\fP استفاده از SCTP برای ارتباط میان کلاینت و سرور TURN (پیش‌فرض UDP است). .TP .B \fB\-T\fP استفاده از TCP برای انتقال رله (پیش‌فرض UDP است). متضمن گزینه‌های \-t، \-y، \-c است و فلگ‌ها و گزینه‌های \-s، \-e، \-r و \-g را نادیده می‌گیرد. می‌تواند همراه با \-b استفاده شود. .RE .RS .TP .B \fB\-P\fP استفاده از TCP غیرفعال (RFC6062 با همتای فعال). متضمن \-T است. .TP .B \fB\-S\fP اتصال امن SSL: استفاده از SSL/TLS برای TCP، استفاده از DTLS برای UDP، و TLS/SCTP برای SCTP. .TP .B \fB\-U\fP اتصال امن رمزگذاری‌نشده (مجموعه eNULL): استفاده از SSL/TLS برای TCP، و DTLS برای UDP. .TP .B \fB\-v\fP حالت پرگو (Verbose). .TP .B \fB\-s\fP استفاده از روش "Send" در TURN؛ به طور پیش‌فرض، از کانال‌های TURN استفاده می‌کند. .TP .B \fB\-y\fP استفاده از اتصالات کلاینت\-به\-کلاینت: یک جفت کانال RTP/RTCP به یک جفت کانال RTP/RTCP دیگر. .RE با این گزینه از برنامه turnutils_peer استفاده نمی‌شود، زیرا نقاط انتهایی رله تخصیص‌یافته مستقیماً با یکدیگر ارتباط برقرار می‌کنند. .RS .TP .B \fB\-h\fP معلق ماندن نامحدود پس از ارسال آخرین بسته. .TP .B \fB\-c\fP عدم ایجاد اتصالات rtcp. .TP .B \fB\-x\fP درخواست آدرس رله IPv6 (طبق RFC6156). .TP .B \fB\-X\fP درخواست صریح آدرس رله IPv4. .TP .B \fB\-g\fP تنظیم پارامتر DONT_FRAGMENT در درخواست‌های TURN. .TP .B \fB\-D\fP انجام پدینگ اجباری کانال حتی برای UDP (مانند pjnath). .TP .B \fB\-N\fP انجام آزمون‌های منفی (فقط برخی حالت‌های محدود). .TP .B \fB\-R\fP انجام آزمون‌های پروتکل منفی. .TP .B \fB\-O\fP حالت حمله منع خدمت (DOS attack). .TP .B \fB\-M\fP استفاده از قابلیت تحرک TURN ICE Mobility. .TP .B \fB\-I\fP عدم تنظیم مجوزها بر روی نقاط پایانی رله TURN (جهت آزمایش قابلیت‌های غیراستاندارد رله سرور). .RE .RS .TP .B \fB\-G\fP تولید درخواست‌های اضافی (ایجاد مجوزها، اتصال کانال). .TP .B \fB\-B\fP قطع تصادفی ارتباط پس از ارسال چند بسته اولیه. .TP .B \fB\-Z\fP تخصیص دوگانه (SSODA). متضمن گزینه \-c است. .TP .B \fB\-J\fP استفاده از oAuth با کلیدهای آزمایشی پیش‌فرض kid='north'، 'union' یا 'oldempire'. .TP .B \fB\-Y\fP حالت مولد بار (Load\-generator mode): حالت packet داده‌ها را از طریق یک تخصیص واحد TURN با بیشترین سرعت ممکن سیل‌آسا ارسال می‌کند، .RE حالت alloc با بیشترین سرعت ممکن تخصیص‌ها را ایجاد می‌نماید، و حالت invalid بسته‌های نامعتبر کوچک را به شنونده TURN با بیشترین سرعت ممکن ارسال می‌کند. حالت‌های مولد بار متضمن گزینه \-c هستند و از \-y پشتیبانی نمی‌کنند. .RS .TP .B \fB\-\-no\-even\-port\fP هرگز ویژگی EVEN\-PORT را به درخواست‌های ALLOCATE ضمیمه نکن. مسیر پیش‌فرض clnet_allocate حتی تحت گزینه \-c نیز به طور تصادفی 0 یا \-1 را انتخاب می‌کند، .RE که حالت turnserver \-\-multiplex\-peer آن را با خطای 400 رد خواهد کرد. از \-\-no\-even\-port برای اجرای بی‌نقص سیل alloc و هر آزمایش دیگری در برابر \-\-multiplex\-peer استفاده کنید. .RS .TP .B \fB\-\-listener\-threads\fP تعداد ریسه‌های دریافت (شنونده) در تولیدکننده بار (همچنین به صورت \-K N در دسترس است). پیش‌فرض خودکار: 0 برای \-m < 4، و ارتقا به 1 .RE زمانی که \-m >= 4 باشد. مقدار 0 رفتار قدیمی تک\-event\-base را حفظ می‌کند. هر شنونده مالک event base اختصاصی خود در libevent است؛ نشست‌ها به صورت نوبت‌گردشی (round-robin) تقسیم می‌شوند. حداکثر ۴. .RS .TP .B \fB\-\-sender\-threads\fP تعداد ریسه‌های ارسال (مبتنی بر تایمر) در تولیدکننده بار. پیش‌فرض خودکار: 0 برای \-m < 4، و ارتقا به 2 زمانی که \-m >= 4 باشد. مقدار 0 .RE رفتار سنتی ارسال تک‌ریسه‌ای را حفظ می‌کند (تابع timer_handler ریسه اصلی روی تمام نشست‌ها پیمایش می‌کند). هر ارسال‌کننده مالک event base و یک بخش از نشست‌ها در libevent است؛ ارسال‌ها در هر تیک به یک فراخوانی sendmsg مبتنی بر UDP-GSO (یا در صورت عدم دسترسی به GSO، یک sendmmsg) تجمیع می‌شوند. حداکثر ۴. .RS گزینه‌ها با مقادیر اجباری: .TP .B \fB\-l\fP طول پیام (پیش‌فرض: ۱۰۰ بایت). .TP .B \fB\-i\fP فایل گواهی (فقط برای اتصالات امن، اختیاری). .TP .B \fB\-k\fP فایل کلید خصوصی (فقط برای اتصالات امن). .TP .B \fB\-E\fP فایل CA برای اعتبارسنجی گواهی سرور، در صورتی که گواهی سرور باید تأیید شود. .RE .RS .TP .B \fB\-p\fP پورت سرور TURN (پیش‌فرض: ۳۴۷۸ ناامن، ۵۳۴۹ امن). .TP .B \fB\-n\fP تعداد پیام‌های ارسالی (پیش‌فرض: ۵). در حالت مولد بار، \-n تعداد عملیات به ازای هر کلاینت است. .RE اگر در آنجا حذف شود، کلاینت تا زمان توقف دستی اجرا خواهد شد. .RS .TP .B \fB\-d\fP دستگاه رابط شبکه محلی (اختیاری، فقط لینوکس). .TP .B \fB\-L\fP آدرس IP محلی (اختیاری). .TP .B \fB\-m\fP تعداد کلاینت‌ها (پیش‌فرض: ۱، ۲ یا ۴، بسته به گزینه‌ها). .TP .B \fB\-e\fP آدرس همتا (Peer). .TP .B \fB\-r\fP پورت همتا (پیش‌فرض: ۳۴۸۰). .TP .B \fB\-z\fP فاصله بسته در هر نشست بر حسب میلی‌ثانیه (پیش‌فرض: ۲۰). در حالت‌های مولد بار packet و invalid مقدار پیش‌فرض 0 میلی‌ثانیه است. .RE .RS .TP .B \fB\-u\fP نام کاربری STUN/TURN. .TP .B \fB\-w\fP گذرواژه کاربر STUN/TURN. .TP .B \fB\-W\fP کلید مخفی TURN REST API. کلید مخفی متن ساده مانند "north" که در ستون value جدول turn_secret .RE در پایگاه داده در صورت پویا بودن، یا مقدار static\-auth\-secret تنظیم‌شده در فایل پیکربندی در صورت استفاده از حالت ایستا ذخیره می‌شود. .RS .TP .B \fB\-C\fP این نماد (نویسه) جداکننده برچسب زمان/نام کاربری در TURN REST API است. مقدار پیش‌فرض : است. .RE .RS .TP .B \fB\-F\fP مجموعه رمزها (Cipher suite) برای TLS/DTLS. مقدار پیش‌فرض DEFAULT است. .TP .B \fB\-o\fP مقدار ویژگی ORIGIN در پروتکل STUN. .TP .B \fB\-a\fP پهنای باند برای درخواست پهنای باند در پیام ALLOCATE. مقدار پیش‌فرض صفر است. .PP نکات حالت مولد بار (load\-generator mode): .IP \(bu 3 حالت packet همچنان تخصیص و راه‌اندازی معمولی TURN را انجام می‌دهد و سپس بلافاصله بدون ایجاد تأخیر شروع به ارسال می‌کند. .IP \(bu 3 حالت alloc نیازی به \-e ندارد؛ این حالت مکرراً تخصیص‌های جدید ایجاد کرده و دوباره آن‌ها را می‌بندد. .IP \(bu 3 حالت alloc نیازی به \-e ندارد؛ این حالت مکرراً تخصیص‌های جدید ایجاد می‌کند، از یک پورت محلی کلاینت یکتا برای هرکدام بهره می‌گیرد، هریک را به یک جفت ip:port مصنوعی همتا متصل می‌سازد و دوباره آن‌ها را می‌بندد. .IP \(bu 3 حالت invalid نیازی به \-e ندارد؛ به طور پیش‌فرض از بار داده ۱۶ بایتی استفاده می‌کند مگر اینکه \-l مشخص شود. .PP نمونه‌ها را در دایرکتوری "examples/scripts" مشاهده کنید. .SH "======================================" .SS "نام (NAME) - turnutils_peer" \fB \fBturnutils_peer \- سرور پشتیبان اکو ساده و فقط UDP. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_peer [\-v] [گزینه‌ها] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" این برنامه فقط برای مقاصد آزمایشی، به عنوان همتا برای برنامه turnutils_uclient استفاده می‌شود. .PP گزینه‌ها با مقادیر اجباری: .TP .B \fB\-p\fP پورت UDP شنود (پیش‌فرض: ۳۴۸۰). .TP .B \fB\-d\fP دستگاه رابط شبکه شنود (اختیاری) .TP .B \fB\-L\fP آدرس شنود سرور turnutils_peer. می‌توان از چندین آدرس شنود IPv4 و IPv6 استفاده کرد. اگر هیچ آدرس شنودی تعیین نشود، بر روی تمام آدرس‌های IPv4 و IPv6 شنود می‌کند. .TP .B \fB\-v\fP حالت پرگو (Verbose) .SH "========================================" .SS "نام (NAME) - turnutils_stunclient" \fB \fBturnutils_stunclient \- یک کلاینت پایه‌ای STUN. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_stunclient [گزینه‌ها] <نشانی\-IP\-سرور\-STUN> .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" یک درخواست "جدید" STUN طبق RFC 5389 (از طریق UDP) ارسال کرده و اطلاعات پاسخ را نشان می‌دهد. .PP گزینه‌ها با مقادیر اجباری: .TP .B \fB\-p\fP پورت سرور STUN (پیش‌فرض: ۳۴۷۸). .TP .B \fB\-L\fP آدرس محلی مورد استفاده (اختیاری). .TP .B \fB\-f\fP اجبار به پردازش RFC 5780. .TP .B \fB\-c\fP ارسال مداوم درخواست‌های binding پروتکل STUN و گزارش تأخیر رفت‌وبرگشت تا زمان توقف دستی. .TP .B \fB\-i\fP فاصله بین درخواست‌های مداوم بر حسب میلی‌ثانیه (پیش‌فرض: ۱۰۰۰). .TP .B \fB\-t\fP مهلت زمانی پاسخ بر حسب میلی‌ثانیه (پیش‌فرض: ۳۰۰۰). .PP برنامه turnutils_stunclient نتایج نخستین درخواست را بررسی می‌کند، و اگر دریابد که سرور STUN از RFC 5780 پشتیبانی می‌کند (پاسخ اتصال آن را آشکار می‌سازد)، چند درخواست دیگر با پارامترهای مختلف ارسال می‌کند تا قابلیت‌های کشف NAT را به نمایش بگذارد. .PP حالت پیوسته، هر پاسخ یا انقضای مهلت را گزارش می‌دهد و هنگام توقف با Ctrl\-C، درصد از دست رفتن بسته‌ها و حداقل/میانگین/حداکثر تأخیر رفت‌وبرگشت را چاپ می‌کند. .PP این ابزار از پروتکل "قدیمی" و "کلاسیک" STUN (طبق RFC 3489) پشتیبانی نمی‌کند. .SH "=====================================" .SS "نام (NAME) - turnutils_rfc5769check" \fB \fBturnutils_rfc5769check \- ابزاری برای آزمون صحت پیاده‌سازی پروتکل STUN. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_rfc5769check .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" ابزار \fIturnutils_rfc5769check\fP صحت پیاده‌سازی پروتکل STUN را در برابر بردارهای آزمایشی پیش‌تعریف‌شده در RFC 5769 ارزیابی کرده و نتایج آزمون‌ها را بر روی صفحه نمایش چاپ می‌کند. این ابزار تنها برای فرآیند بررسی حین کامپایل استفاده می‌شود و در مقصد نصب نهایی کپی نمی‌گردد. .PP نحوه استفاده: .PP $ turnutils_rfc5769check .SH "=====================================" .SS "نام (NAME) - turnutils_natdiscovery" \fB \fBturnutils_natdiscovery \- ابزاری برای کشف رفتار نگاشت و فیلتر کردن NAT مطابق با RFC5780. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_natdiscovery [گزینه‌ها] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" ابزار \fIturnutils_natdiscovery\fP رفتار نگاشت و فیلتر کردن NAT را کشف می‌کند تا مشخص نماید آیا NAT در حال حاضر از نگاشت مستقل از نقطه انتهایی (Endpoint\-Independent)، وابسته به آدرس (Address\-Dependent)، یا وابسته به آدرس و پورت (Address and Port\-Dependent) استفاده می‌کند و/یا فیلتر کردن آن به صورت مستقل، وابسته به آدرس، یا وابسته به آدرس و پورت است. .PP از یکی از فلگ‌های \-m، \-f، \-c، \-H برای کشف رفتار NAT استفاده کنید. .PP فلگ‌ها: .TP .B \fB\-m\fP کشف رفتار نگاشت NAT .TP .B \fB\-f\fP کشف رفتار فیلترینگ NAT .TP .B \fB\-t\fP کشف رفتار طول‌عمر نگاشت NAT نیازمند یک تایمر (\-T) است .RE .RS .TP .B \fB\-c\fP کشف رفتار برخورد (collision) در NAT .TP .B \fB\-H\fP کشف رفتار hairpinning در NAT .TP .B \fB\-P\fP افزودن ۱۵۰۰ بایت پدینگ به فرآیند کشف رفتار قابل اعمال بر روی همه موارد به جز کشف طول‌عمر نگاشت NAT .RE .RS گزینه‌ها با مقادیر اجباری: .TP .B \fB\-p\fP پورت سرور STUN (پیش‌فرض: ۳۴۷۸) .TP .B \fB\-L\fP آدرس محلی مورد استفاده (اختیاری) .TP .B \fB\-l\fP پورت محلی مورد استفاده (همراه با \-L) .TP .B \fB\-A\fP آدرس محلی دوم (اختیاری) برای کشف برخورد الزامی است .RE .RS .TP .B \fB\-T\fP تایمر طول‌عمر نگاشت (ثانیه) توسط کشف رفتار طول‌عمر نگاشت استفاده می‌شود .RE .RS نحوه استفاده: .PP $ turnutils_natdiscovery \-m \-f stun.example.com .SH "=====================================" .SS "نام (NAME) - turnutils_oauth" \fB \fBturnutils_oauth \- ابزاری کمکی برای تولید/رمزنگاری و اعتبارسنجی/رمزگشایی access_token در پروتکل OAuth \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_oauth [گزینه‌ها] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" ابزار \fIturnutils_oauth\fP در رمزنگاری و/یا رمزگشایی access_token در OAuth با استفاده از الگوریتم رمزنگاری احرازشده با داده‌های ضمیمه (AEAD) کمک می‌کند. این ابزار به یک سرور احراز هویت در ایجاد access_token یاری می‌رساند و همچنین برای مقاصد اشکال‌زدایی به اعتبارسنجی و رمزگشایی توکن کمک می‌کند. این ابزار تمام کلیدها، طول‌عمرها و هرگونه اطلاعات مرتبط لازم را دریافت کرده و یک JSON شامل تمام پارامترهای OAuth PoP تولید می‌کند. خروجی مطابق با ضمیمه B، شکل 8 در RFC7635 تولید می‌شود. توجه داشته باشید که این ابزار "کلید نشست" / "mac_key" تولید نمی‌کند و طول‌عمر آن‌ها را بررسی نمی‌نماید. برای جزئیات بیشتر و ساختار access_token، سند rfc7635 را خوانده و مثال موجود در examples/scripts/oauth.sh را ببینید. .PP برای رمزنگاری یا رمزگشایی access_token از فلگ \-e یا \-d استفاده کنید. .PP فلگ‌ها: .TP .B \fB\-h\fP, \-\-help راهنمای استفاده .TP .B \fB\-v\fP, \-\-verbose حالت پرگو .TP .B \fB\-e\fP, \-\-encrypt رمزنگاری توکن .TP .B \fB\-d\fP, \-\-decrypt رمزگشایی و اعتبارسنجی توکن .PP گزینه‌ها با مقادیر اجباری: .TP .B \fB\-i\fP, \-\-server\-name نام سرور (حداکثر ۲۵۵ نویسه) .TP .B \fB\-j\fP, \-\-auth\-key\-id شناسه کلید احراز هویت (حداکثر ۳۲ نویسه) .TP .B \fB\-k\fP, \-\-auth\-key کلید احراز هویت کدگذاری‌شده با base64 .TP .B \fB\-l\fP \-\-auth\-key\-timestamp برچسب زمان کلید احراز هویت (ثانیه از مبدأ زمان epoch) .TP .B \fB\-m\fP, \-\-auth\-key\-lifetime طول‌عمر کلید احراز هویت به ثانیه .TP .B \fB\-n\fP, \-\-auth\-key\-as\-rs\-alg الگوریتم رمزنگاری میان سرور احراز هویت (AS) و سرور منبع (RS) .TP .B \fB\-o\fP, \-\-token\-nonce مقدار nonce کدگذاری‌شده در base64 (شامل ۱۲ بایت = ۱۶ نویسه) .TP .B \fB\-p\fP, \-\-token\-mac\-key کلید MAC کدگذاری‌شده در base64 (شامل ۳۲ بایت = ۴۴ نویسه) .TP .B \fB\-q\fP, \-\-token\-timestamp برچسب زمان در قالب ۶۴ بیتی بدون علامت (قالب محلی یونیکس)، شامل ۴۸ بیت برای ثانیه‌های سپری‌شده از epoch UTC و ۱۶ بیت برای کسرهای ۱/۶۴۰۰۰ ثانیه. .RE به عنوان مثال: برچسب زمان یونیکس با ۱۶ بیت شیفت به چپ (پیش‌فرض: زمان واقعی gmtime). .RS .TP .B \fB\-r\fP, \-\-token\-lifetime طول‌عمر به ثانیه (پیش‌فرض: ۳۶۰۰) .TP .B \fB\-t\fP, \-\-token توکن رمزگذاری‌شده و کدگذاری‌شده در base64 برای اعتبارسنجی و رمزگشایی .TP .B \fB\-u\fP, \-\-hmac\-alg الگوریتم hmac کلاینت stun .PP نحوه استفاده: .PP $ turnutils_natdiscovery .SH "===================================" .SH "مستندات (DOCS)" پس از نصب، این دستور را اجرا کنید: .PP $ man turnutils .PP یا در دایرکتوری ریشه پروژه: .PP $ man \-M man turnutils .PP تا صفحه راهنما را مشاهده نمایید. .SH "=====================================" .SH "فایل‌ها (FILES)" /etc/turnserver.conf .PP /var/db/turndb .PP /usr/local/var/db/turndb .PP /var/lib/turn/turndb .PP /usr/local/etc/turnserver.conf .SH "=================================" .SH "دایرکتوری‌ها (DIRECTORIES)" /usr/local/share/turnserver .PP /usr/local/share/doc/turnserver .PP /usr/local/share/examples/turnserver .SH "===================================" .SH "استانداردها (STANDARDS)" پروتکل جدید STUN RFC 5389 .SH "پروتکل TURN RFC 5766" افزونه TURN\-TCP طبق RFC 6062 .PP افزونه IPv6 برای TURN طبق RFC 6156 .PP بردارهای آزمایشی STUN/TURN طبق RFC 5769 .PP کشف رفتار NAT در STUN طبق RFC 5780 .SH "====================================" .SH "همچنین ببینید (SEE ALSO)" turnserver, turnadmin .SH "======================================" .SS "منابع وب (WEB RESOURCES)" صفحه پروژه: https://github.com/coturn/coturn صفحه ویکی: https://github.com/coturn/coturn/wiki انجمن گفتگو: https://groups.google.com/forum/?fromgroups=#!forum/turn\-server\-project\-rfc5766\-turn\-server .SH "======================================" .SS "نویسندگان (AUTHORS)" فایل AUTHORS.md را در توزیع منبع coturn مشاهده کنید.