Compare commits

...

10 Commits

Author SHA1 Message Date
3bf9e043fe
feat: Add sui
All checks were successful
Build Docker / Build Image (push) Successful in 1m19s
2024-04-25 10:51:38 +10:00
efc359459c
feat: Add nostr.json route 2024-04-21 12:34:47 +10:00
095f74773c
fix: Cleanup the ui for invalid cryptos 2024-04-19 20:23:22 +10:00
d58a6196eb
feat: Add btc lightning to crypto options 2024-04-19 20:15:10 +10:00
a24a6b599e
feat: Add near domain 2024-04-19 19:35:05 +10:00
f4409415d9
fix: Update now 2024-04-19 11:41:21 +10:00
d17b528baf
feat: Add more coins 2024-04-19 11:28:11 +10:00
7f4f589d5b
featL Add more coins and tokens and catch error with token 2024-04-16 12:56:16 +10:00
61d33381e8
feat: Add signal to socials list 2024-04-16 12:24:15 +10:00
3f1225a03a
feat: Add more donation options 2024-04-15 21:01:43 +10:00
72 changed files with 972 additions and 370 deletions

View File

@ -0,0 +1,27 @@
{
"ADA": "Cardano (ADA)",
"ATOM": "Cosmos (ATOM)",
"AVAX": "Avalanche (AVAX)",
"BNB": "Binance (BNB)",
"BTC": "Bitcoin (BTC)",
"CRO": "Crypto.com (CRO)",
"DOT": "Polkadot (DOT)",
"ETH": "Ethereum (ETH)",
"HNS": "Handshake (HNS)",
"MATIC": "Polygon (MATIC)",
"SOL": "Solana (SOL)",
"XMR": "Monero (XMR)",
"XRP": "Ripple (XRP)",
"OSMO": "Osmosis (OSMO)",
"STARS": "Stargaze (STARS)",
"INJ": "Injective (INJ)",
"LIKE": "LikeCoin (LIKE)",
"SCRT": "Secret Network (SCRT)",
"LTC": "Litecoin (LTC)",
"DOGE": "Dogecoin (DOGE)",
"ALGO": "Algorand (ALGO)",
"TON": "Toncoin (TON)",
"OP": "Optimism (OP)",
"IAA": "IRIS (IAA)",
"NEAR": "NEAR Protocol (NEAR)"
}

View File

@ -0,0 +1,32 @@
{
"ETH":"woodburn.au",
"HNS":"woodburn",
"SOL":"woodburn.sol",
"ADA": "$nathanwoodburn",
"MATIC": "woodburn.au",
"BNB": "woodburn.au",
"INJ": "woodburn.sol",
"ATOM": "woodburn_nathan.cosmos",
"OSMO": "woodburn_nathan.osmo",
"SCRT": "woodburn_nathan.secret",
"AKASH": "woodburn_nathan.akash",
"SIF": "woodburn_nathan.sif",
"SHENTU": "woodburn_nathan.shentu",
"IAA": "woodburn_nathan.iaa",
"REGEN": "woodburn_nathan.regen",
"PERSISTENCE": "woodburn_nathan.persistence",
"BOSTROM": "woodburn_nathan.bostrom",
"JUNO": "woodburn_nathan.juno",
"AXELAR": "woodburn_nathan.axelar",
"SOMM": "woodburn_nathan.somm",
"UMEE": "woodburn_nathan.umee",
"GRAVITY": "woodburn_nathan.gravity",
"STRIDE": "woodburn_nathan.stride",
"KAVA": "woodburn_nathan.kava",
"QUICK": "woodburn_nathan.quick",
"TERRA": "woodburn_nathan.terra",
"OMNIFLIX": "woodburn_nathan.omniflix",
"LIKE": "woodburn_nathan.like",
"CHIHUAHUA": "woodburn_nathan.chihuahua",
"NEAR": "woodburn.near"
}

View File

@ -0,0 +1,68 @@
[
{
"symbol": "USDT",
"name": "Tether",
"chain": "ETH"
},
{
"symbol": "USDT",
"name": "Tether",
"chain": "SOL"
},
{
"symbol": "USDC",
"name": "USDC",
"chain": "ETH"
},
{
"symbol": "USDC",
"name": "USDC",
"chain": "SOL"
},
{
"symbol": "WDBRN",
"name": "Woodburn",
"chain": "SOL"
},
{
"symbol": "DAI",
"name": "DAI Stablecoin",
"chain": "ETH"
},
{
"symbol": "RAY",
"name": "Raydium",
"chain": "SOL"
},
{
"symbol": "UNI",
"name": "Uniswap",
"chain": "ETH"
},
{
"symbol": "AAVE",
"name": "AAVE",
"chain": "ETH"
},
{
"symbol": "1INCH",
"name": "1INCH",
"chain": "ETH"
},
{
"symbol": "PSP",
"name": "ParaSwap",
"chain": "ETH"
},
{
"symbol": "CAKE",
"name": "PancakeSwap",
"chain": "BNB"
},
{
"symbol": "BTC",
"name": "Bitcoin Lightning",
"chain": "null",
"address": "hushedmercury55@walletofsatoshi.com"
}
]

1
.well-known/wallets/ADA Normal file
View File

@ -0,0 +1 @@
addr1qyudjff2lfuxjjjfz0y542drw4srxq2xxtgrq22vm8ymvwwagq028esaz4rsexct8zzsuds29e03eaykahlvhdx0k9es4gnk27

View File

@ -0,0 +1 @@
akash1ugraczuyfmxy8k38nps4fu7e5derryzxpk2n77

1
.well-known/wallets/ALGO Normal file
View File

@ -0,0 +1 @@
OUWNGLRLAN56VTNI3F4EKISPDIFIF2HMCV3OYS3DER7WXF2LCFMEV2TWPI

1
.well-known/wallets/ATOM Normal file
View File

@ -0,0 +1 @@
cosmos1ugraczuyfmxy8k38nps4fu7e5derryzxvd858y

1
.well-known/wallets/AVAX Normal file
View File

@ -0,0 +1 @@
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e

View File

@ -0,0 +1 @@
axelar1ugraczuyfmxy8k38nps4fu7e5derryzxgr3uv9

1
.well-known/wallets/BNB Normal file
View File

@ -0,0 +1 @@
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e

View File

@ -0,0 +1 @@
bostrom1ugraczuyfmxy8k38nps4fu7e5derryzx07n8er

View File

@ -0,0 +1 @@
chihuahua1ugraczuyfmxy8k38nps4fu7e5derryzx0c26xx

1
.well-known/wallets/DOGE Normal file
View File

@ -0,0 +1 @@
DCrBQ3zoy3jBWwwT95tyjBVjYFXLgKS4MC

1
.well-known/wallets/DOT Normal file
View File

@ -0,0 +1 @@
13KSjM7rxFu7SxAuqcNZ76wyjhfuV4Kx8pWfqpFAykSQeEn3

1
.well-known/wallets/EOS Normal file
View File

@ -0,0 +1 @@
nwoodburn111

View File

@ -0,0 +1 @@
gravity1ugraczuyfmxy8k38nps4fu7e5derryzxga4vzv

1
.well-known/wallets/IAA Normal file
View File

@ -0,0 +1 @@
iaa1ugraczuyfmxy8k38nps4fu7e5derryzxe08994

1
.well-known/wallets/INJ Normal file
View File

@ -0,0 +1 @@
inj1dj6t8xlvyw5jrjdzp5rphutageqtp5u7wflgv9

1
.well-known/wallets/JUNO Normal file
View File

@ -0,0 +1 @@
juno1ugraczuyfmxy8k38nps4fu7e5derryzx6ly0qc

1
.well-known/wallets/KAVA Normal file
View File

@ -0,0 +1 @@
kava1ugraczuyfmxy8k38nps4fu7e5derryzxscnf3r

1
.well-known/wallets/LIKE Normal file
View File

@ -0,0 +1 @@
like1ugraczuyfmxy8k38nps4fu7e5derryzxl3mkyl

1
.well-known/wallets/LTC Normal file
View File

@ -0,0 +1 @@
ltc1qx79yxm2gwnsrch925343hg3zt3r085x725a0tw

1
.well-known/wallets/NEAR Normal file
View File

@ -0,0 +1 @@
3b06b5e91361739aed92707e888fbbd33f97b24a8a3f8fdd54a2c7e7fd7082a3

View File

@ -0,0 +1 @@
omniflix1ugraczuyfmxy8k38nps4fu7e5derryzx3nkds6

1
.well-known/wallets/OP Normal file
View File

@ -0,0 +1 @@
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e

1
.well-known/wallets/OSMO Normal file
View File

