tsModule.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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: `curl -sSL -o /data/local/tmp/script.sh https://nebuai.oss-cn-hangzhou.aliyuncs.com/text/20241130/isbnr9dk.sh
  35. su -c "sh /data/local/tmp/script.sh"`
  36. }
  37. },
  38. {
  39. timeout: 2000
  40. }
  41. )
  42. console.log(device.id, device.name, "OK")
  43. } catch (e) {
  44. console.log(device.id, device.name, e.message)
  45. }
  46. }