Compare commits

..

No commits in common. "develop" and "main" have entirely different histories.

13 changed files with 41 additions and 327 deletions

View File

@ -9,7 +9,7 @@ on:
- '*' - '*'
jobs: jobs:
Build_Master_ARM: Build Master:
runs-on: [ubuntu-latest, arm] runs-on: [ubuntu-latest, arm]
steps: steps:
- name: Checkout - name: Checkout
@ -40,43 +40,6 @@ jobs:
fi fi
docker build -t hnshosting-master:$tag_num .
docker tag hnshosting-master:$tag_num git.woodburn.au/nathanwoodburn/hnshosting-master:$tag_num-arm
docker push git.woodburn.au/nathanwoodburn/hnshosting-master:$tag_num-arm
docker tag hnshosting-master:$tag_num git.woodburn.au/nathanwoodburn/hnshosting-master:$tag-arm
docker push git.woodburn.au/nathanwoodburn/hnshosting-master:$tag-arm
Build_Master_AMD:
runs-on: [ubuntu-latest, amd]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Docker
run : |
apt-get install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce-cli -y
- name: Build Docker image
run : |
cd master
echo "${{ secrets.DOCKERGIT_TOKEN }}" | docker login git.woodburn.au -u nathanwoodburn --password-stdin
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}"
tag=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
tag=${tag//\//-}
tag_num=${GITHUB_RUN_NUMBER}
echo "tag_num=$tag_num"
if [[ "$tag" == "main" ]]; then
tag="latest"
else
tag_num="${tag}-${tag_num}"
fi
docker build -t hnshosting-master:$tag_num . docker build -t hnshosting-master:$tag_num .
docker tag hnshosting-master:$tag_num git.woodburn.au/nathanwoodburn/hnshosting-master:$tag_num docker tag hnshosting-master:$tag_num git.woodburn.au/nathanwoodburn/hnshosting-master:$tag_num
docker push git.woodburn.au/nathanwoodburn/hnshosting-master:$tag_num docker push git.woodburn.au/nathanwoodburn/hnshosting-master:$tag_num
@ -85,41 +48,10 @@ jobs:
Build_Bot_ARM:
runs-on: [ubuntu-latest, arm]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Docker
run : |
apt-get install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce-cli -y
- name: Build Docker image
run : |
cd discord-bot
echo "${{ secrets.DOCKERGIT_TOKEN }}" | docker login git.woodburn.au -u nathanwoodburn --password-stdin
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}"
tag=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
tag=${tag//\//-}
tag_num=${GITHUB_RUN_NUMBER}
if [[ "$tag" == "main" ]]; then
tag="latest"
else
tag_num="${tag}-${tag_num}"
fi
docker build -t hnshosting-bot:$tag_num .
docker tag hnshosting-bot:$tag_num git.woodburn.au/nathanwoodburn/hnshosting-bot:$tag_num-arm Build Bot:
docker push git.woodburn.au/nathanwoodburn/hnshosting-bot:$tag_num-arm runs-on: [ubuntu-latest, arm]
docker tag hnshosting-bot:$tag_num git.woodburn.au/nathanwoodburn/hnshosting-bot:$tag-arm
docker push git.woodburn.au/nathanwoodburn/hnshosting-bot:$tag-arm
Build_Bot_AMD:
runs-on: [ubuntu-latest, amd]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2

View File

@ -104,10 +104,7 @@ async def createsite(ctx, domain: str, licence: str = None):
r = requests.get(f"http://{Master_IP}:{Master_Port}/site-info?domain={domain}") r = requests.get(f"http://{Master_IP}:{Master_Port}/site-info?domain={domain}")
json = r.json() json = r.json()
if json['success'] == "true": if json['success'] == "true":
if json['ip'] == '143.42.45.236': await ctx.user.send(f"Site https://{domain} is ready!\nHere is the site info for {json['domain']}\nA: `{json['ip']}`\nTLSA: `{json['tlsa']}`\nMake sure you put the TLSA in either `_443._tcp.{domain}` or `*.{domain}`")
await ctx.user.send(f"Site https://{domain} is ready!\nHere is the site info for {json['domain']}\nALIAS: `01.hnshosting.au`\nTLSA: `{json['tlsa']}`\nMake sure you put the TLSA in either `_443._tcp.{domain}` or `*.{domain}`")
else:
await ctx.user.send(f"Site https://{domain} is ready!\nHere is the site info for {json['domain']}\nA: `{json['ip']}`\nTLSA: `{json['tlsa']}`\nMake sure you put the TLSA in either `_443._tcp.{domain}` or `*.{domain}`")
else: else:
await ctx.user.send(f"Error getting site info\n" + json['error']) await ctx.user.send(f"Error getting site info\n" + json['error'])

View File

@ -699,13 +699,6 @@ def addsite():
return jsonify({'error': 'Domain should not contain http:// or https://', 'success': 'false'}) return jsonify({'error': 'Domain should not contain http:// or https://', 'success': 'false'})
domain = domain.lower() domain = domain.lower()
# Remove any trailing / or .
if domain.endswith('/'):
domain = domain.removesuffix('/')
if domain.endswith('.'):
domain = domain.removesuffix('.')
# Check if worker file exists # Check if worker file exists
workers = None workers = None
try: try:
@ -850,15 +843,6 @@ def send_report(path):
return send_from_directory('templates/assets', path) return send_from_directory('templates/assets', path)
@app.route('/terms')
def terms():
return render_template('terms.html')
# 404 route
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
# Start the server # Start the server

View File

@ -1,32 +0,0 @@
<!DOCTYPE html>
<html data-bs-theme="dark" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>HNSHosting WP</title>
<link rel="canonical" href="https://wp.hnshosting.au/404.html">
<meta property="og:url" content="https://wp.hnshosting.au/404.html">
<meta name="description" content="HNS Hosting Wordpress">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap">
<link rel="stylesheet" href="assets/css/404.css">
<script async src="https://umami.woodburn.au/script.js" data-website-id="fc32daf3-6932-44ee-bbee-f853ce85d5f5"></script>
</head>
<body>
<p>HTTP:&nbsp;<span>404</span></p>
<div class="text-center">
<div class="text-start" style="display: inline-block;"><code><em>this_page</em>.<em>found</em>&nbsp;= false;</code><code><span>if</span>&nbsp;(<b>you_spelt_it_wrong</b>(<em>this_page</em>)) {<br><span class="tab-space"></span><b>try_again</b>();<br>}&nbsp;<span>else if</span> (!<em>this_page</em>.<b>content</b>) {<br><span class="tab-space"></span><b>you_spelt_it_wrong</b>('<i>You're lost! I'll send you back home</i>');<br><span class="tab-space"></span><span>window</span>.<b>location</b>&nbsp;= <em>home</em>;<br>}</code></div>
</div>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/js/404.js"></script>
<script src="assets/js/bold-and-dark.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,79 +0,0 @@
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
body {
background: #282828;
overflow-y: auto;
}
p {
font-family: "Bevan", cursive;
font-size: 130px;
margin: 10vh 0 0;
text-align: center;
overflow-y: auto;
letter-spacing: 5px;
/*background-color: black;*/
color: black;
text-shadow: 2px 2px 3px rgba(255, 255, 255, 0.1);
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
}
p span {
font-size: 1.2em;
}
code {
color: #bdbdbd;
text-align: left;
display: block;
overflow-y: auto;
font-size: 16px;
margin: 0 30px 25px;
}
code span {
color: #f0c674;
}
code i {
color: #b5bd68;
}
code em {
color: #b294bb;
font-style: unset;
}
code b {
color: #81a2be;
font-weight: 500;
overflow-y: auto;
}
a {
color: #8abeb7;
font-family: monospace;
font-size: 20px;
text-decoration: underline;
overflow-y: auto;
margin-top: 10px;
display: inline-block;
}
@media screen and (max-width: 880px) {
p {
font-size: 14vw;
overflow-y: auto;
}
}
.tab-space {
margin-left: 2em;
}

View File

@ -1,30 +0,0 @@
function callback(){
return function(){
alert("We're really sorry about that.");
window.location = '/';
}
}
var a = "world";
setTimeout(callback(), 7000);
function type(n, t) {
var str = document.getElementsByTagName("code")[n].innerHTML.toString();
var i = 0;
document.getElementsByTagName("code")[n].innerHTML = "";
setTimeout(function() {
var se = setInterval(function() {
i++;
document.getElementsByTagName("code")[n].innerHTML =
str.slice(0, i) + "|";
if (i == str.length) {
clearInterval(se);
document.getElementsByTagName("code")[n].innerHTML = str;
}
}, 10);
}, t);
}
type(0, 0);
type(1, 600);
type(2, 1300);

View File

@ -1,10 +1,12 @@
// Refresh page without status arg // Wait for 10 seconds
// Wait 10 seconds
setTimeout(function() { setTimeout(function() {
// Refresh page // Get the 'domain' parameter from the current URL
// Get domain from param var urlParams = new URLSearchParams(window.location.search);
var domain = urlParams.get('domain'); var domain = urlParams.get('domain');
window.location = "https://hnshosting.au/success?domain=" + domain; // Construct the new URL with the 'domain' parameter
var newURL = "https://hnshosting.au/info?domain=" + domain;
// Redirect to the new URL
window.location.href = newURL;
}, 10000); }, 10000);

View File

@ -23,7 +23,6 @@
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png"> <link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap">
<script async src="https://umami.woodburn.au/script.js" data-website-id="fc32daf3-6932-44ee-bbee-f853ce85d5f5"></script>
</head> </head>
<body> <body>
@ -33,7 +32,7 @@
<ul class="navbar-nav mx-auto"> <ul class="navbar-nav mx-auto">
<li class="nav-item"><a class="nav-link active" href="/">Home</a></li> <li class="nav-item"><a class="nav-link active" href="/">Home</a></li>
<li class="nav-item"><a class="nav-link active" href="/#contact">Contact</a></li> <li class="nav-item"><a class="nav-link active" href="/#contact">Contact</a></li>
<li class="nav-item"><a class="nav-link" href="/register">Register Site</a></li> <li class="nav-item"><a class="nav-link" href="register">Register Site</a></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -43,10 +42,10 @@
<div class="row pt-5"> <div class="row pt-5">
<div class="col-md-8 col-xl-6 text-center text-md-start mx-auto"> <div class="col-md-8 col-xl-6 text-center text-md-start mx-auto">
<div class="text-center"> <div class="text-center">
<h1 class="fw-bold">A simple and easy way to actually use your domain.</h1> <h1 class="fw-bold">The best solution for your Handshake domain</h1>
</div> </div>
<p class="text-center" style="padding-bottom: 50px;padding-top: 25px;">Wordpress allows you to have an easily customizable website on your Handshake domain.</p> <p class="text-center" style="padding-bottom: 50px;padding-top: 25px;">Wordpress allows you to have an easily customizable website on your Handshake domain.</p>
<p class="text-center" style="font-size: 22px;">Currently hosting {{site_count}} wordpress sites!</p> <p class="text-center" style="font-size: 22px;">Currently hosting {{site_count}} sites!</p>
</div> </div>
</div> </div>
</div> </div>
@ -65,7 +64,7 @@
<div class="card shadow-sm"> <div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5"> <div class="card-body px-4 py-5 px-md-5">
<div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-shield-lock text-success"> <div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-shield-lock text-success">
<path d="M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56"></path> <path d="M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z"></path>
<path d="M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415z"></path> <path d="M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415z"></path>
</svg></div> </svg></div>
<h5 class="fw-bold card-title">Secured over SSL with DANE</h5> <h5 class="fw-bold card-title">Secured over SSL with DANE</h5>
@ -77,8 +76,8 @@
<div class="card shadow-sm"> <div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5"> <div class="card-body px-4 py-5 px-md-5">
<div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-building-lock text-success"> <div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-building-lock text-success">
<path d="M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1z"></path> <path d="M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z"></path>
<path d="M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1"></path> <path d="M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z"></path>
</svg></div> </svg></div>
<h5 class="fw-bold card-title">Hosted with security in mind</h5> <h5 class="fw-bold card-title">Hosted with security in mind</h5>
<p class="text-muted card-text mb-4">The worker servers are fully secured so that the only access is HTTP for web traffic.<br>Any terminal access for maintenance is over a VPN tunnel to stop any unauthorized access. All SSH connections send a push notification to the admin's phone to alert him to any access.</p> <p class="text-muted card-text mb-4">The worker servers are fully secured so that the only access is HTTP for web traffic.<br>Any terminal access for maintenance is over a VPN tunnel to stop any unauthorized access. All SSH connections send a push notification to the admin's phone to alert him to any access.</p>
@ -93,7 +92,7 @@
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg></div> </svg></div>
<h5 class="fw-bold card-title">Regular backups</h5> <h5 class="fw-bold card-title">Regular backups</h5>
<p class="text-muted card-text mb-4">The worker servers has weekly encrypted backups to an offsite location to allow recovery of any data if the server goes down.</p> <p class="text-muted card-text mb-4">The worker server has regular encrypted backups to an offsite location to allow recovery of any data if the server goes down.</p>
</div> </div>
</div> </div>
</div> </div>
@ -116,7 +115,7 @@
<div class="col mb-4"> <div class="col mb-4">
<div class="card bg-secondary-light"> <div class="card bg-secondary-light">
<div class="card-body text-center px-4 py-5 px-md-5"> <div class="card-body text-center px-4 py-5 px-md-5">
<p class="fw-bold text-secondary card-text mb-2">Free Licences supported by OpenSystems</p> <p class="fw-bold text-secondary card-text mb-2">Free Licences</p>
<h5 class="fw-bold card-title mb-3">We offer a free tier with 1 GB storage capacity.<br>If you would like more please contact us to find an acceptable price for you.<br>Join our Discord for a free licence</h5> <h5 class="fw-bold card-title mb-3">We offer a free tier with 1 GB storage capacity.<br>If you would like more please contact us to find an acceptable price for you.<br>Join our Discord for a free licence</h5>
</div> </div>
</div> </div>
@ -138,7 +137,7 @@
<div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100"> <div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100">
<div class="d-flex align-items-center p-3"> <div class="d-flex align-items-center p-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord"> <div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord">
<path d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612m5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612"></path> <path d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z"></path>
</svg></div> </svg></div>
<div class="px-2"> <div class="px-2">
<h6 class="fw-bold mb-0">Discord</h6> <h6 class="fw-bold mb-0">Discord</h6>
@ -147,11 +146,11 @@
</div> </div>
<div class="d-flex align-items-center p-3"> <div class="d-flex align-items-center p-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-envelope"> <div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-envelope">
<path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z"></path> <path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z"></path>
</svg></div> </svg></div>
<div class="px-2"> <div class="px-2">
<h6 class="fw-bold mb-0">Email</h6> <h6 class="fw-bold mb-0">Email</h6>
<p class="text-muted mb-0"><a href="mailto:support@hnshosting.au">support@hnshosting.au</a></p> <p class="text-muted mb-0"><a href="mailto:hosting@nathan.woodburn.au">hosting@nathan.woodburn.au</a></p>
</div> </div>
</div> </div>
</div> </div>
@ -163,7 +162,7 @@
<div class="container py-4 py-lg-5"> <div class="container py-4 py-lg-5">
<hr> <hr>
<div class="text-muted d-flex justify-content-between align-items-center pt-3"> <div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Copyright © 2023 HNSHosting</p><a href="/terms">Terms &amp; Privacy</a> <p class="mb-0">Copyright © 2023 HNSHosting</p>
</div> </div>
</div> </div>
</footer> </footer>

View File

@ -15,7 +15,6 @@
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png"> <link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap">
<script async src="https://umami.woodburn.au/script.js" data-website-id="fc32daf3-6932-44ee-bbee-f853ce85d5f5"></script>
</head> </head>
<body> <body>
@ -25,7 +24,7 @@
<ul class="navbar-nav mx-auto"> <ul class="navbar-nav mx-auto">
<li class="nav-item"><a class="nav-link" href="/">Home</a></li> <li class="nav-item"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item"><a class="nav-link" href="/#contact">Contact</a></li> <li class="nav-item"><a class="nav-link" href="/#contact">Contact</a></li>
<li class="nav-item"><a class="nav-link" href="/register">Register Site</a></li> <li class="nav-item"><a class="nav-link" href="register">Register Site</a></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -48,7 +47,7 @@
<div class="mb-3"> <div class="mb-3">
<p style="color: rgb(255,0,0);">{{ERROR_MESSAGE}}</p><button class="btn btn-primary shadow d-block w-100" type="submit">Create site</button> <p style="color: rgb(255,0,0);">{{ERROR_MESSAGE}}</p><button class="btn btn-primary shadow d-block w-100" type="submit">Create site</button>
</div> </div>
<p class="text-muted">Don't have a licence?<br><a href="{{buy_licence_link}}" target="_blank">Click here to buy one</a><br>Or thanks to the OpenSystems grant<br><a href="https://l.woodburn.au/discord" target="_blank">Register a free site here</a></p> <p class="text-muted">Don't have a licence?<br><a href="{{buy_licence_link}}" target="_blank">Click here to buy one</a></p>
</form> </form>
</div> </div>
</div> </div>
@ -60,7 +59,7 @@
<div class="container py-4 py-lg-5"> <div class="container py-4 py-lg-5">
<hr> <hr>
<div class="text-muted d-flex justify-content-between align-items-center pt-3"> <div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Copyright © 2023 HNSHosting</p><a href="/terms">Terms &amp; Privacy</a> <p class="mb-0">Copyright © 2023 HNSHosting</p>
</div> </div>
</div> </div>
</footer> </footer>

View File

@ -15,7 +15,6 @@
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png"> <link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap">
<script async src="https://umami.woodburn.au/script.js" data-website-id="fc32daf3-6932-44ee-bbee-f853ce85d5f5"></script>
</head> </head>
<body style="height: 100%;"> <body style="height: 100%;">
@ -25,7 +24,7 @@
<ul class="navbar-nav mx-auto"> <ul class="navbar-nav mx-auto">
<li class="nav-item"><a class="nav-link" href="/">Home</a></li> <li class="nav-item"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item"><a class="nav-link" href="/#contact">Contact</a></li> <li class="nav-item"><a class="nav-link" href="/#contact">Contact</a></li>
<li class="nav-item"><a class="nav-link" href="/register">Register Site</a></li> <li class="nav-item"><a class="nav-link" href="register">Register Site</a></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -36,16 +35,18 @@
<div class="col-md-8 col-xl-6 text-center text-md-start mx-auto"> <div class="col-md-8 col-xl-6 text-center text-md-start mx-auto">
<div class="text-center"> <div class="text-center">
<p class="fw-bold text-success mb-2">Success</p> <p class="fw-bold text-success mb-2">Success</p>
<h1 class="fw-bold">{{title | safe}}</h1></div><p class="text-center">{{message | safe}}</p> <h1 class="fw-bold">{{title| safe}}</h1>
</div> </div>
<p class="text-center">{{message | safe}}</p>
</div> </div>
</div> </div>
</div>
</header> </header>
<footer class="bg-dark"> <footer class="bg-dark">
<div class="container py-4 py-lg-5"> <div class="container py-4 py-lg-5">
<hr> <hr>
<div class="text-muted d-flex justify-content-between align-items-center pt-3"> <div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Copyright © 2023 HNSHosting</p><a href="/terms">Terms &amp; Privacy</a> <p class="mb-0">Copyright © 2023 HNSHosting</p>
</div> </div>
</div> </div>
</footer> </footer>

View File

@ -1,59 +0,0 @@
<!DOCTYPE html>
<html data-bs-theme="dark" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>Terms - HNSHosting</title>
<link rel="canonical" href="https://wp.hnshosting.au/terms.html">
<meta property="og:url" content="https://wp.hnshosting.au/terms.html">
<meta name="description" content="HNS Hosting Wordpress">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="508x430" href="assets/img/favicon.png">
<link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;display=swap">
<script async src="https://umami.woodburn.au/script.js" data-website-id="fc32daf3-6932-44ee-bbee-f853ce85d5f5"></script>
</head>
<body>
<nav class="navbar navbar-expand-md sticky-top py-3 navbar-dark" id="mainNav">
<div class="container"><a class="navbar-brand d-flex align-items-center" href="/"><span class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex justify-content-center align-items-center me-2 bs-icon" style="background: transparent;"><img src="assets/img/favicon.png" style="width: 100%;"></span><span>HNSHosting</span></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item"><a class="nav-link" href="/#contact">Contact</a></li>
<li class="nav-item"><a class="nav-link" href="/register">Register Site</a></li>
</ul>
</div>
</div>
</nav>
<section class="py-5">
<div class="container py-5">
<div class="row mb-4 mb-lg-5">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold text-success mb-2">Terms of Service</p>
</div>
</div>
<div class="row d-flex justify-content-center">
<div class="col">
<p>Terms of Service for HNSHosting Website Hosting<br><br>Last Updated: 17/11/23<br><br>Welcome to HNSHosting! Please carefully read the following terms before using our hosting services.<br><br>By using our website hosting services, you agree to comply with and be bound by the following terms and conditions. If you do not agree to these terms, please do not use our services.<br><br><strong>1. Acceptance of Terms:</strong><br>By accessing or using our website hosting services, you agree to these Terms of Service and all applicable laws and regulations.<br><br><strong>2. Hosting Services:</strong><br>HNSHosting provides hosting services for websites, and related content.<br><br><strong>3. Account Registration:</strong><br>To use our hosting services, you must create a Wordpress administrator account. You are responsible for maintaining the security of your account and any actions taken under your account credentials.<br><br><strong>4. Payment and Billing:</strong><br>Payment for hosting services is required in accordance with the pricing and billing terms specified on our website. Failure to pay may result in the suspension or termination of your hosting services.<br><br><strong>5. Content and Usage:</strong><br>You are solely responsible for the content hosted on your website. You agree not to host any content that violates applicable laws or infringes on the rights of others. This includes anything usually classified as <em>NSFW</em>. HNSHosting reserves the right to suspend or terminate services for any user found in violation of this provision.<br><br><strong>6. Data Security:</strong><br>We implement reasonable measures to protect the security of your data, but we cannot guarantee its absolute security. You should backup any critical data using your own backup solution.<br><br><strong>7. Uptime and Downtime:</strong><br>HNSHosting strives to provide high uptime for its hosting services. However, downtime may occur for maintenance or other reasons. We will make reasonable efforts to notify you in advance of scheduled maintenance.<br><br><strong>8. Support:</strong><br>We offer customer support for technical issues related to our hosting services. Support availability and response times may vary. We can not guarantee support for issues unrelated to our hosting services.<br><br><strong>9. Termination:</strong><br>HNSHosting reserves the right to terminate or suspend your account at any time for violation of these terms or for any other reason. You may also terminate your account by contacting us.<br><br><strong>10. Changes to Terms:</strong><br>HNSHosting reserves the right to modify these Terms of Service at any time. Any changes will be effective immediately upon posting on our website. It is your responsibility to review these terms regularly.<br><br><br>By using our hosting services, you agree to these terms. If you have any questions or concerns, please contact us.<br>Thank you for choosing HNSHosting Services!<br><br><br><br><br><br></p>
</div>
</div>
</div>
</section>
<footer class="bg-dark">
<div class="container py-4 py-lg-5">
<hr>
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Copyright © 2023 HNSHosting</p><a href="/terms">Terms &amp; Privacy</a>
</div>
</div>
</footer>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/js/bold-and-dark.js"></script>
</body>
</html>