.\" Text automatically generated by txt2man .TH turnutils_peer 1 "17 مه 2026" "" "" .SH "نام (NAME)" turnutils_peer \- سرور مقصد و تست آزمایشی همتا برای سرویس TURN .SH "اطلاعات عمومی (GENERAL INFORMATION)" مجموعه‌ای از برنامه‌های turnutils_* قابلیت‌های سودمندی را برای آزمایش و راه‌اندازی سرور TURN فراهم می‌کنند. .TP .B 1. turnutils_uclient: چندین کلاینت UDP، TCP، TLS یا DTLS را شبیه‌سازی می‌کند. (این برنامه صرفاً برای مقاصد آزمایشی ارائه شده است!) تصویر باینری کامپایل‌شدهٔ این برنامه در زیرشاخهٔ bin/ قرار دارد. .TP .B 2. turnutils_peer: یک سرور بازتاب (echo) ساده، بدون وضعیت و فقط UDP، برای استفاده به‌عنوان سرور نهایی در الگوی رله («همتا» یا peer). برای هر بستهٔ UDP ورودی، صرفاً آن را بازتاب می‌دهد. (این برنامه صرفاً برای مقاصد آزمایشی ارائه شده است!) هنگامی که کلاینت‌های آزمایشی به‌صورت کلاینت‌به‌کلاینت (client\-to\-client) ارتباط برقرار می‌کنند (زمانی که برنامهٔ «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. این ابزار رفتار واقعی نگاشت (Mapping) و فیلترگذاری (Filtering) در NAT و غیره را کشف می‌کند. توجه داشته باشید که در سمت سرور TURN، باید دو نشانی IP شنود متفاوت پیکربندی شده باشد تا بتواند به‌درستی کار کند! .TP .B 6. turnutils_oauth: ابزاری که \fBتولید\fP (رمزنگاری AEAD)، اعتبارسنجی و رمزگشایی access_token در OAuth را فراهم می‌کند. این ابزار تمامی کلیدها، زمان‌های حیات و هرگونه اطلاعات مرتبطِ مورد نیاز برای ایجاد و اعتبارسنجی یک access_token را دریافت می‌کند. خروجی آن یک JSON شامل تمام پارامترهای OAuth PoP است که باید به کلاینت منتقل شوند. خروجی بر اساس ضمیمهٔ B شکل ۸ در RFC7635 تولید می‌شود. .PP برای جزئیات بیشتر و ساختار access_token، سند rfc7635 را مطالعه کرده و اسکریپت موجود در examples/scripts/oauth.sh را ببینید. .RE .PP .SH ===================================== .SS "نام (NAME)" \fB \fBturnutils_uclient \- این برنامهٔ شبیه‌سازی کلاینت، صرفاً برای مقاصد آزمایشی ارائه شده است. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_uclient [\-tTSvsyhcxg] [options] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" این برنامه برای شبیه‌سازی چندین کلاینت طراحی شده است. این ابزار از API ناهمگام I/O در libevent برای مدیریت چندین کلاینت استفاده می‌کند. یک کلاینت به رله متصل می‌شود، بر سر نشست مذاکره می‌کند و چندین پیام (به تعداد پیکربندی‌شده) به سرور (رله) ارسال می‌نماید و انتظار دریافت همان تعداد پاسخ را دارد. طول پیام‌ها قابل پیکربندی است. پیام یک جریان هشت‌بیتی (octet stream) دلخواه است. تعداد پیام‌های ارسالی نیز قابل پیکربندی است. .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 را نادیده می‌گیرد. می‌تواند همراه .RE با \-b استفاده شود. .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 حالت پرگو (با جزئیات کامل). .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 انجام لایه‌گذاری (padding) اجباری کانال حتی برای UDP (مشابه با pjnath). .TP .B \fB\-N\fP انجام آزمایش‌های منفی (فقط در برخی موارد محدود). .TP .B \fB\-R\fP انجام آزمایش‌های منفی پروتکل. .TP .B \fB\-O\fP حالت حملهٔ محروم‌سازی از سرویس (DOS). .TP .B \fB\-M\fP استفاده از قابلیت پویایی در TURN ICE (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=\(aqnorth\(aq، \(aqunion\(aq یا \(aqoldempire\(aq. .TP .B \fB\-Y\fP حالت تولیدکننده بار (load\-generator): در حالت packet داده‌ها با بیشترین سرعت ممکن از طریق یک تخصیص TURN سیل‌آسا ارسال می‌شوند، .RE حالت alloc با بیشترین سرعت ممکن تخصیص ایجاد می‌کند، و حالت invalid بسته‌های کوچک نامعتبر را با بیشترین سرعت ممکن به شنونده TURN می‌فرستد. حالت‌های load\-generator مستلزم \-c بوده و از \-y پشتیبانی نمی‌کنند. .RS .TP .B \fB\-\-no\-even\-port\fP هرگز صفت EVEN\-PORT را به درخواست‌های ALLOCATE ضمیمه نکنید. مسیر پیش‌فرض clnet_allocate حتی تحت \-c نیز به‌صورت تصادفی 0 یا \-1 را انتخاب می‌کند، .RE که حالت \-\-multiplex\-peer در turnserver آن را اکیداً با خطای 400 رد می‌کند. از \-\-no\-even\-port برای اجرای بی‌نقص alloc\-flood و هرگونه آزمایش دیگر در برابر \-\-multiplex\-peer استفاده کنید. .RS .TP .B \fB\-\-listener\-threads\fP تعداد ریسه‌های دریافت (شنونده) در loadgen (همچنین به‌صورت \-K N در دسترس است). پیش‌فرض خودکار است: 0 برای \-m < 4، و افزایش به 1 .RE هنگامی که \-m >= 4 باشد. مقدار 0 رفتار قدیمی single\-event\-base را حفظ می‌کند. هر شنونده libevent base مختص به خود را دارد؛ نشست‌ها به‌صورت round\-robin تسهیم می‌شوند. حداکثر 4. .RS .TP .B \fB\-\-sender\-threads\fP تعداد ریسه‌های ارسال (مبتنی بر زمان‌سنج) در loadgen. پیش‌فرض خودکار است: 0 برای \-m < 4، و افزایش به 2 هنگامی که \-m >= 4 باشد. مقدار 0 .RE رفتار سنتی ارسال تک‌ریسه‌ای (که در آن timer_handler ریسه اصلی روی تمام نشست‌ها پیمایش می‌کند) را حفظ می‌کند. هر ارسال‌کننده libevent base و یک بخش نشست متعلق به خود دارد؛ ارسال‌های هر تیک درون یک فراخوانی sendmsg مبتنی بر UDP\-GSO (یا در صورت عدم دسترسی به GSO، یک sendmmsg) ادغام می‌شوند. حداکثر 4. .RS گزینه‌ها با مقادیر الزامی: .TP .B \fB\-l\fP طول پیام (پیش‌فرض: 100 بایت). .TP .B \fB\-i\fP فایل گواهی (تنها برای اتصالات امن، اختیاری). .TP .B \fB\-k\fP فایل کلید خصوصی (تنها برای اتصالات امن). .TP .B \fB\-E\fP فایل CA برای اعتبارسنجی گواهی سرور، در صورتی که گواهی سرور باید اعتبارسنجی شود. .RE .RS .TP .B \fB\-p\fP پورت سرور TURN (پیش‌فرض‌ها: 3478 غیرامن، 5349 امن). .TP .B \fB\-n\fP تعداد پیام‌ها برای ارسال (پیش‌فرض: 5). در حالت load\-generator، گزینه \-n تعداد عملیات‌ها به‌ازای هر کلاینت است. .RE اگر در آنجا حذف شود، کلاینت تا زمان توقف دستی اجرا خواهد شد. .RS .TP .B \fB\-d\fP دستگاه رابط محلی (اختیاری، تنها لینوکس). .TP .B \fB\-L\fP آدرس IP محلی (اختیاری). .TP .B \fB\-m\fP تعداد کلاینت‌ها (پیش‌فرض: 1، 2 یا 4، بسته به گزینه‌ها). .TP .B \fB\-e\fP آدرس همتا (peer). .TP .B \fB\-r\fP پورت همتا (peer) (پیش‌فرض: 3480). .TP .B \fB\-z\fP فاصله زمانی بسته‌ها در هر نشست به میلی‌ثانیه (پیش‌فرض: 20). در حالت‌های load\-generator از نوع 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. عبارت محرمانه به‌صورت «متن خام» (plain text) مانند "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 مقدار صفت STUN مربوط به ORIGIN. .TP .B \fB\-a\fP پهنای باند برای درخواست پهنای باند در ALLOCATE. مقدار پیش‌فرض صفر است. .PP نکاتی برای حالت load\-generator: .IP \(bu 3 حالت packet همچنان تخصیص و راه‌اندازی عادی TURN را انجام می‌دهد و سپس بلافاصله و بدون هیچ‌گونه کنترل سرعت (pacing) ارسال را آغاز می‌کند. .IP \(bu 3 حالت alloc نیازی به \-e ندارد؛ این حالت مکرراً تخصیص‌های جدید ایجاد کرده و مجدداً آنها را می‌بندد. .IP \(bu 3 حالت alloc نیازی به \-e ندارد؛ این حالت مکرراً تخصیص‌های جدید ایجاد می‌کند، برای هر یک از آنها یک پورت محلی کلاینت یکتا به کار می‌گیرد، هر کدام را به یک ip:port همتای ساختگی یکتا متصل کرده و سپس مجدداً آنها را می‌بندد. .IP \(bu 3 حالت invalid نیازی به \-e ندارد؛ به‌طور پیش‌فرض از بارهای مفید (payload) ۱۶ بایتی استفاده می‌کند مگر اینکه \-l مشخص شده باشد. .PP مثال‌ها را در دایرکتوری "examples/scripts" مشاهده کنید. .SH ====================================== .SS "نام (NAME)" \fB \fBturnutils_peer \- سرور مقصد و تست آزمایشی همتا برای سرویس TURN \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_peer [\-v] [options] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" این برنامه صرفاً برای مقاصد آزمایشی، به عنوان یک همتا (peer) برای برنامه turnutils_uclient استفاده می‌شود. .PP گزینه‌های دارای مقادیر الزامی: .TP .B \fB\-p\fP درگاه شنود UDP (پیش‌فرض: 3480). .TP .B \fB\-d\fP دستگاه رابط شنود (اختیاری). .TP .B \fB\-L\fP نشانی شنود سرور turnutils_peer. می‌توان از چندین نشانی شنود، IPv4 و IPv6، استفاده کرد. اگر هیچ نشانی شنودی تعیین نشود، بر روی تمام نشانی‌های IPv4 و IPv6 گوش می‌دهد. .TP .B \fB\-v\fP حالت پرگو (با جزئیات کامل). .SH ======================================== .SS "نام (NAME)" \fB \fBturnutils_stunclient \- یک کلاینت پایهٔ STUN. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_stunclient [options] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" این ابزار یک درخواست STUN «جدید» طبق RFC 5389 (روی UDP) ارسال کرده و اطلاعات پاسخ را نمایش می‌دهد. .PP گزینه‌های دارای مقادیر الزامی: .TP .B \fB\-p\fP درگاه سرور STUN (پیش‌فرض: 3478). .TP .B \fB\-L\fP نشانی محلی مورد استفاده (اختیاری). .TP .B \fB\-f\fP اجبار به پردازش بر اساس RFC 5780. .TP .B \fB\-c\fP ارسال مداوم درخواست‌های بایندینگ STUN و گزارش تأخیر رفت‌وبرگشت تا زمان متوقف شدن. .TP .B \fB\-i\fP فاصله زمانی بین درخواست‌های متوالی به میلی‌ثانیه (پیش‌فرض: 1000). .TP .B \fB\-t\fP مهلت زمانی پاسخ (timeout) به میلی‌ثانیه (پیش‌فرض: 3000). .PP برنامه turnutils_stunclient نتایج نخستین درخواست را بررسی می‌کند، و اگر متوجه شود که سرور STUN از RFC 5780 پشتیبانی می‌کند (پاسخ بایندینگ این موضوع را آشکار می‌سازد)، آن‌گاه turnutils_stunclient چند درخواست دیگر با پارامترهای متفاوت ارسال می‌کند تا قابلیت‌های کشف NAT را نشان دهد. .PP حالت پیوسته، هر پاسخ یا مهلت زمانی (timeout) را گزارش کرده و هنگام متوقف شدن با Ctrl\-C، میزان اتلاف بسته (packet loss) و کمترین/میانگین/بیشترین تأخیر رفت‌وبرگشت را چاپ می‌کند. .PP این ابزار از پروتکل STUN «قدیمی» یا «کلاسیک» (RFC 3489) پشتیبانی نمی‌کند. .SH ===================================== .SS "نام (NAME)" \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)" \fB \fBturnutils_natdiscovery \- ابزاری برای کشف رفتار نگاشت و پالایش NAT طبق RFC 5780. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_natdiscovery [options] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" ابزار \fIturnutils_natdiscovery\fP رفتار نگاشت (Mapping) و پالایش (Filtering) مربوط به NAT را شناسایی می‌کند تا مشخص کند آیا آن NAT در حال حاضر از نگاشت «مستقل از نقطه پایانی» (Endpoint\-Independent)، «وابسته به نشانی» (Address\-Dependent)، یا «وابسته به نشانی و درگاه» (Address and Port\-Dependent) استفاده می‌کند و/یا تعیین کند که آیا NAT در حال حاضر از پالایش «مستقل از نقطه پایانی»، «وابسته به نشانی»، یا «وابسته به نشانی و درگاه» بهره می‌برد یا خیر. .PP برای کشف رفتار NAT از یکی از پرچم‌های \-m، \-f، \-c یا \-H استفاده کنید. .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 افزودن ۱۵۰۰ بایت لایه یا پدینگ (Padding) به روند کشف رفتار قابل استفاده با همه موارد به جز کشف طول عمر نگاشت NAT .RE .RS گزینه‌ها با مقادیر الزامی: .TP .B \fB\-p\fP درگاه سرور STUN (پیش‌فرض: 3478) .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)" \fB \fBturnutils_oauth \- ابزاری کمکی برای تولید/رمزنگاری و اعتبارسنجی/رمزگشایی access_token در OAuth. \fB .SS "خلاصه دستور (SYNOPSIS)" .nf .fam C $ turnutils_oauth [options] .fam T .fi .fam T .fi .SS "توضیحات (DESCRIPTION)" ابزار \fIturnutils_oauth\fP در رمزنگاری و/یا رمزگشایی access_token در OAuth به همراه AEAD (رمزنگاری احراز هویت‌شده با داده‌های مرتبط) کمک می‌کند. این ابزار به سرور احراز هویت (Auth Server) در ایجاد access_token یاری رسانده و همچنین برای اهداف اشکال‌زدایی، به اعتبارسنجی و رمزگشایی access_token کمک می‌کند. این ابزار تمام کلیدها، طول عمرها و هرگونه اطلاعات مرتبطِ مورد نیاز برای رمزنگاری یا رمزگشایی یک access_token را به عنوان ورودی دریافت می‌کند. خروجی آن یک JSON شامل تمام پارامترهای OAuth PoP است که باید به کلاینت منتقل شوند. خروجی مطابق با پیوست B، شکل ۸ از RFC7635 تولید می‌شود. این ابزار می‌تواند به ساخت یک سرویس Auth Server کمک کند، اما توجه داشته باشید که این ابزار «session key» یا «mac_key» تولید نمی‌کند و طول عمر «session key»، «mac_key» یا «Auth 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 شناسه کلید Auth (حداکثر ۳۲ نویسه) .TP .B \fB\-k\fP, \-\-auth\-key کلید Auth با کدگذاری base64 .TP .B \fB\-l\fP \-\-auth\-key\-timestamp مهر زمانی کلید Auth (ثانیه از مبدأ زمانی epoch) .TP .B \fB\-m\fP, \-\-auth\-key\-lifetime طول عمر کلید Auth به ثانیه .TP .B \fB\-n\fP, \-\-auth\-key\-as\-rs\-alg الگوریتم رمزنگاری میان Authorization Server(AS) و Resource Server(RS) .TP .B \fB\-o\fP, \-\-token\-nonce نانس (nonce) با کدگذاری base64 به شکل base64(12 octet) = 16 char .TP .B \fB\-p\fP, \-\-token\-mac\-key کلید MAC با کدگذاری base64 به شکل base64(32 octet) = 44 char .TP .B \fB\-q\fP, \-\-token\-timestamp مهر زمانی در قالب ۶۴ بیتی بدون علامت (قالب بومی \- یونیکس)، به این صورت که ۴۸ بیت برای ثانیه‌ها از مبدأ زمانی UTC و ۱۶ بیت برای کسرهای ۱/۶۴۰۰۰ ثانیه است. .RE برای مثال: unixtimestamp واقعی ۱۶ بیت به چپ شیفت یافته است. (پیش‌فرض: مقدار واقعی gmtime) .RS .TP .B \fB\-r\fP, \-\-token\-lifetime طول عمر به ثانیه (پیش‌فرض: 3600) .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 افزونه TURN IPv6 RFC 6156 .PP بردارهای آزمون STUN/TURN RFC 5769 .PP کشف رفتار STUN NAT 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 ببینید.