Skip to content

Latest commit

 

History

History
161 lines (126 loc) · 10.8 KB

README-fa.md

File metadata and controls

161 lines (126 loc) · 10.8 KB

ADB Grass Node Manager

License Python Version OpenCV Numpy

فهرست مطالب

مرور کلی

ADB Grass Node Manager یک ابزار اتوماسیون مبتنی بر پایتون است که برای مدیریت چندین دستگاه اندرویدی که از طریق ADB (Android Debug Bridge) متصل شده‌اند، طراحی شده است. این اسکریپت اطمینان حاصل می‌کند که هر دستگاه به شبکه Grass متصل باقی می‌ماند، با خودکار کردن فرآیند بررسی وضعیت اتصال و ایجاد اتصال در صورت نیاز. این ابزار پیکربندی شبکه را مدیریت می‌کند، با استفاده از تشخیص تصویر با رابط کاربری اپلیکیشن Grass تعامل دارد و ثبت گزارشات رنگی و دقیق را برای مانیتورینگ و اشکال‌زدایی موثر فراهم می‌کند.

ویژگی‌ها

  • مدیریت اتصال: بررسی می‌کند که آیا دستگاه‌ها به شبکه Grass متصل هستند و در صورت عدم اتصال، اقدام به اتصال می‌کند.
  • پیکربندی شبکه: وای‌فای را غیرفعال می‌کند، داده‌های موبایل را فعال می‌کند و تلاش می‌کند تا VPNهای فعال را در هر دستگاه قطع کند.
  • تعامل با برنامه: اپلیکیشن Grass را راه‌اندازی کرده و با عناصر رابط کاربری آن (دکمه‌های اتصال و توقف) با استفاده از تطابق الگو تعامل می‌کند.
  • مدیریت همزمان: از مدیریت همزمان چندین دستگاه با استفاده از threading پشتیبانی می‌کند.
  • ثبت گزارشات رنگی: گزارشات رنگی برای خوانایی بهتر و اشکال‌زدایی آسان‌تر فراهم می‌کند.
  • عملکرد پیوسته: هر ۱۰ دقیقه به صورت نامحدود این فرآیند را اجرا می‌کند تا اطمینان حاصل شود دستگاه‌ها به صورت مداوم مدیریت می‌شوند.
  • پاکسازی: به‌طور خودکار فایل‌های اسکرین‌شات موقت را از دستگاه و کامپیوتر محلی حذف می‌کند.

پیش‌نیازها

قبل از استفاده از این اسکریپت، اطمینان حاصل کنید که موارد زیر را دارید:

  1. دانلود اپلیکیشن Grass Node Android از اینجا یا فایل APK

  2. پایتون نسخه 3.6 یا بالاتر: اطمینان حاصل کنید که پایتون بر روی سیستم شما نصب است. می‌توانید آن را از python.org دانلود کنید.

  3. 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
  4. کتابخانه‌های پایتون:

    • کتابخانه‌های مورد نیاز پایتون را با استفاده از pip نصب کنید:
      pip install colorama opencv-python numpy
  5. تصاویر الگو:

    • template.png: تصویر دکمه "اتصال" در اپلیکیشن Grass.
    • stop.png: تصویر دکمه "توقف" برای تایید اتصال.
    • اطمینان حاصل کنید که این تصاویر واضح هستند و دقیقاً عناصر رابط کاربری دستگاه‌های شما را نشان می‌دهند.
    • این تصاویر را در همان دایرکتوری اسکریپت قرار دهید یا مسیرها را متناسب تنظیم کنید.
  6. فعال‌سازی اشکال‌زدایی USB در دستگاه‌ها:

    • در هر دستگاه اندرویدی، Developer Options و USB Debugging را فعال کنید:
      • به Settings > About phone بروید.
      • هفت بار روی Build number ضربه بزنید تا Developer options فعال شود.
      • به Settings > System > Developer options برگردید.
      • USB debugging را فعال کنید.
  7. اتصال دستگاه‌ها:

    • دستگاه‌های اندرویدی خود را از طریق USB متصل کنید یا اطمینان حاصل کنید که آن‌ها از طریق Wi-Fi در دسترس هستند (در صورت لزوم).
    • برای تایید اتصال، دستور زیر را اجرا کنید:
      adb devices
      • باید لیستی از دستگاه‌های متصل را مشاهده کنید.

