38.146.70.5
Geolocation
Network | 38.146.70.0/27 |
Postal Code | 38012 |
City | Brownsville |
Country | United States (US) |
Continent | North America |
Locale Code | en |
Geo Point | 35.6171, -89.2658 |
Updated At | 17 Apr 2024, 06:47:40 UTC |
Whois
Network | 38.0.0.0/8 |
Organization | Cogent |
Desc | Cogent |
Updated At | 16 Sept 2024, 16:00:20 UTC |
Geolocation
Network | 38.146.70.0/27 |
Postal Code | 38012 |
City | Brownsville |
Country | United States (US) |
Continent | North America |
Locale Code | en |
Geo Point | 35.6171, -89.2658 |
Updated At | 17 Apr 2024, 06:47:40 UTC |
Whois
Network | 38.0.0.0/8 |
Organization | Cogent |
Desc | Cogent |
Updated At | 16 Sept 2024, 16:00:20 UTC |
Product | Ipswitch WhatsUp Professional httpd |
Version | N/A |
Extra Info | N/A |
Status Code | 200 |
Title | WhatsUp Gold |
Body SHA256 | f8eda00d621a3779b346e1e537f47d8c443b745744e49ea5ae13d77346b472b3 |
Component | Microsoft ASP.NET |
Response Headers | |
cache control | private |
connection | close |
content length | 10188 |
content type | text/html;charset=utf-8 |
date | Wed, 21 Aug 2024 02:49:51 GMT |
server | Ipswitch 1.0 |
set cookie | Ipswitch={9F141524-A087-499A-9C4E-09D1FF32297C}; path=/ |
{
"body": "<script language=\"JavaScript\" src=\"/NmConsole/Core/AspForms/MozXmlDom.js\"></script>\n<script language=\"javascript\" src=\"/NmConsole/Core/AspForms/AspForms.js\"></script>\n<script language=\"javascript\" src=\"/NmConsole/Core/Ajax/Prototype.js\"></script>\n<script language=\"javascript\" src=\"/NmConsole/$Js/Core/jquery/js/jquery-1.4.2.min.js\"></script>\n<script>\n// assign the $ back to prototype\njQuery.noConflict();\n(function ($) {\n\t$(function () {\n\t\tif ($.browser.msie) {\n\t\t\t$('html').addClass(\"msie\");\n\t\t} else if ($.browser.mozilla) {\n\t\t\t$('html').addClass(\"mozilla\");\n\t\t} else if ($.browser.safari) {\n\t\t\t$('html').addClass(\"safari\");\n\t\t} else if ($.browser.opera) {\n\t\t\t$('html').addClass(\"opera\");\n\t\t}\n\t});\n})(jQuery);\n\n// as of jQuery 1.4.2 the MozXmlDom.js conflicts with jQuery so override this on aspforms pages\njQuery.ajaxSetup({\n\txhr: function () {\n\t\ttry {\n\t\t\treturn new window.XMLHttpRequest();\n\t\t} catch(e) {\n\t\t\treturn new window.ActiveXObject(\"Microsoft.XMLHTTP\");\t\n\t\t}\t\n\t}\n});\n</script>\n<script language=\"javascript\" src=\"/NmConsole/Core/Ajax/Ajax.js\"></script>\n<script language=\"javascript\" src=\"/NmConsole/Core/Ajax/json.js\"></script>\n<script language=\"javascript\"> \nif('function' != typeof JsGetCurrentFormName) \n{ \n\tJsGetCurrentFormName=function() \n\t{ \n\t\treturn \"BrowserCheck\"; \n\t} \n} \n</script> \n\n<link rel=\"stylesheet\" href=\"/NmConsole/Core/AspForms/AspForms.css\" type=\"text/css\">\n\n<script>\nfunction MainMenu(){}\nMainMenu.t_sLoggedInAs = \"Logged in as:\";\nMainMenu.t_sLogOut = \"Log out\";\nMainMenu.t_sHome = \"Home\";\nMainMenu.t_sDevices = \"Devices\";\nMainMenu.t_sReports = \"Reports\";\nMainMenu.t_sAlertCenter = \"Alert Center\";\nMainMenu.t_sNetflow = \"Flow Monitor\";\nMainMenu.t_sHelpDesk = \"Help\";\n\nMainMenu.t_sConfigure = \"Configure\";\nMainMenu.t_sDevices = \"Devices\";\nMainMenu.t_sReports = \"Reports\";\nMainMenu.t_sTools = \"Tools\";\nMainMenu.t_sHelp = \"Help\";\n\nMainMenu.t_sPerformanceMonitorLibrary = \"Performance Monitor Library...\";\nMainMenu.t_sActiveMonitorLibrary = \"Active Monitor Library...\";\nMainMenu.t_sPassiveMonitorLibrary = \"Passive Monitor Library...\";\nMainMenu.t_sActionLibrary = \"Action Library...\";\nMainMenu.t_sActionPolicies = \"Action Policies...\";\nMainMenu.t_sCredentialsLibrary = \"Credentials Library...\";\nMainMenu.t_sRecuringActions = \"Recurring Actions...\";\nMainMenu.t_sWCTaskScriptLibrary = \"WhatsConfigured Task Script Library...\";\nMainMenu.t_sWCScheduledTaskLibrary = \"WhatsConfigured Task Library...\";\nMainMenu.t_sWCArchiveSearch = \"WhatsConfigured Archive Search...\";\nMainMenu.t_sWCPolicyLibrary = \"WhatsConfigured Policy Library...\";\n\nMainMenu.t_sManageWebServer = \"Manage Web Server...\";\nMainMenu.t_sRecurringReports = \"Scheduled Reports...\";\nMainMenu.t_sManageUsers = \"Manage Users...\";\nMainMenu.t_sManageSNMPMIBs = \"SNMP MIB Manager...\";\nMainMenu.t_sManageWorkspaceViews = \"Manage Workspace Views...\";\nMainMenu.t_sConfigureRemoteServers = \"Configure Remote Sites...\"; \nMainMenu.t_sLdapCredentials = \"LDAP Credentials...\"; \nMainMenu.t_sIpSecurity = \"IP Security...\";\nMainMenu.t_sTranslation = \"Translation...\"; \nMainMenu.t_sEmailSettings = \"Email Settings...\"; \nMainMenu.t_sPreferences = \"Preferences...\"; \n\nMainMenu.t_sHomeDeviceGroup = \"Home Device Group\"; \nMainMenu.t_sDiscoveryConsole = \"Discovery Console...\";\nMainMenu.t_sRoleSettings = \"Device Role Settings...\";\nMainMenu.t_sNewDevice = \"New Device...\"; \nMainMenu.t_sFindDevice = \"Find Device...\";\nMainMenu.t_sWebAlarms = \"Web Alarms...\"; \n\nMainMenu.t_sPing = \"Ping\"; \nMainMenu.t_sTraceroute = \"Traceroute\"; \nMainMenu.t_sLookup = \"Lookup\"; \nMainMenu.t_sMacAddress = \"MAC Address\"; \nMainMenu.t_sDiagnostic = \"Diagnostic\";\nMainMenu.t_sMibWalker = \"SNMP MIB Walker\";\nMainMenu.t_sMibExplorer = \"SNMP MIB File Explorer\";\nMainMenu.t_sWmiWalker = \"WMI Walker\";\nMainMenu.t_sWebPerfMon = \"Web Performance Monitor\";\nMainMenu.t_sWebTaskMgr = \"Web Task Manager\";\nMainMenu.t_sBandwidth = \"Host Search...\";\n\nMainMenu.t_sProActiveAlertLibrary = \"Threshold Library...\";\nMainMenu.t_sAlertCenterSources = \"Alert Center Sources...\";\nMainMenu.t_sAlertCenterNotificationPolicies = \"Notification Policies...\";\nMainMenu.t_sAlertCenterNotificationLibrary = \"Notification Library...\";\nMainMenu.t_sAlertCenterDataExportSettings = \"Data Export Settings...\";\nMainMenu.t_sAlertCenterGlobalSmtpSettings = \"SMTP Settings...\";\nMainMenu.t_sAlertCenterRecordMaintenance = \"Record Maintenance...\";\nMainMenu.t_sAlertCenterGlobalSmsSettings = \"Global SMS Settings...\";\nMainMenu.t_sAlertCenterShortMessage = \"SMS Notification Message Settings...\";\nMainMenu.t_sAlertCenterLongMessage = \"Email Notification Message Settings...\";\nMainMenu.t_sAlertCenterAllReports = \"All Reports...\";\nMainMenu.t_sAlertCenterResolvedItems = \"Items Report...\";\nMainMenu.t_sAlertCenterLogReport = \"Log Report...\";\nMainMenu.t_sAlertCenterRunningNotifications = \"Running Notification Policies...\";\n\nMainMenu.t_sNetflowSettings = \"Settings...\"; \nMainMenu.t_sNetflowSources = \"Sources...\";\nMainMenu.t_sNetflowApplications = \"Applications...\";\nMainMenu.t_sNetflowGroups = \"Groups...\";\nMainMenu.t_sNetflowTypesOfService = \"Types of Service...\"; \nMainMenu.t_sNetflowUnmonitoredPorts = \"Unclassified Traffic...\"; \nMainMenu.t_sNetflowHostSearch = \"Search...\"; \nMainMenu.t_sNetflowDataExportSettings = \"Data Export Settings...\";\nMainMenu.t_sNetflowDBMaintenance = \"Database Maintenance...\";\nMainMenu.t_sNetflowSourceConfig = \"NetFlow Device Configuration...\";\n\nMainMenu.t_sHelpForThisWindow = \"Help for this Window\"; \nMainMenu.t_sHelpTopics = \"Help Topics...\"; \nMainMenu.t_sGettingStartedGuide = \"Online Help\"; \nMainMenu.t_sAboutWhatsUp = \"About WhatsUp\";\n\nMainMenu.t_sPopupFailedMessage = \"The requested window failed to open.\\nIf you have a pop-up blocker, you will need to disable it in order to complete your request.\";\nMainMenu.t_sConfigureWorkspace = \"Configure...\";\nMainMenu.t_sClose = \"Close\";\nMainMenu.t_sMenuEmpty = \"(empty)\";\n\n// add the netflow menu\nMainMenu.sNetflowReports = \"[]\";\n// add the alert center\nMainMenu.sAlertCenterReports = \"[{\\\"m_sUrl\\\":\\\"/NmConsole/AlertCenter/Reports/Full/RunningNotifications/RunningNotifications.asp\\\",\\\"m_sName\\\":\\\"Running Notification Policies\\\",\\\"m_sDescription\\\":\\\"A list of currently active Alert Center Notification Policies.\\\",\\\"m_sIconFileName\\\":\\\"/NmConsole/AlertCenter/Configuration/DlgAlertCenterNotificationPolicies/DlgAlertCenterNotificationLibrary/NotificationPlugins/C6CF407A-6882-4E1A-81BB-9CB06177BFA1/images/icn-24.png\\\",\\\"m_nReportType\\\":1800},{\\\"m_sUrl\\\":\\\"/NmConsole/AlertCenter/Reports/Full/ResolvedItems/ResolvedItems.asp\\\",\\\"m_sName\\\":\\\"Items Report\\\",\\\"m_sDescription\\\":\\\"A detailed look at items generated by Alert Center thresholds.\\\",\\\"m_sIconFileName\\\":\\\"/NmConsole/AlertCenter/Framework/images/resolved-items.png\\\",\\\"m_nReportType\\\":1800},{\\\"m_sUrl\\\":\\\"/NmConsole/AlertCenter/Reports/Full/ErrorLog/ErrorLog.asp\\\",\\\"m_sName\\\":\\\"Log Report\\\",\\\"m_sDescription\\\":\\\"A record of messages generated by the Alert Center.\\\",\\\"m_sIconFileName\\\":\\\"/NmConsole/AlertCenter/Framework/images/alert_center_log.png\\\",\\\"m_nReportType\\\":1800}]\";\n</script>\n\n\t<script>\n\tvar g_nEnabledFeatureMask = \"15327\";\n\tvar g_oFeatures = {\"None\":0,\"WUGDstClientEnabled\":1,\"WUGDstServerEnabled\":2,\"WUGSSGEnabled\":4,\"WUGAlertCenterEnabled\":8,\"WUGNetflowEnabled\":16,\"WUGDashboardEnabled\":32,\"WUGSQLMonEnabled\":64,\"WUGExchangeMonEnabled\":128,\"WUGWMIMonEnabled\":256,\"WUGEmailMonEnabled\":512,\"WUGVOIPMonEnabled\":1024,\"WUGWhatsConnectedEnabled\":2048,\"WUGWhatsConfiguredEnabled\":4096,\"WUGWhatsVirtualEnabled\":8192};\n\t</script>\n\t<script language=\"javascript\" src=\"/NmConsole/CoreNm/Framework/License.js\"></script>\n\t\n<script language=\"JavaScript\" src=\"/NmConsole/CoreNm/Framework/help.js\"></script>\n<form \tmethod=\"POST\" \taction=\"BrowserCheck.asp\" \tname=\"BrowserCheck\" \tid=\"BrowserCheck\" >\n\n<title>WhatsUp Gold</title>\n<style>\nbody{background:url(none);}\n</style>\n\n<div id=\"oUserDialogDiv\" align=\"center\" style=\"width:100%; padding-top:68px;\">\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"700px\" height=\"450px\" style=\"text-align:center; background: url(/NmConsole/CoreNm/User/images/LoginScreen.png) no-repeat;\">\n\t<tr>\n\t\t<td align=\"center\" style=\"padding:0px 0px 90px 0px;\">\n\t\t\n\t\t\t\n\t\t\t<table cellspacing=\"0\" border=\"0\" align=\"center\" style=\"width:600px; border:1px solid #CDD4C5; background:url(/NmConsole/CoreNm/User/images/DialogBack.png);\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"2\" style=\" border-bottom:1px solid #EEEEEE; padding:0px;background-color:#D9DFDA;\">\n\t\t\t\t\t\t \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"2\" class=\"Aspf-Font\" style=\"padding:15px 30px 5px 30px;font-size:18px;color:darkred;border-top:2px solid #CDD4C5;\">\n\t\t\t\t\tUnsupported Browser\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td style=\"padding:5px 30px 20px 30px;\">\n\t\t\t\t\tYour request could not be served because your browser is not supported. WhatsUp Gold supports Internet Explorer versions 6 or later, and Firefox versions 1.5 or later.<br><br><a href=\"http://localhost/NmConsole/Help/1033/Browser_Check.htm\" target=\"_blank\">Learn more</a><br><br><a href=\"/NmConsole/CoreNm/User/BrowserCheck/BrowserCheck.asp?bProceed=1\">Proceed Anyway</a> | <a href=\"/NmConsole/Mobile/\">Use the Mobile Interface</a>\t\t\t\t\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\t\t\t\t\n\t\t\t</table>\n\t\t\t\n\n\t\t</td>\n\t</tr>\n</table>\n</div>\n<input type=\"hidden\" name=\"__EVENTTYPE\" value=\"\" />\n<input type=\"hidden\" name=\"__EVENTTARGET\" value=\"\" />\n<input type=\"hidden\" name=\"__EVENTARGUMENT\" value=\"\" />\n<input type=\"hidden\" name=\"BrowserCheck.VISITEDFORM\" value=\"visited\" />\n<input type=\"hidden\" name=\"__SOURCEFORM\" value=\"BrowserCheck\" />\n<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\" value=\"%3cViewState%3e%3coElement%20sName=%22BrowserCheck.sTitleLogOut%22%20sValue=%22%20Log%20out%20of%20WhatsUp%20%22/%3e%3coElement%20sName=%22BrowserCheck.sTitleWebUser%22%20sValue=%22%251:%20Do%20you%20need%20to%20make%20changes%20to%20your%20user%20account%3f%22/%3e%3c/ViewState%3e\r\n\" />\n<input type=\"hidden\" name=\"__FORMID\" value=\"{BDC01C58-890D-4371-B9BC-B9AC7DCEE93B}\" />\n</form>\n<script>\n\tfunction OnServerKeyHandler(event,oKeyHandlerData) \n\t{ \n\t\tJsDoPostBack('KeyDown',String(oKeyHandlerData.m_nOptionalAsciiCode),oKeyHandlerData.m_nOptionalKeyModifierMask); \n\t\treturn true; \n\t} \nJsSetFormFocus(); \n</script> \n",
"body_murmur": -577614670,
"body_sha256": "f8eda00d621a3779b346e1e537f47d8c443b745744e49ea5ae13d77346b472b3",
"component": [
"Microsoft ASP.NET"
],
"content_length": 10188,
"headers": {
"cache_control": [
"private"
],
"connection": [
"close"
],
"content_length": [
"10188"
],
"content_type": [
"text/html;charset=utf-8"
],
"date": [
"Wed, 21 Aug 2024 02:49:51 GMT"
],
"server": [
"Ipswitch 1.0"
],
"set_cookie": [
"Ipswitch={9F141524-A087-499A-9C4E-09D1FF32297C}; path=/"
]
},
"protocol": "HTTP/1.0",
"redirects": [
{
"body": "",
"body_murmur": -1122664914,
"body_sha256": "f1945cd6c19e56b3c1c78943ef5ec18116907a4ca1efc40a57d48ab1db7adfc5",
"content_length": 3,
"headers": {
"cache_control": [
"private"
],
"connection": [
"close"
],
"content_length": [
"3"
],
"content_type": [
"text/html;charset=utf-8"
],
"date": [
"Wed, 21 Aug 2024 02:49:49 GMT"
],
"location": [
"NmConsole/Default.asp"
],
"server": [
"WhatsUp",
"Ipswitch 1.0"
],
"set_cookie": [
"Ipswitch={985C8303-CFBF-4D29-A7FE-116B6E816C1D}; path=/"
]
},
"location": "NmConsole/Default.asp",
"protocol": "HTTP/1.0",
"status_code": 302,
"status_line": "302 Object Moved"
},
{
"body": "",
"body_murmur": -1122664914,
"body_sha256": "f1945cd6c19e56b3c1c78943ef5ec18116907a4ca1efc40a57d48ab1db7adfc5",
"content_length": 3,
"headers": {
"cache_control": [
"private"
],
"connection": [
"close"
],
"content_length": [
"3"
],
"content_type": [
"text/html;charset=utf-8"
],
"date": [
"Wed, 21 Aug 2024 02:49:50 GMT"
],
"location": [
"/NmConsole/Workspace/HomeWorkspace/HomeWorkspace.asp"
],
"server": [
"WhatsUp",
"Ipswitch 1.0"
],
"set_cookie": [
"Ipswitch={502D5A48-1A62-4AF9-861E-72CE183676E0}; path=/"
]
},
"location": "/NmConsole/Workspace/HomeWorkspace/HomeWorkspace.asp",
"protocol": "HTTP/1.0",
"status_code": 302,
"status_line": "302 Object Moved"
},
{
"body": "",
"body_murmur": -1122664914,
"body_sha256": "f1945cd6c19e56b3c1c78943ef5ec18116907a4ca1efc40a57d48ab1db7adfc5",
"content_length": 3,
"headers": {
"cache_control": [
"private"
],
"connection": [
"close"
],
"content_length": [
"3"
],
"content_type": [
"text/html;charset=utf-8"
],
"date": [
"Wed, 21 Aug 2024 02:49:50 GMT"
],
"location": [
"/NmConsole/CoreNm/User/BrowserCheck/BrowserCheck.asp?sBtf=bt"
],
"server": [
"WhatsUp",
"Ipswitch 1.0"
],
"set_cookie": [
"Ipswitch={6A470950-73EC-40F8-BD41-4F372DAB75E4}; path=/"
]
},
"location": "/NmConsole/CoreNm/User/BrowserCheck/BrowserCheck.asp?sBtf=bt",
"protocol": "HTTP/1.0",
"status_code": 302,
"status_line": "302 Object Moved"
}
],
"request": {
"headers": {
"accept": [
"*/*"
],
"referer": [
"http://38.146.70.5:8000/NmConsole/Workspace/HomeWorkspace/HomeWorkspace.asp"
],
"user_agent": [
"Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)"
]
},
"method": "GET",
"url": {
"host": "38.146.70.5:8000",
"path": "/NmConsole/CoreNm/User/BrowserCheck/BrowserCheck.asp",
"raw_query": "sBtf=bt",
"scheme": "http"
}
},
"status_code": 200,
"title": "WhatsUp Gold"
}
Product | Cockpit web service |
Version | 221 - 253 |
Extra Info | N/A |
CVEs | CVE-1999-0431CVE-1999-0656CVE-1999-1285CVE-1999-1442CVE-2022-3424CVE-2022-3707CVE-2023-0030CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795CVE-2023-48795 |
Status Code | 200 |
Title | Loading... |
Body SHA256 | eede07a6b54d6f963607da63803a41b041830a8192a4ac3dd8f7539f43ca8129 |
Component | N/A |
Response Headers | |
cache control | no-cache, no-store |
content security policy | connect-src 'self' https://38.146.70.5:9090 wss://38.146.70.5:9090; form-action 'self' https://38.146.70.5:9090; base-uri 'self' https://38.146.70.5:9090; object-src 'none'; font-src 'self' https://38.146.70.5:9090 data:; img-src 'self' https://38.146.70.5:9090 data:; block-all-mixed-content; default-src 'self' https://38.146.70.5:9090 'unsafe-inline' |
content type | text/html |
set cookie | cockpit=deleted; PATH=/; Secure; HttpOnly |
unknown | [{"key":"referrer_policy","value":["no-referrer"]},{"key":"cross_origin_resource_policy","value":["same-origin"]},{"key":"x_dns_prefetch_control","value":["off"]}] |
x content type options | nosniff |
Fingerprint | |
MD5 | 5ABE1C95041657439118CB4EF569CEE5 |
SHA1 | 47B6DCDDD9603D34FA6F04B89B6CFDA4699E7BBC |
SHA256 | 6CF5C813E8F5B6E0E83EFBECC52F565A93FEEAF3098DA7CCA3667F740672CC42 |
JARM | 21d14d00021d21d00042d43d00041ddae87855c179abc2cc62b296c5d295e3 |
{
"body": "<!DOCTYPE html>\n<html>\n <head>\n <title>Loading...</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta name=\"robots\" content=\"noindex\">\n <meta insert_dynamic_content_here><script>\n(function (root, data) {\n window.cockpit_po = data;\n/* The syntax of this line is important for po2json */\n}(this, {\"\":{\"language\":\"en\"}}));\n</script>\n<base href=\"/\">\n <script>\nvar environment = {\"page\":{\"connect\":true,\"require_host\":false},\"hostname\":\"crockett-nat.gowisper.com\",\"os-release\":{\"NAME\":\"CentOS Linux\",\"ID\":\"centos\",\"PRETTY_NAME\":\"CentOS Linux 8\",\"CPE_NAME\":\"cpe:/o:centos:centos:8\",\"ID_LIKE\":\"rhel fedora\"},\"CACertUrl\":\"/ca.cer\"};\n </script>\n <script>\n/* global XMLHttpRequest */\n(function(a) {\n var l;\n /* Some browsers fail localStorage access due to corruption, preventing Cockpit login */ try {\n l = window.localStorage;\n window.localStorage.removeItem(\"url-root\");\n window.localStorage.removeItem(\"standard-login\");\n } catch (e) {\n l = window.sessionStorage;\n a.warn(String(e));\n }\n var r;\n var u = window.environment || {};\n var s = u.OAuth || null;\n if (s) {\n if (!s.TokenParam) s.TokenParam = \"access_token\";\n if (!s.ErrorParam) s.ErrorParam = \"error_description\";\n }\n var t = /\\$\\{([^}]+)\\}|\\$([a-zA-Z0-9_]+)/g;\n function d(e /* ... */) {\n var o = Array.prototype.slice.call(arguments, 1);\n return e.replace(t, function(e, t, n) {\n return o[t || n] || \"\";\n });\n }\n function n(e) {\n if (window.cockpit_po) {\n var t = window.cockpit_po[e];\n if (t && t[1]) return t[1];\n }\n return e;\n }\n function c() {\n if (!document.querySelectorAll) return;\n var e = document.querySelectorAll(\"[translate]\");\n for (var t = 0; t < e.length; t++) e[t].textContent = n(e[t].textContent);\n }\n var f = n;\n var p, w, g, v;\n var o = /[?&]?([^=]+)=([^&]*)/g;\n var m = null;\n function y(e) {\n e = e.split(\"+\").join(\" \");\n var t = {};\n var n;\n for (;;) {\n n = o.exec(e);\n if (!n) break;\n t[decodeURIComponent(n[1])] = decodeURIComponent(n[2]);\n }\n return t;\n }\n if (!a) a = function() {};\n function h(e) {\n return document.getElementById(e);\n }\n function b(e) {\n if (window.console) a.warn(\"fatal:\", e);\n h(\"login-again\").style.display = \"none\";\n h(\"login-wait-validating\").style.display = \"none\";\n if (m) {\n h(\"login-again\").href = m;\n h(\"login-again\").style.display = \"block\";\n }\n h(\"login\").style.display = \"none\";\n h(\"login-details\").style.display = \"none\";\n h(\"login-fatal\").style.display = \"block\";\n var t = h(\"login-fatal-message\");\n t.textContent = \"\";\n t.appendChild(document.createTextNode(e));\n }\n function k(e, t) {\n var n;\n var o = h(e);\n if (o && window.getComputedStyle) n = window.getComputedStyle(o, \":before\");\n if (!n) return;\n var i;\n var r = n.content;\n if (r && r != \"none\" && r != \"normal\") {\n i = r.length;\n if ((r[0] === '\"' || r[0] === \"'\") && i > 2 && r[i - 1] === r[0]) r = r.substr(1, i - 2);\n o.innerHTML = r || t;\n } else {\n o.removeAttribute(\"class\");\n }\n }\n function x() {\n function o(e) {\n if (window.console) a.warn(d(f(\"This web browser is too old to run Cockpit (missing $0)\"), e));\n h(\"login\").style.display = \"none\";\n h(\"login-details\").style.display = \"none\";\n h(\"unsupported-browser\").style.display = \"block\";\n document.body.className += \" brand-unsupported-browser\";\n }\n function e(t, e) {\n var n;\n try {\n n = e[t];\n } catch (e) {\n b(d(f(\"The web browser configuration prevents Cockpit from running (inaccessible $0)\"), t));\n throw e;\n }\n if (n === undefined) {\n o(t);\n return false;\n }\n return true;\n }\n function t() {\n /*\n * Be certain to use parenthesis when checking CSS strings\n * as Edge is oddly particular.\n *\n * Instead of \"display: inline\", use:\n * \"(display: inline)\"\n * or\n * \"display\", \"inline\"\n */\n var e = [].join.call(arguments, \": \");\n if (!window.CSS.supports.apply(this, arguments)) {\n b(d(f(\"The web browser configuration prevents Cockpit from running (inaccessible $0)\"), e));\n o(e);\n return false;\n }\n return true;\n }\n return (\"MozWebSocket\" in window || e(\"WebSocket\", window)) && e(\"XMLHttpRequest\", window) && e(\"sessionStorage\", window) && e(\"JSON\", window) && e(\"defineProperty\", Object) && e(\"console\", window) && e(\"pushState\", window.history) && e(\"textContent\", document) && e(\"CSS\", window) && e(\"supports\", window.CSS) && t(\"display\", \"flex\") && t(\"display\", \"grid\");\n }\n function S(e) {\n return e.replace(/^\\s+|\\s+$/g, \"\");\n }\n /* Sets values for application, url_root and login_path */ function C(e) {\n var t = document.createElement(\"a\");\n var n = document.baseURI;\n var o;\n /* Some IEs don't support baseURI */ if (!n) {\n o = document.getElementsByTagName(\"base\");\n if (o.length > 0) n = o[0].href; else n = \"/\";\n }\n e = e || \"/\";\n t.href = n;\n if (t.pathname != \"/\") {\n r = t.pathname.replace(/^\\/+|\\/+$/g, \"\");\n l.setItem(\"url-root\", r);\n if (r && e.indexOf(\"/\" + r) === 0) e = e.replace(\"/\" + r, \"\") || \"/\";\n }\n if (e.indexOf(\"/=\") === 0) {\n u.hostname = e.substring(2);\n e = \"/cockpit+\" + e.split(\"/\")[1];\n } else if (e.indexOf(\"/cockpit/\") !== 0 && e.indexOf(\"/cockpit+\") !== 0) {\n e = \"/cockpit\";\n }\n w = e.split(\"/\")[1];\n p = \"/\" + w + \"/login\";\n if (r) p = \"/\" + r + p;\n v = w;\n g = p;\n }\n function I(e, t) {\n // On keypress, only accept spacebar (enter acts as a click)\n if (e && e.type === \"keypress\" && e.key !== \" \") return;\n // Stop the <a>'s click handler, otherwise it causes a page reload\n if (e && e.type === \"click\") e.preventDefault();\n if (t === undefined) t = h(\"server-group\").style.display === \"none\";\n h(\"option-group\").setAttribute(\"data-state\", t);\n if (t) {\n h(\"server-group\").style.display = \"block\";\n h(\"option-caret\").setAttribute(\"class\", \"caret caret-down\");\n h(\"option-caret\").setAttribute(\"className\", \"caret caret-down\");\n } else {\n h(\"server-group\").style.display = \"none\";\n h(\"option-caret\").setAttribute(\"class\", \"caret caret-right\");\n h(\"option-caret\").setAttribute(\"className\", \"caret caret-right\");\n }\n }\n function e() {\n window.onload = null;\n c();\n if (window.cockpit_po && window.cockpit_po[\"\"]) document.documentElement.lang = window.cockpit_po[\"\"].language || \"en-us\";\n C(window.location.pathname);\n /* Determine if we are nested or not, and switch styles */ if (window.location.pathname.indexOf(\"/\" + r + \"/cockpit/\") === 0 || window.location.pathname.indexOf(\"/\" + r + \"/cockpit+\") === 0) document.documentElement.setAttribute(\"class\", \"inline\");\n // Setup title\n var e = u.page.title;\n if (!e || w.indexOf(\"cockpit+=\") === 0) e = u.hostname;\n document.title = e;\n if (w.indexOf(\"cockpit+=\") === 0) {\n h(\"brand\").style.display = \"none\";\n h(\"badge\").style.visibility = \"hidden\";\n } else {\n k(\"badge\", \"\");\n k(\"brand\", \"Cockpit\");\n }\n if (!x()) return;\n if (u.banner) {\n h(\"banner\").classList.remove(\"group-hidden\");\n h(\"banner-message\").textContent = u.banner.trimEnd();\n }\n h(\"show-other-login-options\").addEventListener(\"click\", I);\n h(\"show-other-login-options\").addEventListener(\"keypress\", I);\n h(\"server-clear\").addEventListener(\"click\", function() {\n var e = h(\"server-field\");\n e.value = \"\";\n e.focus();\n });\n /* Setup the user's last choice about the authorized button */ var t = l.getItem(\"authorized-default\");\n if (t === null || t.indexOf(\"password\") !== -1) h(\"authorized-input\").checked = true;\n var n = u[\"os-release\"];\n if (n) l.setItem(\"os-release\", JSON.stringify(n));\n var o = window.sessionStorage.getItem(\"logout-intent\") == \"explicit\";\n if (o) window.sessionStorage.removeItem(\"logout-intent\");\n var i = window.sessionStorage.getItem(\"logout-reason\");\n if (i) window.sessionStorage.removeItem(\"logout-reason\");\n /* Try automatic/kerberos authentication? */ if (s) {\n h(\"login-details\").style.display = \"none\";\n h(\"login\").style.display = \"none\";\n if (o) {\n L();\n h(\"login-again\").textContent = f(\"Login Again\");\n b(f(\"Logout Successful\"));\n } else {\n O();\n }\n } else if (o) {\n q(i);\n } else {\n T();\n }\n }\n function T() {\n var e = new XMLHttpRequest();\n e.open(\"GET\", p, true);\n e.onreadystatechange = function() {\n if (e.readyState == 4) {\n if (e.status == 200) {\n D(JSON.parse(e.responseText));\n } else if (e.status == 401) {\n q();\n } else if (e.statusText) {\n b(decodeURIComponent(e.statusText));\n } else if (e.status === 0) {\n q();\n } else {\n b(d(f(\"$0 error\"), e.status));\n }\n }\n };\n e.send();\n }\n function L() {\n var e = window.location.href.split(\"#\", 2);\n m = s.URL;\n if (s.URL.indexOf(\"?\") > -1) m += \"&\"; else m += \"?\";\n m += \"redirect_uri=\" + encodeURIComponent(e[0]);\n }\n function O() {\n var e = document.createElement(\"a\");\n if (!s.URL) return b(f(\"Cockpit authentication is configured incorrectly.\"));\n var t = y(window.location.search);\n if (!window.location.search && window.location.hash) t = y(window.location.hash.slice(1));\n /* Not all providers allow hashes in redirect urls */ var n, o, i;\n L();\n if (t[s.TokenParam]) {\n if (window.sessionStorage.getItem(\"login-wanted\")) {\n e.href = window.sessionStorage.getItem(\"login-wanted\");\n C(e.pathname);\n }\n n = t[s.TokenParam];\n h(\"login-wait-validating\").style.display = \"block\";\n i = new XMLHttpRequest();\n i.open(\"GET\", p, true);\n i.setRequestHeader(\"Authorization\", \"Bearer \" + n);\n i.onreadystatechange = function() {\n if (i.readyState == 4) {\n if (i.status == 200) {\n D(JSON.parse(i.responseText));\n } else {\n o = J(i.getResponseHeader(\"WWW-Authenticate\"), i.responseText);\n if (o) $(o); else b(decodeURIComponent(i.statusText));\n }\n }\n };\n i.send();\n } else if (t[s.ErrorParam]) {\n b(t[s.ErrorParam]);\n } else {\n /* Store url we originally wanted in case we\n * had to strip a hash or query params\n */\n window.sessionStorage.setItem(\"login-wanted\", window.location.href);\n window.location = m;\n }\n }\n function i() {\n h(\"error-group\").classList.add(\"group-hidden\");\n h(\"login-error-message\").textContent = \"\";\n }\n function E() {\n h(\"info-group\").classList.add(\"group-hidden\");\n h(\"login-info-message\").textContent = \"\";\n }\n function A(e, t) {\n i();\n if (e) {\n /* OAuth failures are always fatal */\n if (s) {\n b(e);\n } else {\n P(t);\n h(\"login-error-message\").textContent = e;\n h(\"error-group\").classList.remove(\"group-hidden\");\n }\n }\n }\n function R(e) {\n E();\n if (e) {\n h(\"login-info-message\").textContent = e;\n h(\"info-group\").classList.remove(\"group-hidden\");\n }\n }\n function U(e) {\n var t = h(\"server-field\").value;\n if (!t) {\n A(e, false);\n } else {\n i();\n h(\"login-error-message\").textContent = e;\n h(\"error-group\").classList.remove(\"group-hidden\");\n I(null, true);\n P();\n }\n }\n function H(e) {\n var t = h(\"login-note\");\n if (e) {\n t.style.display = \"block\";\n t.textContent = e;\n } else {\n t.innerHTML = \" \";\n }\n }\n function N() {\n return u.page.require_host && v.indexOf(\"cockpit+=\") === -1;\n }\n function z() {\n A(null);\n var e;\n var t = S(h(\"login-user-input\").value);\n if (t === \"\") {\n A(f(\"User name cannot be empty\"));\n } else if (N() && h(\"server-field\").value === \"\") {\n A(f(\"Please specify the host to connect to\"));\n } else {\n e = h(\"server-field\").value;\n if (e) {\n w = \"cockpit+=\" + e;\n p = g.replace(\"/\" + v + \"/\", \"/\" + w + \"/\");\n } else {\n w = v;\n p = g;\n }\n h(\"server-name\").textContent = e || u.hostname;\n h(\"login-button\").removeEventListener(\"click\", z);\n /* When checked we tell the server to keep authentication */ var n = h(\"authorized-input\").checked ? \"password\" : \"\";\n var o = h(\"login-password-input\").value;\n l.setItem(\"authorized-default\", n);\n var i = \"superuser:\" + t + (e ? \":\" + e : \"\");\n var r = l.getItem(i) || \"any\";\n l.setItem(\"superuser-key\", i);\n l.setItem(i, r);\n /* Keep information if login page was used */ l.setItem(\"standard-login\", true);\n var s = {\n Authorization: \"Basic \" + window.btoa(_(t + \":\" + o)),\n \"X-Authorize\": n,\n \"X-Superuser\": r\n };\n // allow unknown remote hosts with interactive logins with \"Connect to:\"\n if (e) s[\"X-SSH-Connect-Unknown-Hosts\"] = \"yes\";\n W(\"GET\", s, false);\n }\n }\n function P(e) {\n var t = u.page.connect;\n var n = h(\"option-group\").getAttribute(\"data-state\");\n h(\"login-wait-validating\").style.display = \"none\";\n h(\"login\").style.visibility = \"visible\";\n h(\"login\").style.display = \"block\";\n h(\"user-group\").style.display = e ? \"none\" : \"block\";\n h(\"password-group\").style.display = e ? \"none\" : \"block\";\n h(\"conversation-group\").style.display = e ? \"block\" : \"none\";\n h(\"login-button-text\").textContent = f(\"Log In\");\n h(\"login-password-input\").value = \"\";\n if (N()) {\n h(\"option-group\").style.display = \"none\";\n n = true;\n } else {\n h(\"option-group\").style.display = !t || e ? \"none\" : \"block\";\n }\n if (!t || e) {\n h(\"server-group\").style.display = \"none\";\n } else {\n h(\"server-group\").style.display = n ? \"block\" : \"none\";\n }\n h(\"login-button\").removeAttribute(\"disabled\");\n if (!e) h(\"login-button\").addEventListener(\"click\", z);\n }\n function q(e) {\n /* Show the login screen */\n R(e);\n h(\"server-name\").textContent = document.title;\n H(f(\"Log in with your server user account.\"));\n h(\"login-user-input\").addEventListener(\"keydown\", function(e) {\n A(null);\n E();\n if (e.which == 13) h(\"login-password-input\").focus();\n }, false);\n var t = function(e) {\n A(null);\n if (e.which == 13) z();\n };\n h(\"login-password-input\").addEventListener(\"keydown\", t);\n h(\"authorized-input\").addEventListener(\"keydown\", t);\n P();\n h(\"login-user-input\").focus();\n }\n function $(e) {\n var t = e.echo ? \"text\" : \"password\";\n h(\"conversation-prompt\").textContent = e.prompt;\n var n = h(\"conversation-message\");\n var o = e.error || e.message;\n if (o) {\n n.textContent = o;\n n.style.display = \"block\";\n } else {\n n.style.display = \"none\";\n }\n var i = h(\"conversation-input\");\n i.value = \"\";\n if (e.default) i.value = e.default;\n i.setAttribute(\"type\", t);\n A(\"\");\n function r() {\n h(\"conversation-input\").removeEventListener(\"keydown\", s);\n h(\"login-button\").removeEventListener(\"click\", r);\n A(null, true);\n X(e.id, h(\"conversation-input\").value);\n }\n function s(e) {\n A(null, true);\n if (e.which == 13) {\n r();\n }\n }\n h(\"conversation-input\").addEventListener(\"keydown\", s);\n h(\"login-button\").addEventListener(\"click\", r);\n P(true);\n i.focus();\n }\n function _(e) {\n return window.unescape(encodeURIComponent(e));\n }\n function J(e, t) {\n var n;\n var o;\n var i;\n var r;\n if (!e) return null;\n n = e.split(\" \");\n if (n[0].toLowerCase() !== \"x-conversation\" && n.length != 3) return null;\n r = n[1];\n try {\n o = window.atob(n[2]);\n } catch (e) {\n if (window.console) a.error(\"Invalid prompt data\", e);\n return null;\n }\n try {\n i = JSON.parse(t);\n } catch (e) {\n if (window.console) a.log(\"Got invalid JSON response for prompt data\", e);\n i = {};\n }\n i.id = r;\n i.prompt = o;\n return i;\n }\n function W(e, t, n) {\n h(\"login-button\").setAttribute(\"disabled\", \"true\");\n var o = new XMLHttpRequest();\n o.open(\"GET\", p, true);\n var i;\n var r;\n var s;\n for (s in t) o.setRequestHeader(s, t[s]);\n o.onreadystatechange = function() {\n if (o.readyState != 4) {\n return;\n } else if (o.status == 200) {\n var e = JSON.parse(o.responseText);\n D(e);\n } else if (o.status == 401) {\n r = o.getResponseHeader(\"WWW-Authenticate\");\n if (r && r.toLowerCase().indexOf(\"x-conversation\") === 0) {\n i = J(r, o.responseText);\n if (i) $(i); else b(f(\"Internal Error: Invalid challenge header\"));\n } else {\n if (window.console) a.log(o.statusText);\n if (o.statusText.indexOf(\"authentication-not-supported\") > -1) {\n var t = S(h(\"login-user-input\").value);\n b(d(f(\"The server refused to authenticate '$0' using password authentication, and no other supported authentication methods are available.\"), t));\n } else if (o.statusText.indexOf(\"terminated\") > -1) {\n A(f(\"Authentication Failed: Server closed connection\"));\n } else if (o.statusText.indexOf(\"no-host\") > -1) {\n U(f(\"Unable to connect to that address\"));\n } else if (o.statusText.indexOf(\"unknown-hostkey\") > -1) {\n U(f(\"Refusing to connect. Hostkey is unknown\"));\n } else if (o.statusText.indexOf(\"unknown-host\") > -1) {\n U(f(\"Refusing to connect. Host is unknown\"));\n } else if (o.statusText.indexOf(\"invalid-hostkey\") > -1) {\n U(f(\"Refusing to connect. Hostkey does not match\"));\n } else if (n) {\n A(f(\"Authentication failed\"));\n } else {\n A(f(\"Wrong user name or password\"));\n }\n }\n } else if (o.status == 403) {\n A(decodeURIComponent(o.statusText) || f(\"Permission denied\"));\n } else if (o.statusText) {\n b(decodeURIComponent(o.statusText));\n } else {\n b(d(f(\"$0 error\"), o.status));\n }\n h(\"login-button\").removeAttribute(\"disabled\");\n };\n o.send();\n }\n function X(e, t) {\n var n = {\n Authorization: \"X-Conversation \" + e + \" \" + window.btoa(_(t))\n };\n W(\"GET\", n, true);\n }\n function M(e) {\n // Force a reload if not triggered below\n // because only the hash part of the url\n // changed\n var t = window.setTimeout(function() {\n t = null;\n window.location.reload(true);\n }, 100);\n if (e && e != window.location.href) window.location = e;\n // cancel forced reload if we are reloading\n window.onbeforeunload = function() {\n if (t) window.clearTimeout(t);\n t = null;\n };\n }\n function G(n) {\n var e = \"/\" + w + \"/@localhost/\";\n if (r) e = \"/\" + r + e;\n var o = e + \"shell/index.html\";\n var i = new XMLHttpRequest();\n i.open(\"GET\", e + \"manifests.json\", true);\n i.onreadystatechange = function() {\n if (i.readyState == 4) {\n if (i.status == 200) {\n var e = JSON.parse(i.responseText);\n var t = e ? e.base1 : {};\n if (!t.version || t.version < \"119.x\") {\n M(o);\n } else M(n);\n } else {\n M(o);\n }\n }\n };\n i.send();\n }\n function j(e, t, n) {\n var o = 0;\n while (o < e.length) {\n var i = e.key(o);\n if (n && i.indexOf(\"cockpit\") !== 0) e.removeItem(i); else if (i.indexOf(t) === 0) e.removeItem(i); else o++;\n }\n }\n function B(e) {\n /* Clear anything not prefixed with\n * different application from sessionStorage\n */\n j(window.sessionStorage, w, true);\n /* Clear anything prefixed with our application\n * and login-data, but not other non-application values.\n */ l.removeItem(\"login-data\");\n j(l, w, false);\n var t;\n if (e && e[\"login-data\"]) {\n t = JSON.stringify(e[\"login-data\"]);\n /* login-data is tied to the auth cookie, since\n * cookies are available after the page\n * session ends login-data should be too.\n */ l.setItem(w + \"login-data\", t);\n /* Backwards compatibility for packages that aren't application prefixed */ l.setItem(\"login-data\", t);\n }\n /* URL Root is set by cockpit ws and shouldn't be prefixed\n * by application\n */ if (r) l.setItem(\"url-root\", r);\n var n = u.CACertUrl;\n if (n) window.sessionStorage.setItem(\"CACertUrl\", n);\n }\n function D(e) {\n var t = window.sessionStorage.getItem(\"login-wanted\");\n var n = h(\"server-field\").value;\n if (n && w != v) {\n t = \"/=\" + n;\n if (r) t = \"/\" + r + t;\n }\n /* clean up sessionStorage. clear anything that isn't prefixed\n * with an application and anything prefixed with our application.\n */ j(window.sessionStorage, w, false);\n B(e);\n /* Make sure that the base1 version is new enough to handle\n * urls that reference machines.\n */ if (w.indexOf(\"cockpit+=\") === 0) {\n G(t);\n } else {\n M(t);\n }\n }\n window.onload = e;\n})(window.console);\n//# sourceMappingURL=login.min.js.map </script>\n <style>\n*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:RedHatText,Helvetica,Arial,sans-serif;background-color:#333;color:#fff;line-height:1.5}.pf-c-button,label{font-weight:600}.pf-c-button,img{vertical-align:middle}#login-wait-validating div,.col-xs-12{float:left}#option-group,.cross,.pf-c-button,button{cursor:pointer}#option-group svg,.cross{opacity:.7}a{color:inherit;text-decoration:none}.pf-c-button:focus,a:focus{outline:-webkit-focus-ring-color auto 5px;outline:dotted thin;outline-offset:-2px}a:active,a:hover{outline:0}a:focus,a:hover{color:#fff;text-decoration:underline}img{border:0}button,input,select,textarea{font-family:inherit;margin:0;font-size:inherit;line-height:inherit}button{-webkit-appearance:button;overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}p{margin:0 0 10px}.container{margin-right:auto;margin-left:auto}#option-group{margin-top:2rem;margin-bottom:2rem}#server-group{margin-top:-1rem;margin-bottom:2rem}.container:after,.container:before,.form-group:after,.form-group:before,.row:after,.row:before{content:\" \";display:table}.container:after,.row:after{clear:both}.col-lg-5,.col-lg-7,.col-md-10,.col-md-2,.col-md-6,.col-sm-1,.col-sm-10,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-5,.col-sm-6,.col-sm-7,.col-xs-12{position:relative;min-height:1px;padding-left:20px;padding-right:20px}.col-xs-12{width:100%}label{display:inline-block}#option-group,.control-label{font-size:.875rem}[role=form] .control-label,form .control-label{display:flex;align-items:center;min-height:2rem}.form-control{color:#151515}.form-control[type=password],.form-control[type=text]{display:block;width:100%;padding:.25rem .5rem;background-color:#fff;background-image:none;border:1px solid #ededed;border-bottom-color:#72767b;border-radius:1px;transition:border-color .15s ease-in-out;color:#151515}.form-control[type=password]:focus,.form-control[type=password]:hover,.form-control[type=text]:focus,.form-control[type=text]:hover{border-bottom-color:#06c}.form-control[type=password]:focus,.form-control[type=text]:focus{padding-bottom:calc(.25rem - 1px);border-bottom-width:2px}.form-control:focus{outline:0}.form-control:-moz-placeholder{color:#999;font-style:italic}.form-control::-moz-placeholder{color:#999;font-style:italic;opacity:1}.form-control:-ms-input-placeholder{color:#999;font-style:italic}.form-control::-webkit-input-placeholder{color:#999;font-style:italic}.checkbox-row{margin:1rem 0 0;display:flex;align-items:baseline}.checkbox-row>input[type=checkbox]{width:16px;height:16px;align-self:flex-start;margin-top:calc((1.5rem - 16px)/ 2);margin-right:.5rem}label.checkbox{font:inherit}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}.caret,.pf-c-button{display:inline-block}#login-button[disabled] .spinner{display:inline-flex}.control-label,.pf-c-button{margin-bottom:0}.control-label{margin-top:0;padding-top:3px}.form-group:after{clear:both;margin-bottom:15px}.pf-c-button{text-align:center;background-image:none;border:1px solid transparent;white-space:nowrap;padding:2px 6px;border-radius:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.pf-c-button:focus,.pf-c-button:hover{color:#4d5258;text-decoration:none}.pf-c-button:active{outline:0;background-image:none}@-ms-viewport{width:device-width}.pf-c-button{padding:.25rem .5rem;border-radius:1px;font-size:inherit}.pf-m-primary{background-color:#06c;border-color:#06c;color:#fff}.pf-m-primary:active,.pf-m-primary:focus,.pf-m-primary:hover{background-color:#004080;border-color:#004080;color:#fff}.pf-m-primary:active{background-image:none}@font-face{font-family:RedHatText;font-style:normal;font-weight:400;src:url(cockpit/static/fonts/RedHatText-Regular.woff2) format('woff2')}@font-face{font-family:RedHatText;font-style:normal;font-weight:700;src:url(cockpit/static/fonts/RedHatText-Medium.woff2) format('woff2')}.login-pf{height:100%}.login-pf #brand{position:relative;top:-70px}.login-pf #brand img{display:block;margin:0 auto;max-width:100%}.login-pf #badge{display:block;margin:20px auto 70px;position:relative;text-align:center}.login-pf #banner{margin-top:20px}.login-pf .container{background-color:rgba(255,255,255,.055);clear:right;padding-bottom:40px;padding-top:20px;width:auto}.login-pf .container .details p:first-child{border-top:1px solid #474747;padding-top:25px;margin-top:25px}.login-pf .container .details p{margin-bottom:2px}.login-pf .container .control-label{font-weight:600}.login-pf .container .help-block{color:#fff}.login-pf .container .form-group:last-child,.login-pf .container .form-group:last-child .help-block:last-child{margin-bottom:0}.spinner{-webkit-animation:.6s linear infinite rotation;animation:.6s linear infinite rotation;border-bottom:4px solid rgba(0,0,0,.25);border-left:4px solid rgba(0,0,0,.25);border-right:4px solid rgba(0,0,0,.25);border-radius:100%;border-top:4px solid rgba(0,0,0,.75);height:1.5rem;width:1.5rem}.group-hidden{display:none!important}.pf-c-alert{color:#151515;position:relative;grid-template-columns:repeat(2,max-content) 1fr max-content;grid-template-rows:1fr auto;grid-template-areas:\"icon title action\" \". content content\";background-color:#fff;margin:0 0 1.5rem;align-items:center;display:grid}.pf-c-alert.pf-m-inline{border:solid #ededed;border-width:1px 1px 1px 0}.pf-c-alert.pf-m-inline::before{position:absolute;top:-1px;bottom:-1px;left:0;width:3px;content:\"\"}.pf-c-alert>svg{grid-area:icon;height:18px;width:18px;margin:1rem 0 1rem 1rem}.pf-c-alert__title{grid-area:title;font-size:1rem;margin:1rem;background-color:#fff}.pf-c-alert.pf-m-inline.pf-m-danger::before{background-color:#c9190b}.pf-c-alert.pf-m-danger>svg{color:#c9190b}.pf-c-alert.pf-m-danger .pf-c-alert__title{color:#a30000}.pf-c-alert.pf-m-inline.pf-m-info::before{background-color:#73bcf7}.pf-c-alert.pf-m-info>svg{color:#73bcf7}.pf-c-alert.pf-m-info .pf-c-alert__title{color:#004368}#server-group:before{clear:both;margin-top:5px}.login-fatal{font-size:130%}.unsupported-browser ul{color:#aaa;display:inline-block;margin:0 auto;text-align:left}.unsupported-browser a{color:#fff;font-weight:700;text-decoration:underline}.cross,.inline .container .help-block{color:#000}.login-browser-recommendations{margin-top:6rem}.caret,.server-box{position:relative}.conversation-prompt{white-space:normal;word-wrap:break-word}.control-label{white-space:nowrap}.spinner{border-color:rgba(255,255,255,.75) rgba(255,255,255,.25) rgba(255,255,255,.25)}#login-button .spinner,#login-button[disabled] #login-button-text,.hide-before:before{display:none}.inline #badge,.inline #brand,.inline #login-details{display:none}.inline body{background:0 0!important;color:#000}.caret{top:4px}.caret-down{-moz-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg);-moz-transform-origin:8px 8px;-webkit-transform-origin:8px 8px;transform-origin:8px 8px}.cross{align-items:center;bottom:0;display:flex;font-size:14px;font-weight:700;justify-content:center;position:absolute;right:20px;top:0;width:2rem}#option-group:hover svg,.cross:hover{opacity:1}#option-group div{margin-left:-3px;margin-top:3px;margin-bottom:10px}#login-button{display:flex;align-items:center;justify-content:center;height:2.5rem;padding:.5rem}#login-button[disabled]{background-color:#333;background-image:none;border-color:#555}@media (min-width:1024px){.container{width:760px}.col-sm-1,.col-sm-10,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-5,.col-sm-6,.col-sm-7{float:left}.col-sm-12{width:100%}.col-sm-10{width:83.33333333333334%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}}@media (min-width:1024px){.container{width:980px}.col-md-10,.col-md-2,.col-md-6{float:left}.col-md-10{width:83.33333333333334%}.col-md-6{width:50%}.col-md-2{width:16.666666666666664%}}@media (min-width:1200px){.container{width:1180px}.col-lg-5,.col-lg-7{float:left}.col-lg-7{width:58.333333333333336%}.col-lg-5{width:41.66666666666667%}}@media (max-width:480px){.unsupported-browser .container>.row>.col-sm-12{position:static}.login-pf{display:flex;flex-direction:column-reverse;height:auto;position:relative}.row{display:flex;flex-direction:column}.login-pf .container{width:100%}.login-pf #badge{max-width:33vw;margin:3rem auto;height:8rem;padding:0;background-position:50% 100%}.container>.row>.col-sm-12{order:1;position:absolute;bottom:0;left:0;width:100%;text-align:center}.login-pf #brand{position:static;font-size:inherit;background-position:50% 50%}.details{text-align:center}}@media (min-width:481px){.brand-unsupported-browser #brand{margin-left:-40px;position:absolute;text-align:center;width:100%}.unsupported-browser{font-size:140%;margin-left:-30px;text-align:center}.unsupported-browser-heading{font-size:3rem;left:50%;margin:0 0 0 -32rem;position:absolute;text-align:center;top:-16rem;width:64rem}.login-browser-recommendations h3{font-weight:400;margin-top:0}}@media (min-width:1024px){.control-label{text-align:right}[role=form] .control-label,form .control-label{padding:0}.login-pf #brand img{margin:0;text-align:left}.login-pf #badge{float:right;margin-right:64px;margin-top:50px}.login-pf .container{bottom:13%;padding-left:80px;position:absolute;width:100%}.login-pf .container .login-area{border-right:1px solid #474747}.login-pf .container .details{padding-left:40px}.login-pf .container .details p:first-child{border-top:0;padding-top:0;margin-top:0}}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@keyframes rotation{from{transform:rotate(0)}to{transform:rotate(359deg)}}@supports (display:grid){[class*=col-]{padding:0}.col-sm-12{padding:3rem 3rem 0}.row{display:flex;flex-flow:column;margin:0}body.login-pf{color:#151515;display:grid;grid-template-areas:\"alert\" \"login\" \"logo\";grid-template-columns:1fr;grid-template-rows:minmax(min-content,max-content);background-position:0 0!important;height:100vh;grid-gap:0 4rem;padding:0}.login-pf .container .details p:first-child{border-top:0;padding-top:0;margin-top:0}.container>.row>.col-sm-12{order:inherit;position:static;text-align:left}.login-button{width:100%}.login-pf .container{position:static;background:#fff;color:#333;grid-area:login;margin:0;padding:0}.login-pf #badge{grid-area:logo;margin:0!important}.login-pf .container .login-area{border:none;width:auto;padding:0 3rem 1.5rem}.login-pf .container .details{padding:1.5rem 3rem;width:auto!important;background:#ededed}.login-pf #brand{font-size:1.75rem;line-height:1.3;padding:0 0 2rem;position:static;text-transform:initial}.unsupported-browser a,a{color:#06c}.unsupported-browser a:focus,.unsupported-browser a:hover,a:focus,a:hover{color:#004080}.caret polygon{fill:#06c}[role=form] .col-md-10,form .col-md-10{display:flex}.cross{right:0}@media (max-width:1023px){body.login-pf{justify-items:center;grid-gap:.5rem}#badge{background-position:center}}@media (min-width:1024px){.container::before{background:rgba(0,0,0,.3);content:\"\";position:absolute;height:100%;width:370px;top:0;left:0;z-index:-1}body.login-pf{grid-template-areas:\". alert alert .\" \". . . .\" \". login logo .\" \". . . . \";grid-template-rows:auto 1fr minmax(min-content,max-content) 1fr;grid-template-columns:minmax(0,2.125rem) 35rem 1fr minmax(0,2.125rem)}}body.login-pf.brand-unsupported-browser{grid-template-columns:auto 1fr;grid-template-rows:auto}.unsupported-browser{padding:2rem;margin:0;font-size:inherit}.unsupported-browser ul{color:#555;margin:0 0 2rem}.login-browser-recommendations{margin:0;display:flex;justify-content:space-around}}.dialog-error{grid-area:alert;margin:0}#banner-message{white-space:pre-wrap;max-height:12em;overflow:auto;padding:1.5em 1em;margin:0}\n/*# sourceMappingURL=login.min.css.map */ </style>\n <link href=\"cockpit/static/branding.css\" type=\"text/css\" rel=\"stylesheet\">\n </head>\n <body class=\"login-pf\">\n <div id=\"banner\" class=\"pf-c-alert pf-m-info pf-m-inline dialog-error group-hidden\" aria-label=\"inline danger alert\">\n <svg fill=\"currentColor\" viewBox=\"0 0 448 512\" aria-hidden=\"true\"><path d=\"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"/></svg>\n <pre id=\"banner-message\" class=\"pf-c-alert__title\"></pre>\n </div>\n\n <span id=\"badge\">\n </span>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <div id=\"brand\" class=\"hide-before\">\n </div><!--/#brand-->\n </div><!--/.col-*-->\n\n <div id=\"login\" class=\"login-area\" style=\"visibility: hidden;\">\n <div role=\"form\">\n\n <div id=\"error-group\" class=\"pf-c-alert pf-m-danger pf-m-inline dialog-error group-hidden\" aria-label=\"inline danger alert\">\n <svg fill=\"currentColor\" viewBox=\"0 0 512 512\" aria-hidden=\"true\"><path d=\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"/></svg>\n <h4 id=\"login-error-message\" class=\"pf-c-alert__title\"></h4>\n </div>\n\n <div id=\"info-group\" class=\"pf-c-alert pf-m-info pf-m-inline dialog-error group-hidden\" aria-label=\"inline danger alert\">\n <svg fill=\"currentColor\" viewBox=\"0 0 512 512\" aria-hidden=\"true\"><path d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"/></svg>\n <h4 id=\"login-info-message\" class=\"pf-c-alert__title\"></h4>\n </div>\n\n <div id=\"conversation-group\" class=\"form-group\" hidden>\n <div id=\"conversation-message\"></div>\n <label id=\"conversation-prompt\" for=\"conversation-input\"></label>\n <input type=\"password\" class=\"form-control\" id=\"conversation-input\">\n </div>\n\n <div id=\"user-group\" class=\"form-group\">\n <label for=\"login-user-input\" class=\"control-label\" translate>User name</label>\n <input type=\"text\" class=\"form-control\" id=\"login-user-input\" autocorrect=\"off\" autocapitalize=\"none\" autofocus>\n </div>\n\n <div id=\"password-group\" class=\"form-group\">\n <label for=\"login-password-input\" class=\"control-label\" translate>Password</label>\n <input type=\"password\" class=\"form-control\" id=\"login-password-input\">\n <div class=\"checkbox-row\">\n <input type=\"checkbox\" class=\"form-control\" id=\"authorized-input\">\n <label for=\"authorized-input\" class=\"checkbox\" translate>Reuse my password for remote connections</label>\n </div>\n </div>\n\n <div id=\"option-group\">\n <i id=\"option-caret\" class=\"caret caret-right\" aria-hidden=\"true\">\n <svg height=\"16\" width=\"16\" viewBox=\"0 0 16 16\">\n <polygon fill=\"#ffffff\" points=\"4,0 4,14 12,7\">\n </polygon>\n </svg>\n </i>\n <a href=\"#\" id=\"show-other-login-options\" translate>Other Options</a>\n </div>\n\n <div id=\"server-group\" class=\"form-group\" hidden>\n <label title=\"Log in to another system. Leave blank to log in to the local system.\" for=\"server-field\" class=\"control-label\" translate>Connect to</label>\n <div class=\"server-box\">\n <input type=\"text\" class=\"form-control\" id=\"server-field\">\n <span class=\"cross\" id=\"server-clear\" aria-hidden=\"true\">❌</span>\n </div>\n </div>\n\n <div class=\"form-group\">\n <button class=\"pc-c-button pf-m-primary login-button\" id=\"login-button\" type=\"submit\">\n <span class=\"spinner\"></span>\n <span id=\"login-button-text\" translate>Log In</span>\n </button>\n </div>\n </div>\n </div><!--/.col-*-->\n\n <div class=\"details\" id=\"login-details\">\n <p>\n <label class=\"control-label\"><span translate>Server</span>: <b id=\"server-name\"></b></label>\n </p>\n <p id=\"login-note\" class=\"login-note\"></p>\n </div><!--/.col-*-->\n\n <div class=\"\" id=\"login-wait-validating\" hidden>\n <div class=\"col-sm-4\">\n <span class=\"help-block\" translate>Validating authentication token</span>\n </div>\n <div class=\"col-sm-1\">\n <div class=\"spinner col-xs-15\">\n </div>\n </div>\n </div>\n\n <div class=\"col-sm-12\" id=\"login-fatal\" hidden>\n <span id=\"login-fatal-message\"></span>\n <a id=\"login-again\" translate hidden>Try Again</a>\n </div>\n\n <div class=\"unsupported-browser col-sm-12\" id=\"unsupported-browser\" hidden>\n <h2 class=\"unsupported-browser-heading\" translate>A modern browser is required for security, reliability, and performance.</h2>\n <div class=\"login-browser-recommendations\">\n <div class=\"col-sm-6\">\n <h3 translate>Download a new browser for free</h3>\n <ul>\n <li><a href=\"https://firefox.com/\">Mozilla Firefox</a> / Linux, Windows, macOS</li>\n <li><a href=\"https://google.com/chrome\">Google Chrome</a> / Linux, Windows, macOS</li>\n </ul>\n </div>\n <div class=\"col-sm-6\">\n <h3 translate>Or use a bundled browser</h3>\n <ul>\n <li><a href=\"https://microsoftedge.com/\">Microsoft Edge</a> / Windows 10+</li>\n <li><a href=\"https://apple.com/safari/\">Apple Safari</a> / macOS</li>\n </ul>\n </div>\n </div>\n </div>\n\n </div><!--/.row-->\n </div><!--/.container-->\n </body>\n</html>\n",
"body_murmur": 596610549,
"body_sha256": "eede07a6b54d6f963607da63803a41b041830a8192a4ac3dd8f7539f43ca8129",
"content_length": -1,
"headers": {
"cache_control": [
"no-cache, no-store"
],
"content_security_policy": [
"connect-src 'self' https://38.146.70.5:9090 wss://38.146.70.5:9090; form-action 'self' https://38.146.70.5:9090; base-uri 'self' https://38.146.70.5:9090; object-src 'none'; font-src 'self' https://38.146.70.5:9090 data:; img-src 'self' https://38.146.70.5:9090 data:; block-all-mixed-content; default-src 'self' https://38.146.70.5:9090 'unsafe-inline'"
],
"content_type": [
"text/html"
],
"set_cookie": [
"cockpit=deleted; PATH=/; Secure; HttpOnly"
],
"unknown": [
{
"key": "referrer_policy",
"value": [
"no-referrer"
]
},
{
"key": "cross_origin_resource_policy",
"value": [
"same-origin"
]
},
{
"key": "x_dns_prefetch_control",
"value": [
"off"
]
}
],
"x_content_type_options": [
"nosniff"
]
},
"protocol": "HTTP/1.1",
"redirects": [
{
"body": "<html><head><title>Moved</title></head><body>Please use TLS</body></html>",
"body_murmur": -1988981882,
"body_sha256": "a5d4ed38a4f50d79a337c756e551e3b02f77e302e6b4697b76d92a020b7d05c8",
"content_length": 73,
"headers": {
"content_length": [
"73"
],
"content_type": [
"text/html"
],
"location": [
"https://38.146.70.5:9090/"
],
"unknown": [
{
"key": "x_dns_prefetch_control",
"value": [
"off"
]
},
{
"key": "referrer_policy",
"value": [
"no-referrer"
]
},
{
"key": "cross_origin_resource_policy",
"value": [
"same-origin"
]
}
],
"x_content_type_options": [
"nosniff"
]
},
"location": "https://38.146.70.5:9090/",
"protocol": "HTTP/1.1",
"status_code": 301,
"status_line": "301 Moved Permanently"
}
],
"request": {
"headers": {
"accept": [
"*/*"
],
"referer": [
"http://38.146.70.5:9090"
],
"user_agent": [
"Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)"
]
},
"method": "GET",
"url": {
"host": "38.146.70.5:9090",
"path": "/",
"scheme": "https"
}
},
"status_code": 200,
"title": "Loading...",
"transfer_encoding": [
"chunked"
]
}
[]