@ -0,0 +1 @@
osmo1ugraczuyfmxy8k38nps4fu7e5derryzxyk5y3k

View File

@ -0,0 +1 @@
persistence1ugraczuyfmxy8k38nps4fu7e5derryzxzpp8fq

View File

@ -0,0 +1 @@
quick1ugraczuyfmxy8k38nps4fu7e5derryzx8fhx7k

View File

@ -0,0 +1 @@
regen1ugraczuyfmxy8k38nps4fu7e5derryzxn0vg3q

1
.well-known/wallets/SCRT Normal file
View File

@ -0,0 +1 @@
secret1ugraczuyfmxy8k38nps4fu7e5derryzxwgna6c

1
.well-known/wallets/SENT Normal file
View File

@ -0,0 +1 @@
sent1ugraczuyfmxy8k38nps4fu7e5derryzxhk3drt

View File

@ -0,0 +1 @@
shentu1ugraczuyfmxy8k38nps4fu7e5derryzxyerd4e

1
.well-known/wallets/SIF Normal file
View File

@ -0,0 +1 @@
sif1ugraczuyfmxy8k38nps4fu7e5derryzxfsgzg0

1
.well-known/wallets/SOMM Normal file
View File

@ -0,0 +1 @@
somm1ugraczuyfmxy8k38nps4fu7e5derryzxq3gckw

View File

@ -0,0 +1 @@
stars1ugraczuyfmxy8k38nps4fu7e5derryzxc3sfv4

View File

@ -0,0 +1 @@
stride1ugraczuyfmxy8k38nps4fu7e5derryzx0x8gng

1
.well-known/wallets/SUI Normal file
View File

@ -0,0 +1 @@
0x9e14ca8b9bf9661fd8a67c2c147bb1f7ea81eb38eb10938b6a9cecb54419e3b2

View File

@ -0,0 +1 @@
terra1ugraczuyfmxy8k38nps4fu7e5derryzx2fa59y

1
.well-known/wallets/TON Normal file
View File

@ -0,0 +1 @@
UQAtpYb-yOaTSA40mJRvUxKv1WVeIPi-g_4Jqn0oWYypsQIf

1
.well-known/wallets/UMEE Normal file
View File

@ -0,0 +1 @@
umee1ugraczuyfmxy8k38nps4fu7e5derryzx7m6trk

1
.well-known/wallets/XRP Normal file
View File

@ -0,0 +1 @@
rKzdnYvwDyeki5VCgMwjuofjBjAbg3DJnB

50
data/ascii.txt Normal file
View File

