Help
RSS
API
Feed
Maltego
Contact
Domain > flutter.ugenie.net
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-11-21
43.159.99.20
(
ClassC
)
Port 80
HTTP/1.1 200 OKLast-Modified: Thu, 20 Nov 2025 10:05:07 GMTEtag: 691ee7d3-2d47Server: openrestyContent-Type: text/htmlAccess-Control-Allow-Origin: *Access-Control-Allow-Methods: GET,POST,PUT,OPTIONS,DELETE,PATCHAccess-Control-Allow-Headers: x-requested-with,content-type,Content-Type, Origin, Authorization,Lang,login-id,access-token,x-auth-date,account,agent-id,signature,terminalAccess-Control-Max-Age: 1800Access-Control-Allow-Credentials: trueAccess-Control-Expose-Headers: Content-DispositionContent-Length: 11591Accept-Ranges: bytesConnection: keep-aliveDate: Fri, 21 Nov 2025 10:33:49 GMTEO-LOG-UUID: 16369940454946629373EO-Cache-Status: HIT !doctype html>html langen> head> meta charsetUTF-8 /> title>UGenie | your virtual pal/title> meta namedescription contentChat with your AI companion anytime, anywhere, and experience fantastic interactive stories. These highly anthropomorphic chatbots will listen to you, understand you, and remember you. Free to use /> meta namekeywords contentUGenie, UGenie, chat AI, AI chat, chatbot, companion, AI friends, AI companion, AI character, AI roleplay, AI free, AI social tool, interactive stories, anime, virtual idol, live2d, L2D /> meta propertyog:type contentwebsite /> meta propertyog:image content/ugenie_icon.png /> meta propertyog:description contentChat with your AI companion anytime, anywhere, and experience fantastic interactive stories. These highly anthropomorphic chatbots will listen to you, understand you, and remember you. Free to use /> meta propertyog:title contentUGenie | your virtual pal /> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, minimum-scale1.0, viewport-fitcover /> meta nameapple-mobile-web-app-capable contentyes /> meta namemobile-web-app-capable contentyes /> meta nameapple-mobile-web-app-status-bar-style contentblack /> meta nameapple-mobile-web-app-title contentUGenie /> link relapple-touch-icon href/setting/pwa.png /> link relicon typeimage/svg+xml href/ugenie_icon.png sizes64x64 /> link relpreload href/font/Roboto-Medium.ttf asfont typefont/ttf crossorigin /> link relpreload href/font/DIN-Bold.otf asfont typefont/otf crossorigin /> link relpreload href/font/DIN-Light.otf asfont typefont/otf crossorigin /> link relpreload href/font/IBMPlexSerif-Medium.8b682050.ttf asfont typefont/woff2 crossorigin /> link relpreload href/font/Roboto-Regular.ttf asfont typefont/ttf crossorigin /> link relpreload href/font/Roboto-Bold.ttf asfont typefont/ttf crossorigin /> link relpreload href/font/Alibaba_PuHuiTi_2.0_105_Heavy_105_Heavy.woff2 asfont typefont/woff2 crossorigin /> link relpreload href/font/RammettoOne-Regular.ttf asfont typefont/ttf crossorigin /> style> @font-face { /* 重命名字体名 */ font-family: RammettoOne; font-style: normal; font-weight: 400; /* 引入字体 */ src: url(/font/RammettoOne-Regular.ttf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: DIN Bold; font-style: normal; font-weight: 600; /* 引入字体 */ src: url(/font/DIN-Bold.otf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: DIN Light; font-style: normal; font-weight: 600; /* 引入字体 */ src: url(/font/DIN-Light.otf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: Roboto; font-style: normal; font-weight: 500; /* 引入字体 */ src: url(/font/Roboto-Medium.ttf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: Roboto; font-style: normal; font-weight: normal; /* 引入字体 */ src: url(/font/Roboto-Regular.ttf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: Roboto; font-style: normal; font-weight: 600; /* 引入字体 */ src: url(/font/Roboto-Bold.ttf); font-display: swap; } @font-face { font-family: AlibabaPuHuiTi Heavy; font-style: normal; font-weight: 600; src: url(/font/Alibaba_PuHuiTi_2.0_105_Heavy_105_Heavy.woff2); font-display: swap; } @font-face { font-family: IBMSerif; font-style: normal; font-weight: 600; src: url(/font/IBMPlexSerif-Medium.8b682050.ttf); font-display: swap; } #initial-loading { position: fixed; inset: 0; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: min(4.8vw, 24px); color: #fff; background: black; } .gl-container { --uib-size: min(10.667vw, 53.333px); --uib-color: rgb(235, 223, 172); --uib-speed: 1.5s; --global-dot-size: calc(var(--uib-size) * 0.17); position: relative; display: flex; align-items: center; justify-content: flex-start; width: var(--uib-size); height: var(--uib-size); animation: smoothRotate calc(var(--uib-speed) * 1.8) linear infinite; } .global-dot { position: absolute; top: 0; left: 0; display: flex; align-items: flex-start; justify-content: center; width: 100%; height: 100%; animation: rotate var(--uib-speed) ease-in-out infinite; } .global-dot::before { width: var(--global-dot-size); height: var(--global-dot-size); content: ; background-color: var(--uib-color); border-radius: 50%; transition: background-color 0.3s ease; } .global-dot:nth-child(2), .global-dot:nth-child(2)::before { animation-delay: calc(var(--uib-speed) * -0.835 * 0.5); } .global-dot:nth-child(3), .global-dot:nth-child(3)::before { animation-delay: calc(var(--uib-speed) * -0.668 * 0.5); } .global-dot:nth-child(4), .global-dot:nth-child(4)::before { animation-delay: calc(var(--uib-speed) * -0.501 * 0.5); } .global-dot:nth-child(5), .global-dot:nth-child(5)::before { animation-delay: calc(var(--uib-speed) * -0.334 * 0.5); } .global-dot:nth-child(6), .global-dot:nth-child(6)::before { animation-delay: calc(var(--uib-speed) * -0.167 * 0.5); } @keyframes rotate { 0% { transform: rotate(0deg); } 65%, 100% { transform: rotate(360deg); } } @keyframes smoothRotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes run { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } } /style> script srchttps://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.13.0/lottie.min.js integritysha512-uOtp2vx2X/5+tLBEf5UoQyqwAkFZJBM5XwGa7BfXDnWR+wdpRvlSVzaIVcRe3tGNsStu6UMDCeXKEnr4IBT8gA crossoriginanonymous referrerpolicyno-referrer>/script> script> ;(function () { document.documentElement.classList.toggle(dark, true) })() /** * // const prefersDark window.matchMedia &&window.matchMedia((prefers-color-scheme: dark)).matches * // const setting localStorage.getItem(vueuse-color-scheme) || auto * // if (setting dark|| (prefersDark && setting ! light)) */ /script> script typemodule crossorigin src/assets/index-CN6AhId8.js>/script> link relstylesheet crossorigin href/assets/index-BX3iX6ip.css> /head> body> div idinitial-loading> div classloading-box idlotties> /div> /div> div idapp>/div> script src/setting/live2dcubismcore.min.js>/script> script src/setting/live2d.min.js>/script> script> const loadingAnimation lottie.loadAnimation({ container: document.getElementById(lotties), // Required path: /lottie/loading.json, // Required renderer: svg, // Required loop: true, // Optional autoplay: true // Optional }) // 阻止 main.ts 立即执行的标志 window.__DELAY_VUE_INIT__ true // Vue 初始化状态 let vueInitialized false // Vue 初始化函数 function initVueApp() { if (vueInitialized) { console.log(Vue app already initialized) return } vueInitialized true console.log(Starting Vue app initialization...) // 允许 main.ts 执行 window.__DELAY_VUE_INIT__ false // 触发 Vue 初始化事件 window.dispatchEvent(new CustomEvent(vue-init-ready)) } // Flutter 回调处理 window.infoDataResult (info) > { console.timeEnd(flutter_inappwebview) console.log(info, infoDataResult - systemInfo received) window.systemInfo info // systemInfo 设置完成后初始化 Vue console.log(SystemInfo ready, initializing Vue app...) initVueApp() } // 应用初始化逻辑 function startApp() { console.log(Starting app initialization...) // 检查是否在 Flutter 环境中 if (window?.flutter_inappwebview) { console.log(Flutter environment detected, waiting for systemInfo...) // Flutter 环境:请求 systemInfo 并等待回调 try { console.time(flutter_inappwebview) window.flutter_inappwebview.callHandler(JsAndroid, JSON.stringify({ method: infoData })) } catch (error) { console.error(Failed to call Flutter handler:, error) // 如果调用失败,直接初始化 Vue setTimeout(initVueApp, 100) } // 超时保护:如果 3 秒内没有收到回调,强制初始化 Vue setTimeout(() > { if (!vueInitialized) { console.warn(Flutter callback timeout (3s), initializing Vue without systemInfo) initVueApp() } }, 3000) } else { // 非 Flutter 环境(如浏览器调试):直接初始化 Vue console.log(Non-Flutter environment detected, initializing Vue directly) setTimeout(initVueApp, 100) // 稍微延迟确保 DOM 准备完成 } } // 确保 DOM 准备完成后开始初始化 if (document.readyState loading) { document.addEventListener(DOMContentLoaded, startApp) } else { startApp() } /script> noscript> This website requires JavaScript to function properly. Please enable JavaScript to continue. /noscript> /body>/html>
Port 443
HTTP/1.1 200 OKLast-Modified: Thu, 20 Nov 2025 10:05:07 GMTEtag: 691ee7d3-2d47Server: openrestyContent-Type: text/htmlAccess-Control-Allow-Origin: *Access-Control-Allow-Methods: GET,POST,PUT,OPTIONS,DELETE,PATCHAccess-Control-Allow-Headers: x-requested-with,content-type,Content-Type, Origin, Authorization,Lang,login-id,access-token,x-auth-date,account,agent-id,signature,terminalAccess-Control-Max-Age: 1800Access-Control-Allow-Credentials: trueAccess-Control-Expose-Headers: Content-DispositionContent-Length: 11591Accept-Ranges: bytesConnection: keep-aliveDate: Fri, 21 Nov 2025 10:33:49 GMTEO-LOG-UUID: 5950551459298774565EO-Cache-Status: HIT !doctype html>html langen> head> meta charsetUTF-8 /> title>UGenie | your virtual pal/title> meta namedescription contentChat with your AI companion anytime, anywhere, and experience fantastic interactive stories. These highly anthropomorphic chatbots will listen to you, understand you, and remember you. Free to use /> meta namekeywords contentUGenie, UGenie, chat AI, AI chat, chatbot, companion, AI friends, AI companion, AI character, AI roleplay, AI free, AI social tool, interactive stories, anime, virtual idol, live2d, L2D /> meta propertyog:type contentwebsite /> meta propertyog:image content/ugenie_icon.png /> meta propertyog:description contentChat with your AI companion anytime, anywhere, and experience fantastic interactive stories. These highly anthropomorphic chatbots will listen to you, understand you, and remember you. Free to use /> meta propertyog:title contentUGenie | your virtual pal /> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, minimum-scale1.0, viewport-fitcover /> meta nameapple-mobile-web-app-capable contentyes /> meta namemobile-web-app-capable contentyes /> meta nameapple-mobile-web-app-status-bar-style contentblack /> meta nameapple-mobile-web-app-title contentUGenie /> link relapple-touch-icon href/setting/pwa.png /> link relicon typeimage/svg+xml href/ugenie_icon.png sizes64x64 /> link relpreload href/font/Roboto-Medium.ttf asfont typefont/ttf crossorigin /> link relpreload href/font/DIN-Bold.otf asfont typefont/otf crossorigin /> link relpreload href/font/DIN-Light.otf asfont typefont/otf crossorigin /> link relpreload href/font/IBMPlexSerif-Medium.8b682050.ttf asfont typefont/woff2 crossorigin /> link relpreload href/font/Roboto-Regular.ttf asfont typefont/ttf crossorigin /> link relpreload href/font/Roboto-Bold.ttf asfont typefont/ttf crossorigin /> link relpreload href/font/Alibaba_PuHuiTi_2.0_105_Heavy_105_Heavy.woff2 asfont typefont/woff2 crossorigin /> link relpreload href/font/RammettoOne-Regular.ttf asfont typefont/ttf crossorigin /> style> @font-face { /* 重命名字体名 */ font-family: RammettoOne; font-style: normal; font-weight: 400; /* 引入字体 */ src: url(/font/RammettoOne-Regular.ttf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: DIN Bold; font-style: normal; font-weight: 600; /* 引入字体 */ src: url(/font/DIN-Bold.otf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: DIN Light; font-style: normal; font-weight: 600; /* 引入字体 */ src: url(/font/DIN-Light.otf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: Roboto; font-style: normal; font-weight: 500; /* 引入字体 */ src: url(/font/Roboto-Medium.ttf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: Roboto; font-style: normal; font-weight: normal; /* 引入字体 */ src: url(/font/Roboto-Regular.ttf); font-display: swap; } @font-face { /* 重命名字体名 */ font-family: Roboto; font-style: normal; font-weight: 600; /* 引入字体 */ src: url(/font/Roboto-Bold.ttf); font-display: swap; } @font-face { font-family: AlibabaPuHuiTi Heavy; font-style: normal; font-weight: 600; src: url(/font/Alibaba_PuHuiTi_2.0_105_Heavy_105_Heavy.woff2); font-display: swap; } @font-face { font-family: IBMSerif; font-style: normal; font-weight: 600; src: url(/font/IBMPlexSerif-Medium.8b682050.ttf); font-display: swap; } #initial-loading { position: fixed; inset: 0; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: min(4.8vw, 24px); color: #fff; background: black; } .gl-container { --uib-size: min(10.667vw, 53.333px); --uib-color: rgb(235, 223, 172); --uib-speed: 1.5s; --global-dot-size: calc(var(--uib-size) * 0.17); position: relative; display: flex; align-items: center; justify-content: flex-start; width: var(--uib-size); height: var(--uib-size); animation: smoothRotate calc(var(--uib-speed) * 1.8) linear infinite; } .global-dot { position: absolute; top: 0; left: 0; display: flex; align-items: flex-start; justify-content: center; width: 100%; height: 100%; animation: rotate var(--uib-speed) ease-in-out infinite; } .global-dot::before { width: var(--global-dot-size); height: var(--global-dot-size); content: ; background-color: var(--uib-color); border-radius: 50%; transition: background-color 0.3s ease; } .global-dot:nth-child(2), .global-dot:nth-child(2)::before { animation-delay: calc(var(--uib-speed) * -0.835 * 0.5); } .global-dot:nth-child(3), .global-dot:nth-child(3)::before { animation-delay: calc(var(--uib-speed) * -0.668 * 0.5); } .global-dot:nth-child(4), .global-dot:nth-child(4)::before { animation-delay: calc(var(--uib-speed) * -0.501 * 0.5); } .global-dot:nth-child(5), .global-dot:nth-child(5)::before { animation-delay: calc(var(--uib-speed) * -0.334 * 0.5); } .global-dot:nth-child(6), .global-dot:nth-child(6)::before { animation-delay: calc(var(--uib-speed) * -0.167 * 0.5); } @keyframes rotate { 0% { transform: rotate(0deg); } 65%, 100% { transform: rotate(360deg); } } @keyframes smoothRotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes run { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } } /style> script srchttps://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.13.0/lottie.min.js integritysha512-uOtp2vx2X/5+tLBEf5UoQyqwAkFZJBM5XwGa7BfXDnWR+wdpRvlSVzaIVcRe3tGNsStu6UMDCeXKEnr4IBT8gA crossoriginanonymous referrerpolicyno-referrer>/script> script> ;(function () { document.documentElement.classList.toggle(dark, true) })() /** * // const prefersDark window.matchMedia &&window.matchMedia((prefers-color-scheme: dark)).matches * // const setting localStorage.getItem(vueuse-color-scheme) || auto * // if (setting dark|| (prefersDark && setting ! light)) */ /script> script typemodule crossorigin src/assets/index-CN6AhId8.js>/script> link relstylesheet crossorigin href/assets/index-BX3iX6ip.css> /head> body> div idinitial-loading> div classloading-box idlotties> /div> /div> div idapp>/div> script src/setting/live2dcubismcore.min.js>/script> script src/setting/live2d.min.js>/script> script> const loadingAnimation lottie.loadAnimation({ container: document.getElementById(lotties), // Required path: /lottie/loading.json, // Required renderer: svg, // Required loop: true, // Optional autoplay: true // Optional }) // 阻止 main.ts 立即执行的标志 window.__DELAY_VUE_INIT__ true // Vue 初始化状态 let vueInitialized false // Vue 初始化函数 function initVueApp() { if (vueInitialized) { console.log(Vue app already initialized) return } vueInitialized true console.log(Starting Vue app initialization...) // 允许 main.ts 执行 window.__DELAY_VUE_INIT__ false // 触发 Vue 初始化事件 window.dispatchEvent(new CustomEvent(vue-init-ready)) } // Flutter 回调处理 window.infoDataResult (info) > { console.timeEnd(flutter_inappwebview) console.log(info, infoDataResult - systemInfo received) window.systemInfo info // systemInfo 设置完成后初始化 Vue console.log(SystemInfo ready, initializing Vue app...) initVueApp() } // 应用初始化逻辑 function startApp() { console.log(Starting app initialization...) // 检查是否在 Flutter 环境中 if (window?.flutter_inappwebview) { console.log(Flutter environment detected, waiting for systemInfo...) // Flutter 环境:请求 systemInfo 并等待回调 try { console.time(flutter_inappwebview) window.flutter_inappwebview.callHandler(JsAndroid, JSON.stringify({ method: infoData })) } catch (error) { console.error(Failed to call Flutter handler:, error) // 如果调用失败,直接初始化 Vue setTimeout(initVueApp, 100) } // 超时保护:如果 3 秒内没有收到回调,强制初始化 Vue setTimeout(() > { if (!vueInitialized) { console.warn(Flutter callback timeout (3s), initializing Vue without systemInfo) initVueApp() } }, 3000) } else { // 非 Flutter 环境(如浏览器调试):直接初始化 Vue console.log(Non-Flutter environment detected, initializing Vue directly) setTimeout(initVueApp, 100) // 稍微延迟确保 DOM 准备完成 } } // 确保 DOM 准备完成后开始初始化 if (document.readyState loading) { document.addEventListener(DOMContentLoaded, startApp) } else { startApp() } /script> noscript> This website requires JavaScript to function properly. Please enable JavaScript to continue. /noscript> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]