pifModule.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 {
  6. data: { access_token }
  7. } = await axios.post("http://47.98.225.28/api/auth/admin/login", {
  8. username: "zoumaAdmin",
  9. password: "WQ%B6j9uXKPvYf",
  10. code: "123123",
  11. bindingCode: ""
  12. })
  13. const axiosInstance = axios.create({
  14. baseURL: "http://47.98.225.28/api",
  15. headers: {
  16. Authorization: `Bearer ${access_token}`
  17. }
  18. })
  19. const {
  20. data: { items: devices }
  21. } = await axiosInstance.post("/device", {
  22. page: { page: 1, limit: 1000 },
  23. search: { where: { online: true }, order: { name: "ASC" } }
  24. })
  25. for (let device of devices) {
  26. try {
  27. const {
  28. data: { out }
  29. } = await axiosInstance.post(
  30. `/device/${device.id}/sendMessage`,
  31. {
  32. action: "runScript",
  33. data: {
  34. script: "cat /data/adb/modules/playintegrityfix/module.prop"
  35. }
  36. },
  37. {
  38. timeout: 2000
  39. }
  40. )
  41. if (!out.includes("version=v18.0")) {
  42. console.log(chalk.blue(device.id, device.name, "update"))
  43. axiosInstance
  44. .post(
  45. `/device/${device.id}/sendMessage`,
  46. {
  47. action: "runScript",
  48. data: {
  49. script: `/data/adb/magisk/busybox wget -O /data/local/tmp/pif.zip https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20241127/csrw5ged.zip
  50. magisk --install-module /data/local/tmp/pif.zip
  51. reboot`
  52. }
  53. },
  54. {
  55. timeout: 180000
  56. }
  57. )
  58. .catch(e => console.log(e.message))
  59. } else {
  60. console.log(device.id, device.name, "OK")
  61. }
  62. } catch (e) {
  63. console.log(device.id, device.name, e.message)
  64. }
  65. }