TURN(1) TURN(1)

دستور turnadmin یک ابزار مدیریتی برای سرور TURN است. این ابزار می‌تواند برای مدیریت حساب‌های کاربری (افزودن/حذف کاربران، تولید کلیدهای TURN برای کاربران) استفاده شود. به دلایل امنیتی، ما ذخیره گذرواژه‌ها به صورت آشکار را توصیه نمی‌کنیم. گزینه بهتر، استفاده از «کلیدهای» از پیش پردازش‌شده است که پس از آن برای احراز هویت استفاده می‌شوند. این کلیدها توسط turnadmin تولید می‌شوند. دستور turnadmin پیوندی به باینری turnserver است، اما عملکردهای متفاوتی را ارائه می‌دهد.

یادداشت گزینه‌ها: turnadmin برای اکثر گزینه‌ها دارای نام‌های کوتاه و طولانی است. برخی گزینه‌ها فقط شکل طولانی و برخی گزینه‌ها فقط شکل کوتاه دارند. نحو استفاده از آن‌ها در صورت نیاز به آرگومان تا حدی متفاوت است:

شکل کوتاه باید به این صورت استفاده شود (برای مثال):

$ turnadmin -u <username> ...

معادل شکل طولانی باید از نویسه "=" استفاده کند:

$ turnadmin --user=<username> ...

اگر گزینه از نوع فلگ باشد (نیازی به آرگومان نباشد)، نحوه استفاده از آن‌ها یکسان است، برای مثال:

$ turnadmin -k ...

معادل است با:

$ turnadmin --key ...

همیشه باید از گزینه -r <realm> در دستورات مربوط به اعتبارسنجی‌های بلندمدت استفاده کنید - زیرا داده‌های مربوط به چندین قلمرو (realm) می‌توانند در همان پایگاه داده ذخیره شوند.

turnadmin - ابزار مدیریت حساب‌های کاربری و پایگاه داده سرور TURN

$ turnadmin [command] [options]
$ turnadmin [ -h | --help]

دستورات:

تولید و چاپ یک شکل رمزگذاری‌شده از گذرواژه در خروجی استاندارد (برای کاربر مدیر وب یا رابط خط فرمان CLI). این مقدار سپس می‌تواند به عنوان یک کلید امن برای ذخیره‌سازی گذرواژه روی دیسک یا در پایگاه داده استفاده شود. هر بار فراخوانی برای یک گذرواژه یکسان، نتیجه متفاوتی تولید می‌کند. قالب گذرواژه رمزگذاری‌شده به این صورت است: $5$<...salt...>$<...sha256(salt+password)...>. طول نمک (salt) برابر با ۱۶ نویسه و خروجی sha256 برابر با ۶۴ نویسه است. نویسه پنجم شناسه الگوریتم (sha256) است. تنها از sha256 به عنوان تابع درهم‌سازی پشتیبانی می‌شود.
تولید کلید برای کاربر سازوکار اعتبارسنجی بلندمدت (long-term credentials).
افزودن یا به‌روزرسانی یک کاربر بلندمدت.
افزودن یا به‌روزرسانی یک کاربر مدیر.
حذف یک کاربر بلندمدت.
حذف یک کاربر مدیر.
فهرست کردن کاربران بلندمدت در پایگاه داده.
فهرست کردن کاربران مدیر در پایگاه داده.

-s, --set-secret=<value> افزودن راز مشترک برای TURN REST API

نمایش رازهای مشترک ذخیره‌شده برای TURN REST API

-X, --delete-secret=<value> حذف یک راز مشترک. --delete-all_secrets حذف تمام رازهای مشترک برای REST API.

