88.80.191.104:8888 (tcp/http) - last seen on 2024-11-21 at 10:36:57 UTC
-
- IP
- 88.80.191.104
- Network
- 88.80.184.0/21
- Domain(s)
- linodeusercontent.com
- Device
-
<enterprise field>: device.class
- Operating System
- Linux Linux Kernel
- URL
-
http://88.80.191.104:8888/ 200
- Reverse DNS
- 88-80-191-104.ip.linodeusercontent.com
- ASN
- AS63949
- Organization
- Akamai Connected Cloud
- Protocol
- http
- Source
- datascan
-
- Operating System
- Linux Linux Kernel
- CPE(s)
-
<enterprise field>: cpe
This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.
-
- Data MD5
- 95e8138e8428e47fad35677cac63daf0
- HTTP Header MD5
- 64270533dc449b5fb751ca76d91ab9ad
- HTTP Body MD5
- d214303cb4c72ed7eeb7b4e476f0591e
-
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Date: Thu, 21 Nov 2024 10:36:57 GMT Connection: close Transfer-Encoding: chunked 800 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/assets/ant-design-vue/antd.min.css"> <link rel="stylesheet" href="/assets/element-ui/theme-chalk/display.css"> <link rel="stylesheet" href="/assets/css/custom.min.css?2.3.5"> <style> [v-cloak] { display: none; } @font-face { font-display: swap; font-family: 'Vazirmatn'; font-style: normal; font-weight: 400; src: url('/assets/Vazirmatn-UI-NL-Regular.woff2') format('woff2'); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC, U+0030-0039; } body { font-family: -apple-system, BlinkMacSystemFont, 'Vazirmatn', 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; } </style> <title><ip>-Welcome</title> </head> <div id="message"></div> <style> html * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } h1 { text-align: center; height: 110px; } .ant-btn, .ant-input { height: 50px; border-radius: 30px; } .ant-input-group-addon { border-radius: 0 30px 30px 0; width: 50px; font-size: 18px; } .ant-input-affix-wrapper .ant-input-prefix { left: 23px; } .ant-input-affix-wrapper .ant-input:not(:first-child) { padding-left: 50px; } .centered { display: flex; text-align: center; align-items: center; justify-content: center; width: 100%; } .title { font-size: 32px; } .title b { font-weight: bold !important; } #app { overflow: hidden; } #login { animation: charge 0.5 2454 s both; background-color: #fff; border-radius: 2rem; padding: 3rem; transition: all 0.3s; user-select:none; -webkit-user-select:none; -moz-user-select: none; } #login:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); } @keyframes charge { from { transform: translateY(5rem); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .under { background-color: #c7ebe2; z-index: 0; } .dark .under { background-color: var(--dark-color-login-wave); } .dark #login { background-color: var(--dark-color-surface-100); } .dark h1 { color: rgba(255, 255, 255); } .ant-form-item { margin-bottom: 16px; } .ant-btn-primary-login { width: 100%; } .ant-btn-primary-login:focus, .ant-btn-primary-login:hover { color: #fff; background-color: #006655; border-color: #006655; background-image: linear-gradient( 270deg, rgba(123, 199, 77, 0) 30%, #009980, rgba(123, 199, 77, 0) 100% ); background-repeat: no-repeat; animation: ma-bg-move ease-in-out 5s infinite; background-position-x: -500px; width: 95%; animation-delay: -0.5s; box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); } .ant-btn-primary-login.active, .ant-btn-primary-login:active { color: #fff; background-color: #006655; border-color: #006655; } @keyframes ma-bg-move { 0% { background-position: -500px 0; } 50% { background-position: 1000px 0; } 100% { background-position: 1000px 0; } } .wave-btn-bg { position: relative; border-radius: 25px; width: 100%; transition: all 0.3s cubic-bezier(.645,.045,.355,1); } .dark .wave-btn-bg { color: #fff; position: relative; background-color: #0a7557; border: 2px double transparent; background-origin: border-box; background-clip: padding-box, border-box; background-size: 300%; width: 100%; z-index: 1; } .dark .wave-btn-bg:hover {animation: wave-btn-tara 4s ease infinite;} .dark .wave-btn-bg-cl { background-image: linear-gradient(rgba(13, 14, 33, 0), rgba(13, 14, 33, 0)), radial-gradient(circle at left top, #006655, #009980, #006655) !important; border-radius: 3em; } .dark .wave-btn-bg-cl:hover { width: 95%; } .dark .wave-btn-bg-cl:before { position: absolute; content: ""; top: -5px; left: -5px; bottom: -5px; right: -5px; z-index: -1; background: inherit; background-size: inherit; border-radius: 4em; opacity: 0; transition: 0.5s; } .dark .wave-btn-bg-cl:hover::before { opacity: 1; filter: blur(20px); animation: wave-btn-tara 8s linear infinite; } @keyframes wave-btn-tara { to { background-position: 300%; } } .dark .ant-btn-primary-login { font-size: 14px; color: #fff; text-align: center; background-image: linear-gradient( rgba(13, 14, 33, 0.45), rgba(13, 14, 33, 0.35) ); border-radius: 2rem; border: none; outline: none; background-color: transparent; height: 46px; position: relative; white-space: nowrap; cursor: pointer; touch-action: manipulation; padding: 0 15px; width: 100%; animation: none; background-position-x: 0; box-shadow: none; } .waves-header { position: fixed; width: 100%; text-align: center; background-color: #dbf5ed; color: white; z-index: -1; } .dark .waves-header { background-color: var(--dark-color-login-background); } .waves-inner-header { height: 50vh; width: 100%; margin: 0; padding: 0; } .waves { position: relative; width: 100%; height: 15vh; margin-bottom: -8px; min-height: 100px; max-height: 150px; } .parallax > use { animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite; } .dark .parallax > use { fill: var(--dark-color-login-wave); } .parallax > use:nth-child(1) { animation-delay: -2s; animation-duration: 4s; opacity: 0.2; } .parallax > use:nth-child(2) { animation-delay: -3s; animation-duration: 7s; opacity: 0.4; } .parallax > use:nth-child(3) { animation-delay: -4s; animation-duration: 10s; opacity: 0.6; } .parallax > use:nth-child(4) { animation-delay: -5s; animation-duration: 13s; } @keyframes move-forever { 0% { transform: translate3d(-90px, 0, 0); } 100% { transform: translate3d(85px, 0, 0); } } @media (max-width: 768px) { .waves { height: 40px; min-height: 40px; } } .words-wrapper { width: 100%; display: inline-block; position: relative; text-align: center; } .words-wrapper b { width: 100%; display: inline-block; position: absolute; left: 0; top: 0; } .words-wrapper b.is-visible { position: relative; } .headline.zoom .words-wrapper { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; } .headline { display: flex; justify-content: center; align-items: center; } .headline.zoom b { opacity: 0; } .headline.zoom b.is-visible { opacity: 1; -webkit-animation: zoom-in 0.8s; -moz-animation: zoom-in 0.8s; animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-in 0.8s; } .headline.zoom b.is-hidden { -webkit-animation: zoom-out 0.8s; -moz-animation: zoom-out 0.8s; animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-out 0.4s; } @-webkit-keyframes zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); } } @-moz-keyframes zoom-in { 0% { opacity: 0; -moz-transform: translateZ(100px); } 100% { opacity: 1; -moz-transform: translateZ(0); } } @keyframes zoom-in { 0% { opacity: 0; -webkit-transform: translateZ(100px); -moz-transform: translateZ(100px); -ms-transform: translateZ(100px); -o-transform: translateZ(100px); transform: translateZ(100px); } 100% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } } @-webkit-keyframes zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); } } @-moz-keyframes zoom-out { 0% { opacity: 1; -moz-transform: translateZ(0); } 100% { opacity: 0; -moz-transform: translateZ(-100px); } } @keyframes zoom-out { 0% { opacity: 1; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); } 100% { opacity: 0; -webkit-transform: translateZ(-100px); -moz-transform: translateZ(-100px); -ms-transform: translateZ(-100px); -o-transform: translateZ(-100px); transform: translateZ(-100px); } } .ant-menu-item .anticon { margin-right: 4px; } .ant-menu-inline .ant-menu-item { padding: 0 16px !important; } </style> <body> <a-layout id="app" v-cloak :class="themeSwitcher.currentTheme"> <transition name="list" appear> <a-layout-content class="under" style="min-height: 0;"> <div class="waves-header"> <div class="waves-inner-header"></div> <svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"> <defs> <path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" /> </defs> <g class="parallax"> <use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(0, 135, 113, 0.08)" /> <use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(0, 135, 113, 0.08)" /> <use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(0, 135, 113, 0.08)" /> <use xlink:href="#gentle-wave" x="48" y="7" fill="#c7ebe2" /> </g> </svg> </div> <a-row type="flex" justify="center" align="middle" style="height: 100%; overflow: auto; overflow-x: hidden;"> <a-col :xs="22" :sm="20" :md="14" :lg="10" :xl="8" :xxl="6" id="login" style="margin: 3rem 0;"> <a-row type="flex" justify="center"> <a-col style="width: 100%;"> <h1 class="title headline zoom"> <span class="words-wrapper"> <b class="is-visible"> 800 Hello</b> <b>Welcome</b> </span> </h1> </a-col> </a-row> <a-row type="flex" justify="center"> <a-col span="24"> <a-form> <a-form-item> <a-input autocomplete="username" v-model.trim="user.username" placeholder='Username' @keydown.enter.native="login" autofocus> <a-icon slot="prefix" type="user" style="font-size: 16px;"></a-icon> </a-input> </a-form-item> <a-form-item> <password-input autocomplete="current-password" icon="lock" v-model.trim="user.password" placeholder='Password' @keydown.enter.native="login"> </password-input> </a-form-item> <a-form-item v-if="secretEnable"> <password-input autocomplete="secret" icon="key" v-model.trim="user.loginSecret" placeholder='Secret Token' @keydown.enter.native="login"> </password-input> </a-form-item> <a-form-item> <a-row justify="center" class="centered"> <div style="height: 50px;" class="wave-btn-bg wave-btn-bg-cl" :style="loading ? { width: '52px' } : { display: 'inline-block' }"> <a-button class="ant-btn-primary-login" type="primary" :loading="loading" @click="login" :icon="loading ? 'poweroff' : undefined"> [[ loading ? '' : 'Log In' ]] </a-button> </div> </a-row> </a-form-item> <a-form 800 -item> <a-row justify="center" class="centered"> <a-col :span="24"> <a-select ref="selectLang" v-model="lang" @change="setLang(lang)" style="width: 150px;" :dropdown-class-name="themeSwitcher.currentTheme"> <a-select-option :value="l.value" label="English" v-for="l in supportLangs"> <span role="img" aria-label="l.name" v-text="l.icon"></span> <span v-text="l.name"></span> </a-select-option> </a-select> </a-col> </a-row> </a-form-item> <a-form-item> <a-row justify="center" class="centered"> <theme-switch-login></theme-switch-login> </a-row> </a-form-item> </a-form> </a-col> </a-row> </a-col> </a-row> </a-layout-content> </transition> </a-layout> <script src="/assets/vue/vue.min.js?2.3.5"></script> <script src="/assets/moment/moment.min.js"></script> <script src="/assets/ant-design-vue/antd.min.js"></script> <script src="/assets/axios/axios.min.js?2.3.5"></script> <script src="/assets/qs/qs.min.js"></script> <script src="/assets/js/axios-init.js?2.3.5"></script> <script src="/assets/js/util/common.js?2.3.5"></script> <script src="/assets/js/util/date-util.js?2.3.5"></script> <script src="/assets/js/util/utils.js?2.3.5"></script> <script src="/assets/js/langs.js"></script> <script> const basePath = '\/'; axios.defaults.baseURL = basePath; </script> <script> function createThemeSwitcher() { const isDarkTheme = localStorage.getItem('dark-mode') === 'true'; const isUltra = localStorage.getItem('isUltraDarkThemeEnabled') === 'true'; if (isUltra) { 878 document.documentElement.setAttribute('data-theme', 'ultra-dark'); } const theme = isDarkTheme ? 'dark' : 'light'; document.querySelector('body').setAttribute('class', theme); return { animationsOff() { document.documentElement.setAttribute('data-theme-animations', 'off'); const themeAnimations = document.querySelector('#change-theme'); themeAnimations.addEventListener('mouseleave', () => { document.documentElement.removeAttribute('data-theme-animations'); }); themeAnimations.addEventListener('touchend', () => { document.documentElement.removeAttribute('data-theme-animations'); }); }, animationsOffUltra() { document.document
-
{ "@category" : "datascan", "@timestamp" : "2024-11-21T10:36:57.000Z", "app" : { "extract" : { "domain" : [ "w3.org" ], "hostname" : [ "www.w3.org" ], "url" : [ "http://www.w3.org/1999/xlink", "http://www.w3.org/2000/svg" ] }, "http" : { "bodymd5" : "d214303cb4c72ed7eeb7b4e476f0591e", "bodymmh3" : 628727145, "headermd5" : "64270533dc449b5fb751ca76d91ab9ad", "headermmh3" : 1668012053 }, "length" : 16375 }, "asn" : "AS63949", "city" : "London", "country" : "GB", "cpe" : "<enterprise field>: cpe", "cpecount" : "<enterprise field>: cpecount", "data" : "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\nDate: Thu, 21 Nov 2024 10:36:57 GMT\r\nConnection: close\r\nTransfer-Encoding: chunked\r\n\r\n800\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <meta name=\"renderer\" content=\"webkit\">\r\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n <link rel=\"stylesheet\" href=\"/assets/ant-design-vue/antd.min.css\">\r\n <link rel=\"stylesheet\" href=\"/assets/element-ui/theme-chalk/display.css\">\r\n <link rel=\"stylesheet\" href=\"/assets/css/custom.min.css?2.3.5\">\r\n <style>\r\n [v-cloak] {\r\n display: none;\r\n }\r\n \r\n @font-face {\r\n font-display: swap;\r\n font-family: 'Vazirmatn';\r\n font-style: normal;\r\n font-weight: 400;\r\n src: url('/assets/Vazirmatn-UI-NL-Regular.woff2') format('woff2');\r\n unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC, U+0030-0039;\r\n }\r\n body {\r\n font-family: -apple-system, BlinkMacSystemFont, 'Vazirmatn', 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',\r\n 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji',\r\n 'Segoe UI Emoji', 'Segoe UI Symbol';\r\n }\r\n </style>\r\n <title><ip>-Welcome</title>\r\n</head>\r\n<div id=\"message\"></div>\r\n\r\n<style>\r\n html * {\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n h1 {\r\n text-align: center;\r\n \r\n height: 110px;\r\n }\r\n .ant-btn,\r\n .ant-input {\r\n height: 50px;\r\n border-radius: 30px;\r\n }\r\n .ant-input-group-addon {\r\n border-radius: 0 30px 30px 0;\r\n width: 50px;\r\n font-size: 18px;\r\n }\r\n .ant-input-affix-wrapper .ant-input-prefix {\r\n left: 23px;\r\n }\r\n .ant-input-affix-wrapper .ant-input:not(:first-child) {\r\n padding-left: 50px;\r\n }\r\n .centered {\r\n display: flex;\r\n text-align: center;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n .title {\r\n font-size: 32px;\r\n }\r\n .title b {\r\n font-weight: bold !important;\r\n }\r\n #app {\r\n overflow: hidden;\r\n }\r\n #login {\r\n animation: charge 0.5\r\n2454\r\ns both;\r\n background-color: #fff;\r\n border-radius: 2rem;\r\n padding: 3rem;\r\n transition: all 0.3s;\r\n user-select:none;\r\n -webkit-user-select:none;\r\n -moz-user-select: none;\r\n }\r\n #login:hover {\r\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);\r\n }\r\n @keyframes charge {\r\n from {\r\n transform: translateY(5rem);\r\n opacity: 0;\r\n }\r\n to {\r\n transform: translateY(0);\r\n opacity: 1;\r\n }\r\n }\r\n .under {\r\n background-color: #c7ebe2;\r\n z-index: 0;\r\n }\r\n .dark .under {\r\n background-color: var(--dark-color-login-wave);\r\n }\r\n .dark #login {\r\n background-color: var(--dark-color-surface-100);\r\n }\r\n .dark h1 {\r\n color: rgba(255, 255, 255);\r\n }\r\n .ant-form-item {\r\n margin-bottom: 16px;\r\n }\r\n .ant-btn-primary-login {\r\n width: 100%;\r\n }\r\n .ant-btn-primary-login:focus,\r\n .ant-btn-primary-login:hover {\r\n color: #fff;\r\n background-color: #006655;\r\n border-color: #006655;\r\n background-image: linear-gradient(\r\n 270deg,\r\n rgba(123, 199, 77, 0) 30%,\r\n #009980,\r\n rgba(123, 199, 77, 0) 100%\r\n );\r\n background-repeat: no-repeat;\r\n animation: ma-bg-move ease-in-out 5s infinite;\r\n background-position-x: -500px;\r\n width: 95%;\r\n animation-delay: -0.5s;\r\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\r\n }\r\n .ant-btn-primary-login.active,\r\n .ant-btn-primary-login:active {\r\n color: #fff;\r\n background-color: #006655;\r\n border-color: #006655;\r\n }\r\n @keyframes ma-bg-move {\r\n 0% {\r\n background-position: -500px 0;\r\n }\r\n 50% {\r\n background-position: 1000px 0;\r\n }\r\n 100% {\r\n background-position: 1000px 0;\r\n }\r\n }\r\n .wave-btn-bg {\r\n position: relative;\r\n border-radius: 25px;\r\n width: 100%;\r\n transition: all 0.3s cubic-bezier(.645,.045,.355,1);\r\n }\r\n .dark .wave-btn-bg {\r\n color: #fff;\r\n position: relative;\r\n background-color: #0a7557;\r\n border: 2px double transparent;\r\n background-origin: border-box;\r\n background-clip: padding-box, border-box;\r\n background-size: 300%;\r\n width: 100%;\r\n z-index: 1;\r\n }\r\n .dark .wave-btn-bg:hover {animation: wave-btn-tara 4s ease infinite;}\r\n .dark .wave-btn-bg-cl {\r\n background-image: linear-gradient(rgba(13, 14, 33, 0), rgba(13, 14, 33, 0)),\r\n radial-gradient(circle at left top, #006655, #009980, #006655) !important;\r\n border-radius: 3em;\r\n }\r\n .dark .wave-btn-bg-cl:hover {\r\n width: 95%;\r\n }\r\n .dark .wave-btn-bg-cl:before {\r\n position: absolute;\r\n content: \"\";\r\n top: -5px;\r\n left: -5px;\r\n bottom: -5px;\r\n right: -5px;\r\n z-index: -1;\r\n background: inherit;\r\n background-size: inherit;\r\n border-radius: 4em;\r\n opacity: 0;\r\n transition: 0.5s;\r\n }\r\n .dark .wave-btn-bg-cl:hover::before {\r\n opacity: 1;\r\n filter: blur(20px);\r\n animation: wave-btn-tara 8s linear infinite;\r\n }\r\n @keyframes wave-btn-tara {\r\n to {\r\n background-position: 300%;\r\n }\r\n }\r\n .dark .ant-btn-primary-login {\r\n font-size: 14px;\r\n color: #fff;\r\n text-align: center;\r\n background-image: linear-gradient(\r\n rgba(13, 14, 33, 0.45),\r\n rgba(13, 14, 33, 0.35)\r\n );\r\n border-radius: 2rem;\r\n border: none;\r\n outline: none;\r\n background-color: transparent;\r\n height: 46px;\r\n position: relative;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n touch-action: manipulation;\r\n padding: 0 15px;\r\n width: 100%;\r\n animation: none;\r\n background-position-x: 0;\r\n box-shadow: none;\r\n }\r\n .waves-header {\r\n position: fixed;\r\n width: 100%;\r\n text-align: center;\r\n background-color: #dbf5ed;\r\n color: white;\r\n z-index: -1;\r\n }\r\n .dark .waves-header {\r\n background-color: var(--dark-color-login-background);\r\n }\r\n .waves-inner-header {\r\n height: 50vh;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n .waves {\r\n position: relative;\r\n width: 100%;\r\n height: 15vh;\r\n margin-bottom: -8px; \r\n min-height: 100px;\r\n max-height: 150px;\r\n }\r\n .parallax > use {\r\n animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;\r\n }\r\n .dark .parallax > use {\r\n fill: var(--dark-color-login-wave);\r\n }\r\n .parallax > use:nth-child(1) {\r\n animation-delay: -2s;\r\n animation-duration: 4s;\r\n opacity: 0.2;\r\n }\r\n .parallax > use:nth-child(2) {\r\n animation-delay: -3s;\r\n animation-duration: 7s;\r\n opacity: 0.4;\r\n }\r\n .parallax > use:nth-child(3) {\r\n animation-delay: -4s;\r\n animation-duration: 10s;\r\n opacity: 0.6;\r\n }\r\n .parallax > use:nth-child(4) {\r\n animation-delay: -5s;\r\n animation-duration: 13s;\r\n }\r\n @keyframes move-forever {\r\n 0% {\r\n transform: translate3d(-90px, 0, 0);\r\n }\r\n 100% {\r\n transform: translate3d(85px, 0, 0);\r\n }\r\n }\r\n @media (max-width: 768px) {\r\n .waves {\r\n height: 40px;\r\n min-height: 40px;\r\n }\r\n }\r\n .words-wrapper {\r\n width: 100%;\r\n display: inline-block;\r\n position: relative;\r\n text-align: center;\r\n }\r\n .words-wrapper b {\r\n width: 100%;\r\n display: inline-block;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n }\r\n .words-wrapper b.is-visible {\r\n position: relative;\r\n }\r\n .headline.zoom .words-wrapper {\r\n -webkit-perspective: 300px;\r\n -moz-perspective: 300px;\r\n perspective: 300px;\r\n }\r\n .headline {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n .headline.zoom b {\r\n opacity: 0;\r\n }\r\n .headline.zoom b.is-visible {\r\n opacity: 1;\r\n -webkit-animation: zoom-in 0.8s;\r\n -moz-animation: zoom-in 0.8s;\r\n animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-in 0.8s;\r\n }\r\n .headline.zoom b.is-hidden {\r\n -webkit-animation: zoom-out 0.8s;\r\n -moz-animation: zoom-out 0.8s;\r\n animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-out 0.4s;\r\n }\r\n @-webkit-keyframes zoom-in {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: translateZ(100px);\r\n }\r\n\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: translateZ(0);\r\n }\r\n }\r\n @-moz-keyframes zoom-in {\r\n 0% {\r\n opacity: 0;\r\n -moz-transform: translateZ(100px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -moz-transform: translateZ(0);\r\n }\r\n }\r\n @keyframes zoom-in {\r\n 0% {\r\n opacity: 0;\r\n -webkit-transform: translateZ(100px);\r\n -moz-transform: translateZ(100px);\r\n -ms-transform: translateZ(100px);\r\n -o-transform: translateZ(100px);\r\n transform: translateZ(100px);\r\n }\r\n 100% {\r\n opacity: 1;\r\n -webkit-transform: translateZ(0);\r\n -moz-transform: translateZ(0);\r\n -ms-transform: translateZ(0);\r\n -o-transform: translateZ(0);\r\n transform: translateZ(0);\r\n }\r\n }\r\n @-webkit-keyframes zoom-out {\r\n 0% {\r\n opacity: 1;\r\n -webkit-transform: translateZ(0);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -webkit-transform: translateZ(-100px);\r\n }\r\n }\r\n @-moz-keyframes zoom-out {\r\n 0% {\r\n opacity: 1;\r\n -moz-transform: translateZ(0);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -moz-transform: translateZ(-100px);\r\n }\r\n }\r\n @keyframes zoom-out {\r\n 0% {\r\n opacity: 1;\r\n -webkit-transform: translateZ(0);\r\n -moz-transform: translateZ(0);\r\n -ms-transform: translateZ(0);\r\n -o-transform: translateZ(0);\r\n transform: translateZ(0);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -webkit-transform: translateZ(-100px);\r\n -moz-transform: translateZ(-100px);\r\n -ms-transform: translateZ(-100px);\r\n -o-transform: translateZ(-100px);\r\n transform: translateZ(-100px);\r\n }\r\n }\r\n .ant-menu-item .anticon {\r\n margin-right: 4px;\r\n }\r\n .ant-menu-inline .ant-menu-item {\r\n padding: 0 16px !important;\r\n }\r\n</style>\r\n<body>\r\n <a-layout id=\"app\" v-cloak :class=\"themeSwitcher.currentTheme\">\r\n <transition name=\"list\" appear>\r\n <a-layout-content class=\"under\" style=\"min-height: 0;\">\r\n <div class=\"waves-header\">\r\n <div class=\"waves-inner-header\"></div>\r\n <svg class=\"waves\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\" shape-rendering=\"auto\">\r\n <defs>\r\n <path id=\"gentle-wave\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" />\r\n </defs>\r\n <g class=\"parallax\">\r\n <use xlink:href=\"#gentle-wave\" x=\"48\" y=\"0\" fill=\"rgba(0, 135, 113, 0.08)\" />\r\n <use xlink:href=\"#gentle-wave\" x=\"48\" y=\"3\" fill=\"rgba(0, 135, 113, 0.08)\" />\r\n <use xlink:href=\"#gentle-wave\" x=\"48\" y=\"5\" fill=\"rgba(0, 135, 113, 0.08)\" />\r\n <use xlink:href=\"#gentle-wave\" x=\"48\" y=\"7\" fill=\"#c7ebe2\" />\r\n </g>\r\n </svg>\r\n </div>\r\n <a-row type=\"flex\" justify=\"center\" align=\"middle\" style=\"height: 100%; overflow: auto; overflow-x: hidden;\">\r\n <a-col :xs=\"22\" :sm=\"20\" :md=\"14\" :lg=\"10\" :xl=\"8\" :xxl=\"6\" id=\"login\" style=\"margin: 3rem 0;\">\r\n <a-row type=\"flex\" justify=\"center\">\r\n <a-col style=\"width: 100%;\">\r\n <h1 class=\"title headline zoom\">\r\n <span class=\"words-wrapper\">\r\n <b class=\"is-visible\">\r\n800\r\nHello</b>\r\n <b>Welcome</b>\r\n </span>\r\n </h1>\r\n </a-col>\r\n </a-row>\r\n <a-row type=\"flex\" justify=\"center\">\r\n <a-col span=\"24\">\r\n <a-form>\r\n <a-form-item>\r\n <a-input autocomplete=\"username\" v-model.trim=\"user.username\" placeholder='Username'\r\n @keydown.enter.native=\"login\" autofocus>\r\n <a-icon slot=\"prefix\" type=\"user\" style=\"font-size: 16px;\"></a-icon>\r\n </a-input>\r\n </a-form-item>\r\n <a-form-item>\r\n <password-input autocomplete=\"current-password\" icon=\"lock\" v-model.trim=\"user.password\"\r\n placeholder='Password'\r\n @keydown.enter.native=\"login\">\r\n </password-input>\r\n </a-form-item>\r\n <a-form-item v-if=\"secretEnable\">\r\n <password-input autocomplete=\"secret\" icon=\"key\" v-model.trim=\"user.loginSecret\"\r\n placeholder='Secret Token'\r\n @keydown.enter.native=\"login\">\r\n </password-input>\r\n </a-form-item>\r\n <a-form-item>\r\n <a-row justify=\"center\" class=\"centered\">\r\n <div style=\"height: 50px;\" class=\"wave-btn-bg wave-btn-bg-cl\"\r\n :style=\"loading ? { width: '52px' } : { display: 'inline-block' }\">\r\n <a-button class=\"ant-btn-primary-login\" type=\"primary\"\r\n :loading=\"loading\" @click=\"login\"\r\n :icon=\"loading ? 'poweroff' : undefined\">\r\n [[ loading ? '' : 'Log In' ]]\r\n </a-button>\r\n </div>\r\n </a-row>\r\n </a-form-item>\r\n <a-form\r\n800\r\n-item>\r\n <a-row justify=\"center\" class=\"centered\">\r\n <a-col :span=\"24\">\r\n <a-select ref=\"selectLang\" v-model=\"lang\"\r\n @change=\"setLang(lang)\" style=\"width: 150px;\"\r\n :dropdown-class-name=\"themeSwitcher.currentTheme\">\r\n <a-select-option :value=\"l.value\" label=\"English\" v-for=\"l in supportLangs\">\r\n <span role=\"img\" aria-label=\"l.name\" v-text=\"l.icon\"></span>\r\n <span v-text=\"l.name\"></span>\r\n </a-select-option>\r\n </a-select>\r\n </a-col>\r\n </a-row>\r\n </a-form-item>\r\n <a-form-item>\r\n <a-row justify=\"center\" class=\"centered\">\r\n <theme-switch-login></theme-switch-login>\r\n </a-row>\r\n </a-form-item>\r\n </a-form>\r\n </a-col>\r\n </a-row>\r\n </a-col>\r\n </a-row>\r\n </a-layout-content>\r\n </transition>\r\n </a-layout>\r\n\r\n<script src=\"/assets/vue/vue.min.js?2.3.5\"></script>\r\n<script src=\"/assets/moment/moment.min.js\"></script>\r\n<script src=\"/assets/ant-design-vue/antd.min.js\"></script>\r\n<script src=\"/assets/axios/axios.min.js?2.3.5\"></script>\r\n<script src=\"/assets/qs/qs.min.js\"></script>\r\n<script src=\"/assets/js/axios-init.js?2.3.5\"></script>\r\n<script src=\"/assets/js/util/common.js?2.3.5\"></script>\r\n<script src=\"/assets/js/util/date-util.js?2.3.5\"></script>\r\n<script src=\"/assets/js/util/utils.js?2.3.5\"></script>\r\n<script src=\"/assets/js/langs.js\"></script>\r\n<script>\r\n const basePath = '\\/';\r\n axios.defaults.baseURL = basePath;\r\n</script>\r\n\r\n\r\n<script>\r\n function createThemeSwitcher() {\r\n const isDarkTheme = localStorage.getItem('dark-mode') === 'true';\r\n const isUltra = localStorage.getItem('isUltraDarkThemeEnabled') === 'true';\r\n if (isUltra) {\r\n \r\n878\r\n document.documentElement.setAttribute('data-theme', 'ultra-dark');\r\n }\r\n const theme = isDarkTheme ? 'dark' : 'light';\r\n document.querySelector('body').setAttribute('class', theme);\r\n return {\r\n animationsOff() {\r\n document.documentElement.setAttribute('data-theme-animations', 'off');\r\n const themeAnimations = document.querySelector('#change-theme');\r\n themeAnimations.addEventListener('mouseleave', () => {\r\n document.documentElement.removeAttribute('data-theme-animations');\r\n });\r\n themeAnimations.addEventListener('touchend', () => {\r\n document.documentElement.removeAttribute('data-theme-animations');\r\n });\r\n },\r\n animationsOffUltra() {\r\n document.document", "datamd5" : "95e8138e8428e47fad35677cac63daf0", "datammh3" : 1085512718, "device" : { "class" : "<enterprise field>: device.class" }, "domain" : [ "linodeusercontent.com" ], "geolocus" : { "asn" : "AS63949", "continent" : "EU", "continentname" : "Europe", "country" : "GB", "countryname" : "United Kingdom", "domain" : [ "linode.com" ], "isineu" : "false", "latitude" : "55.378051", "location" : "55.378051,-3.435973", "longitude" : "-3.435973", "netname" : "US-LINODE-20051130", "organization" : "Linode, LLC", "subnet" : "88.80.184.0/21" }, "host" : [ "88-80-191-104" ], "hostname" : [ "88-80-191-104.ip.linodeusercontent.com" ], "ip" : "88.80.191.104", "ipv6" : "false", "latitude" : "51.5074", "location" : "51.5074,-0.1196", "longitude" : "-0.1196", "node" : { "country" : "<enterprise field>: node.country", "groupid" : "<enterprise field>: node.groupid", "id" : "<enterprise field>: node.id", "physicalcountry" : "<enterprise field>: node.physicalcountry" }, "organization" : "Akamai Connected Cloud", "os" : "Linux Kernel", "osvendor" : "Linux", "port" : 8888, "protocol" : "http", "protocolversion" : "1.1", "reason" : "OK", "reverse" : [ "88-80-191-104.ip.linodeusercontent.com" ], "seen_date" : "2024-11-21", "source" : "datascan", "status" : 200, "subdomains" : [ "ip.linodeusercontent.com" ], "subnet" : "88.80.184.0/21", "tag" : "<enterprise field>: tag", "tld" : [ "com" ], "tls" : "false", "transport" : "tcp", "url" : "/" }