pifModule.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { io } from "socket.io-client"
  2. import axios from "axios"
  3. import { setTimeout } from "timers/promises"
  4. import chalk from "chalk"
  5. const axiosInstance = axios.create({
  6. baseURL: "http://47.98.225.28/api",
  7. headers: {
  8. Authorization:
  9. "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpvdW1hQWRtaW4iLCJzdWIiOjEsInJvbGVzIjpbImFkbWluIl0sImlhdCI6MTcyNjU4MTk1OH0.dQiHFYaDDa1qp4OpEHaH5SCZ9dafJ8uO9fAAc8HZgAo"
  10. }
  11. })
  12. const {
  13. data: { items: devices }
  14. } = await axiosInstance.post("/device", {
  15. page: { page: 1, limit: 1000 },
  16. search: { where: { online: true }, order: { name: "ASC" } }
  17. })
  18. for (let device of devices.splice(0, 1)) {
  19. try {
  20. const {
  21. data: { out }
  22. } = await axiosInstance.post(
  23. `/device/${device.id}/sendMessage`,
  24. {
  25. action: "runScript",
  26. data: {
  27. script: "cat /data/adb/modules/playintegrityfix/module.prop"
  28. }
  29. },
  30. {
  31. timeout: 2000
  32. }
  33. )
  34. if (!out.includes("version=v18.0")) {
  35. console.log(chalk.blue(device.id, device.name, "update"))
  36. axiosInstance
  37. .post(
  38. `/device/${device.id}/sendMessage`,
  39. {
  40. action: "runScript",
  41. data: {
  42. script: `/data/adb/magisk/busybox wget -O /data/local/tmp/pif.zip https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20241127/csrw5ged.zip
  43. magisk --install-module /data/local/tmp/pif.zip
  44. reboot`
  45. }
  46. },
  47. {
  48. timeout: 180000
  49. }
  50. )
  51. .catch(e => console.log(e.message))
  52. } else {
  53. console.log(device.id, device.name, "OK")
  54. }
  55. } catch (e) {
  56. console.log(device.id, device.name, e.message)
  57. }
  58. }