Help
RSS
API
Feed
Maltego
Contact
Domain > drini.eu
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-09-17
172.64.168.3
(
ClassC
)
2025-10-23
107.182.163.162
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Thu, 23 Oct 2025 14:34:38 GMTContent-Type: text/htmlContent-Length: 166Connection: keep-aliveServer: BunnyCDN-OG1-877CDN-PullZone: 1940925CDN-Uid: a54347b7-1e29-48c5-8e9d-7eae617400efCDN-RequestCountryCode: USLocation: https://drini.eu/CDN-RequestId: 59ac775b5459e79859ebd5f89d2dbc2fCDN-RequestTime: 0 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>openresty/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Thu, 23 Oct 2025 14:34:38 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveVary: Accept-EncodingServer: BunnyCDN-OG1-877CDN-PullZone: 1940925CDN-Uid: a54347b7-1e29-48c5-8e9d-7eae617400efCDN-RequestCountryCode: USCache-Control: no-cacheETag: W/66e41568-59beExpires: Sat, 01 Jan 2000 00:00:00 GMTLast-Modified: Fri, 13 Sep 2024 10:35:20 GMTPragma: no-cacheCDN-ProxyVer: 1.39CDN-RequestPullSuccess: TrueCDN-RequestPullCode: 200CDN-CachedAt: 10/23/2025 14:34:38CDN-EdgeStorageId: 877CDN-RequestId: 58bda1989617724aea9da7d1ab659925CDN-Cache: MISSCDN-Status: 200CDN-RequestTime: 0 !DOCTYPE html>html langen> head> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno viewport-fitcover /> !-- meta nametheme-color content#000 />--> title>.../title> link idfavicon relicon typeimage/x-icon hreffavicon.ico /> style> * { box-sizing: border-box; } html, body { height: 100%; width: 100%; margin: 0; padding: 0; overflow: hidden; } #app-iframe { position: relative; width: 100%; height: 100%; border: 0; } img { display: none; } body.bodyLandscape { padding-top: 10vh !important; height: 110vh; width: calc(100% - 80px); margin: 0 40px; padding: 0; overflow: auto; } .bodyScrolled { width: 100% !important; margin: 0 !important; } #app-iframe { position: relative; width: 100%; height: 100%; border: 0; } img { display: none; } @keyframes drag_animation { 0% { transform: scale(1); } 25% { transform: scale(1.5); } 30% { transform: scale(1); } 60% { opacity: 1; } to { transform: translateY(-200px); opacity: 0; } } .iosfullscreen { position: absolute; display: block; height: 150vh; pointer-events: all; color: #fff; top: 0; left: 0; width: 100%; background-color: #000; z-index: 1500; overflow: scroll; } .iosdragFullscreen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; } .iosscrollarea { position: relative; top: 0; left: 0; width: 100%; height: 100vh; } .iosscrollarea .warning { position: fixed; width: 60vw; height: 30vw; top: calc(50% - 15vw); left: calc(50% - 30vw); text-align: center; } .iosscrollarea .animation { position: absolute; top: 50vh; right: 15px; width: 50px; height: 50px; background-size: 100% 100%; background-position: 50%; background-repeat: no-repeat; background-image: url(./casinohand.webp); animation-name: drag_animation; animation-duration: 4s; animation-iteration-count: infinite; } #iphoneTest { display: none; } /style> /head> body> div idiphoneTest styleoverflow: scroll classbackground iosfullscreen> div classelement iosdragFullscreen> div classelement background iosscrollarea> div classwarning> span iddrag-fullscreen-title classelement title text-title>This game needs to be in fullscreen /span> br /> span iddrag-fullscreen-message classelement body text-title-1> Use your finger to drag the screen /span> /div> div classanimation>/div> /div> /div> /div> script> let domain, supportHa checkDomain(); const haList s1, s2; const af /#af(^#*)/.exec(window.location.href); if (af && af1) { sessionStorage.afId af1; } function checkDomain() { let _domain window.location.host; if (_domain localhost || _domain 192.168.2.12) return _domain, false; const tempHostArray window.location.host.split(.); if (s1, s2, devel, intern, shop, terminal.includes(tempHostArray0)) { _domain tempHostArray.slice(1).join(.); return _domain, false; } if (tempHostArray0 www) { _domain tempHostArray.slice(1).join(.); } return _domain, true; } async function selectHaUrl(_haList) { if (supportHa) { const rand Math.floor(Math.random() * _haList.length); if (_haListrand) { const url `${window.location.protocol}//${_haListrand}.${domain}/`; if (!(await checkUrl(url))) { _haList.splice(rand, rand + 1); if (_haList.length 1) { return `${window.location.protocol}//${_haList0}.${domain}/`; } else { return selectHaUrl(_haList); } } return url; } else { alert(Cant connect with server); } } else { return ; } } // TODO: remove function checkUrl(_url) { // TODO: fix cors error return true; const controller new AbortController(); const timeoutId setTimeout(() > controller.abort(), 5000); return fetch(`${_url}index.html`, { signal: controller.signal }) .then((r) > { return true; }) .catch((e) > { console.error(e); return false; }); } function loadIframe(path) { if (document.getElementById(app-iframe)) { document.getElementById(app-iframe).remove(); } const iframe document.createElement(iframe); iframe.src selectApp(path); iframe.id app-iframe; iframe.name app; iframe.scrolling yes; iframe.allow fullscreen; iframe.allowFullscreen true; document.body.appendChild(iframe); } function selectApp(path) { let core +localStorage.core_v 2 ? sp/fmcore/current : portal; // core portal; if (localStorage.user_type manager) { const params window.location.href.split(?)1 || ; if (params.includes(sbooking)) { return `${path}front/${core}/index.html`; } // return `${path}front/${core}/index.html`; return `${path}front/mng/index.html`; } return `${path}front/${core}/index.html`; } async function login({ username, password, shard, part, haUrl, saveDevice }) { haUrl haUrl || (await selectHaUrl(haList)); if (typeof haUrl undefined) { return; } const headers { Content-Type: application/json, }; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } fetch(`${haUrl}aaa/login`, { method: POST, headers, body: JSON.stringify({ username, password, shard, part: part * 1 }), }) .then((response) > { if (response.status 200) { return response; } else { throw new Error(`Cant login!:${response.status}`); } }) .then((response) > response.json()) .then(async (data) > { if (data.rToken) { try { const user JSON.parse(atob(data.rToken.split(.)1)); if (10, 11, 12.includes(user.role * 1)) { localStorage.user_type manager; } localStorage.token data.rToken; localStorage.user JSON.stringify(user); localStorage.lastUser user.id; localStorageAuth-Usr `${shard}${part}:${user.id}`; if (saveDevice) { await trustDevice(haUrl, username, password, data.rToken); } window.location.reload(); } catch (error) { console.log(error); alert(error.message); } } }) .catch((error) > { console.log(error); alert(error.message); }); } function trustDevice(haUrl, username, password, rToken) { const headers { Content-Type: application/json, x-access-token: rToken, }; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } return fetch(`${haUrl}aaa/login_trust`, { method: POST, headers, body: JSON.stringify({ username, password }), }) .then((response) > { if (response.status 200) { return response; } else { throw new Error(`Device not saved!:${response.status}`); } }) .then((response) > response.json()) .then(async (data) > { if (data.rToken) { try { const user JSON.parse(atob(data.rToken.split(.)1)); localStorage.token data.rToken; localStorage.user JSON.stringify(user); } catch (error) { console.log(error); alert(error.message); } } }) .catch((error) > { console.log(error); alert(error.message); }); } async function logout(haUrl, rToken) { haUrl haUrl || (await selectHaUrl(haList)); const headers { Content-Type: application/json, x-access-token: rToken, }; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } return fetch(`${haUrl}aaa/logout`, { method: POST, headers, }).catch((error) > { console.log(error); alert(error.message); }); } async function u_logout(haUrl, rToken) { haUrl haUrl || (await selectHaUrl(haList)); const headers { Content-Type: application/json, x-access-token: rToken, }; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } return fetch(`${haUrl}aaa/u_logout`, { method: POST, headers, }) .then((response) > response.json()) .catch((error) > { console.log(error); alert(error.message); }); } async function bookTicket(dataToSend, haUrl) { if (!haUrl) { haUrl await selectHaUrl(haList); } if (typeof haUrl undefined) { return; } const method back/.in?actionnologin_call&subactionset_book_ticket; const headers {}; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } return fetch(haUrl + method, { method: POST, body: dataToSend, headers, }).then((response) > response.json()); } async function searchTicket(data) { let { ticketNr, ticketCode, haUrl } data; if (!haUrl) { haUrl await selectHaUrl(haList); } if (typeof haUrl undefined) { return { Error: true, Message: API Url Error! }; } let method back/.in?actionnologin_call&subactionsearch_ticket; method + &ticket_code + ticketCode; if (Number.isNaN(+ticketNr)) { method + &ticket_name + ticketNr; } else { method + &ticket_id + ticketNr; } const headers {}; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } return fetch(haUrl + method, { method: POST, headers, }).then((response) > response.json()); } async function getJackpot(data) { let { haUrl, model } data; if (!haUrl) { haUrl await selectHaUrl(haList); } let method `back/.in?actionnologin_call&subactionjackpot&model${model}`; const headers {}; if (localStorageAuth-Usr) { headersAuth-Usr localStorageAuth-Usr; } return fetch(haUrl + method, { method: POST, headers, }).then((response) > response.json()); } // init (async () > { let path ; if (localStorage.token) { path await selectHaUrl(haList); } loadIframe(path); })(); window.addEventListener(message, async (event) > { switch (event.data.action) { case fmcore-loaded: { const out { action: app-init, payload: { domain, token: localStorage.token, user: localStorage.user, facePath: ../../../face/, appsPath: ../../../, }, }; if (window.location.href.split(?).length > 1) { out.payload.params window.location.href.split(?)1; } window.frames.app.postMessage(out, *); out.action fmcore-init; window.frames.app.postMessage(out, *); // disable back button history.pushState(null, document.title, location.href); window.addEventListener(popstate, function () { history.pushState(null, document.title, location.href); }); break; } case app-init: { const out { action: app-init, payload: { domain, token: localStorage.token, user: localStorage.user, facePath: ../face/, }, }; if (window.location.href.split(?).length > 1) { out.payload.params window.location.href.split(?)1; } window.frames.app.postMessage(out, *); out.action fmcore-init; window.frames.app.postMessage(out, *); // disable back button history.pushState(null, document.title, location.href); window.addEventListener(popstate, function () { history.pushState(null, document.title, location.href); }); break; } case login: { if (event.data.payload.hasOwnProperty(shard) && event.data.payload.hasOwnProperty(part)) { await login(event.data.payload); } else { alert(Missing domain configurations!); } break; } case logout: { const { haUrl, shard, part } event.data.payload || {}; if (shard && part) { await logout(haUrl, localStorage.token); } delete localStorage.token; delete localStorage.user_type; window.location.reload(); break; } case u_logout: { const { haUrl, rToken } event.data.payload; if (event.data.payload.hasOwnProperty(shard) && event.data.payload.hasOwnProperty(part)) { const message await u_logout(haUrl, rToken); const out { action: u_logout_response, payload: { message, }, }; window.frames.app.postMessage(out, *); } break; } case delete-cred: { delete localStorage.token; delete localStorage.user_type; break; } case reload: { window.location.reload(); break; } case book-ticket-api: { const { data, haUrl } event.data.payload; let formData new FormData(); formData.append(data, JSON.stringify(data)); const response await bookTicket(formData, haUrl); if (event.ports?.0) { event.ports0.postMessage(response); } else { const out { action: book-ticket-response, payload: { data: response }, }; window.frames.app.postMessage(out, *); } break; } case search-ticket-api: { const response await searchTicket(event.data.payload); if (event.ports?.0) { event.ports0.postMessage(response); } else { const out { action: search-ticket-response, payload: response, }; window.frames.app.postMessage(out, *); } break; } case get-sessionStorage: { const { param } event.data.payload; if (event.ports && event.ports0) { event.ports0.postMessage(sessionStorage.getItem(param)); } break; } case get-localStorage-async: { const { param } event.data.payload; if (event.ports && event.ports0) { event.ports0.postMessage(localStorage.getItem(param)); } break; } case get-localStorage: { const { param } event.data.payload; const out { action: get-localStorage, payload: { param: localStorageparam, }, }; window.frames.app.postMessage(out, *); break; } case set-sessionStorage: { const { param, value } event.data.payload; sessionStorageparam value; break; } case del-sessionStorage: { const { param } event.data.payload; sessionStorage.removeItem(param); break; } case del-localStorage: { const { param } event.data.payload; localStorage.removeItem(param); break; } case set-localStorage: { const { param, value } event.data.payload; localStorageparam value; break; } case set-title: { document.title event.data.payload.title; break; } case set-meta: { const { name, value } event.data.payload; if (document.querySelector(`metaname${name}`)) { document.querySelector(`metaname${name}`).content value; } else { const meta document.createElement(meta); meta.setAttribute(name, name); meta.content value; document.getElementsByTagName(head)0.appendChild(meta); } break; } case set-favicon: { const { path } event.data.payload; document.getElementById(favicon).href `front/face/${path}`; let head window.parent.document.getElementsByTagName(head)0; let link window.parent.document.createElement(link); link.rel apple-touch-icon; link.href `front/face/${path}`; head.appendChild(link); break; } case printPost: { window.parent.postMessage(event.data.payload, *); break; } case open-sl: { const { type } event.data.payload; const url `${window.location.protocol}://${window.location.host}/?screen&type${type}`; window.open(url); break; } case open-sl-param: { const { param } event.data.payload; const url `${window.location.protocol}//${window.location.host}/${param}`; window.open(url); break; } case open-window: { const { path, setCookie } event.data.payload; if (setCookie) { document.cookie `obs_wa${localStorage.token};path/;domain${domain}`; } const url `${await selectHaUrl(haList)}${path}`; window.open(url, _blank, height600,width600); // console.log(open-sl) break; } case redirect: { const { path } event.data.payload; window.location.href path; break; } case load-chat-smartsupp: { const { key, offset } event.data.payload; window._smartsupp window._smartsupp || {}; const x, y offset.split(,); if (x) window._smartsupp.offsetX x; if (y) window._smartsupp.offsetY y; window._smartsupp.key key; window.smartsupp || (function (d) { let smartsupp; var s, c, o (smartsupp function () { o._.push(arguments); }); o._ ; s d.getElementsByTagName(script)0; c d.createElement(script); c.type text/javascript; c.charset utf-8; c.async true; c.src //www.smartsuppchat.com/loader.js?; s.parentNode.insertBefore(c, s); })(document); break; } case load-google-tag-manager: { const { key } event.data.payload; (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, key); break; } case get-jackpot: { const response await getJackpot(event.data.payload); if (event.ports?.0) { event.ports0.postMessage(response); } else { const out { action: get-jackpot-response, payload: response, }; window.frames.app.postMessage(out, *); } break; } default: break; } }); /script> /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
]