x1ongzhu 1 年間 前
コミット
2713b5718a
5 ファイル変更151 行追加6 行削除
  1. 58 0
      gms.js
  2. 58 0
      messaging.js
  3. 29 6
      modifierModule.js
  4. 1 0
      package.json
  5. 5 0
      yarn.lock

+ 58 - 0
gms.js

@@ -0,0 +1,58 @@
+import { io } from "socket.io-client"
+import axios from "axios"
+import { setTimeout } from "timers/promises"
+import chalk from "chalk"
+const axiosInstance = axios.create({
+    baseURL: "http://47.98.225.28/api",
+    headers: {
+        Authorization:
+            "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpvdW1hQWRtaW4iLCJzdWIiOjEsInJvbGVzIjpbImFkbWluIl0sImlhdCI6MTcyNjU4MTk1OH0.dQiHFYaDDa1qp4OpEHaH5SCZ9dafJ8uO9fAAc8HZgAo"
+    }
+})
+
+const {
+    data: { items: devices }
+} = await axiosInstance.post("/device", {
+    page: { page: 1, limit: 1000 },
+    search: { where: { online: true }, order: { name: "ASC" } }
+})
+
+for (let device of devices) {
+    try {
+        const {
+            data: { out }
+        } = await axiosInstance.post(
+            `/device/${device.id}/sendMessage`,
+            {
+                action: "runScript",
+                data: {
+                    script: "dumpsys package com.google.android.gms | grep versionName"
+                }
+            },
+            {
+                timeout: 2000
+            }
+        )
+        if (!out.includes("versionName=24.15.18")) {
+            console.log(chalk.blue(device.id, device.name, "update"))
+            axiosInstance
+                .post(
+                    `/device/${device.id}/sendMessage`,
+                    {
+                        action: "installApk",
+                        data: {
+                            apkUrl: "https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20240904/rhoryvgh.apk"
+                        }
+                    },
+                    {
+                        timeout: 180000
+                    }
+                )
+                .catch(e => console.log(e.message))
+        } else {
+            console.log(device.id, device.name, "OK")
+        }
+    } catch (e) {
+        console.log(device.id, device.name, e.message)
+    }
+}

+ 58 - 0
messaging.js

@@ -0,0 +1,58 @@
+import { io } from "socket.io-client"
+import axios from "axios"
+import { setTimeout } from "timers/promises"
+import chalk from "chalk"
+const axiosInstance = axios.create({
+    baseURL: "http://47.98.225.28/api",
+    headers: {
+        Authorization:
+            "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpvdW1hQWRtaW4iLCJzdWIiOjEsInJvbGVzIjpbImFkbWluIl0sImlhdCI6MTcyNjU4MTk1OH0.dQiHFYaDDa1qp4OpEHaH5SCZ9dafJ8uO9fAAc8HZgAo"
+    }
+})
+
+const {
+    data: { items: devices }
+} = await axiosInstance.post("/device", {
+    page: { page: 1, limit: 1000 },
+    search: { where: { online: true }, order: { name: "ASC" } }
+})
+
+for (let device of devices) {
+    try {
+        const {
+            data: { out }
+        } = await axiosInstance.post(
+            `/device/${device.id}/sendMessage`,
+            {
+                action: "runScript",
+                data: {
+                    script: "dumpsys package com.google.android.apps.messaging | grep versionName"
+                }
+            },
+            {
+                timeout: 2000
+            }
+        )
+        if (!out.includes("20240430_01_RC00")) {
+            console.log(chalk.blue(device.id, device.name, "update"))
+            axiosInstance
+                .post(
+                    `/device/${device.id}/sendMessage`,
+                    {
+                        action: "installApk",
+                        data: {
+                            apkUrl: "https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20240828/oqzo42j7.apk"
+                        }
+                    },
+                    {
+                        timeout: 180000
+                    }
+                )
+                .catch(e => console.log(e.message))
+        } else {
+            console.log(device.id, device.name, "OK")
+        }
+    } catch (e) {
+        console.log(device.id, device.name, e.message)
+    }
+}

+ 29 - 6
modifierModule.js

@@ -1,6 +1,7 @@
 import { io } from "socket.io-client"
 import axios from "axios"
 import { setTimeout } from "timers/promises"
+import chalk  from "chalk"
 const axiosInstance = axios.create({
     baseURL: "http://47.98.225.28/api",
     headers: {
@@ -16,20 +17,42 @@ const {
     search: { where: { online: true }, order: { name: "ASC" } }
 })
 
-for (let d of devices) {
-    if (parseInt(d.version) < 136) {
-        await axiosInstance.post(
+for (let device of devices) {
+    try {
+        const {
+            data: { out }
+        } = await axiosInstance.post(
             `/device/${device.id}/sendMessage`,
             {
-                action: "installApk",
+                action: "runScript",
                 data: {
-                    apkUrl: ""
+                    script: "dumpsys package com.example.modifiermodule | grep versionName"
                 }
             },
             {
                 timeout: 2000
             }
         )
-        await setTimeout(500)
+        if (!out.includes("versionName=1.0.1")) {
+            console.log(chalk.blue(device.id, device.name, "update"))
+            // axiosInstance
+            //     .post(
+            //         `/device/${device.id}/sendMessage`,
+            //         {
+            //             action: "installApk",
+            //             data: {
+            //                 apkUrl: "https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20241016/iblg9jp0.apk"
+            //             }
+            //         },
+            //         {
+            //             timeout: 180000
+            //         }
+            //     )
+            //     .catch(e => console.log(e.message))
+        } else {
+            console.log(device.id, device.name, "OK")
+        }
+    } catch (e) {
+        console.log(device.id, device.name, e.message)
     }
 }

+ 1 - 0
package.json

@@ -1,6 +1,7 @@
 {
   "dependencies": {
     "axios": "^1.7.7",
+    "chalk": "^5.3.0",
     "socket.io-client": "^4.7.5",
     "ws": "^8.18.0"
   },

+ 5 - 0
yarn.lock

@@ -21,6 +21,11 @@ axios@^1.7.7:
     form-data "^4.0.0"
     proxy-from-env "^1.1.0"
 
+chalk@^5.3.0:
+  version "5.3.0"
+  resolved "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385"
+  integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
+
 combined-stream@^1.0.8:
   version "1.0.8"
   resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"