magisk.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { io } from "socket.io-client"
  2. import axios from "axios"
  3. import { setTimeout } from "timers/promises"
  4. const axiosInstance = axios.create({
  5. baseURL: "http://47.98.225.28/api",
  6. headers: {
  7. Authorization:
  8. "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpvdW1hQWRtaW4iLCJzdWIiOjEsInJvbGVzIjpbImFkbWluIl0sImlhdCI6MTcyNjU4MTk1OH0.dQiHFYaDDa1qp4OpEHaH5SCZ9dafJ8uO9fAAc8HZgAo"
  9. }
  10. })
  11. const {
  12. data: { items: devices }
  13. } = await axiosInstance.post("/device", {
  14. page: { page: 1, limit: 1000 },
  15. search: { where: { online: true }, order: { name: "ASC" } }
  16. })
  17. for (let device of devices) {
  18. try {
  19. const {
  20. data: { out }
  21. } = await axiosInstance.post(
  22. `/device/${device.id}/sendMessage`,
  23. {
  24. action: "runScript",
  25. data: {
  26. script: "dumpsys package com.topjohnwu.magisk | grep versionName"
  27. }
  28. },
  29. {
  30. timeout: 2000
  31. }
  32. )
  33. if (!out.includes("versionName=28.0")) {
  34. console.error(device.id, device.name)
  35. axiosInstance
  36. .post(
  37. `/device/${device.id}/sendMessage`,
  38. {
  39. action: "installApk",
  40. data: {
  41. apkUrl: "https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20241011/t9ocwlqc.apk"
  42. }
  43. },
  44. {
  45. timeout: 2000
  46. }
  47. )
  48. .catch(e => console.log(e.message))
  49. }
  50. } catch (e) {
  51. console.log(device.id, device.name, e.message)
  52. }
  53. }