基於 Laravel 框架以及 adb 指令構建群控系統 | phoneGCS

AlicFeng發表於2018-11-24

No matter where I am, I will reply you immediately when I see the email.My Email: echo "YUBzYW1lZ28uY29tCg==" | base64 -d

前言

無言...
view code to github

簡介

phoneGCS全稱phone group control system,顧名思義即是一款手機(Android)群控系統,基於Cli形式執行,支援自定義的編排任務、任務錄製任務群控。主要有如下特性:

  • 自定義劇本任務 | 錄製及執行指令碼 | 支援實時群控
  • 自定義頻率控制
  • 指定編排任務
  • 指定編排任務執行數量
  • 檢視裝置主要資訊以及劇本列表
  • 實時群控( 未實現 )
  • 構建雲控系統( 可行&未實現 )

使用

  • 錄製編排任務

    ➜  ./library/adb-event-record/adbrecord.py -r ./playbook/{編排任務名稱}.samego
  • 編排任務執行指令

    # 幫助
    ➜ php artisan task:do help
    usage:
    task:do 
          help
          --devices  view devices main info
          --taskCode=playbook code
          --amount=task amount
          --type=playbook type | map(script or playbook)
          --frequency=execute task frequency | s
    
    # 檢視裝置資訊
    ➜ php artisan task:do --devices 
    192.168.2.141:5555     OPPO A59m
    
    # 編排任務執行
    ➜ php artisan task:do --taskCode={編排任務名稱} --amount={數量} --frequency={頻率|單位s}
    Task main message :
    taskCode  simple
    amount        1
    frequency 10
    simple playbook running...
  • 編排任務劇本說明

    • 錄製指令碼 | script

    該指令碼使用adbrecord指令錄製自動生成,注意:生成的字尾名必須為samego,同時此指令碼的生成目錄必須位於base_path()/playbook/script/目錄下。該指令碼的內容基於adb shell sendevent,示例

    1542960747204 /dev/input/event2 3 57 513
    1542960749460 /dev/input/event2 3 50 5
    1542960749461 /dev/input/event2 3 53 630
    1542960749461 /dev/input/event2 3 54 836
    1542960749461 /dev/input/event2 1 330 1
    1542960749461 /dev/input/event2 0 0 0
    1542960749461 /dev/input/event2 3 53 621
    1542960749464 /dev/input/event2 3 54 834
    • 自定義劇本 | playbook

    該指令碼是基於adb指令同樣是基於adb shell,可隨心隨意編排執行指令,劇本的可執行範圍比較廣,可控指令以及指令預計時間(s),劇本為一個json檔案。此指令碼的生成目錄必須位於base_path()/playbook/playbook/目錄下。示例

    [
      {
        "name": "to menu",
        "command": "input keyevent KEYCODE_HOME",
        "time": 2
      },
      {
        "name": "open wechat application",
        "command": "am start com.tencent.mm/com.tencent.mm.ui.LauncherUI",
        "time": 2
      },
      {
        "name": "call",
        "command": "input keyevent KEYCODE_CALL",
        "time": 2
      },
      {
        "name": "back menu",
        "command": "input keyevent KEYCODE_HOME",
        "time": 2
      }
    ]
本作品採用《CC 協議》,轉載必須註明作者和本文連結

價值源於技術,貢獻源於分享 | 筆記分享歸檔
No matter where I am, I will reply you immediately when I see the email.
My Email: echo "YUBzYW1lZ28uY29tCg==" | base64 -d
個人比較喜歡分享,若有不對的地方非常感謝指出
相互學習、共同進步~

相關文章