xiongzhu 1 年之前
父節點
當前提交
02b07e45cc
共有 1 個文件被更改,包括 60 次插入0 次删除
  1. 60 0
      pifModule.js

+ 60 - 0
pifModule.js

@@ -0,0 +1,60 @@
+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.splice(0, 1)) {
+    try {
+        const {
+            data: { out }
+        } = await axiosInstance.post(
+            `/device/${device.id}/sendMessage`,
+            {
+                action: "runScript",
+                data: {
+                    script: "cat /data/adb/modules/playintegrityfix/module.prop"
+                }
+            },
+            {
+                timeout: 2000
+            }
+        )
+        if (!out.includes("version=v18.0")) {
+            console.log(chalk.blue(device.id, device.name, "update"))
+            axiosInstance
+                .post(
+                    `/device/${device.id}/sendMessage`,
+                    {
+                        action: "runScript",
+                        data: {
+                            script: `/data/adb/magisk/busybox wget -O /data/local/tmp/pif.zip https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20241127/csrw5ged.zip
+magisk --install-module /data/local/tmp/pif.zip
+reboot`
+                        }
+                    },
+                    {
+                        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)
+    }
+}