79 lines
2.5 KiB
HTML
79 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
|
|
|
|
<title>Cloudron - Not Found</title>
|
|
<meta name="description" content="Cloudron - Not Found">
|
|
|
|
<!-- Use static style as we can't include local stylesheets -->
|
|
<style>
|
|
|
|
html {
|
|
height: 100%;
|
|
width: 100%;
|
|
padding: 0;
|
|
}
|
|
|
|
body {
|
|
background-color: white;
|
|
padding: 0;
|
|
margin: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
text-align: center;
|
|
font-family: "Noto Sans", Helvetica, Arial, sans-serif;
|
|
font-size: 13px;
|
|
line-height: 1.846;
|
|
}
|
|
|
|
.content {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
}
|
|
|
|
a {
|
|
color: #2196f3;
|
|
text-decoration: none;
|
|
background-color: transparent;
|
|
}
|
|
|
|
a:hover {
|
|
color: #0a6ebd;
|
|
text-decoration: underline;
|
|
}
|
|
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
window.addEventListener('load', (event) => {
|
|
// https://stackoverflow.com/questions/37437890/check-if-url-has-domain-name-and-not-an-ip
|
|
const containsLetter = /[a-zA-z]/.test(window.location.hostname); // ignore technicality that IP can contain letters ! http://192.168.0x1.0x1 or http://0xc0.0xa8.1.1
|
|
const isIPv6 = location.hostname.startsWith('[') && location.hostname.endsWith(']');
|
|
|
|
let message;
|
|
if (!containsLetter || isIPv6) { // ipv4 or ipv6
|
|
message = 'You cannot view Cloudron dashboard by IP address. Instead, navigate to the domain you configured during setup i.e <b>https://my.domain.example</b> .'
|
|
+ '<br>If you do not remember your domain, SSH into your server and run <code>cloudron-support --owner-login</code> .'
|
|
} else { // hostname
|
|
message = 'You are seeing this page because the DNS record of <b>' + window.location.hostname + '</b> is set to this server\'s IP'
|
|
+ ' but Cloudron has no app configured for this domain.';
|
|
}
|
|
document.getElementById('message').innerHTML = message;
|
|
});
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="content">
|
|
<p id="message"></p>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|