ngrok چیست

ngrok چیست
در این پست می‌خوانید:

با سلام خدمت همه ی دوستان خدمت شما هستیم با یک سرویس توپ و کاربردی به نام ngrok

ngrok چیست

ngrok سرویسی برای ارایه سرویس های محلی (localhost) شما مانند ssh,webserver,ftpserver و … در اینترنت است.

به عبارت دیگر این ابزار یک آدرس عمومی به سرویس محلی شما اختصاص می دهد که میتوانید این آدرس را در اختیار دیگران قرار دهید تا به سرویس محلی شما دسترسی داشته باشند.

این سرویس کاملا Open Source می باشد و میتوانید سورس آن را از آدرس گیت هاب آن دریافت نمایید. البته لازم به ذکر است که این سرویس به وسیله زبان Go توسعه یافته است.

کاربرد ngrok

قطعا تبدیل شدن رایانه شما به یک وب سرور کار عاقلانه ای نیست. اما شاید این کار برای دمو یک پروژه یا تست آن بتواند برای شما مفید باشد.

همچنین دانلود فایل ها به صورت مستقیم از رایانه شما، میتواند شما را از آپلود آن فایل ها بی نیاز کند و به این وسیله در زمان و مصرف اینترنت شما صرفه جویی کند.

ngrok چگونه کار میکند؟

این ابزار هاست محلی شما را پشت NAT یا firewall قرار میدهد و با استفاده از Tunneling protocolاجازه دسترسی سایرین را از طریق http و https به صورت رایگان به هاست محلی شما فراهم میکند.

این ابزار هاست محلی شما را به وسیله تانل به سرویس خود متصل میکند و یک ساب دامین تصادفی روی ngrok.com برای شما ایجاد میکند.

این ساب دامین با هر بار اجرای کلاینت این ابزار متفاوت خواهد بود مگر این که شما بعد از عضویت و خرید نسخه تجاری اقدام به ساخت ساب دامین ثابت نمائید.

البته نسخه تجاری این سروس امکانات دیگری را نیز در اختیار شما قرار میدهد.

همچنین این سرویس با ارایه تانل های مختلف، چندگانه و همزمان امکانات جالب دیگری را هم در اختیار شما قرار میدهد.

به طور مثال میتوانید برای راه اندازی سرویس های دیگر از تانل TCP روی پورت دلخواه خود استفاده کنید.

دانلود و نصب

روش نصب از طریق مخازن داده

پکیج ngrok تو برخی از مخارن داده توزیع های لینوکس وجود داره و نیازی به نصب دستی نیست

من خودم دبیان دارم و پکیج ngrok توی مخازن داده ی دبیان وجود داره الباقی توزیع هارو زیاد  مطمین نیستم ولی احتمال بالا هست . بدک نیست قبلش یک تستی بزنین ممکنه باشه. نبود روش دستی رو دنبال کنین

$ sudo apt install ngrok

روش نصب دستی

این ابزار برای پلتفرم های ویندوز، مک و لینوکس توسعه پیدا کرده است و میتوانید این ابزار را از سایت توسعه دهنده آن به آدرس زیر به صورت رایگان دریافت کنید.

آدرس صفحه دانلود ngrok

پس از دریافت این ابزار صرفا کافیست آن را از حالت فشرده خارج کنید. بعد از اکسترک یک فایل اجرایی به شما میده که باس به اون فایی دسترسی اجرایی بدیم.

$  chmod +x ngrok

برای هر بار اجرای ngrok باید به همین مکانی برین که فایل فشرده ngrok رو اکسترکت کردین. ولی پبیشنهاد می کنم این فایل رو به یک دایرکتوری های درون متغیر محلی PATH منتقل کنین که دیگه نیاز نباشه برای هر بار استفاده از اون به این دایرکتوری مراجعه کنین. به عنوان مثال

$ mv ngrok /home/aria/bin

پیکربندی Ngrok

به سایت ngrok رفته و برای خودتان یک یوزر ایجاد کنین.  از طریق گوگل و گیت هاب هم می توانین ورود سریع داشته باشین

لینک ثبت نام در سایت ngrok

با آن نام کاربری ورود کنین. بعد از ورود سایت یک توکن یکتا در اختیار نام کاربری شما قرار میدهد.

برای پیکربندی کافیست که فقط دستور زیر را وارد نمایم

$ ngrok authtoken <YOUR_AUTH_TOKEN>

تمام. همین قدر بیشتر پیکربندی نداشت  ??

 کار با ngrok

همون طور که اشاره کردم سرویس های مختلفی رو می تونین پابلیش کنین که معمول ترینشون همون وب سرور هست

برای استفاده از این سرویس کافیست پس از راه اندازی هاست محلی خود  و اجرا این ابزار دستور زیر را وارد نمایید:

$ ngrok http 80

خروجی دستور ngrok http 80

خروجی دستور ngrok http 80

خروجی دستور مانند شکل بالاست

با اجرای دستور فوق پورت ۸۰ رایانه شما یا همان وب سرور محلی تان در اینترنت قابل دسترس خواهد بود و میتوانید با ارایه  Forwarding آدرس هایی که بعد از اجرای این دستور مشاهده می نمایید، به مخاطبین خود از این سرویس استفاده نمایید.

در قسمت account، نام و نوع اکانت خود را مشاهده میکنید

در قسمت Forwarding آدرس public ای را مشاهده می کنید که سرویس ngrok در اختیار شما قرار داده که از طریق آن می توانین سرویس خود را از سمت  اینترنت مشاهده کنید

*****نکته : تو این روش اصلا نیازی به پیکربندی port Forwarding در  مودم  نیست *****

شما می توانید برای کاربران داخل اینترنت که متد authentication  یا احراز هویت جزیی ای  اعمال کنید.

برای این منظور از کامند زیر برای اجرای ngrok استفاده می کنیم

$ ngrok http -auth=”username:password” 80

حال کاربر برای استفاده از سرویس شما باید یوزر و پسوردی رو که در دستور مشخص کردین وارد کنه

این ابزار یک قسمتی داره به نام Web Interface که وقتی بخواین درخواست ها و اتصال های صورت گرفته را بررسی کنید می تونین از این رابط به آدرس محلی http://localhost:4040  استفاده کنید.

رابط وب ngrok

رابط وب ngrok

برای اطلاعات بیشتر در مورد سایر کاربرد های این سرویس میتوانید مستندات ارایه شده آن را در آدرس https://ngrok.com/docs و صفحه پرسش های متداول را در آدرس https://ngrok.com/faq مطالعه نمایید.

برای آشنایی با گزینه های مختلف این دستور از بخش help  این ابزار استفاده کنید

$ ngrok help

دیدگاه‌ها ۰
ارسال دیدگاه جدید