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

اما روش حل این مسئله با زبان bash بسیار ساده است . فقط کافیه مراحل زیر رو انجام داد :

۱. احراز هویت با جی میل صورت بگیره

۲. لیستی از تعداد ایمیل های جدید که خونده نشده تهیه بشه

۳. تعداد ایمیل های خوانده نشده جدید به صورت نوتیفیکیشن اعلام بشه

 

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

اما نکته اصلی این جاست که اگه فقط از یک حلقه خشک و خالی استفاده کنیم، یک دونه ایمیل خونده نشده مدام نوتیفیکیشنش میاد ! و این اصلا جالب نیست ! پس اجازه بدید چیزی که دنبالش هستیم رو به شکل دقیق تر بیان کنیم : هر ایمیل جدیدی که میاد ۱ بار به ما اطلاع رسانی بشه

برای همچین کاری باید از یک کلک یا ترفند همراه با یک شرط استفاده کرد . مکانیزمی که من در نظر گرفتم به این صورت هست که تعداد ایمیل های جدید در اولین اتصال شمرده میشه و ریخته میشه داخل یک آرایه سپس دفعه ی بعد تعداد ایمیل های جدید شمرده میشه و با تعداد قبلی مقایسه میشه . اگر تعداد بیشتر بود یعنی یک ایمیل جدیدی اومده پس برنامه به صورت نوتیفیکیشن اطلاع رسانی می کنه در غیر این صورت ( اگه تعداد مساوی باشه یا حتی کمتر باشه ) برنامه میره سر خونه اول .

تمام ! کارکرد برنامه به این صورت هست ! حالا کافیه همین مراحل رو مثل تیکه های پازل کنار هم بزاریم تا برناممون درست بشه . پیشنهاد می کنم حتما سورس این برنامه رو در گیت هاب مشاهده کنید :

https://github.com/Oslearn/Gcheck_v1.0

 

اطلاعات برنامه :

زبان استفاده شده : bash

تعداد خطوط : 80

لایسنس : GPL v3

 

نحوه دریافت و نصب :

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

http://oslearn.ir/wp-content/uploads/2015/09/Gcheck_v1.0.tar.gz

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

iman@OSLearn:~$ tar zxvf Gcheck_v1.0.tar.gz
iman@OSLearn:~$ cd Gcheck_v1.0

این برنامه شامل یک نصاب یا همان فایل inshall.sh هست، پس کافیه اون رو اجرا کنید و مراحل رو مرحله به مرحله پیش برید :

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

2. در مرحله بعد پسورد حساب جی میل شما پرسیده می شود، این قسمت را هم وارد نماید

3. در این مرحله از شما سوالی می پرسد که آیا مایل به اینکریپت کردن فایل هسته برنامه هستید یا نه ( از آن جایی که اطلاعات مربوط به اکانت جی میل در داخل برنامه قرار میگیرد، ممکن است بخواهید هسته برنامه اینکریپت شود تا امکان خواندن سورس و همچنین اطلاعات اکانت امکان پذیر نباشد )

4. ما در این جا فرض را بر این می گیریم که قصد اینکریپت هسته اصلی برنامه را داریم . لذا پاسخ سوال مرحله قبل را y وارد می کنیم .

OSLearn.ir_01

نکته : توجه داشته باشید که اینکریپت کردن سورس برنامه تاثیری در اجرای آن ندارد، شما می تونید قسمت مربوط رو اینکریپت رو در نظر نگیرید.

نکته : برای اتصال به جی میل ( با این برنامه یا با روش های دیگر )‌ لازم هست تا قابلیت اتصال بر روی اکانت جی میل شما فعال بشه، برای راهنمایی بیشتر به این پست مراجعه کنید .

در نهایت برای شما فایلی با نام Gcheck ساخته می شود، برای استفاده از برنامه می توان از هر روشی استفاده کرد اما من پیشنهاد می کنم فایل برنامه را درون Home directory خودتون کپی کنید سپس آن را به صورت start up در سیستم فعال کنید . در این صورت وقتی سیستم راه اندازی بشه، برنامه ما هم در بک گراند اجرا میشه .

OSLearn.ir_02

 

نویسنده : ایمان همایونی
ایمیل نویسنده : info@OSLearn.ir
منبع : وب سایت او اس لرن – http://oslearn.ir
از مطالب وب سایت راضی هستید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید. لطفا برای دونیت روی آیکون زیر کلیک کنید.
 حمایت مالی

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

ایمان همایونی هستم، از سال 2009 با گنو لینوکس فعالیت خودم رو در زمینه ی کامپیوتر و IT شروع کردم و تا الان موفق به گذروندن دوره هایLPIC 1 / LPIC 2 / VCP5-DCV / MCITP / CCNA / MTCNA شدم . مدتی در زمینه امنیت فعالیت هایی داشتم اما در حال حاضر تمرکز خودم رو بر روی مجازی سازی و لینوکس گذاشته ام .

تمام پست های من - وب سایت من