ADB Grass Node Manager یک ابزار اتوماسیون مبتنی بر پایتون است که برای مدیریت چندین دستگاه اندرویدی که از طریق ADB (Android Debug Bridge) متصل شدهاند، طراحی شده است. این اسکریپت اطمینان حاصل میکند که هر دستگاه به شبکه Grass متصل باقی میماند، با خودکار کردن فرآیند بررسی وضعیت اتصال و ایجاد اتصال در صورت نیاز. این ابزار پیکربندی شبکه را مدیریت میکند، با استفاده از تشخیص تصویر با رابط کاربری اپلیکیشن Grass تعامل دارد و ثبت گزارشات رنگی و دقیق را برای مانیتورینگ و اشکالزدایی موثر فراهم میکند.
- مدیریت اتصال: بررسی میکند که آیا دستگاهها به شبکه Grass متصل هستند و در صورت عدم اتصال، اقدام به اتصال میکند.
- پیکربندی شبکه: وایفای را غیرفعال میکند، دادههای موبایل را فعال میکند و تلاش میکند تا VPNهای فعال را در هر دستگاه قطع کند.
- تعامل با برنامه: اپلیکیشن Grass را راهاندازی کرده و با عناصر رابط کاربری آن (دکمههای اتصال و توقف) با استفاده از تطابق الگو تعامل میکند.
- مدیریت همزمان: از مدیریت همزمان چندین دستگاه با استفاده از threading پشتیبانی میکند.
- ثبت گزارشات رنگی: گزارشات رنگی برای خوانایی بهتر و اشکالزدایی آسانتر فراهم میکند.
- عملکرد پیوسته: هر ۱۰ دقیقه به صورت نامحدود این فرآیند را اجرا میکند تا اطمینان حاصل شود دستگاهها به صورت مداوم مدیریت میشوند.
- پاکسازی: بهطور خودکار فایلهای اسکرینشات موقت را از دستگاه و کامپیوتر محلی حذف میکند.
قبل از استفاده از این اسکریپت، اطمینان حاصل کنید که موارد زیر را دارید:
-
پایتون نسخه 3.6 یا بالاتر: اطمینان حاصل کنید که پایتون بر روی سیستم شما نصب است. میتوانید آن را از python.org دانلود کنید.
-
ADB (Android Debug Bridge):
- دانلود Android SDK Platform Tools برای سیستم عامل خود.
- محتوا را به دایرکتوری (مثلاً
C:\adb
در ویندوز) استخراج کنید. - دایرکتوری ADB را به متغیر محیطی
PATH
سیستم اضافه کنید:- ویندوز:
- دکمه
Win + R
را فشار دهید،sysdm.cpl
را تایپ کنید وEnter
را بزنید. - به Advanced > Environment Variables بروید.
- زیر System variables، Path را انتخاب کرده و روی Edit کلیک کنید.
- روی New کلیک کرده و مسیر دایرکتوری ADB خود را اضافه کنید (مثلاً
C:\adb
). - روی OK کلیک کنید تا ذخیره شود.
- دکمه
- macOS/Linux:
- ترمینال خود را باز کرده و پروفایل شل خود را ویرایش کنید (مثلاً
~/.bash_profile
،~/.zshrc
). - خط زیر را اضافه کنید:
export PATH=$PATH:/path/to/adb
/path/to/adb
را با مسیر واقعی جایگزین کنید.- پروفایل را ذخیره کرده و بارگذاری مجدد کنید:
یا
source ~/.bash_profile
source ~/.zshrc
- ترمینال خود را باز کرده و پروفایل شل خود را ویرایش کنید (مثلاً
- ویندوز:
-
کتابخانههای پایتون:
- کتابخانههای مورد نیاز پایتون را با استفاده از
pip
نصب کنید:pip install colorama opencv-python numpy
- کتابخانههای مورد نیاز پایتون را با استفاده از
-
تصاویر الگو:
template.png
: تصویر دکمه "اتصال" در اپلیکیشن Grass.stop.png
: تصویر دکمه "توقف" برای تایید اتصال.- اطمینان حاصل کنید که این تصاویر واضح هستند و دقیقاً عناصر رابط کاربری دستگاههای شما را نشان میدهند.
- این تصاویر را در همان دایرکتوری اسکریپت قرار دهید یا مسیرها را متناسب تنظیم کنید.
-
فعالسازی اشکالزدایی USB در دستگاهها:
- در هر دستگاه اندرویدی، Developer Options و USB Debugging را فعال کنید:
- به Settings > About phone بروید.
- هفت بار روی Build number ضربه بزنید تا Developer options فعال شود.
- به Settings > System > Developer options برگردید.
- USB debugging را فعال کنید.
- در هر دستگاه اندرویدی، Developer Options و USB Debugging را فعال کنید:
-
اتصال دستگاهها:
- دستگاههای اندرویدی خود را از طریق USB متصل کنید یا اطمینان حاصل کنید که آنها از طریق Wi-Fi در دسترس هستند (در صورت لزوم).
- برای تایید اتصال، دستور زیر را اجرا کنید:
adb devices
- باید لیستی از دستگاههای متصل را مشاهده کنید.
-
کلون کردن مخزن:
git clone https://github.com/alienflick/ADB-Grass-Node-Manager.git
-
به دایرکتوری پروژه بروید:
cd ADB-Grass-Node-Manager
-
نصب کتابخانههای مورد نیاز پایتون (در صورت عدم نصب):
pip install colorama opencv-python numpy
- ویرایش فایل پیکربندی:
- فایل
config.json
را باز کنید تا هرگونه پیکربندی مانند زمانبندیها یا مسیرهای تصاویر را اصلاح کنید. - اطمینان حاصل کنید که شماره سریال دستگاهها با دستگاههای متصل از طریق ADB مطابقت داشته باشد.
- فایل
-
اجرای اسکریپت:
- اسکریپت را با اجرای دستور زیر راهاندازی کنید:
python main.py
- اسکریپت شروع به مانیتورینگ و مدیریت دستگاههای متصل میکند و هر ۱۰ دقیقه بررسیها و اقدامات لازم را انجام میدهد.
- اسکریپت را با اجرای دستور زیر راهاندازی کنید:
-
گزارشات و خروجی:
- اسکریپت گزارشات را در ترمینال نمایش میدهد که وضعیت هر دستگاه و اقدامات انجام شده را نشان میدهد.
- گزارشات رنگی هستند تا خوانایی بهتر و تشخیص پیامهای اطلاعاتی، هشدارها و خطاها را تسهیل کنند.
- تطابق الگو: اسکریپت از ویژگی تطابق الگو در OpenCV برای شناسایی دکمههای خاص در اپلیکیشن Grass استفاده میکند.
- اطمینان حاصل کنید که:
- تصاویر (
template.png
وstop.png
) واضح بوده و بهطور دقیق دکمههای روی صفحه نمایش دستگاه شما را نشان میدهند. - این تصاویر در همان دایرکتوری اسکریپت قرار داشته یا مسیرهای صحیح در اسکریپت ارائه شده باشند.
- تصاویر (
- گزارشات رنگی: اسکریپت از کتابخانه
colorama
برای ارائه گزارشات رنگی استفاده میکند:- اطلاعات: اطلاعات عمومی در مورد اقدامات اسکریپت.
- هشدار: مشکلاتی که ممکن است نیاز به توجه داشته باشند (مانند عدم توانایی در یافتن یک دکمه).
- خطا: مشکلات بحرانی که مانع عملکرد صحیح اسکریپت میشوند.
- گزارشات در ترمینال چاپ میشوند و به مانیتورینگ پیشرفت و اشکالزدایی کمک میکنند.
- ADB شناسایی نمیشود: اطمینان حاصل کنید که ADB به درستی نصب شده و مسیر آن به متغیر
PATH
سیستم اضافه شده است. - دستگاه یافت نشد: اطمینان حاصل کنید که دستگاه به درستی متصل بوده و اشکالزدایی USB فعال است.
- تطابق الگو شکست میخورد: مطمئن شوید که تصاویر الگو دقیق و دارای وضوح کافی هستند.
- مشکلات دسترسی: اطمینان حاصل کنید که اسکریپت پایتون شما مجوزهای لازم برای دسترسی به ADB و حافظه دستگاه را دارد.
مشارکتها خوشآمدند! لطفاً یک issue باز کنید یا یک pull request برای هر گونه بهبود یا ویژگیای که میخواهید اضافه کنید، ارسال کنید.
این پروژه تحت مجوز MIT قرار دارد. برای جزئیات بیشتر، به فایل LICENSE مراجعه کنید.