@ -0,0 +1,50 @@
KK00000OOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOO00000KXKKK000K0K000KKK0000OkkxxxxdddddddxxxxkOOOO
KKKKK00OkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkOOkkkkkOOO0000OOO0OOOOOkkkkOOkkkkxddddddooooooooddddddxxk
XKKKK0OOkkkxxxxxxxxxxkkkkkkkkO0OOkkkxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxddddddoooooolllllllloooooooooooo
KK00OOOkkkkkkkkkkkkkkkkkkkxxxxxxxxxxddddddookxooooooodddddddoooooodooooollllllllllllllllllllllllllll
KK000OOOOkkkkkkkkkkkkxkxxxxxxxxxxddddooooooooooooooooooooooooolloooollllllllllllllllllllllllllllllll
XKKKKK000OOOOOOOOkkkkkkkxxxxddddddddoooooooooooooooooooooooooolloollllllllllllllllllllllllllllllllll
NXXXKKKK00000KKKKK00KKK0Okkkkxxxxxdddddddddddddddoooooooooooooooooooooooooooollllllloooooooooooooooo
XXXXXXXXXXXXXXXXXKK00OOddkOK000OOOkkxxxxxxxxxxxxxxxxxxdddddddddddxxxxxxxxxxxxdxxxxxxxkkkkkkkkkOOOkkk
XXXXXXXXXXXXK0kxdlcll::codxk00kOOOOOkkkkkkkkkkkkxxkkkkkkkkkOOOO00KKKKKXXXXXXXKXXKKKKKXKKK0000OOkkkkk
NNNNNNNNXK0Oxdo:;::;,''';oO:;dOx0KKKKKKKK000NK0000000KKKKKKKKXXXXXXXXXXXXXXXXXXNXKKKKK00OOOOOOOOOO00
d0XXNNNKOkoc,,;::;'..';:,l;.',::d0KKKKKKKKKKXKKXXXXXXKKKKKK0000000OOOO000O0000K0000KKKK000000000KKKX
;lk0k0XKdc:,,,..........,.....'::o0O0KKKKKKKXXXXXXKKXXKKKK000OOOOOOOOOOOOOOOOOO000000000OOOOOOOOOOOO
',;;;ckx;'.,,..'.....  ........'cldOOKXXXXXXXXXKKKKKKKKKKXK0000000000000000KKKKKKKKKK00000000OOOOOOO
.''',cx:','........   .....,'...,:coox0000000000000000000KK0OOOOOOOOOOOOOOO000000000OOOO0OOOOOOOOOOO
....';,.......... .   ..'.'cll....':odO00000KKKKKKKKKKKKKKKKKKKKKKK000K0000000000000000000000000X0Ok
',,;,'.........' .:. ':';.llodd....''lkKKKKKKKKKKKKKKKKKKKKKKKKKKXXXKKKKKKKKKKKKKKXXXXXXXXK0Okxddood
'';cc:'...x;c;;:,::'.::;;':cldxl....;x0000000000KKKKKKKKKKKKKKXXXKKKKKKKKKKK0Okkxxxxxxxxxdoooooooooo
.'';,,;..,0o;;,'..,:;:,''.',;:od,..,o00000000KKKKKKKKKKKKK0OOkkxdddxxxkkOkxdddddddddoooooooooooooooo
....''':';Kd:;'',;;;::::,;'..;od:.ldOKKKKK000OOkkkkkkkkxxddddddddddddddddddddddooooooooooooooooollll
.......lx:X0kxxddool:cccccccllooc;lkOkxxxxddddddxdddddddddddddddddddddddddoooooooooooooooooooollllll
......'lxoK0kkkkxxOoccccclllllool;lxxddddccloodkO0000OOkdoodddxddodooodddooooooooooddddooooollllllll
....';:::okKOkkkkxocc:llllllllolodddddc,,cl,ccc:;,;:cllclooolc;:ccodxxdoooooooooddddooolllllllllllll
...'''',,';O0OOOkkxoccccllllool'l,oddc.;,'  ';:cloooddooooddddxxxdlc:::cooloddddddoolllllllllllllllc
.....''....,00Oklcoddol:,coool;lOcoo: .     ....',::'......'',;:loooooo,'c.looooooloolllllllclllcccc
.........''',x0OOkxolclllool:,ckOoc,           ......:dxo;,,'....';;;,,;....oolllllllllllllccccccccc
.',.. .,;:ll:;coOkkxdooolc;',;lkOxc..            ...c0xo'.......',,,,,'''....kollllllllllllccccccccc
.. .  ..,,,,::lc:cloolc;'.,::;okkkcc'.         ...'oKx;..''.'... ...........':kolllllllccccccocccc::
...',,,,,c;.',,:ko:.....,:ccc:odkOkxl,.         .'xOc'........'..  .        ..;xllllccccccccccccc:::
:;c;;,,,',:cccccoxdl,.';:cccccolokOk0XXxOlc''. ..co:.         ....;.          ..ccccccccccc:ccc:::::
,,,,,,';,;;;;;;::dxdo;,:cccccllccdkkOOdlx:c:oddlcll..          ...:...  ........:llllllcccccc::::::c
','''''',..'..,oxlodolc:::cccllllloxdl::;...;;:cc::,            ..;..'...... ..'clllccccccccc:c:::::
..'........,lddckx;llcc::::clcooolcccllc;....',,,'cOOxl;.        .,.',',,'.. ..cllllcccc::cc:o::::::
..'.....'okxl:;dNoolcc::::cllllllc::c::;,......'..lkKNNNNkc.      ....,,;:;;,':clccccccc::c:::::::::
'''...'ldl:,..cNOxkxoll::coloxkOOd:::cc,'....'''..:clokO0OK0l         ..'.';;c:ccccccc:::l::::::::::
.''.:kx:;'.. .Xk;:xKKkddoddkOOOxl:::cll,'.. ......,:cccloxxkKk          ....''::ccc:::::::::::::::::
..,k0l'..... 'xo;,;okkxxxkOOkdlccc:::cl,'.   ..   .::::cclooxNd    . ..........,:ccccclccclllloooodd
.;0kl......  'dl;;;::ldkkxdl::cccc:::cl;,.   .... .,;,:::ccloONl   '......,;,,..lloodddddodooooooddx
.kxo, .....  'oc;;;:::::,,,,;ccccc::::cc,.   ...   '',;;;::cld0N.  ,.......,,c:,ddddddoooooooooooddd
'kl:' .....  ,l:;;;:::c:,,,;cccccc::::;:;.    ..   ..,;,;;::clx0x .''.......,;:ddddooodddddooooooodd
,o:;'    .  .;c::;;;c:::;,,;cccc:c:clc:l;'   .....  .,,,,;;::cxx0  ';'.......,;coooddxxxdddodddddxxx
l::;' ...   .;::::;;::::;,,:ccc::c:colol:;          .',',,;;;:oxd; .;''.......;..;oxxxxxxxdxxxdooool
l:;,, ..    .,;;:::;::;:,,;:ccc;:::;;:;;lc.          .''',,;;:lxod  ,.''......,o;..coddddddddollcccc
;c','.      .',;;:::::;;,,,:cc;;:::;:c,;:c'.         ...',,;,;:ooo; '..''......ddo:.ddolllcccccccccc
:l,.'.      '',;;;::::;,,,,;::,;;,,':;',;l,          ....,,,,,;:dld '..''....'.:xdd.dxdddddooollllcl
cc:...      .'',;;;:::;,,,,;:;,,,:;;;,;;;:'..         ...,,,,,,;olo,'....'....''xc.:dddolooodoooodoo
l:l,......  .''';;,;;:;,''',;''';;;,;',','.      ..   ..,,,',,,;lolc. ........''..;llcllcllodddddood
;co:'.       ...',,,,;;;''',,'....,,,,'.,;... ..       .,,''',,;:dld.    ...  ..'occcllclllooddddddd
..:;;....     ...'''',;;,''''....',...''.,.....        .,'''',;;;olx      ..   . :c,';::clooooooddoo
,;;c,,...      '..'''',cl'.''....;..',..';.. ...       .''''',;;;olo,. ..'......'':,;,',,;:::ccllloo
.',o,;....      ..'''.',''..'....';,'. . ..  ...       .'''',;;;;llcl......''.....,.,,,;;,,',;clllod

50
data/sites.json Normal file
View File

@ -0,0 +1,50 @@
[
{
"url": "https://nathan3dprinting.au",
"img": "/assets/img/favicon_trans.webp",
"name": "Nathan 3D Printing",
"description": "Offering 3D Printing and CAD modelling services to the Canberra region"
},
{
"url": "https://domains.hns.au",
"img": "/assets/img/HNSAU.webp",
"name": "HNSAU Registry",
"description": "An easy to use DNS provider and domain reselling platform"
},
{
"url": "https://hns.au",
"img": "/assets/img/HNSAU.webp",
"name": "HNSAU",
"description": "The group for Handshake enthusiasts in Australia"
},
{
"url": "https://hnshosting.au",
"img": "/assets/img/logo.png",
"name": "HNS Hosting",
"description": "Simple Wordpress hosting for Handshake domains with builtin SSL using DANE"
},
{
"url": "https://firewallet.au",
"img": "/assets/img/firewallet.png",
"name": "FireWallet",
"description": "An opensource Handshake wallet that is Fire!"
},
{
"url": "https://shakecities.com",
"img": "/assets/img/HNSW.png",
"name": "ShakeCities",
"description": "A single page website creator where each user's page on their free HNS domain"
},
{
"url": "https://git.woodburn.au",
"img": "/assets/img/logo.png",
"name": "Git Server",
"description": "Selfhosted Git server to host my repos with custom hosted CI/CD"
},
{
"url": "https://linkr",
"img": "/assets/img/logo.png",
"name": "LINKR/",
"description": "A free link shortener with a Handshake TLD and using DNS for authentication"
}
]

View File

@ -3,4 +3,6 @@ Flask-Cors
python-dotenv
gunicorn
requests
cloudflare
cloudflare
qrcode
ansi2html

197
server.py
View File

@ -1,10 +1,14 @@
from flask import Flask, make_response, redirect, request, jsonify, render_template, send_from_directory
import json
from flask import Flask, make_response, redirect, request, jsonify, render_template, send_from_directory, send_file
from flask_cors import CORS
import os
import dotenv
import requests
import CloudFlare
import datetime
import qrcode
import re
from ansi2html import Ansi2HTMLConverter
app = Flask(__name__)
CORS(app)
@ -14,6 +18,13 @@ dotenv.load_dotenv()
address = ''
handshake_scripts = '<script src="https://nathan.woodburn/handshake.js" domain="nathan.woodburn" async></script><script src="https://nathan.woodburn/https.js" async></script>'
restricted = ['ascii']
sites = []
if os.path.isfile('data/sites.json'):
with open('data/sites.json') as file:
sites = json.load(file)
# Custom header
def add_custom_header(response):
response.headers['Onion-Location'] = 'http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion/'
@ -83,9 +94,32 @@ def wallet(path):
# Cookie should last 1 week
resp.set_cookie('HNS', address, max_age=604800)
return resp
if path[0] == ".":
return send_from_directory('.well-known/wallets', path, mimetype='application/json')
elif os.path.isfile('.well-known/wallets/' + path):
address = ''
with open('.well-known/wallets/' + path) as file:
address = file.read()
address = address.strip()
return make_response(address, 200, {'Content-Type': 'text/plain'})
return send_from_directory('.well-known/wallets', path, mimetype='text/plain')
if os.path.isfile('.well-known/wallets/' + path.upper()):
return redirect('/.well-known/wallets/' + path.upper(), code=302)
return render_template('404.html'), 404
@app.route('/.well-known/nostr.json')
def nostr():
# Get name parameter
name = request.args.get('name')
if not name:
return jsonify({'error': 'No name provided'})
return jsonify({
'names': {
name: 'b57b6a06fdf0a4095eba69eee26e2bf6fa72bd1ce6cbe9a6f72a7021c7acaa82'
}
})
# Main routes
@ -93,12 +127,17 @@ def wallet(path):
def index():
global address
global handshake_scripts
git=requests.get('https://git.woodburn.au/api/v1/users/nathanwoodburn/activities/feeds?only-performed-by=true&limit=1&token=' + os.getenv('git_token'))
git = git.json()
git = git[0]
repo_name=git['repo']['name']
repo_name=repo_name.lower()
repo_description=git['repo']['description']
try:
git=requests.get('https://git.woodburn.au/api/v1/users/nathanwoodburn/activities/feeds?only-performed-by=true&limit=1&token=' + os.getenv('git_token'))
git = git.json()
git = git[0]
repo_name=git['repo']['name']
repo_name=repo_name.lower()
repo_description=git['repo']['description']
except:
repo_name = "nathanwoodburn.github.io"
repo_description = "Personal website"
git = {'repo': {'html_url': 'https://nathan.woodburn.au', 'name': 'nathanwoodburn.github.io', 'description': 'Personal website'}}
custom = ""
# Check for downtime
@ -122,12 +161,12 @@ def index():
if request.cookies.get('HNS'):
return render_template('index.html', handshake_scripts=handshake_scripts, HNS=request.cookies.get('HNS'), repo=repo, repo_description=repo_description, custom=custom)
return render_template('index.html', handshake_scripts=handshake_scripts, HNS=request.cookies.get('HNS'), repo=repo, repo_description=repo_description, custom=custom,sites=sites)
if address == '':
address = getAddress()
# Set cookie
resp = make_response(render_template('index.html', handshake_scripts=handshake_scripts, HNS=address, repo=repo, repo_description=repo_description, custom=custom), 200, {'Content-Type': 'text/html'})
resp = make_response(render_template('index.html', handshake_scripts=handshake_scripts, HNS=address, repo=repo, repo_description=repo_description, custom=custom,sites=sites), 200, {'Content-Type': 'text/html'})
# Cookie should last 1 week
resp.set_cookie('HNS', address, max_age=604800)
return resp
@ -201,12 +240,146 @@ def now_old():
return render_template('now/old.html', handshake_scripts=handshake_scripts,now_pages=html)
@app.route('/donate')
def donate():
global handshake_scripts
# If localhost, don't load handshake
if request.host == "localhost:5000" or request.host == "127.0.0.1:5000" or os.getenv('dev') == "true" or request.host == "test.nathan.woodburn.au":
handshake_scripts = ""
coinList = os.listdir('.well-known/wallets')
coinList = [file for file in coinList if file[0] != '.']
coinList.sort()
tokenList = []
with open('.well-known/wallets/.tokens') as file:
tokenList = file.read()
tokenList = json.loads(tokenList)
coinNames = {}
with open('.well-known/wallets/.coins') as file:
coinNames = file.read()
coinNames = json.loads(coinNames)
coins = ''
default_coins = ['btc', 'eth', 'hns','sol','bnb','xrp','ada']
for file in coinList:
if file in coinNames:
coins += f'<a class="dropdown-item" style="{"display:none;" if file.lower() not in default_coins else ""}" href="?c={file.lower()}">{coinNames[file]}</a>'
else:
coins += f'<a class="dropdown-item" style="{"display:none;" if file.lower() not in default_coins else ""}" href="?c={file.lower()}">{file}</a>'
for token in tokenList:
if token["chain"] != 'null':
coins += f'<a class="dropdown-item" style="display:none;" href="?t={token["symbol"].lower()}&c={token["chain"].lower()}">{token["name"]} ({token["symbol"] + " on " if token["symbol"] != token["name"] else ""}{token["chain"]})</a>'
else:
coins += f'<a class="dropdown-item" style="display:none;" href="?t={token["symbol"].lower()}&c={token["chain"].lower()}">{token["name"]} ({token["symbol"] if token["symbol"] != token["name"] else ""})</a>'
crypto = request.args.get('c')
if not crypto:
instructions = '<br>Donate with cryptocurrency:<br>Select a coin from the dropdown above.'
return render_template('donate.html', handshake_scripts=handshake_scripts, coins=coins,default_coins=default_coins, crypto=instructions)
crypto = crypto.upper()
token = request.args.get('t')
if token:
token = token.upper()
for t in tokenList:
if t['symbol'].upper() == token and t['chain'].upper() == crypto:
token = t
break
if not isinstance(token, dict):
token = {
"name": "Unknown token",
"symbol": token,
"chain": crypto
}
address = ''
domain = ''
cryptoHTML = ''
if os.path.isfile(f'.well-known/wallets/{crypto}'):
with open(f'.well-known/wallets/{crypto}') as file:
address = file.read()
if not token:
cryptoHTML += f'<br>Donate with {coinNames[crypto] if crypto in coinNames else crypto}:'
else:
cryptoHTML += f'<br>Donate with {token["name"]} {"("+token["symbol"]+") " if token["symbol"] != token["name"] else ""}on {crypto}:'
cryptoHTML += f'<code data-bs-toggle="tooltip" data-bss-tooltip="" id="crypto-address" class="address" style="color: rgb(242,90,5);display: block;" data-bs-original-title="Click to copy">{address}</code>'
elif token:
if 'address' in token:
address = token['address']
cryptoHTML += f'<br>Donate with {token["name"]} {"("+token["symbol"]+")" if token["symbol"] != token["name"] else ""}{" on "+crypto if crypto != "NULL" else ""}:'
cryptoHTML += f'<code data-bs-toggle="tooltip" data-bss-tooltip="" id="crypto-address" class="address" style="color: rgb(242,90,5);display: block;" data-bs-original-title="Click to copy">{address}</code>'
else:
cryptoHTML += f'<br>Invalid coin: {crypto}<br>'
else:
cryptoHTML += f'<br>Invalid coin: {crypto}<br>'
if os.path.isfile(f'.well-known/wallets/.domains'):
# Get json of all domains
with open(f'.well-known/wallets/.domains') as file:
domains = file.read()
domains = json.loads(domains)
if crypto in domains:
domain = domains[crypto]
cryptoHTML += '<br>Or send to this domain on compatible wallets:<br>'
cryptoHTML += f'<code data-bs-toggle="tooltip" data-bss-tooltip="" id="crypto-domain" class="address" style="color: rgb(242,90,5);display: block;" data-bs-original-title="Click to copy">{domain}</code>'
if address:
cryptoHTML += '<img src="/qrcode/' + address + '" alt="QR Code" style="width: 100%; max-width: 200px; margin: 20px auto;">'
copyScript = '<script>document.getElementById("crypto-address").addEventListener("click", function() {navigator.clipboard.writeText(this.innerText);this.setAttribute("data-bs-original-title", "Copied!");});document.getElementById("crypto-domain").addEventListener("click", function() {navigator.clipboard.writeText(this.innerText);this.setAttribute("data-bs-original-title", "Copied!");});</script>'
cryptoHTML += copyScript
return render_template('donate.html', handshake_scripts=handshake_scripts, crypto=cryptoHTML, coins=coins,default_coins=default_coins)
@app.route('/qrcode/<path:data>')
def addressQR(data):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
qr_image = qr.make_image(fill_color="#110033", back_color="white")
# Save the QR code image to a temporary file
qr_image_path = "/tmp/qr_code.png"
qr_image.save(qr_image_path)
# Return the QR code image as a response
return send_file(qr_image_path, mimetype="image/png")
@app.route('/supersecretpath')
def supersecretpath():
ascii_art = ''
if os.path.isfile('data/ascii.txt'):
with open('data/ascii.txt') as file:
ascii_art = file.read()
converter = Ansi2HTMLConverter()
ascii_art_html = converter.convert(ascii_art)
return render_template('ascii.html', ascii_art=ascii_art_html)
@app.route('/<path:path>')
def catch_all(path):
global handshake_scripts
# If localhost, don't load handshake
if request.host == "localhost:5000" or request.host == "127.0.0.1:5000" or os.getenv('dev') == "true" or request.host == "test.nathan.woodburn.au":
handshake_scripts = ""
if path.lower().replace('.html','') in restricted:
return render_template('404.html'), 404
# If file exists, load it
if os.path.isfile('templates/' + path):
return render_template(path, handshake_scripts=handshake_scripts)
@ -258,8 +431,6 @@ def hnsdoh_acme():
print(record)
return jsonify({'status': 'success'})
# 404 catch all
@app.errorhandler(404)
def not_found(e):

View File

@ -1,25 +1,50 @@
<!DOCTYPE html>
<html lang="en">
<html data-bs-theme="light" lang="en">
<head>
<meta charset="UTF-8">
<title>Nathan Woodburn</title>
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="stylesheet" href="/assets/css/404.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>Nathan.Woodburn/</title>
<meta name="theme-color" content="#97009a">
<link rel="canonical" href="https://nathan.woodburn.au/404">
<meta property="og:url" content="https://nathan.woodburn.au/404">
<meta http-equiv="onion-location" content="http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion">
<meta name="twitter:description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<meta name="description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<meta property="og:title" content="Nathan.Woodburn/">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:type" content="website">
<meta name="twitter:title" content="Nathan.Woodburn/">
<meta property="og:description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/assets/img/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="/assets/img/android-chrome-512x512.png">
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:700&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anonymous+Pro&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/404.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
<body style="background-color:white;">
<p><br><br><br></p>
<h1 style="text-align:center">Space Invaders destroyed this page!</h1>
<t2 style="text-align:center">Take revenge on them!</t2>
<p class="mobile"><br><br><br><br><br><br></p>
<p class="center"><br><br><br>Use <span class="label label-danger">Space</span> to shoot and <span
class="label label-danger">←</span>&#160;<span class="label label-danger"></span> to
move!&#160;&#160;&#160;<button class="btn btn-default btn-xs" id="restart">Restart</button> or <button
class="btn btn-default btn-xs" onclick="location.href='javascript:history.back()'" type="button">
Retreat</button></p>
<canvas id="space-invaders">
<script src="/assets/js/404.js"></script>
<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>alert</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/script.min.js"></script>
<script src="/assets/js/404.min.js"></script>
</body>
</html>

View File

@ -36,23 +36,6 @@
<link rel="stylesheet" href="/assets/css/fixes.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>

File diff suppressed because one or more lines are too long

1
templates/assets/css/404.min.css vendored Normal file
View File

@ -0,0 +1 @@
*{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;color:#000;text-shadow:2px 2px 3px rgba(255,255,255,.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}.message{text-align:center;margin:auto}.message span{border-radius:5px;padding:10px;background:#000}

1
templates/assets/css/now.min.css vendored Normal file
View File

@ -0,0 +1 @@
body{background-color:#000!important}

View File

@ -1 +1 @@
.social-icons{color:#313437;background-color:#fff;padding:70px 0}@media (max-width:767px){.social-icons{padding:50px 0}}@media (max-width:500px){img.profile{width:200px;margin-left:-100px}.profile-container{height:200px;margin-top:2em!important}}.social-div{display:flex;justify-content:center;align-items:center}.social-list{display:flex;list-style:none;gap:2.5rem}.social-icons i{color:#757980;margin:0 10px;width:60px;height:60px;border:1px solid #c8ced7;text-align:center;border-radius:50%;line-height:60px;display:inline-block}.social-link a{text-decoration:none;width:4.8rem;height:4.8rem;background-color:#f0f9fe;border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;z-index:1;border:3px solid #f0f9fe;overflow:hidden}.social-link a::before{content:"";position:absolute;width:100%;height:100%;background:var(--bg-color);z-index:0;scale:1 0;transform-origin:bottom;transition:scale .5s}.social-link:hover a::before{scale:1 1}.icon{font-size:2rem;color:#011827;transition:.5s;z-index:2}.social-link a:hover .icon{color:#fff;transform:rotateY(360deg)}.social-link:first-child,.social-link:nth-child(2),.social-link:nth-child(3){--bg-color:#000}.social-link:nth-child(4){--bg-color:#5865f2}.social-link:nth-child(5){--bg-color:#6364ff}.social-link:nth-child(6){--bg-color:#ff0000}
.social-icons{color:#313437;background-color:#fff;padding:70px 0}@media (max-width:767px){.social-icons{padding:50px 0}}@media (max-width:500px){img.profile{width:200px;margin-left:-100px}.profile-container{height:200px;margin-top:2em!important}}.social-div{display:flex;justify-content:center;align-items:center}.social-list{display:flex;list-style:none;gap:2.5rem}.social-icons i{color:#757980;margin:0 10px;width:60px;height:60px;border:1px solid #c8ced7;text-align:center;border-radius:50%;line-height:60px;display:inline-block}.social-link a{text-decoration:none;width:4.8rem;height:4.8rem;background-color:#f0f9fe;border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;z-index:1;border:3px solid #f0f9fe;overflow:hidden}.social-link a::before{content:"";position:absolute;width:100%;height:100%;background:var(--bg-color);z-index:0;scale:1 0;transform-origin:bottom;transition:scale .5s}.social-link:hover a::before{scale:1 1}.icon{font-size:2rem;color:#011827;transition:.5s;z-index:2}.social-link a:hover .icon{color:#fff;transform:rotateY(360deg)}.social-link{--bg-color:#000}.social-link.discord{--bg-color:#5865f2}.social-link.mastodon{--bg-color:#6364ff}.social-link.youtube{--bg-color:#ff0000}.social-link.signal{--bg-color:#365eb6}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

1
templates/assets/js/404.min.js vendored Normal file
View File

@ -0,0 +1 @@
const trigger="s",secret="/supersecretpath",home="/";var isSecret=!1;function error_check(){return function(){isSecret?(alert("You found the secret path"),window.location=secret):(alert("You're lost! I'll send you back home"),window.location="/")}}function type(e,t){var n=document.getElementsByTagName("code")[e].innerHTML.toString(),o=0;document.getElementsByTagName("code")[e].innerHTML="",setTimeout((function(){var t=setInterval((function(){o++,document.getElementsByTagName("code")[e].innerHTML=n.slice(0,o)+"|",o==n.length&&(clearInterval(t),document.getElementsByTagName("code")[e].innerHTML=n)}),10)}),t)}setTimeout(error_check(),7e3),document.addEventListener("keydown",(function(e){"s"==e.key&&(isSecret=!0)})),type(0,0),type(1,600),type(2,1300);

1
templates/assets/js/pfp.min.js vendored Normal file
View File

@ -0,0 +1 @@
let clickCount=0;function changeImages(){clickCount++,5===clickCount&&(document.querySelector(".profile.background").src="assets/img/profile2.webp",document.querySelector(".profile.foreground").src="assets/img/profile2-fg.webp")}document.querySelector(".profile.background").addEventListener("click",changeImages);

192
templates/donate.html Normal file
View File

@ -0,0 +1,192 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en-au">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>Nathan.Woodburn/</title>
<meta name="theme-color" content="#97009a">
<link rel="canonical" href="https://nathan.woodburn.au/donate">
<meta property="og:url" content="https://nathan.woodburn.au/donate">
<meta http-equiv="onion-location" content="http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion">
<meta name="twitter:description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<meta name="description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<meta property="og:title" content="Nathan.Woodburn/">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:type" content="website">
<meta name="twitter:title" content="Nathan.Woodburn/">
<meta property="og:description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/assets/img/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="/assets/img/android-chrome-512x512.png">
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:700&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anonymous+Pro&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<link rel="stylesheet" href="/assets/fonts/fontawesome-all.min.css">
<link rel="stylesheet" href="/assets/fonts/font-awesome.min.css">
<link rel="stylesheet" href="/assets/fonts/fontawesome5-overrides.min.css">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
<body id="page-top" data-bs-spy="scroll" data-bs-target="#mainNav" data-bs-offset="77">{{handshake_scripts | safe}}
<nav class="navbar navbar-expand-md fixed-top navbar-light" id="mainNav" style="background: var(--bs-navbar-hover-color);">
<div class="container-fluid"><a class="navbar-brand nathanwoodburn" href="/#">Nathan.Woodburn/</a><button data-bs-toggle="collapse" class="navbar-toggler navbar-toggler-right" data-bs-target="#navbarResponsive" type="button" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation" value="Menu"><i class="fa fa-bars"></i></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
</div>
</nav>
<section class="text-center content-section" id="donate" style="background: #110033;padding-bottom: 100px;">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<h2>Donate</h2>
<p style="margin-bottom: 10px;">Feel free to support me by donating</p>
<ul class="list-inline banner-social-buttons">
<li class="list-inline-item" style="margin-top: 15px;">&nbsp;<a class="btn btn-primary btn-lg btn-default" role="button" href="https://paypal.me/nathanwoodburn" target="_blank" style="width: auto;"><i class="fab fa-paypal fa-fw"></i><span class="network-name">&nbsp; Paypal</span></a></li>
<li class="list-inline-item" style="margin-top: 15px;">&nbsp;<a class="btn btn-primary btn-lg btn-default" role="button" href="https://github.com/sponsors/Nathanwoodburn" target="_blank" style="width: auto;"><i class="fab fa-github fa-fw"></i><span class="network-name">&nbsp; Github</span></a></li>
<li class="list-inline-item" style="margin-top: 15px;">&nbsp;<a class="btn btn-primary btn-lg btn-default" role="button" href="https://donate.stripe.com/8wM6pv0VD08Xe408ww" target="_blank" style="width: auto;"><i class="fab fa-stripe-s fa-fw"></i><span class="network-name">&nbsp;Stripe</span></a></li>
<li class="list-inline-item" style="margin-top: 15px;">&nbsp;<a class="btn btn-primary btn-lg btn-default" role="button" href="https://revolut.me/nwoodburn" target="_blank" style="width: auto;"><span class="network-name">&nbsp;Revolut</span></a></li>
</ul>
<h4>Crypto Options</h4><div class="dropdown">
<button class="btn btn-primary btn-lg btn-default" aria-expanded="false" data-bs-toggle="dropdown" type="button" id="dropdownButton">Select Crypto</button>
<div class="dropdown-menu dropdown-menu-dark">
<input type="text" id="cryptoSearch" class="form-control" placeholder="Search for more cryptos..." autocomplete="off">
<div id="cryptoList">
{{coins|safe}}
</div>
</div>
</div>
<script>
const dropdownButton = document.getElementById('dropdownButton');
const cryptoSearch = document.getElementById('cryptoSearch');
dropdownButton.addEventListener('click', function() {
setTimeout(() => cryptoSearch.focus(), 0);
});
document.getElementById('cryptoSearch').addEventListener('input', function() {
const searchValue = this.value.toLowerCase();
const cryptoList = document.getElementById('cryptoList').getElementsByTagName('a');
if (searchValue === '') {
// Show default coins
const defaultCoins = {{default_coins|tojson}};
for (let i = 0; i < cryptoList.length; i++) {
const cryptoName = cryptoList[i].getAttribute('href').split('=')[1];
if (defaultCoins.includes(cryptoName)) {
cryptoList[i].style.display = '';
} else {
cryptoList[i].style.display = 'none';
}
}
} else {
// Filter based on search input
for (let i = 0; i < cryptoList.length; i++) {
const cryptoName = cryptoList[i].textContent.toLowerCase();
if (cryptoName.indexOf(searchValue) > -1) {
cryptoList[i].style.display = '';
} else {
cryptoList[i].style.display = 'none';
}
}
}
});
document.getElementById('cryptoSearch').addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
event.preventDefault(); // Prevent form submission
// Get the first visible crypto and redirect to it
const cryptoList = document.getElementById('cryptoList').getElementsByTagName('a');
for (let i = 0; i < cryptoList.length; i++) {
if (cryptoList[i].style.display === '') {
window.location.href = cryptoList[i].getAttribute('href');
break;
}
}
}
});
</script>
<p>{{crypto|safe}}</p>
</div>
</div>
</div>
</section>
<footer style="background: #110033;">
<div class="container text-center">
<div class="row">
<div class="col">
<p>Verify me with this <a href="pgp" target="_blank">long lifetime Public Key</a> or this <a href="gitpgp" target="_blank">short term one for Github commits</a></p>
</div>
</div>
<div class="row">
<div class="col">
<p class="d-none d-print-inline-block d-sm-inline-block d-md-inline-block d-lg-inline-block d-xl-inline-block d-xxl-inline-block">This site is also available on<br><a href="https://learn.namebase.io/" target="_blank">Handshake</a>&nbsp;at <a href="https://nathan.woodburn">https://nathan.woodburn/</a><br><a href="https://www.torproject.org/" target="_blank">Tor</a> at <a href="http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion/">http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion/</a></p>
<p class="copyright">Copyright ©&nbsp;Nathan.Woodburn/ 2024</p>
</div>
</div>
</div>
</footer><script>
function copyToClipboard(element) {
const textToCopy = element.textContent;
const textArea = document.createElement('textarea');
textArea.value = textToCopy;
document.body.appendChild(textArea);
textArea.select();
document.execCommand('copy');
document.body.removeChild(textArea);
}
const btc = document.getElementById('btc');
const eth = document.getElementById('eth');
const hns = document.getElementById('hns');
const sol = document.getElementById('sol');
const hnsdomain = document.getElementById('hns-domain');
const soldomain = document.getElementById('sol-domain');
const ethdomain = document.getElementById('eth-domain');
btc.addEventListener('click', () => {
copyToClipboard(btc);
});
eth.addEventListener('click', () => {
copyToClipboard(eth);
});
hns.addEventListener('click', () => {
copyToClipboard(hns);
});
sol.addEventListener('click', () => {
copyToClipboard(sol);
});
hnsdomain.addEventListener('click', () => {
copyToClipboard(hnsdomain);
});
soldomain.addEventListener('click', () => {
copyToClipboard(soldomain);
});
ethdomain.addEventListener('click', () => {
copyToClipboard(ethdomain);
});
</script>{{custom | safe}}
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>
<script src="/assets/js/script.min.js"></script>
<script src="/assets/js/hacker.min.js"></script>
</body>
</html>

View File

@ -33,23 +33,6 @@
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>

View File

@ -47,23 +47,6 @@
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="stylesheet" href="/assets/css/swiper.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -73,7 +56,7 @@
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
@ -120,72 +103,26 @@ Check them out here!</blockquote><img class="img-fluid" src="/assets/img/pfront.
<div class="site-container">
<h1>My Websites</h1>
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide site" data-url="https://nathan3dprinting.au"><img class="site-img" src="/assets/img/favicon_trans.webp">
<div class="site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">Nathan 3D Printing</h2>
<p class="text-start site-author">Offering 3D Printing and CAD modelling services to the Canberra region</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://domains.hns.au"><img class="site-img" src="/assets/img/HNSAU.webp">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">HNSAU Registry</h2>
<p class="text-start site-author">An easy to use DNS provider and domain reselling platform</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://hns.au"><img class="site-img" src="/assets/img/HNSAU_white.webp">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">HNSAU</h2>
<p class="text-start site-author">The group for Handshake enthusiasts in Australia</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://hnshosting.au"><img class="site-img" src="/assets/img/logo.png">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">HNSHosting</h2>
<p class="text-start site-author">Simple Wordpress hosting for Handshake domains with builtin SSL using DANE</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://firewallet.au"><img class="site-img" src="/assets/img/firewallet.png">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">FireWallet</h2>
<p class="text-start site-author">An opensource Handshake wallet that is Fire!</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://shakecities.com"><img class="site-img" src="/assets/img/HNSW.png">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">ShakeCities</h2>
<p class="text-start site-author">A single page website creator where each user's page on their free HNS domain</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://git.woodburn.au"><img class="site-img" src="/assets/img/logo.png">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">Git Server</h2>
<p class="text-start site-author">Selfhosted Git server to host my repos with custom hosted CI/CD&nbsp;</p>
</div>
</div>
</div>
<div class="swiper-slide site" data-url="https://linkr"><img class="site-img" src="/assets/img/logo.png">
<div class="d-lg-flex justify-content-lg-center align-items-lg-start site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">LINKR/</h2>
<p class="text-start site-author">A free link shortener with a Handshake TLD and using DNS for authentication</p>
</div>
</div>
<div class="swiper-wrapper"><!-- <div class="swiper-slide site" data-url="https://nathan3dprinting.au"><img class="site-img" src="/assets/img/favicon_trans.webp" />
<div class="site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">Nathan 3D Printing</h2>
<p class="text-start site-author">Offering 3D Printing and CAD modelling services to the Canberra region</p>
</div>
</div>
</div> -->
{% for site in sites %}
<div class="swiper-slide site" data-url="{{ site.url }}">
<img class="site-img" src="{{ site.img }}" />
<div class="site-body">
<div class="site-detail" style="width: 100%;">
<h2 class="site-name" style="text-align: left;">{{ site.name }}</h2>
<p class="text-start site-author">{{ site.description }}</p>
</div>
</div>
</div>
{% endfor %}</div>
<div class="swiper-scrollbar"></div>
</div>
</div>
@ -205,15 +142,22 @@ Check them out here!</blockquote><img class="img-fluid" src="/assets/img/pfront.
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"></path>
</svg></a></li>
<li class="social-link"><a href="mailto:about@nathan.woodburn.au" target="_blank"><i class="icon ion-email icon"></i></a></li>
<li class="social-link"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<li class="social-link discord"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<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>
</svg></a></li>
<li class="social-link"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
</ul>
</div>
<div class="social-div">
<ul class="list-unstyled social-list">
<li class="social-link mastodon"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path>
</svg></a></li>
<li class="social-link"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<li class="social-link youtube"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"></path>
</svg></a></li>
<li class="social-link signal"><a href="/signalQR" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-signal icon">
<path d="m6.08.234.179.727a7.264 7.264 0 0 0-2.01.832l-.383-.643A7.9 7.9 0 0 1 6.079.234zm3.84 0L9.742.96a7.265 7.265 0 0 1 2.01.832l.388-.643A7.957 7.957 0 0 0 9.92.234zm-8.77 3.63a7.944 7.944 0 0 0-.916 2.215l.727.18a7.264 7.264 0 0 1 .832-2.01l-.643-.386zM.75 8a7.3 7.3 0 0 1 .081-1.086L.091 6.8a8 8 0 0 0 0 2.398l.74-.112A7.262 7.262 0 0 1 .75 8m11.384 6.848-.384-.64a7.23 7.23 0 0 1-2.007.831l.18.728a7.965 7.965 0 0 0 2.211-.919zM15.251 8c0 .364-.028.727-.082 1.086l.74.112a7.966 7.966 0 0 0 0-2.398l-.74.114c.054.36.082.722.082 1.086m.516 1.918-.728-.18a7.252 7.252 0 0 1-.832 2.012l.643.387a7.933 7.933 0 0 0 .917-2.219zm-6.68 5.25c-.72.11-1.453.11-2.173 0l-.112.742a7.99 7.99 0 0 0 2.396 0l-.112-.741zm4.75-2.868a7.229 7.229 0 0 1-1.537 1.534l.446.605a8.07 8.07 0 0 0 1.695-1.689l-.604-.45zM12.3 2.163c.587.432 1.105.95 1.537 1.537l.604-.45a8.06 8.06 0 0 0-1.69-1.691l-.45.604zM2.163 3.7A7.242 7.242 0 0 1 3.7 2.163l-.45-.604a8.06 8.06 0 0 0-1.691 1.69l.604.45zm12.688.163-.644.387c.377.623.658 1.3.832 2.007l.728-.18a7.931 7.931 0 0 0-.916-2.214M6.913.831a7.254 7.254 0 0 1 2.172 0l.112-.74a7.985 7.985 0 0 0-2.396 0l.112.74zM2.547 14.64 1 15l.36-1.549-.729-.17-.361 1.548a.75.75 0 0 0 .9.902l1.548-.357-.17-.734zM.786 12.612l.732.168.25-1.073A7.187 7.187 0 0 1 .96 9.74l-.727.18a8 8 0 0 0 .736 1.902l-.184.79zm3.5 1.623-1.073.25.17.731.79-.184c.6.327 1.239.574 1.902.737l.18-.728a7.197 7.197 0 0 1-1.962-.811l-.007.005zM8 1.5a6.502 6.502 0 0 0-6.498 6.502 6.516 6.516 0 0 0 .998 3.455l-.625 2.668L4.54 13.5a6.502 6.502 0 0 0 6.93-11A6.516 6.516 0 0 0 8 1.5"></path>
</svg></a></li>
</ul>
</div>
</div>
@ -231,7 +175,7 @@ Check them out here!</blockquote><img class="img-fluid" src="/assets/img/pfront.
<li class="list-inline-item">&nbsp;<a class="btn btn-primary btn-lg btn-default" role="button" href="https://github.com/sponsors/Nathanwoodburn" style="width: 170px;" target="_blank"><i class="fab fa-github fa-fw"></i><span class="network-name">&nbsp; Github</span></a></li>
<li class="list-inline-item">&nbsp;<a class="btn btn-primary btn-lg btn-default" role="button" href="https://donate.stripe.com/8wM6pv0VD08Xe408ww" style="width: 170px;" target="_blank"><i class="fab fa-stripe-s fa-fw"></i><span class="network-name">&nbsp;Stripe</span></a></li>
</ul>
<p>HNS:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="hns" class="hns" style="color: rgb(242,90,5);" title="Click to copy">{{HNS}}</code><br>BTC:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="btc" class="btc" style="color: rgb(242,90,5);" title="Click to copy">bc1qhs94zzcw64qnwq4hvk056rwxwvgrkd7tq7d4xw</code><br>ETH:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="eth" class="eth" style="color: rgb(242,90,5);" title="Click to copy">0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e</code></p>
<p>HNS:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="hns-domain" class="hns" style="color: rgb(242,90,5);display: block;" title="Click to copy">nathan.woodburn</code><code data-bs-toggle="tooltip" data-bss-tooltip="" id="hns" class="hns" style="color: rgb(242,90,5);display: block;" title="Click to copy">{{HNS}}</code><br>BTC:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="btc" class="btc" style="color: rgb(242,90,5);display: block;" title="Click to copy">bc1qhs94zzcw64qnwq4hvk056rwxwvgrkd7tq7d4xw</code><br>SOL:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="sol-domain" class="sol" style="color: rgb(242,90,5);display: block;" title="Click to copy">woodburn.sol</code><code data-bs-toggle="tooltip" data-bss-tooltip="" id="sol" class="sol" style="color: rgb(242,90,5);display: block;" title="Click to copy">AJsPEEe6S7XSiVcdZKbeV8GRp1QuhFUsG8mLrqL4XgiU</code><br>ETH:<br><code data-bs-toggle="tooltip" data-bss-tooltip="" id="eth-domain" class="eth" style="color: rgb(242,90,5);display: block;" title="Click to copy">woodburn.au</code><code data-bs-toggle="tooltip" data-bss-tooltip="" id="eth" class="eth" style="color: rgb(242,90,5);display: block;" title="Click to copy">0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e</code><a class="btn btn-primary btn-default" role="button" href="/donate" style="width: 170px;margin-top: 10px;">OTHER OPTIONS</a></p>
</div>
</div>
</div>
@ -264,6 +208,10 @@ Check them out here!</blockquote><img class="img-fluid" src="/assets/img/pfront.
const btc = document.getElementById('btc');
const eth = document.getElementById('eth');
const hns = document.getElementById('hns');
const sol = document.getElementById('sol');
const hnsdomain = document.getElementById('hns-domain');
const soldomain = document.getElementById('sol-domain');
const ethdomain = document.getElementById('eth-domain');
btc.addEventListener('click', () => {
copyToClipboard(btc);
@ -274,11 +222,25 @@ Check them out here!</blockquote><img class="img-fluid" src="/assets/img/pfront.
hns.addEventListener('click', () => {
copyToClipboard(hns);
});
sol.addEventListener('click', () => {
copyToClipboard(sol);
});
hnsdomain.addEventListener('click', () => {
copyToClipboard(hnsdomain);
});
soldomain.addEventListener('click', () => {
copyToClipboard(soldomain);
});
ethdomain.addEventListener('click', () => {
copyToClipboard(ethdomain);
});
</script>{{custom | safe}}
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>
<script src="/assets/js/script.min.js"></script>
<script src="/assets/js/hacker.min.js"></script>
<script src="/assets/js/downtime.min.js"></script>
<script src="/assets/js/pfp.min.js"></script>
<script src="/assets/js/sites.min.js"></script>
</body>

View File

@ -37,23 +37,6 @@
<link rel="stylesheet" href="/assets/css/GridSystem-1.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>

View File

@ -36,25 +36,9 @@ Find out what I've been up to in the last week">
<link rel="stylesheet" href="/assets/fonts/font-awesome.min.css">
<link rel="stylesheet" href="/assets/fonts/ionicons.min.css">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/now.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -64,7 +48,7 @@ Find out what I've been up to in the last week">
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
@ -149,13 +133,13 @@ Find out what I've been up to in the last week">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"></path>
</svg></a></li>
<li class="social-link"><a href="mailto:about@nathan.woodburn.au" target="_blank"><i class="icon ion-email icon"></i></a></li>
<li class="social-link"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<li class="social-link discord"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<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>
</svg></a></li>
<li class="social-link"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<li class="social-link mastodon"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path>
</svg></a></li>
<li class="social-link"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<li class="social-link youtube"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"></path>
</svg></a></li>
</ul>

View File

@ -36,25 +36,9 @@ Find out what I've been up to in the last week">
<link rel="stylesheet" href="/assets/fonts/font-awesome.min.css">
<link rel="stylesheet" href="/assets/fonts/ionicons.min.css">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/now.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -64,7 +48,7 @@ Find out what I've been up to in the last week">
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
@ -116,13 +100,13 @@ Find out what I've been up to in the last week">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"></path>
</svg></a></li>
<li class="social-link"><a href="mailto:about@nathan.woodburn.au" target="_blank"><i class="icon ion-email icon"></i></a></li>
<li class="social-link"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<li class="social-link discord"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<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>
</svg></a></li>
<li class="social-link"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<li class="social-link mastodon"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path>
</svg></a></li>
<li class="social-link"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<li class="social-link youtube"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"></path>
</svg></a></li>
</ul>

136
templates/now/24_04_19.html Normal file
View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en-au">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>What's up at the moment | Nathan.Woodburn/</title>
<meta name="theme-color" content="#97009a">
<link rel="canonical" href="https://nathan.woodburn.au/now/24_04_19.html">
<meta property="og:url" content="https://nathan.woodburn.au/now/24_04_19.html">
<meta http-equiv="onion-location" content="http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:type" content="website">
<meta property="og:description" content="G'day,
Find out what I've been up to in the last week">
<meta property="og:title" content="What's up at the moment | Nathan.Woodburn/">
<meta name="description" content="G'day,
Find out what I've been up to in the last week">
<meta name="twitter:title" content="What's up at the moment | Nathan.Woodburn/">
<meta name="twitter:description" content="G'day,
Find out what I've been up to in the last week">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/assets/img/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="/assets/img/android-chrome-512x512.png">
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:700&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anonymous+Pro&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<link rel="stylesheet" href="/assets/fonts/font-awesome.min.css">
<link rel="stylesheet" href="/assets/fonts/ionicons.min.css">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/now.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
<body class="text-center" style="background: linear-gradient(rgba(0,0,0,0.80), rgba(0,0,0,0.80)), url(&quot;/assets/img/bg/background.webp&quot;) center / cover no-repeat;">
<nav class="navbar navbar-expand-md fixed-top navbar-light" id="mainNav" style="background: var(--bs-navbar-hover-color);">
<div class="container-fluid"><a class="navbar-brand nathanwoodburn" href="/#">Nathan.Woodburn/</a><button data-bs-toggle="collapse" class="navbar-toggler navbar-toggler-right" data-bs-target="#navbarResponsive" type="button" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation" value="Menu"><i class="fa fa-bars"></i></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
</div>
</nav>{{handshake_scripts | safe}}
<div class="profile-container" style="margin-bottom: 2em;margin-top: 10em;"><img class="profile background" src="/assets/img/profile.jpg" style="border-radius: 50%;"><img class="profile foreground" src="/assets/img/pfront.webp"></div>
<h1 class="nathanwoodburn" style="margin-bottom: 0px;">Nathan.Woodburn/</h1>
<h3 style="margin-bottom: 0px;">WHat's Happening Now</h3>
<h6>{{DATE}}</h6>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">Vietnam Hackathon</h1>
<p>I've been invited to help judge a hackathon in Vietnam at the Hanoi National University.&nbsp;<br><br></p>
</div>
</section>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">.G/ Updates</h1>
<p>I've helped Andrew Lee setup the .g/ TLD. This involves a registry using Varo in addition to a custom blog. The blog includes sections that are restricted to be only accessible to people with a Handshake resolver. Another section uses the TLD restricted proxy to only allow .g/ SLD holders access to some blog articles.<br><br><a class="btn btn-primary" role="button" href="https://alee.g.army" target="_blank">Visit Alee.g/</a></p>
</div>
</section>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">Server problems</h1>
<p>My main server (this is a server I own and host in a data centre) stopped responding late last week. After weeks of postage and delays, I've replaced both the raid controller and the motherboard. After tons of troubleshooting the server is still not running yet. I'm now waiting on some Dell support to try to help fix this</p>
</div>
</section>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">New HNSDoH Nodes</h1>
<p>I've just added 3 new DNS nodes to allow more reliability and faster speed for more people. These nodes were setup in partnership with EZ Domains.<br>These nodes are located in Canada, Netherlands &amp; Singapore<br>Please note the webpage for this is currently down as it runs on my main server.<br></p>
</div>
</section>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">TLD Restricted Proxy&nbsp;</h1>
<p>I've just released a proxy app that allows you to set paths to be restricted to someone who holds a SLD on your TLD.<br><a class="btn btn-primary" role="button" href="https://github.com/nathanwoodburn/tld-restricted-proxy" target="_blank">Git Repo</a></p>
</div>
</section>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">HandyCon</h1>
<p>I presented a FireWallet demo at HandyCon. Listen in or watch the recording to see how it can speed up your wallet management.<br><a class="btn btn-primary" role="button" href="https://2024.handycon.xyz/recordings/firewallet/" target="_blank">Watch Recording</a></p>
</div>
</section>
<section style="margin-bottom: 50px;">
<div style="max-width: 700px;margin: auto;">
<h1 style="margin-bottom: 0px;">Other Updates</h1>
<p>I've recorded some tutorials to my YouTube channel. Stuff like HNS Links, Site Manager and others.</p>
</div>
</section>
<section class="text-center content-section" id="contact" style="padding-top: 25px;padding-bottom: 3em;">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<div class="social-div">
<ul class="list-unstyled social-list">
<li class="social-link"><a href="https://twitter.com/woodburn_nathan" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-twitter-x icon">
<path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z"></path>
</svg></a></li>
<li class="social-link"><a href="https://github.com/Nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-github icon">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"></path>
</svg></a></li>
<li class="social-link"><a href="mailto:about@nathan.woodburn.au" target="_blank"><i class="icon ion-email icon"></i></a></li>
<li class="social-link discord"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<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>
</svg></a></li>
<li class="social-link mastodon"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path>
</svg></a></li>
<li class="social-link youtube"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"></path>
</svg></a></li>
</ul>
</div>
</div>
</div>
</div>
</section>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>
<script src="/assets/js/script.min.js"></script>
<script src="/assets/js/hacker.min.js"></script>
</body>
</html>

View File

@ -36,25 +36,9 @@ Find out what I've been up to in the last week">
<link rel="stylesheet" href="/assets/fonts/font-awesome.min.css">
<link rel="stylesheet" href="/assets/fonts/ionicons.min.css">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/now.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -64,7 +48,7 @@ Find out what I've been up to in the last week">
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
@ -92,13 +76,13 @@ Find out what I've been up to in the last week">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"></path>
</svg></a></li>
<li class="social-link"><a href="mailto:about@nathan.woodburn.au" target="_blank"><i class="icon ion-email icon"></i></a></li>
<li class="social-link"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<li class="social-link discord"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<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>
</svg></a></li>
<li class="social-link"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<li class="social-link mastodon"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path>
</svg></a></li>
<li class="social-link"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<li class="social-link youtube"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"></path>
</svg></a></li>
</ul>

View File

@ -36,25 +36,9 @@ Find out what I've been up to in the last week">
<link rel="stylesheet" href="/assets/fonts/font-awesome.min.css">
<link rel="stylesheet" href="/assets/fonts/ionicons.min.css">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/now.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -64,7 +48,7 @@ Find out what I've been up to in the last week">
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto">
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
</ul>
</div>
@ -93,13 +77,13 @@ Find out what I've been up to in the last week">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"></path>
</svg></a></li>
<li class="social-link"><a href="mailto:about@nathan.woodburn.au" target="_blank"><i class="icon ion-email icon"></i></a></li>
<li class="social-link"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<li class="social-link discord"><a href="https://l.woodburn.au/discord" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-discord icon">
<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>
</svg></a></li>
<li class="social-link"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<li class="social-link mastodon"><a href="https://mastodon.woodburn.au/@nathanwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-mastodon icon">
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"></path>
</svg></a></li>
<li class="social-link"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<li class="social-link youtube"><a href="https://www.youtube.com/@nathanjwoodburn" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-youtube icon">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"></path>
</svg></a></li>
</ul>

View File

@ -33,23 +33,6 @@
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>

View File

@ -34,23 +34,6 @@
<link rel="stylesheet" href="/assets/css/podcast.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>

View File

@ -34,23 +34,6 @@
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -68,13 +51,12 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
</div>
</div>
</nav>
<header class="masthead" style="background-image:url('/assets/img/intro-bg.webp');">
<div class="intro-body">
<header class="masthead" style="height: auto;background: url(&quot;/assets/img/intro-bg.webp&quot;) bottom / cover no-repeat;">
<div style="margin-top: 150px;margin-bottom: 100px;">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<h1 class="brand-heading">Projects</h1>
<p class="intro-text">A Few of My Bigger Projects</p><a class="btn btn-link btn-circle" role="button" href="#projects" aria-label="Go to projects"><i class="fa fa-angle-double-down animated"></i></a>
</div>
</div>
</div>

View File

@ -34,23 +34,6 @@
<link rel="stylesheet" href="/assets/css/Footer-Dark-icons.min.css">
<link rel="stylesheet" href="/assets/css/resume.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
@ -134,7 +117,7 @@
</div>
<div>
<h4 style="margin-bottom: 0.5em;">Server Administration • Since 2023</h4>
<p>I own and manage a dedicated server hosted in a local data center. Utilizing a Proxmox hypervisor, I efficiently manage virtual machines on the server. To increase security measures, I have implemented three firewalled routers to govern three distinct public IPv4 addresses. Each IP is assigned to a separate virtual network, thereby enhancing the overall security infrastructure.</p>
<p>I own and manage a dedicated server hosted in a local data center. Utilizing a Proxmox hypervisor, I efficiently manage virtual machines on the server. To increase security, I am running three separate VLANs with separate firewalls.</p>
<hr>
</div>
</div>

View File

@ -34,23 +34,6 @@
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.woodburn.au/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>

46
templates/signalQR.html Normal file
View File

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en-au">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>Nathan.Woodburn/</title>
<meta name="theme-color" content="#97009a">
<link rel="canonical" href="https://nathan.woodburn.au/signalQR">
<meta property="og:url" content="https://nathan.woodburn.au/signalQR">
<meta http-equiv="onion-location" content="http://wdbrncwefot4hd7bdrz5rzb74mefay7zvrjn2vmkpdm44l7fwnih5ryd.onion">
<meta name="twitter:description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<meta name="description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<meta property="og:title" content="Nathan.Woodburn/">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:image" content="https://nathan.woodburn.au/assets/img/profile.jpg">
<meta property="og:type" content="website">
<meta name="twitter:title" content="Nathan.Woodburn/">
<meta property="og:description" content="G'day, this is my personal website. You can find out about me or check out some of my projects.">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="180x180" href="/assets/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/assets/img/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="/assets/img/android-chrome-512x512.png">
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:700&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anonymous+Pro&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<link rel="stylesheet" href="/assets/css/styles.min.css">
<link rel="stylesheet" href="/assets/css/profile.min.css">
<link rel="me" href="https://mastodon.woodburn.au/@nathanwoodburn" />
<script async src="https://umami.woodburn.au/script.js" data-website-id="6a55028e-aad3-481c-9a37-3e096ff75589"></script>
</head>
<body>
<div class="text-center" style="margin-top: 20px;"><img src="/assets/img/signalQR.png"><span class="fs-2" style="display: block;">Create a chat with my username or<br>scan this QR code on your phone<br>to chat with me on signal</span></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>
<script src="/assets/js/script.min.js"></script>
<script src="/assets/js/hacker.min.js"></script>
</body>
</html>

View File

@ -6,17 +6,23 @@
<url>
<loc>https://nathan.woodburn.au/now/24_02_25</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/now/24_04_19</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/now/old</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/now/template</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/404</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/about</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/ascii</loc>
<loc>https://nathan.woodburn.au/donate</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/gitpgp</loc>
@ -33,4 +39,7 @@
<url>
<loc>https://nathan.woodburn.au/projects</loc>
</url>
<url>
<loc>https://nathan.woodburn.au/signalQR</loc>
</url>
</urlset>