معرفی و آموزش سرویس ngrok

ngrok چیست؟

ngrok سرویسی برای ارایه محتوای هاست محلی (localhost) شما در اینترنت است. به عبارت دیگر این ابزار یک آدرس عمومی به هاست محلی شما اختصاص می دهد که میتوانید این آدرس را در اختیار دیگران قرار دهید تا به هاست محلی شما دسترسی داشته باشند.
این سرویس کاملا Open Source می باشد و میتوانید سورس آن را از آدرس https://github.com/inconshreveable/ngrok دریافت نمایید. البته لازم به ذکر است که این سرویس به وسیله زبان Go توسعه یافته است.

کاربرد ngrok

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

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

این ابزار هاست محلی شما را پشت NAT یا firewall قرار میدهد و با استفاده از Tunneling protocol اجازه دسترسی سایرین را از طریق http و https به صورت رایگان به هاست محلی شما فراهم میکند. این ابزار هاست محلی شما را به وسیله تانل به سرویس خود متصل میکند و یک ساب دامین تصادفی روی ngrok.com برای شما ایجاد میکند. این ساب دامین با هر بار اجرای کلاینت این ابزار متفاوت خواهد بود مگر این که شما بعد از عضویت و خرید نسخه تجاری اقدام به ساخت ساب دامین ثابت نمائید. البته نسخه تجاری این سروس امکانات دیگری را نیز در اختیار شما قرار میدهد. همچنین این سرویس با ارایه تانل های مختلف، چندگانه و همزمان امکانات جالب دیگری را هم در اختیار شما قرار میدهد. به طور مثال میتوانید برای راه اندازی سرویس های دیگر از تانل TCP روی پورت دلخواه خود استفاده کنید.

دانلود و نصب

این ابزار برای پلتفرم های  ویندوز، مک و لینوکس توسعه پیدا کرده است و میتوانید این ابزار را از سایت توسعه دهنده آن به آدرس https://ngrok.com/download به صورت رایگان دریافت کنید. پس از دریافت این ابزار صرفا کافیست آن را از حالت فشرده خارج کنید.

آموزش کار با ngrok

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

ngrok http 80

ngrok
با اجرای دستور فوق پورت 80 رایانه شما یا همان وب سرور محلی تان در اینترنت قابل دسترس خواهد بود و میتوانید با ارایه  Forwarding آدرس هایی که بعد از اجرای این دستور مشاهده می نمایید، به مخاطبین خود از این سرویس استفاده نمایید.
یکی دیگر از امکانات رایگانی که برای شما وجود دارد امکان احراز هویت به وسیله نام کاربری و رمز عبور می باشد.
برای این کار شما باید ابتدا با مراجعه به آدرس https://dashboard.ngrok.com/user/signup در سایت ngrok عضو شوید. با عضویت در این سایت یک توکن برای احزار هویت در اختیار شما قرار میدهد که میتوانید با استفاده از دستور زیر آن را به کلاینت خود معرفی کنید:

ngrok authtoken your_authtoken

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

ngrok http -auth="username:password" 80

برای استفاده از سایر سرویس ها بعد از راه اندازی آن میتوانید از کد زیر استفاده نمایید:

ngrok tcp #port_number

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

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

درباره نویسنده

لطفی

۵ دیدگاه

  1. دوست Reply

    سلام نیوادمین چند وقت دان بودی دلمون تنگیده بود

  2. milad Reply

    سلام وخسته نباشید.
    من وقتی پورت ۸۰ را با ngrok باز میکنم ارور میدهد!
    خواهش میکنم راهنمایی کنید:(
    http://uupload.ir/files/svsu_لطفا.jpg

  3. milad Reply

    سلام و خسته نباشید
    من ngrok رو استفاده میکردم ولی چند روزیه که کار نمیکنه ??
    لطفا راهنمایی بفرمایید!
    عکس :http://max20.cloudsite.ir/Untitled.jpg

  4. فرهاد Reply

    سلام ربات تلگرام نصب کردم و چون نیاز به ssl داره از ngrok استفاده کردم
    وبهوک رو تنظیم می کنم ولی پاسخی به ربات تلگرامم ارسال نمیشه درصورتی که در لوکال هاست این کار انجام می شه و مشکلی وجود ندارد.
    خیلی کارم گیر کرده لطفا کمک کنید.

  5. امیررضا Reply

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

پاسخ دهید