Help
RSS
API
Feed
Maltego
Contact
Domain > combinatorius.dkiriusin.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-10-17
198.38.82.160
(
ClassC
)
2024-07-15
65.108.57.9
(
ClassC
)
Port 80
HTTP/1.1 200 OKServer: nginx/1.23.4Date: Mon, 15 Jul 2024 17:27:53 GMTContent-Type: text/html;charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: no-cache, no-store, must-revalidatePragma: no-cacheExpires: Thu, 01 Jan 1970 00:00:00 GMT !DOCTYPE html>html>head>title>Combinatorius/title>!--docker--> meta http-equivX-UA-Compatible contentIEEdge/>meta namedescription contentCombinatorius, CSS, JavaScript, concatenation tool, Expires and Cache-Control HTTP headers, conditional requests>link href/images/favicon.ico relicon typeimage/x-icon/> link hrefextra_css/font-awesome.css relstylesheet typetext/css />link href/combo/&typecss&resourcesextra_css/extra1.css&themeblue&v1701356256000 relstylesheet typetext/css />script typetext/javascript src/combo/&typejs&resourcesextra_js/extra1.js&v1701356256000>/script>/head>body> div idwrapper> h1>Combinatorius — CSS and JavaScript concatenation tool/h1> div idthemes> ul> li idblue_theme>/li> li idgreen_theme>/li> /ul> /div> div idget> div classouter left idjs_url> div classurl_div>h3>Generated URL:/h3>span>!-- JavaScript URL -->/span>/div> div classresponse_name_div>h3>Response Headers span>(JavaScript)/span>/h3>/div> div classinner>!-- dynamic content -->/div> div classcontrols_div> button typebutton idf5_js classbutton big>F5 refresh/button> button typebutton idctrl_f5_js classbutton big>Ctrl+F5 refresh/button> button typebutton idadd_file_js classbutton big>Add file/button> button typebutton idtouch_file_js classbutton big>Modify file/button> /div> /div> div classouter right idcss_url> div classurl_div>h3>Generated URL:/h3>span>!-- CSS URL -->/span>/div> div classresponse_name_div>h3>Response Headers span>(CSS)/span>/h3>/div> div classinner>!-- dynamic content -->/div> div classcontrols_div> button typebutton idf5_css classbutton big>F5 refresh/button> button typebutton idctrl_f5_css classbutton big>Ctrl+F5 refresh/button> button typebutton idadd_file_css classbutton big>Add file/button> button typebutton idtouch_file_css classbutton big>Modify file/button> /div> /div> div classouter left idhelp> p>span>F5 refresh/span> — send generic cachable request./p> p>span>Ctrl+F5 refresh/span> — send non-cacheble request./p> p>span>Add file/span> — add new JavaScript or CSS file to directory tree./p> p>span>Delete file/span> — delete JavaScript or CSS file from directory tree./p> p>span>Modify file/span> — modify i>jquery-ui.js/i> or i>layout.css/i> file respectively./p> p> /p> p> /p> p>span classfeatures>Key features/span>/p> ul> li>— Combine files in order to reduce number of HTTP requests./li> li>— Local caching of combined files for even better response time./li> li>— Smart code>Expires/code> and code>Cache-Control/code> headers to help browser with conditional requests./li> li>— code>ETag/code> support to determine whether the component in the browsers cache matches the one on the origin server./li> li>— Gzip compression to reduce response time and minimize HTTP response size./li> li>— YUI Compressor support./li> li>— Fingerprinting a.k.a static web resources versioning./li> li>— Themes support (explicitly set via URL parameter or via cookies)./li> li>— Flexible directory structure support./li> li>— Simple configuration, usage and deployment./li> /ul> p> /p> p> /p> p> /p> p> /p> p>span classfeatures>JSP tag/span>/p> ul> li>pre><%@ taglib urihttps://github.com/deniskiriushin/combinatorius prefixcb %><cb:combo type"css" path"${path}"> <jsp:attribute name"theme">blue</jsp:attribute> <jsp:attribute name"csv_resources">extra_css/extra1.css,extra_css/extra2.css</jsp:attribute></cb:combo>/pre> /li> /ul> /div> div classouter right iddirectory_tree> div idtree> div>p>strong>Directory tree/strong>/p>/div> div classtree> ul> !-- web-app --> li>i classfa fa-folder-open-o>/i>a classnode>WebApp/a> ul> !-- css --> li>i classfa fa-folder-open-o>/i>a>css/a> ul> li>i classfa fa-folder-o>/i>a>main.css/a>/li> li>i classfa fa-folder-o>/i>a>buttons.css/a> ul> li>i classfa fa-folder-open-o>/i>a classnode>layout/a> ul> li>i classfa fa-folder-o>/i>a idlayout_css_a>layout.css/a>/li> !-- add CSS file --> /ul> /li> /ul> /li> /ul> /li> li>i classfa fa-folder-open-o>/i>a>extra_css/a> ul idextra1_css_ul> li>i classfa fa-folder-o>/i>a>extra1.css/a>/li> /ul> /li> !-- js --> li>i classfa fa-folder-open-o>/i>a>js/a> ul> li>i classfa fa-folder-o>/i>a idjquery_ui_js>jquery-ui.js/a>/li> li>i classfa fa-folder-o>/i>a>custom.js/a>/li> !-- add JS file --> /ul> /li> li>i classfa fa-folder-open-o>/i>a>extra_js/a> ul idextra1_js_ul> li>i classfa fa-folder-o>/i>a>extra1.js/a>/li> !-- add JS file --> /ul> /li> li>i classfa fa-folder-open-o>/i>a>themes/a> ul> li>i classfa fa-folder-open-o>/i>a>blue/a> ul> li>i classfa fa-folder-open-o>/i>a>css/a> ul> li>i classfa fa-folder-o>/i>a>main.css/a>/li> /ul> /li> /ul> /li> li>i classfa fa-folder-open-o>/i>a>green/a> ul> li>i classfa fa-folder-open-o>/i>a>css/a> ul> li>i classfa fa-folder-o>/i>a>main.css/a>/li> /ul> /li> /ul> /li> /ul> /li> /ul> /li> /ul> /div> /div> /div> /div> div idfooter> p>Mon Jul 15 17:27:53 GMT 2024 ©a hrefmailto:denis.kiriushin@gmail.com> Denis Kiriusin/a>/p> /div> /div> script typetext/javascript> $(function() { get_div $(div#get); function getUrlWithNoVersion(url) { return url.substring(0, url.indexOf(v)); } function getVersionFromURL(url) { let index1 getUrlWithNoVersion(url).length + 2; return url.substring(index1, index1 + 13); } function showSatusCode(xhr, event) { let h3 $(div.response_name_div h3, # + event.data.obj.type + _url); $(i, h3).remove(); let el $(i>/i>).fadeIn(2000); if (xhr.status 200) { el.html(200 OK); } else if (xhr.status 304) { el.html(304 Not Modified); } h3.append(el); } function replaceURL(event) { let url event.data.obj.url; let pos url.indexOf(&theme); pos (pos -1 ? url.indexOf(&v) : pos); let insert ,extra_ + event.data.obj.type + /extra2. + event.data.obj.type + &; if (url.indexOf(extra2) ! -1) { url url.replace(insert, &); } else { url url.slice(0, pos), insert, url.slice(pos + 1).join(); } event.data.obj.url url; } function setCookies(event, name) { let object {}; objecteventType name; objectmimeType event.data.obj.type; $.cookie(combinatorius.event, JSON.stringify(object), { path: / }); } function getDirectoryTreeUL(event) { return $(#extra1_ + event.data.obj.type + _ul); } function refreshDirectoryTree() { $(#directory_tree a.highlighted).removeClass(highlighted); } function refreshPage(event) { // make request setCookies(event, null); makeRequest(event); refreshDirectoryTree(); } function addFile(event) { replaceURL(event); // make request setCookies(event, add_file); makeRequest(event); refreshDirectoryTree(); // update directory tree let ul getDirectoryTreeUL(event); let i $(i>/i>).addClass(fa fa-folder-o); let a $(a>extra2. + event.data.obj.type + /a>).addClass(highlighted).fadeIn(1500); let li $(li>/li>).fadeIn(1000); li.append(i).append(a); ul.append(li); } function removeFile(event) { replaceURL(event); // make request setCookies(event, remove_file); makeRequest(event); refreshDirectoryTree(); // update directory tree let ul getDirectoryTreeUL(event); $(li:nth-child(2), ul).fadeOut(1000, function() { $(this).remove(); }); } function addOrDeleteFile(event) { if ($(this).text() Delete file) { $(this).timedDisable(1000); removeFile(event); $(this).text(Add file); } else { $(this).timedDisable(2000); addFile(event); $(this).text(Delete file); } } function modifyFile(event) { $(this).timedDisable(2000); setCookies(event, modify_file); makeRequest(event); refreshDirectoryTree(); let fileName layout.css; if (event.data.obj.type js) { $(#jquery_ui_js).blink(); } else { $(#layout_css_a).blink(); } } function getTheme(event) { let theme $.cookie(combinatorius.theme); if (!theme) { theme event.data.theme; } return theme; } function createDiv(xhr, data) { let headers xhr.getAllResponseHeaders().split(\n); let v xhr.getResponseHeader(Version); if (v null || v undefined) { v getVersionFromURL(data.obj.url); } let inner_div $(div.inner, # + data.obj.type + _url); inner_div.empty(); let url_div $(div.url_div span, # + data.obj.type + _url); url_div.empty(); let el_i $(i> + v + /i>).fadeIn(2000); let p $(p> + getUrlWithNoVersion(data.obj.url) + v/p>); p.append(el_i); if (v > data.obj.v) { el_i.addClass(highlighted); data.obj.v v; } url_div.append(p.fadeIn(slow)); $.each(headers, function(key, value) { let p $(pre> + value + /pre>); if (!data.cache) { p.fadeIn(slow) } p.appendTo(inner_div); }) } let js_last_modified; let js_eTag; let css_last_modified; let css_eTag; function makeRequest(event) { const theme getTheme(event); let _url event.data.obj.url; if (theme) { const theme_regex /theme\w*/; if (event.data.obj.url.indexOf(theme) > 0) { _url event.data.obj.url.replace(theme_regex, theme + theme); event.data.obj.url _url; } } let xhr $.ajax({ type: GET, cache: false, ifModified: event.data.cache, beforeSend: function(xhr){ if (!event.data.cache) { xhr.setRequestHeader(Cache-Control, no-cache); xhr.setRequestHeader(Pragma, no-cache); } else { if (event.data.obj.type js) { xhr.setRequestHeader(If-Modified-Since, js_last_modified); xhr.setRequestHeader(If-None-Match, js_eTag); } else if (event.data.obj.type css) { xhr.setRequestHeader(If-Modified-Since, css_last_modified); xhr.setRequestHeader(If-None-Match, css_eTag); } } }, url: _url, success: function(response) { createDiv(xhr, event.data); }, complete: function() { if (event.data.obj.type js) { js_last_modified xhr.getResponseHeader(Last-Modified); if (xhr.getResponseHeader(ETag) ! null) { js_eTag xhr.getResponseHeader(ETag); } } else if (event.data.obj.type css) { css_last_modified xhr.getResponseHeader(Last-Modified); if (xhr.getResponseHeader(ETag) ! null) { css_eTag xhr.getResponseHeader(ETag); } } showSatusCode(xhr, event); event.data.refresh ? location.reload() : false; }, error: function(e) { sweetAlert(Oops..., Something went wrong!, error); } }); } function changeTheme(event) { $.cookie(combinatorius.theme, event.data.theme); makeRequest(event); } let js_url $(scriptsrc^/combo/, head).attr(src); let css_url $(linkhref^/combo/, head).attr(href); let js_version getVersionFromURL(js_url); let css_version getVersionFromURL(css_url); let css_obj { url: css_url, type: css, v: css_version }; let js_obj { url: js_url, type: js, v: js_version }; function bindButtons() { $(button#f5_js, #js_url).on(click, {cache: true, obj: js_obj}, refreshPage); $(button#ctrl_f5_js, #js_url).on(click, {cache: false, obj: js_obj}, refreshPage); $(button#add_file_js, #js_url).on(click, {cache: false, type: js, obj: js_obj}, addOrDeleteFile); $(button#touch_file_js, #js_url).on(click, {cache: false, type: js, obj: js_obj}, modifyFile); $(button#f5_css, #css_url).on(click, {cache: true, obj: css_obj}, refreshPage); $(button#ctrl_f5_css, #css_url).on(click, {cache: false, obj: css_obj}, refreshPage); $(button#add_file_css, #css_url).on(click, {cache: false, type: css, obj: css_obj}, addOrDeleteFile); $(button#touch_file_css, #css_url).on(click, {cache: false, type: css, obj: css_obj}, modifyFile); } function bindThemes() { $(#blue_theme, #themes).on(click, {cache: false, theme: blue, refresh: true, obj: css_obj}, changeTheme); $(#green_theme, #themes).on(click, {cache: false, theme: green, refresh: true, obj: css_obj}, changeTheme); } bindButtons(); bindThemes(); // triggering CTRL+F5 events for CSS and JavaScript $(button#ctrl_f5_js, #js_url).trigger(click); $(button#ctrl_f5_css, #css_url).trigger(click); });/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
]