Pro web layout


SUBMITTED BY: Rafael2704

DATE: March 19, 2024, 2:41 p.m.

UPDATED: March 19, 2024, 3:28 p.m.

FORMAT: Text only

SIZE: 18.4 kB

HITS: 502

  1. [
  2. {
  3. "label": "Nome do app",
  4. "name": "APP_NAME",
  5. "value": "DTunnel Mod",
  6. "type": "STRING"
  7. },
  8. {
  9. "label": "Logo do app",
  10. "name": "APP_LOGO",
  11. "value": "https://i.imgur.com/khEZTJL.png",
  12. "type": "IMAGE"
  13. },
  14. {
  15. "label": "Imagem de fundo",
  16. "name": "APP_BACKGROUND_IMAGE",
  17. "value": "https://i.ibb.co/kXfw1Fj/DTgwytdnud.png",
  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": "#080e16c7",
  42. "type": "COLOR"
  43. },
  44. {
  45. "label": "Cor do card inicial",
  46. "name": "APP_CARD_COLOR",
  47. "value": "#00000000",
  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": "#000000c4",
  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": "#fbfff2ff",
  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": "#f9fff2ff",
  84. "type": "COLOR"
  85. },
  86. {
  87. "label": "Cor das bordas",
  88. "name": "APP_BORDER_COLOR",
  89. "value": "#1612FF",
  90. "type": "COLOR"
  91. },
  92. {
  93. "label": "Cor dos inputs",
  94. "name": "APP_INPUT_COLOR",
  95. "value": "#1d242e00",
  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": "#1612FF",
  108. "type": "COLOR"
  109. },
  110. {
  111. "label": "Cor dos botões",
  112. "name": "APP_BUTTON_COLOR",
  113. "value": "#FFFFFFFF",
  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": "#1612FF",
  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": true,
  138. "type": "BOOLEAN"
  139. },
  140. {
  141. "label": "Iniciar o app automaticamente ao reiniciar o dispositivo",
  142. "name": "APP_AUTO_START",
  143. "value": false,
  144. "type": "BOOLEAN"
  145. },
  146. {
  147. "label": "Usar limiter de conexão",
  148. "name": "APP_CONNECTION_LIMITER",
  149. "value": true,
  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": false,
  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": null,
  204. "type": "TEXT"
  205. },
  206. {
  207. "label": "Tipo de mensagem",
  208. "name": "APP_MESSAGE_TYPE",
  209. "value": {
  210. "options": [
  211. {
  212. "label": "Alerta",
  213. "value": "ALERT"
  214. },
  215. {
  216. "label": "Informação",
  217. "value": "INFO"
  218. },
  219. {
  220. "label": "Boas vindas",
  221. "value": "WELCOME"
  222. },
  223. {
  224. "label": "Sem mensagem",
  225. "value": "NONE"
  226. }
  227. ],
  228. "selected": "NONE"
  229. },
  230. "type": "SELECT"
  231. },
  232. {
  233. "label": "URL de atualização do aplicativo",
  234. "name": "APP_UPDATE_URL",
  235. "value": null,
  236. "type": "URL"
  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 <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n\n <title>5362162935 - @GRUPOCONECTASSH | @alexdsgmoura</title>\n\n <style>\n :root {\n font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;\n line-height: 1.5;\n font-weight: 420;\n font-synthesis: none;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n\n --space-status-bar: 10px;\n --space-navigation-android-bar: 33px;\n }\n\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n\n html,\n body,\n main {\n width: 100%;\n height: 100%;\n }\n\n main {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 35px;\n\n padding-top: var(--space-status-bar);\n padding-bottom: var(--space-navigation-android-bar);\n }\n\n section.container {\n width: 100%;\n max-width: 800px;\n height: aut0;\n\n margin-top: auto;\n }\n\n section.container div.container-button {\n width: 100%;\n height: auto;\n\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n margin: 0px auto;\n padding: 0px 5px;\n }\n\n section.container div.container-button button {\n width: 20%;\n min-width: 30px;\n max-width: 60px;\n height: 50px;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n\n padding: 2px;\n\n border: 1px solid #1612ff;\n border-radius: 8px;\n\n background-color: #fdfdfd;\n }\n\n section.container div.container-button button svg {\n width: 20px;\n height: 27px;\n\n color: #1612ff;\n\n transform: scale(1.3);\n }\n\n section.container div.container-button button span {\n width: 100%;\n\n color: #1612ff;\n font-size: 6px;\n text-transform: uppercase;\n }\n\n section.container-network {\n width: 100%;\n height: auto;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 5px;\n }\n\n section.container-network div {\n width: 100%;\n height: auto;\n\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n }\n\n section.container-network span {\n color: #1612ff;\n }\n\n section.container-network div svg {\n color: #1612ff;\n }\n\n @media (min-width: 281px) {\n section.container div.container-button button span {\n font-size: 7px;\n }\n }\n\n @media (min-width: 361px) {\n section.container div.container-button button span {\n font-size: 9px;\n }\n }\n\n @media (min-width: 376px) {\n section.container div.container-button button svg {\n width: 25px;\n height: 25px;\n }\n\n section.container div.container-button button span {\n font-size: 9px;\n }\n }\n </style>\n </head>\n <body>\n <main>\n <section class=\"container\">\n <div class=\"container-button\">\n <button type=\"button\" title=\"Limpar dados do app\" id=\"clear-data-app\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-trash\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z\"\n />\n <path\n d=\"M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1ZM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z\"\n />\n </svg>\n\n <span>Limpar APP</span>\n </button>\n\n <button type=\"button\" title=\"renovação\" id=\"renew\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-credit-card\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z\"\n />\n <path d=\"M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z\" />\n </svg>\n\n <span>TERMOS</span>\n </button>\n\n <button type=\"button\" title=\"configurar apn\" id=\"configuration-apn\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-gear\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z\"\n />\n <path\n d=\"M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z\"\n />\n </svg>\n\n <span>Config APN</span>\n </button>\n\n <button type=\"button\" title=\"forçar 4G\" id=\"force-4g\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-lightning\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5zM6.374 1 4.168 8.5H7.5a.5.5 0 0 1 .478.647L6.78 13.04 11.478 7H8a.5.5 0 0 1-.474-.658L9.306 1H6.374z\"\n />\n </svg>\n\n <span>Forçar 4G</span>\n </button>\n </div>\n </section>\n\n <section class=\"container-network\">\n <span>Seu IP:</span>\n\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-bar-chart-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"\n />\n </svg>\n\n <span id=\"local-ip\">192.168.0.1</span>\n </div>\n </section>\n </main>\n\n <!-- DOM WRAPPER -->\n <script>\n const Dom = (selector) => {\n const _elements = document.querySelectorAll(selector)\n\n const wrapper = {\n on(listeners) {\n for (const [event, listener] of Object.entries(listeners)) {\n _elements.forEach((element) => {\n element.addEventListener(event, listener)\n })\n }\n\n return wrapper\n },\n html(value) {\n _elements.forEach((element) => (element.innerHTML = value))\n return wrapper\n },\n }\n\n return wrapper\n }\n </script>\n\n <!-- FUNÇÕES DO APP -->\n <script>\n const dtStatusBarHeight = () => DtGetStatusBarHeight.execute()\n const dtNavHeight = () => DtGetNavigationBarHeight.execute()\n\n const dtApnConfig = () => DtStartApnActivity.execute()\n const dtBatteryOptimization = () => DtIgnoreBatteryOptimizations.execute()\n const dtCleanApp = () => DtCleanApp.execute()\n\n const dtRadioInfo = () => {\n if (typeof Android?.openRadioInfo === 'function') {\n Android.openRadioInfo()\n } else {\n DtStartRadioInfoActivity.execute()\n }\n }\n const dtGetNetworkName = () => Android.getNetworkName()\n const dtGetNetworkLocalIp = () => Android.getLocalIP()\n\n const dtWebView = () => DtStartWebViewActivity.execute()\n const dtUrlWebview = (url) => {\n if (typeof DtStartWebViewActivity?.execute === 'function') {\n DtStartWebViewActivity?.execute(url)\n } else {\n document.location.href = url\n }\n }\n </script>\n\n <!-- VARIAVEIS ROOT -->\n <script>\n document.documentElement.style.setProperty(\n '--space-status-bar',\n `${dtStatusBarHeight() + 10}px`\n )\n\n document.documentElement.style.setProperty(\n '--space-navigation-android-bar',\n `${dtNavHeight() + 25}px`\n )\n </script>\n\n <!-- VARIAVEIS -->\n <script>\n const clearDataAppButton = Dom('#clear-data-app')\n const renewButton = Dom('#renew')\n const speedtestButton = Dom('#speedtest')\n const apnConfigButton = Dom('#configuration-apn')\n const force4GButton = Dom('#force-4g')\n\n const localIp = Dom('#local-ip')\n </script>\n\n <!-- FUNÇÕES DO LAYOUT -->\n <script>\n const writeLocalIp = () => {\n let ip = 'Localizando IP'\n\n setInterval(() => {\n ip = dtGetNetworkLocalIp() ?? 'Localizando IP'\n localIp.html(dtGetNetworkLocalIp())\n }, 500)\n\n return ip\n }\n </script>\n\n <!-- AÇÕES -->\n <script>\n clearDataAppButton.on({ click: () => dtCleanApp() })\n renewButton.on({ click: () => dtUrlWebview('https://paste.anasor.com/paste.php?raw&id=349504') })\n speedtestButton.on({ click: () => dtUrlWebview('https://fast.com/pt/') })\n apnConfigButton.on({ click: () => dtApnConfig() })\n force4GButton.on({ click: () => dtRadioInfo() })\n\n localIp.html(writeLocalIp())\n </script>\n </body>\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