افزودن رابطه مبدا به قلمرو (origin-to-realm).
حذف رابطه مبدا به قلمرو (origin-to-realm).
فهرست کردن روابط مبدا به قلمرو (origin-to-realm).
تنظیم پارامترهای قلمرو: max-bps، total-quota، user-quota.
فهرست کردن پارامترهای قلمرو.
تولید و چاپ یک شکل رمزگذاری‌شده از گذرواژه با AES-128 در خروجی استاندارد
گزینه‌های با مقادیر الزامی:
نام فایل پایگاه داده کاربران SQLite (پیش‌فرض - /var/db/turndb یا /usr/local/var/db/turndb یا /var/lib/turn/turndb).
همین گزینه را در بخش turnserver مشاهده کنید.
رشته اتصال پایگاه داده کاربران PostgreSQL. گزینه --psql-userdb را در بخش turnserver مشاهده کنید.
رشته اتصال پایگاه داده کاربران MySQL. گزینه --mysql-userdb را در بخش turnserver مشاهده کنید.
رشته اتصال پایگاه داده کاربران MongoDB. گزینه --mysql-mongo را در بخش turnserver مشاهده کنید.
رشته اتصال پایگاه داده کاربران Redis. گزینه --redis-userdb را در بخش turnserver مشاهده کنید.
نام کاربری.
قلمرو (Realm).
گذرواژه.
یک کلید ۱۲۸ بیتی در مسیر مشخص‌شده تولید می‌کند.
حاوی یک کلید ۱۲۸ بیتی در مسیر مشخص‌شده است.
یک گذرواژه رمزگذاری‌شده پایه base64 مشخص‌شده را اعتبارسنجی می‌کند.
مبدا (Origin)
تنظیم مقدار پارامتر max-bps قلمرو.
تنظیم مقدار پارامتر total-quota قلمرو.
تنظیم مقدار پارامتر user-quota قلمرو.
راهنما.

مثال‌های دستور:

تولید یک شکل رمزگذاری‌شده از یک گذرواژه:

$ turnadmin -P -p <password>

تولید یک کلید:

$ turnadmin -k -u <username> -r <realm> -p <password>

افزودن/به‌روزرسانی یک کاربر در پایگاه داده:

$ turnadmin -a [-b <userdb-file> | -e <db-connection-string> | -M <db-connection-string> | -N <db-connection-string> ] -u <username> -r <realm> -p <password>

حذف یک کاربر از پایگاه داده:

$ turnadmin -d [-b <userdb-file> | -e <db-connection-string> | -M <db-connection-string> | -N <db-connection-string> ] -u <username> -r <realm>

فهرست کردن تمام کاربران بلندمدت در پایگاه داده MySQL:

$ turnadmin -l --mysql-userdb="<db-connection-string>" -r <realm>

فهرست کردن تمام کاربران مدیر در پایگاه داده Redis:

$ turnadmin -L --redis-userdb="<db-connection-string>"

تنظیم راز مشترک در پایگاه داده MySQL:

$ turnadmin -s <secret> --mysql-userdb="<db-connection-string>" -r <realm>

نمایش راز مشترک ذخیره‌شده در پایگاه داده PostgreSQL:

$ turnadmin -S --psql-userdb="<db-connection-string>" -r <realm>

تنظیم رابطه مبدا به قلمرو در پایگاه داده MySQL:

$ turnadmin --mysql-userdb="<db-connection-string>" -r <realm> -o <origin>

حذف رابطه مبدا به قلمرو از پایگاه داده Redis:

$ turnadmin --redis-userdb="<db-connection-string>" -o <origin>

فهرست کردن تمام روابط مبدا به قلمرو در پایگاه داده Redis:

$ turnadmin --redis-userdb="<db-connection-string>" -I

فهرست کردن روابط مبدا به قلمرو در پایگاه داده PostgreSQL برای یک قلمرو مشخص:

$ turnadmin --psql-userdb="<db-connection-string>" -I -r <realm>

ایجاد فایل کلید جدید برای رمزگذاری گذرواژه mysql:

$ turnadmin -E --key-path <key-file>

ایجاد گذرواژه رمزگذاری‌شده mysql:

$ turnadmin -E --file-key-path <key-file> -p <secret>

اعتبارسنجی/رمزگشایی گذرواژه رمزگذاری‌شده:

$ turnadmin --file-key-path <key-file> -v <encrypted>

راهنما:

$ turnadmin -h

پس از نصب، دستور زیر را اجرا کنید:

$ man turnadmin

یا در دایرکتوری ریشه پروژه:

$ man -M man turnadmin

تا صفحه راهنما را مشاهده کنید.

/etc/turnserver.conf

/var/db/turndb

/usr/local/var/db/turndb

/var/lib/turn/turndb

/usr/local/etc/turnserver.conf

/usr/local/share/turnserver

/usr/local/share/doc/turnserver

/usr/local/share/examples/turnserver

turnserver, turnutils

صفحه پروژه:

https://github.com/coturn/coturn

صفحه ویکی:

https://github.com/coturn/coturn/wiki

انجمن گفتگو:

https://groups.google.com/forum/?fromgroups=#!forum/turn-server-project-rfc5766-turn-server

فایل AUTHORS.md را در توزیع کد منبع coturn مشاهده کنید.

17 May 2026