نصب

  1. کلون کردن مخزن:

    git clone https://github.com/alienflick/ADB-Grass-Node-Manager.git
  2. به دایرکتوری پروژه بروید:

    cd ADB-Grass-Node-Manager
  3. نصب کتابخانه‌های مورد نیاز پایتون (در صورت عدم نصب):

    pip install colorama opencv-python numpy

پیکربندی

  1. ویرایش فایل پیکربندی:
    • فایل config.json را باز کنید تا هرگونه پیکربندی مانند زمان‌بندی‌ها یا مسیرهای تصاویر را اصلاح کنید.
    • اطمینان حاصل کنید که شماره سریال دستگاه‌ها با دستگاه‌های متصل از طریق ADB مطابقت داشته باشد.

نحوه استفاده

  1. اجرای اسکریپت:

    • اسکریپت را با اجرای دستور زیر راه‌اندازی کنید:
      python main.py
    • اسکریپت شروع به مانیتورینگ و مدیریت دستگاه‌های متصل می‌کند و هر ۱۰ دقیقه بررسی‌ها و اقدامات لازم را انجام می‌دهد.
  2. گزارشات و خروجی:

    • اسکریپت گزارشات را در ترمینال نمایش می‌دهد که وضعیت هر دستگاه و اقدامات انجام شده را نشان می‌دهد.
    • گزارشات رنگی هستند تا خوانایی بهتر و تشخیص پیام‌های اطلاعاتی، هشدارها و خطاها را تسهیل کنند.

تصاویر الگو

  • تطابق الگو: اسکریپت از ویژگی تطابق الگو در OpenCV برای شناسایی دکمه‌های خاص در اپلیکیشن Grass استفاده می‌کند.
  • اطمینان حاصل کنید که:
    • تصاویر (template.png و stop.png) واضح بوده و به‌طور دقیق دکمه‌های روی صفحه نمایش دستگاه شما را نشان می‌دهند.
    • این تصاویر در همان دایرکتوری اسکریپت قرار داشته یا مسیرهای صحیح در اسکریپت ارائه شده باشند.

ثبت گزارشات

  • گزارشات رنگی: اسکریپت از کتابخانه colorama برای ارائه گزارشات رنگی استفاده می‌کند:
    • اطلاعات: اطلاعات عمومی در مورد اقدامات اسکریپت.
    • هشدار: مشکلاتی که ممکن است نیاز به توجه داشته باشند (مانند عدم توانایی در یافتن یک دکمه).
    • خطا: مشکلات بحرانی که مانع عملکرد صحیح اسکریپت می‌شوند.
  • گزارشات در ترمینال چاپ می‌شوند و به مانیتورینگ پیشرفت و اشکال‌زدایی کمک می‌کنند.

عیب‌یابی

  1. ADB شناسایی نمی‌شود: اطمینان حاصل کنید که ADB به درستی نصب شده و مسیر آن به متغیر PATH سیستم اضافه شده است.
  2. دستگاه یافت نشد: اطمینان حاصل کنید که دستگاه به درستی متصل بوده و اشکال‌زدایی USB فعال است.
  3. تطابق الگو شکست می‌خورد: مطمئن شوید که تصاویر الگو دقیق و دارای وضوح کافی هستند.
  4. مشکلات دسترسی: اطمینان حاصل کنید که اسکریپت پایتون شما مجوزهای لازم برای دسترسی به ADB و حافظه دستگاه را دارد.

مشارکت

مشارکت‌ها خوش‌آمدند! لطفاً یک issue باز کنید یا یک pull request برای هر گونه بهبود یا ویژگی‌ای که می‌خواهید اضافه کنید، ارسال کنید.

مجوز

این پروژه تحت مجوز MIT قرار دارد. برای جزئیات بیشتر، به فایل LICENSE مراجعه کنید.