adding tenno
This commit is contained in:
parent
476637c576
commit
7c82395b47
9 changed files with 366 additions and 0 deletions
21
doc/07_tenno-nz.txt
Normal file
21
doc/07_tenno-nz.txt
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
cp tenno.nz.conf.bootstrap \
|
||||
/etc/nginx/sites-available/tenno.nz.conf
|
||||
|
||||
cd /etc/nginx/sites-enabled
|
||||
ln -s /etc/nginx/sites-available/tenno.nz.conf 07tenno.nz.conf
|
||||
cd -
|
||||
|
||||
nginx -t
|
||||
systemctl restart nginx
|
||||
|
||||
certbot --nginx \
|
||||
-d tenno.nz,www.tenno.nz \
|
||||
--agree-tos -m "hostmaster@tenno.nz" --no-eff-email \
|
||||
--deploy-hook "systemctl reload nginx"
|
||||
|
||||
cp tenno.nz.conf /etc/nginx/sites-available/tenno.nz.conf
|
||||
|
||||
nginx -t
|
||||
systemctl restart nginx
|
||||
|
||||
101
etc/nginx/sites-available/tenno.nz.conf
Normal file
101
etc/nginx/sites-available/tenno.nz.conf
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
# tenno.nz
|
||||
# www.tenno.nz
|
||||
|
||||
server {
|
||||
server_name tenno.nz;
|
||||
root /var/xyzzy/html/tenno;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
|
||||
listen [::]:443 ssl; # managed by Certbot
|
||||
listen 443 ssl; # managed by Certbot
|
||||
ssl_certificate /etc/letsencrypt/live/tenno.nz/fullchain.pem; # managed by Certbot
|
||||
ssl_certificate_key /etc/letsencrypt/live/tenno.nz/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
# https://ssl-config.mozilla.org/
|
||||
add_header Strict-Transport-Security "max-age=15724800" always;
|
||||
|
||||
# OCSP stapling
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
ssl_trusted_certificate /etc/letsencrypt/live/tenno.nz/chain.pem;
|
||||
resolver 9.9.9.9 8.8.8.8 1.1.1.1;
|
||||
resolver_timeout 5s;
|
||||
|
||||
# https://observatory.mozilla.org
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
add_header X-Content-Type-Options "nosniff";
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header Referrer-Policy "strict-origin-when-cross-origin";
|
||||
add_header Content-Security-Policy "default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self';";
|
||||
}
|
||||
|
||||
server {
|
||||
server_name www.tenno.nz;
|
||||
root /var/xyzzy/html/tenno;
|
||||
index index.html;
|
||||
|
||||
location ~ /\.well-known {
|
||||
allow all;
|
||||
}
|
||||
|
||||
location ~ / {
|
||||
return 301 $scheme://tenno.nz$request_uri;
|
||||
}
|
||||
|
||||
listen [::]:443 ssl; # managed by Certbot
|
||||
listen 443 ssl; # managed by Certbot
|
||||
ssl_certificate /etc/letsencrypt/live/tenno.nz/fullchain.pem; # managed by Certbot
|
||||
ssl_certificate_key /etc/letsencrypt/live/tenno.nz/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
# https://ssl-config.mozilla.org/
|
||||
add_header Strict-Transport-Security "max-age=15724800" always;
|
||||
|
||||
# OCSP stapling
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
ssl_trusted_certificate /etc/letsencrypt/live/tenno.nz/chain.pem;
|
||||
resolver 9.9.9.9 8.8.8.8 1.1.1.1;
|
||||
resolver_timeout 5s;
|
||||
|
||||
# https://observatory.mozilla.org
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
add_header X-Content-Type-Options "nosniff";
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header Referrer-Policy "strict-origin-when-cross-origin";
|
||||
add_header Content-Security-Policy "default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self';";
|
||||
}
|
||||
|
||||
server {
|
||||
if ($host = tenno.nz) {
|
||||
return 301 https://$host$request_uri;
|
||||
} # managed by Certbot
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name tenno.nz;
|
||||
root /var/xyzzy/html/tenno;
|
||||
index index.html;
|
||||
return 404; # managed by Certbot
|
||||
}
|
||||
|
||||
server {
|
||||
if ($host = www.tenno.nz) {
|
||||
return 301 https://$host$request_uri;
|
||||
} # managed by Certbot
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name www.tenno.nz;
|
||||
root /var/xyzzy/html/tenno;
|
||||
index index.html;
|
||||
return 404; # managed by Certbot
|
||||
}
|
||||
|
||||
30
etc/nginx/sites-available/tenno.nz.conf.bootstrap
Normal file
30
etc/nginx/sites-available/tenno.nz.conf.bootstrap
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# tenno.nz
|
||||
# www.tenno.nz
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name tenno.nz;
|
||||
root /var/xyzzy/html/tenno;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name www.tenno.nz;
|
||||
root /var/xyzzy/html/tenno;
|
||||
index index.html;
|
||||
|
||||
location ~ /\.well-known {
|
||||
allow all;
|
||||
}
|
||||
|
||||
location ~ / {
|
||||
return 301 $scheme://tenno.nz$request_uri;
|
||||
}
|
||||
}
|
||||
1
html/tenno/.well-known/security.txt
Normal file
1
html/tenno/.well-known/security.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Contact: https://tenno.nz
|
||||
BIN
html/tenno/favicon.png
Normal file
BIN
html/tenno/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
4
html/tenno/favicon.svg
Normal file
4
html/tenno/favicon.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg width="800px" height="800px" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--twemoji" preserveAspectRatio="xMidYMid meet">
|
||||
<path fill="#929ab6" d="M15.676 11.203h-3.38c-1.488 0-2.108-1.085-2.108-2.139c0-1.085.775-2.14 2.108-2.14h11.411c1.332 0 2.108 1.054 2.108 2.14c0 1.054-.619 2.139-2.108 2.139h-3.381v15.565c0 1.551-.992 2.418-2.325 2.418c-1.333 0-2.325-.867-2.325-2.418V11.203z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 547 B |
160
html/tenno/index.css
Normal file
160
html/tenno/index.css
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
:root {
|
||||
--nord:#1e252f;
|
||||
--snow:#ccd2dc;
|
||||
--one:#b8c0e0;
|
||||
--two:#a5adcb;
|
||||
--three:#929ab6;
|
||||
--four:#7f87a1;
|
||||
--five:#6c748c;
|
||||
--six:#596177;
|
||||
--seven:#464e62;
|
||||
--eight:#333b4d;
|
||||
--nine:#202838;
|
||||
--ten:#0d1523;
|
||||
--code:#1e2030;
|
||||
--grey:#757575;
|
||||
}
|
||||
header,section {
|
||||
display:block;
|
||||
}
|
||||
body {
|
||||
font-size:16px;
|
||||
margin:0 auto;
|
||||
line-height:1.4;
|
||||
background:var(--nord);
|
||||
color:var(--two);
|
||||
font-family:"Noto Sans", Futura, Verdana, "Liberation Sans", sans-serif;
|
||||
}
|
||||
a {
|
||||
color:var(--two);
|
||||
text-decoration:none;
|
||||
}
|
||||
a:hover {
|
||||
color:var(--snow);
|
||||
text-decoration:underline;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color:var(--snow);
|
||||
}
|
||||
a code {
|
||||
box-shadow:0 -1px 0 var(--one) inset;
|
||||
}
|
||||
pre, code {
|
||||
display:block;
|
||||
margin:auto 0;
|
||||
padding:5px;
|
||||
overflow-x:auto;
|
||||
word-break:break-all;
|
||||
background:var(--code);
|
||||
}
|
||||
blockquote {
|
||||
margin:15px;
|
||||
padding:0 10px;
|
||||
border-inline-start:3px solid var(--three);
|
||||
}
|
||||
hr {
|
||||
background:var(--three);
|
||||
}
|
||||
::selection {
|
||||
color:var(--nord);
|
||||
background:var(--one);
|
||||
}
|
||||
h1 {
|
||||
font-size:2em;
|
||||
margin:.67em 0;
|
||||
}
|
||||
#page {
|
||||
position:relative;
|
||||
}
|
||||
#header {
|
||||
padding-top:30px;
|
||||
transform:translate3d(0,0,0);
|
||||
}
|
||||
.title-wrapper {
|
||||
text-align:center;
|
||||
}
|
||||
.content {
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
padding:1px 20px;
|
||||
position:relative;
|
||||
z-index:2;
|
||||
min-width:270px;
|
||||
}
|
||||
.title {
|
||||
font-size:42px;
|
||||
line-height:1.2;
|
||||
margin:40px 0 0;
|
||||
word-wrap:break-word;
|
||||
}
|
||||
.title a:active {
|
||||
transform:translateY(1px);
|
||||
}
|
||||
.title a {
|
||||
display:block;
|
||||
text-decoration:none;
|
||||
}
|
||||
.description {
|
||||
color:var(--four);
|
||||
margin:20px 0 0;
|
||||
display:block;
|
||||
}
|
||||
.title + .description {
|
||||
margin-top:10px !important;
|
||||
}
|
||||
.footdesc {
|
||||
color:var(--six);
|
||||
margin:20px 0 0;
|
||||
display:block;
|
||||
font-size:14px;
|
||||
}
|
||||
.footdesc a {
|
||||
color:var(--six);
|
||||
}
|
||||
.footdesc a:hover {
|
||||
color:var(--four);
|
||||
}
|
||||
.footlink {
|
||||
text-align:center;
|
||||
}
|
||||
.middle {
|
||||
overflow:auto;
|
||||
margin:auto;
|
||||
display:inline;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
.valign {
|
||||
vertical-align:middle;
|
||||
}
|
||||
.divTable {
|
||||
font-size:16px;
|
||||
line-height:2.0;
|
||||
display:table;
|
||||
margin:auto;
|
||||
border:1px solid var(--seven);
|
||||
}
|
||||
.divTableRow {
|
||||
display:table-row;
|
||||
}
|
||||
.divTableHeading {
|
||||
display:table-header-group;
|
||||
}
|
||||
.divTableCell, .divTableHead {
|
||||
vertical-align:middle;
|
||||
display:table-cell;
|
||||
padding:5px 10px;
|
||||
border:1px solid var(--seven);
|
||||
}
|
||||
.divTableHeading {
|
||||
display:table-header-group;
|
||||
font-weight:bold;
|
||||
}
|
||||
.divTableFoot {
|
||||
display:table-footer-group;
|
||||
font-weight:bold;
|
||||
}
|
||||
.divTableBody {
|
||||
display:table-row-group;
|
||||
}
|
||||
|
||||
41
html/tenno/index.html
Normal file
41
html/tenno/index.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>tenno</title>
|
||||
<meta name="description" content="tenno">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" media="screen" href="index.css">
|
||||
<link rel="icon" href="favicon.svg" type="image/svg+xml">
|
||||
<link rel="alternate icon" href="favicon.png" type="image/png">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<header id="header">
|
||||
<div class="title-wrapper content">
|
||||
<div class="title-group">
|
||||
<h1 class="title">tenno</h1>
|
||||
<span class="description">
|
||||
<em>a personal domain</em>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main">
|
||||
<div class="content middle">
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer id="footer">
|
||||
<div class="content middle">
|
||||
<span class="footdesc">[ xyzzy ]</span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
8
html/tenno/robots.txt
Normal file
8
html/tenno/robots.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
User-Agent: *
|
||||
|
||||
# credit: jonty, asimov
|
||||
Disallow: /harming/humans
|
||||
Disallow: /ignoring/human/orders
|
||||
Disallow: /harm/to/self
|
||||
|
||||
Allow: /
|
||||
Loading…
Add table
Add a link
Reference in a new issue