اسکریپت inetfire

سلام، عذر می‌خوام بابت تاخیری در نوشتن پست جدید پیش اومده بود. راستش به حدی درگیر کارها بودم که فرصت نوشتن نداشتم.

دیروز اینترنت قطع شده بود، ساده‌ترین کاری که یک کاربر لینوکس در این حالت انجام می‌ده، استفاده از دستور ping هستش. من هم این دستور رو اجرا کردم و منتظر تغییر در خروجی این دستور بودم که با خودم فکر کردم خب چه کاریه؟ ما این همه شل اسکریپت بلدیم یه چیزی بنویسیم که کاربردی‌تر و جذاب‌تر باشه.

اسکریپت inetfire یک شل اسکریپت (shell script) است که با دریافت یک وقفه‌ی زمانی بر حسب ثانیه به عنوان آرگومان، بررسی می‌کند که امکان دسترسی به اینترنت وجود دارد یا خیر. در صورتی که اینترنت موجود نبود به اندازه‌ی همان وقفه زمانی منتظر می‌ماند و این چرخه را تا زمانی که اینترنت در دسترس قرار گیرد تکرار می‌کند. پس از اینکه اینترنت در دسترس قرار گرفت به کمک ابزار zenity یک پیام هشدار نمایش می‌دهد که اعلان می‌کند اینترنت در دسترس است.

این اسکریپت دو آرگومان اختیاری دیگری نیز (علاوه بر مدت زمان وقفه) می‌پذیرد:

  • تعداد پکت‌ها: معرف تعداد بسته‌هایی است که ابزار پینگ برای بررسی در دسترس بودن اینترنت باید ارسال نماید. تعداد این پکت‌ها نباید از مقدار زمان وقفه بر حسب ثانیه کمتر باشه. چون هر بسته در یک ثانیه ارسال می‌شود. تعداد پکت‌های پیش فرض ۱ عدد است.
  • آدرس IP: معرف آدرس IP نودی است که دسترسی به آن ملاک دسترسی به اینترنت است. به صورت پیش‌فرض آدرس ۴٫۲٫۲٫۴ در نظر گرفته شده است.

ساختار این اسکریپت بسیار ساده‌ است، بخشی که باعث شده من این اسکریپت را در اینجا قرار بدم، سوای مفید بودن خود اسکریپت بخش بررسی صحت پارامتر IP می‌باشد. باید اعتراف کنم من به دلیل کمبود وقت این بخش را از اینجا برداشتم؛ مطمئنم شما با مطالعه‌ی راهنمای regex (اولین پست همین وبلاگ) به راحتی می‌توانید مکانیزم آن را درک کنید و یا regex خودتان را بسازید و جایگزین آن کنید چون این اسکریپت با مجوز GNU GPL v.3 منتشر می‌شود. 🙂

inetfire script, internet notifier script
inetfire, internet notifier script

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

sudo cp inetfire /usr/bin/

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


inetfire --help

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

inetfire - internet notifier shell script

"1061" مرتبه دانلود شده