Untitled


SUBMITTED BY: Lucasalmeid

DATE: Nov. 2, 2023, 5:42 a.m.

UPDATED: Nov. 2, 2023, 6:43 a.m.

FORMAT: Text only

SIZE: 16.9 kB

HITS: 488

  1. [
  2. {
  3. "label": "Nome do app",
  4. "name": "APP_NAME",
  5. "value": "Fibra Project",
  6. "type": "STRING"
  7. },
  8. {
  9. "label": "Logo do app",
  10. "name": "APP_LOGO",
  11. "value": "https://i.ibb.co/C13bXrM/DT-68fh1x7.png",
  12. "type": "IMAGE"
  13. },
  14. {
  15. "label": "Imagem de fundo",
  16. "name": "APP_BACKGROUND_IMAGE",
  17. "value": "https://i.ibb.co/mqfhZm6/DT1iy7241y.jpg",
  18. "type": "IMAGE"
  19. },
  20. {
  21. "label": "Tipo do fundo do app",
  22. "name": "APP_BACKGROUND_TYPE",
  23. "value": {
  24. "options": [
  25. {
  26. "label": "Imagem",
  27. "value": "IMAGE"
  28. },
  29. {
  30. "label": "Cor",
  31. "value": "COLOR"
  32. }
  33. ],
  34. "selected": "IMAGE"
  35. },
  36. "type": "SELECT"
  37. },
  38. {
  39. "label": "Cor de fundo",
  40. "name": "APP_BACKGROUND_COLOR",
  41. "value": "#000000ff",
  42. "type": "COLOR"
  43. },
  44. {
  45. "label": "Cor do card inicial",
  46. "name": "APP_CARD_COLOR",
  47. "value": "#1d242e73",
  48. "type": "COLOR"
  49. },
  50. {
  51. "label": "Raio do card inicial",
  52. "name": "APP_CARD_RADIUS",
  53. "value": 20,
  54. "type": "INTEGER"
  55. },
  56. {
  57. "label": "Cor do card de status",
  58. "name": "APP_CARD_STATUS_COLOR",
  59. "value": "#1d242e87",
  60. "type": "COLOR"
  61. },
  62. {
  63. "label": "Raio do card de status",
  64. "name": "APP_CARD_STATUS_RADIUS",
  65. "value": 25,
  66. "type": "INTEGER"
  67. },
  68. {
  69. "label": "Cor do card de configurações",
  70. "name": "APP_CARD_CONFIG_COLOR",
  71. "value": "#0E171EC9",
  72. "type": "COLOR"
  73. },
  74. {
  75. "label": "Cor do fundo dos dialogs",
  76. "name": "APP_DIALOG_BACKGROUND_COLOR",
  77. "value": "#050C5AE4",
  78. "type": "COLOR"
  79. },
  80. {
  81. "label": "Cor do fundo do dialog de log",
  82. "name": "APP_DIALOG_LOGGER_COLOR",
  83. "value": "#080e16c7",
  84. "type": "COLOR"
  85. },
  86. {
  87. "label": "Cor das bordas",
  88. "name": "APP_BORDER_COLOR",
  89. "value": "#00074ac1",
  90. "type": "COLOR"
  91. },
  92. {
  93. "label": "Cor dos inputs",
  94. "name": "APP_INPUT_COLOR",
  95. "value": "#000d24aa",
  96. "type": "COLOR"
  97. },
  98. {
  99. "label": "Raio dos inputs",
  100. "name": "APP_INPUT_RADIUS",
  101. "value": 25,
  102. "type": "INTEGER"
  103. },
  104. {
  105. "label": "Cor dos textos",
  106. "name": "APP_TEXT_COLOR",
  107. "value": "#FFFFFFFF",
  108. "type": "COLOR"
  109. },
  110. {
  111. "label": "Cor dos botões",
  112. "name": "APP_BUTTON_COLOR",
  113. "value": "#0051ff73",
  114. "type": "COLOR"
  115. },
  116. {
  117. "label": "Raio dos botões",
  118. "name": "APP_BUTTON_RADIUS",
  119. "value": 25,
  120. "type": "INTEGER"
  121. },
  122. {
  123. "label": "Cor dos icones",
  124. "name": "APP_ICON_COLOR",
  125. "value": "#FFFFFFFF",
  126. "type": "COLOR"
  127. },
  128. {
  129. "label": "Exibir modo de conexão",
  130. "name": "APP_SHOW_CONNECTION_MODE",
  131. "value": true,
  132. "type": "BOOLEAN"
  133. },
  134. {
  135. "label": "Atualizar automaticamente as configurações ao lançar uma atualização.",
  136. "name": "APP_CONFIG_AUTO_UPDATE",
  137. "value": false,
  138. "type": "BOOLEAN"
  139. },
  140. {
  141. "label": "Iniciar o app automaticamente ao reiniciar o dispositivo",
  142. "name": "APP_AUTO_START",
  143. "value": true,
  144. "type": "BOOLEAN"
  145. },
  146. {
  147. "label": "Usar limiter de conexão",
  148. "name": "APP_CONNECTION_LIMITER",
  149. "value": false,
  150. "type": "BOOLEAN"
  151. },
  152. {
  153. "label": "Usar botão de atualizações",
  154. "name": "APP_BTN_UPDATE_ENABLED",
  155. "value": true,
  156. "type": "BOOLEAN"
  157. },
  158. {
  159. "label": "Usar botão de registros",
  160. "name": "APP_BTN_LOGGER_ENABLED",
  161. "value": true,
  162. "type": "BOOLEAN"
  163. },
  164. {
  165. "label": "Usar botão de pagina webview",
  166. "name": "APP_BTN_PAGE_ENABLED",
  167. "value": true,
  168. "type": "BOOLEAN"
  169. },
  170. {
  171. "label": "Ativar dialog de erros",
  172. "name": "APP_DIALOG_ERROR_ENABLED",
  173. "value": true,
  174. "type": "BOOLEAN"
  175. },
  176. {
  177. "label": "Ativar dialog de checkuser",
  178. "name": "APP_CHECKUSER_DIALOG_ENABLED",
  179. "value": true,
  180. "type": "BOOLEAN"
  181. },
  182. {
  183. "label": "Ativar toast de sucesso",
  184. "name": "APP_SUCCESS_TOAST_ENABLED",
  185. "value": true,
  186. "type": "BOOLEAN"
  187. },
  188. {
  189. "label": "Ativar toast de erro",
  190. "name": "APP_ERROR_TOAST_ENABLED",
  191. "value": true,
  192. "type": "BOOLEAN"
  193. },
  194. {
  195. "label": "Usar layout webview",
  196. "name": "APP_LAYOUT_WEBVIEW_ENABLED",
  197. "value": false,
  198. "type": "BOOLEAN"
  199. },
  200. {
  201. "label": "Mensagem",
  202. "name": "APP_MESSAGE",
  203. "value": "INSTRUÇÕES DE USO\n\nColoque o usuário e senha fornecido pelo responsável respeitando as letras maiusculas e minúsculas conforme lhe foi enviado, logo após selecione a opção com o nome da sua operadora e tente conectar \nAguarde 30 segundos se não conectar coloque na próxima opção. Teste todas as opções com o nome da sua operadora.\nDeus abençõe a Todos.",
  204. "type": "TEXT"
  205. },
  206. {
  207. "label": "URL de atualização do aplicativo",
  208. "name": "APP_UPDATE_URL",
  209. "value": null,
  210. "type": "URL"
  211. },
  212. {
  213. "label": "Tipo de mensagem",
  214. "name": "APP_MESSAGE_TYPE",
  215. "value": {
  216. "options": [
  217. {
  218. "label": "Alerta",
  219. "value": "ALERT"
  220. },
  221. {
  222. "label": "Informação",
  223. "value": "INFO"
  224. },
  225. {
  226. "label": "Boas vindas",
  227. "value": "WELCOME"
  228. },
  229. {
  230. "label": "Sem mensagem",
  231. "value": "NONE"
  232. }
  233. ],
  234. "selected": "WELCOME"
  235. },
  236. "type": "SELECT"
  237. },
  238. {
  239. "label": "LAYOUT WEBVIEW (POR SUA CONTA E RISCO)",
  240. "name": "APP_LAYOUT_WEBVIEW",
  241. "value": null,
  242. "type": "HTML"
  243. },
  244. {
  245. "label": "ANDROID WEBVIEW (POR SUA CONTA E RISCO)",
  246. "name": "APP_SUPPORT_BUTTON",
  247. "value": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n \t<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css\">\n <title>Guardian</title>\n <style>\n body {\n display: flex;\n height: calc(100vh - 4.2rem);\n align-items: flex-end;\n justify-content: center;\n overflow: hidden;\n font-family: sans-serif;\n font-size: 12px;\n color: #656565;\n position: relative;\n margin: 0 auto;\n }\n\n .menu {\n background: #050C5AE4;\n border-radius: 50px;\n height: 50px;\n width: 50px;\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);\n position: relative;\n overflow: hidden;\n transition: all 1.3s cubic-bezier(0.01, 0.41, 0.63, 1.2);\n }\n\n ul {\n margin: 0;\n padding: 0;\n visibility: hidden;\n position: absolute;\n display: flex;\n justify-content: space-between;\n left: 80%;\n width: 70%;\n top: 50%;\n height: 100%;\n transform: translate(0, -50%);\n transition: all 0.7s ease 0.1s;\n }\n\n li {\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n li span {\n transform: rotateY(50deg);\n opacity: 0;\n transition: opacity 0.9s linear, transform 1.2s linear;\n }\n\n button {\n border: none;\n background: transparent;\n width: 50px;\n height: 50px;\n position: absolute;\n left: 0;\n transition: all 1s ease;\n }\n\n button svg {\n stroke: #2196F3;\n }\n\n button:before {\n position: absolute;\n content: '';\n height: 4px;\n background: #2196f3;\n transform: rotate(180deg);\n left: 0;\n right: 0;\n margin: 0 auto;\n top: 35%;\n width: 40%;\n transition: all 1.1s cubic-bezier(0.25, -0.09, 0.72, 1.47);\n }\n\n button:after {\n position: absolute;\n content: '';\n height: 4px;\n background: #2196f3;\n left: 0;\n right: 0;\n transform: rotate(-180deg);\n margin: 0 auto;\n top: 55%;\n width: 40%;\n transition: all 1.1s cubic-bezier(0.25, -0.09, 0.72, 1.47);\n }\n\n .active {\n width: 400px; \n transition: all 1.3s cubic-bezier(0.01, 0.41, 0.63, 1.2);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .active ul {\n visibility: visible;\n left: 20px;\n transition: all 1s ease 0.1s;\n }\n\n .active li span {\n transform: rotateY(0);\n opacity: 1;\n transition: opacity 0.9s linear, transform 1.2s linear;\n }\n\n .active button {\n left: 85%;\n display: flex;\n align-items: center;\n transition: all 1s ease;\n }\n\n .active button:before {\n transform: rotate(-45deg);\n top: 50%;\n transition: all 0.5s cubic-bezier(0.25, -0.09, 0.72, 1.47);\n }\n\n .active button:after {\n transform: rotate(45deg);\n top: 50%;\n transition: all 0.5s cubic-bezier(0.25, -0.09, 0.72, 1.47);\n }\n\n .size {\n color: var(--icon-color);\n filter: drop-shadow(0 0 0.2rem #a7a7a7);\n width: 2rem;\n height: 2rem;\n\n }\n\n .item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n\n .item span {\n color: #FFF;\n font-weight: bold;\n }\n \n .esquerda {\n\tdisplay: flex;\n\tgap: 0.5rem;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 10px;\n\tcolor: #fff;\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\t}\n\t\n\t.direita {\n\tdisplay: flex;\n\tposition: absolute;\n\ttop: 0;\n\tright: 10px;\n\tcolor: #fff;\n\tfont-weight: bold;\n\tfont-size: 1rem;\n\t}\n\t\n\t#txtbtn.color {\n color: green;\n </style>\n</head>\n\n<body>\n <div class=\"menu\">\n <button></button>\n <ul>\n <li class=\"item\" onclick=\"DtStartCheckUser.execute()\">\n <img class=\"size\" src=\"https://raw.githubusercontent.com/GuardianOFC/main/main/1689690682289.png\">\n <span class=\"text-item\">VALIDADE</span>\n </li> \n <li class=\"item\" onclick=\"DtIgnoreBatteryOptimizations.execute()\">\n <img class=\"size\" src=\"https://raw.githubusercontent.com/GuardianOFC/main/main/1689689175465.png\">\n <span class=\"text-item\">BATERIA</span>\n </li>\n <li class=\"item\" onclick=\"DtStartApnActivity.execute()\">\n <img class=\"size\" src=\"https://raw.githubusercontent.com/GuardianOFC/main/main/1689690538787.png\">\n <span class=\"text-item\">APN</span>\n </li>\n <li class=\"item\">\n <img class=\"size\" src=\"https://raw.githubusercontent.com/GuardianOFC/main/main/1689690162353.png\" id=\"btnHotSpot\">\n <span id=\"txtbtn\" class=\"text-item\">HOTSPOT</span>\n </li>\n </ul>\n </div> \n <script>\n var input = document.querySelector('.menu');\n var button = document.querySelector('button');\n button.addEventListener('click', function (e) {\n e.preventDefault();\n input.classList.toggle('active');\n })\n </script>\n <script>\n class AndroidMock {\n static getLocalIP() {\n return '192.168.0.1';\n }\n \n static getConfig() {\n return JSON.stringify({\n urlCheckUser: 'URLAQUI'\n });\n }\n \n static getNetworkName() {\n return 'REDE';\n }\n \n static openRadioInfo() {\n console.log('openRadioInfo');\n }\n }\n </script>\n \n <script>\n function showLocalIP(android) {\n console.log(android.getNetworkName());\n document.getElementById('name').innerHTML = ' ' + android.getNetworkName() + ':';\n document.getElementById('ip').innerHTML = android.getLocalIP();\n \n setInterval(() => {\n document.getElementById('name').innerHTML =\n ' ' + android.getNetworkName() + ':';\n document.getElementById('ip').innerHTML = android.getLocalIP();\n }, 2000)\n }\n \n function showCheckUser(android) {\n const config = JSON.parse(window?.DtGetDefaultConfig?.execute() ?? android.getConfig());\n \n const urlCheckUser = new URL(config.url_check_user);\n urlCheckUser.protocol = 'ws:';\n const socket = new WebSocket(urlCheckUser);\n socket.onopen = function (e) {\n socket.send(JSON.stringify({\n action: 'all',\n data: {}\n }));\n };\n \n socket.onmessage = function (event) {\n const data = JSON.parse(event.data);\n if (data.total === undefined)\n return;\n \n const total = data.total;\n document.getElementById('total').innerHTML = ' ' + String(total).padStart(2, '0');\n socket.close();\n };\n }\n \n \n \n window.onload = function () {\n const android = window.Android || AndroidMock;\n showLocalIP(android);\n showCheckUser(android);\n }\n \n const ms = `${window?.DtGetStatusBarHeight?.execute() ?? '30'}px`\n \n document.getElementById(\"topo\").style.marginTop = ms;\n \n document.getElementById(\"topo1\").style.marginTop = ms;\n </script>\n <script>\n const startHotSpot = () => {\n DtStartHotSpotService.execute();\n txtbtn.textContent = 'HOTSPOT';\n txtbtn.classList.add('color'); // Adiciona a classe para o texto ficar verde\n }\n\n const stopHotSpot = () => {\n DtStopHotSpotService.execute(); \n txtbtn.textContent = 'HOTSPOT';\n txtbtn.classList.remove('color'); // Remove a classe para o texto não ficar verde\n }\n\n const toggleHotSpot = () => {\n const hotSpotStatus = window?.DtGetStatusHotSpotService?.execute() ?? 'STOPPED';\n hotSpotStatus == 'RUNNING' ? stopHotSpot() : startHotSpot();\n }\n\n const btnHotSpot = document.querySelector(\"#btnHotSpot\");\n btnHotSpot.addEventListener('click', toggleHotSpot);\n\n const hotSpotStatus = window?.DtGetStatusHotSpotService?.execute() ?? 'STOPPED'; \n if (hotSpotStatus == 'RUNNING') {\n txtbtn.textContent = 'HOTSPOT';\n txtbtn.classList.add('color'); // Adiciona a classe para o texto ficar verde\n} else {\n txtbtn.textContent = 'HOTSPOT';\n txtbtn.classList.remove('color'); // Remove a classe para o texto não ficar verde\n}\n </script>\n</body>\n\n</html>",
  248. "type": "HTML"
  249. },
  250. {
  251. "label": "PAGINA WEBVIEW (POR SUA CONTA E RISCO)",
  252. "name": "APP_WEB_VIEW",
  253. "value": null,
  254. "type": "HTML"
  255. }
  256. ]

comments powered by Disqus