Compare commits
145 Commits
Author | SHA1 | Date | |
---|---|---|---|
42aff1f455 | |||
855f6b3c99 | |||
8a50ae7e32 | |||
1a3572e64c | |||
ad6e3fe9d8 | |||
99b63592d0 | |||
6c004d14bd | |||
a6b488d1a6 | |||
0cef259ecc | |||
150bc17ed4 | |||
c9e9c9be46 | |||
90d8dc3428 | |||
863d11cffd | |||
b3d965d220 | |||
496205c6b4 | |||
9552df4b4e | |||
9881584cdb | |||
867583d30c | |||
125768b01e | |||
320538ad17 | |||
56a5539106 | |||
56b1048622 | |||
3e4d5c2633 | |||
cdb7eb86a5 | |||
6de2518f1f | |||
34580eeab4 | |||
0dd03e544c | |||
84a6310189 | |||
68f8c55817 | |||
9c0d592a24 | |||
56349561f9 | |||
702282d11f | |||
46856a9399 | |||
eecf9b8db8 | |||
1c891d971f | |||
6dfa664807 | |||
5a27be5a3c | |||
8687daecfd | |||
6b5fe4bc2f | |||
c86bae36ad | |||
ef40e8078c | |||
80fc1cdc4d | |||
331de40dfd | |||
f3ee6607e7 | |||
eec66b13ca | |||
9fc218feb1 | |||
9ed68d1f0b | |||
80cc8022eb | |||
6bf45b9c2b | |||
860d070c55 | |||
7e49d23736 | |||
69fb34c2ba | |||
6664de6c07 | |||
b93515ff32 | |||
230042cc7b | |||
98acc8543c | |||
eea21cea1e | |||
fb8136f3b6 | |||
e84c39030d | |||
75308cb264 | |||
9b81a0bf18 | |||
005a306fc6 | |||
cb13ca0a3b | |||
5685830cba | |||
1f9b38306c | |||
9568cfe177 | |||
18619efe39 | |||
719221d74f | |||
5d95307ae2 | |||
1b017d919a | |||
ce5ec9aace | |||
668dc8683b | |||
65dc5991c0 | |||
05be03225d | |||
52dd703fa6 | |||
e40ec28509 | |||
1cb8f3ea65 | |||
922a0f5d47 | |||
94c32a3b30 | |||
3024c3de32 | |||
d936a8f96b | |||
1eb32828ec | |||
bf6236e60b | |||
3bf9e043fe | |||
efc359459c | |||
095f74773c | |||
d58a6196eb | |||
a24a6b599e | |||
f4409415d9 | |||
d17b528baf | |||
7f4f589d5b | |||
61d33381e8 | |||
3f1225a03a | |||
ad95fe796b | |||
9e078387d8 | |||
fb81b24839 | |||
f4295107a4 | |||
35e4ae222c | |||
12a51bbb54 | |||
6d47ddf89f | |||
2d56c89765 | |||
21aec406df | |||
6eb6299b3a | |||
c3f2714929 | |||
e98edf3de9 | |||
cadece357b | |||
da42f35ff0 | |||
dcb07799e3 | |||
ece562caba | |||
23d44038ef | |||
31f93005b9 | |||
8217a7fcd6 | |||
00ac9881c3 | |||
1f54a882d8 | |||
7a9fb9e08b | |||
9305442c4b | |||
d67da4ad06 | |||
d094784188 | |||
c2cd53dc78 | |||
89ce365bd0 | |||
e6708dceaa | |||
2e463c626d | |||
797db5e1a9 | |||
12dd3dfedc | |||
682e732643 | |||
33158bdb57 | |||
26c91c030a | |||
699e9988f2 | |||
21bcb0464b | |||
6efcb43d23 | |||
dcbe034d2f | |||
5f42fc3d8c | |||
92f72accf9 | |||
f419e28a5a | |||
519d241b31 | |||
f1febd7823 | |||
9dee5c24e4 | |||
20d59f7820 | |||
66acd69bec | |||
f001691283 | |||
607e51c481 | |||
1855e18315 | |||
0b6ba921ce | |||
d32dcc701b | |||
5bed9dbbc8 |
41
.gitea/workflows/build.yml
Normal file
@ -0,0 +1,41 @@
|
||||
name: Build Docker
|
||||
run-name: Build Docker Images
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
BuildImage:
|
||||
runs-on: [ubuntu-latest, amd]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Docker
|
||||
run : |
|
||||
apt-get install ca-certificates curl gnupg
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
apt-get install docker-ce-cli -y
|
||||
- name: Build Docker image
|
||||
run : |
|
||||
echo "${{ secrets.DOCKERGIT_TOKEN }}" | docker login git.woodburn.au -u nathanwoodburn --password-stdin
|
||||
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}"
|
||||
tag=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
|
||||
tag=${tag//\//-}
|
||||
tag_num=${GITHUB_RUN_NUMBER}
|
||||
echo "tag_num=$tag_num"
|
||||
|
||||
if [[ "$tag" == "main" ]]; then
|
||||
tag="latest"
|
||||
else
|
||||
tag_num="${tag}-${tag_num}"
|
||||
fi
|
||||
|
||||
|
||||
docker build -t nathanwoodburn:$tag_num .
|
||||
docker tag nathanwoodburn:$tag_num git.woodburn.au/nathanwoodburn/nathanwoodburn:$tag_num
|
||||
docker push git.woodburn.au/nathanwoodburn/nathanwoodburn:$tag_num
|
||||
docker tag nathanwoodburn:$tag_num git.woodburn.au/nathanwoodburn/nathanwoodburn:$tag
|
||||
docker push git.woodburn.au/nathanwoodburn/nathanwoodburn:$tag
|
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
__pycache__/
|
||||
|
||||
.env
|
||||
.vs/
|
||||
.venv/
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
""
|
||||
],
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
BIN
.vs/slnx.sqlite
6
.well-known/wallets/.BTC.proof
Normal file
@ -0,0 +1,6 @@
|
||||
I hereby confirm that I am the owner of the Bitcoin address bc1q60qy4s6gd7se8z6nc4wu49g4u5y8k2epd3djzc.
|
||||
Nathan.Woodburn/
|
||||
--------------------
|
||||
H3oLoxLyax3gW6KkGfJiarseaktWWydyfS2TZ1zGoDlkIoMG/nIlNWNC5xc/uHCdPs+CIJgxNRq0GQI91qkalpg=
|
||||
--------------------
|
||||
You can verify this signature by pasting it into a signature verification tool such as https://www.verifybitcoinmessage.com/.
|
6
.well-known/wallets/.ETH.proof
Normal file
@ -0,0 +1,6 @@
|
||||
I hereby confirm that I am the owner of the EVM address 0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e.
|
||||
Nathan.Woodburn/
|
||||
--------------------
|
||||
0x254919e1f2035a4f04614da9e1fbc1f45dab31b03b0baf1bb3325a9f9e437f1f787b99ebc6716b822fc190284c2c678054c91835492ff0df239ec60f6166587f1c
|
||||
--------------------
|
||||
You can verify this signature by pasting it into a signature verification tool such as https://etherscan.io/verifiedSignatures
|
13
.well-known/wallets/.SOL.proof
Normal file
@ -0,0 +1,13 @@
|
||||
I hereby confirm that I am the owner of the SOL address AJsPEEe6S7XSiVcdZKbeV8GRp1QuhFUsG8mLrqL4XgiU.
|
||||
Nathan.Woodburn/
|
||||
--------------------
|
||||
[71,63,207,190,90,17,145,39,4,98,110,176,86,140,143,107,237,96,24,43,2,116,21,70,47,98,192,24,193,210,89,220,30,128,219,105,9,35,146,188,216,143,164,32,255,44,146,249,153,33,54,214,203,159,80,26,107,165,217,240,153,61,39,0]
|
||||
--------------------
|
||||
0x473fcfbe5a11912704626eb0568c8f6bed60182b027415462f62c018c1d259dc1e80db69092392bcd88fa420ff2c92f9992136d6cb9f501a6ba5d9f0993d2700
|
||||
--------------------
|
||||
2Rd2EkAUwC8u4DtCZ5BXTkJEvWxozrxmcEzn7VbJFFbL81YLQngH9V1bTu3vivaQz7ZGqs5YtpPWxomsYeE7Ws6F
|
||||
--------------------
|
||||
Rz/PvloRkScEYm6wVoyPa+1gGCsCdBVGL2LAGMHSWdwegNtpCSOSvNiPpCD/LJL5mSE21sufUBprpdnwmT0nAA==
|
||||
--------------------
|
||||
You can verify this signature by pasting it into a signature verification tool such as https://amacar.github.io/solana-tools/#verify-message
|
||||
Please note I have included various formats for the signature to make it easier to verify.
|
32
.well-known/wallets/.coins
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"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)",
|
||||
"KAS": "Kasper (KAS)",
|
||||
"XLM": "Stellar (XLM)",
|
||||
"APT": "Aptos (APT)",
|
||||
"TRX": "Tron (TRX)",
|
||||
"BCH": "Bitcoin Cash (BCH)"
|
||||
}
|
32
.well-known/wallets/.domains
Normal 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"
|
||||
}
|
73
.well-known/wallets/.tokens
Normal file
@ -0,0 +1,73 @@
|
||||
[
|
||||
{
|
||||
"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": "USDC",
|
||||
"name": "USDC",
|
||||
"chain": "NOBLE"
|
||||
},
|
||||
{
|
||||
"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": "thinbadger6@primal.net"
|
||||
}
|
||||
]
|
1
.well-known/wallets/ADA
Normal file
@ -0,0 +1 @@
|
||||
addr1qy5l7vmx9l2uexv44hzjak4zmwecee4hht0k6shtk5jh7cjzu99z8vx5n467fquzradx7p42grdylv3zq2cgfw0f32fs443hxs
|
1
.well-known/wallets/AKASH
Normal file
@ -0,0 +1 @@
|
||||
akash1ugraczuyfmxy8k38nps4fu7e5derryzxpk2n77
|
1
.well-known/wallets/ALGO
Normal file
@ -0,0 +1 @@
|
||||
OUWNGLRLAN56VTNI3F4EKISPDIFIF2HMCV3OYS3DER7WXF2LCFMEV2TWPI
|
1
.well-known/wallets/APT
Normal file
@ -0,0 +1 @@
|
||||
0x372b3c513d149e5511912eba22e31f07d2b289e20ba84b2e0b7756e7a00295c3
|
1
.well-known/wallets/ATOM
Normal file
@ -0,0 +1 @@
|
||||
cosmos1ugraczuyfmxy8k38nps4fu7e5derryzxvd858y
|
1
.well-known/wallets/AVAX
Normal file
@ -0,0 +1 @@
|
||||
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e
|
1
.well-known/wallets/AXELAR
Normal file
@ -0,0 +1 @@
|
||||
axelar1ugraczuyfmxy8k38nps4fu7e5derryzxgr3uv9
|
1
.well-known/wallets/BCH
Normal file
@ -0,0 +1 @@
|
||||
qpsgs9daa6e2mn4v0u02pfunsme68a5uayn7e8knug
|
1
.well-known/wallets/BNB
Normal file
@ -0,0 +1 @@
|
||||
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e
|
1
.well-known/wallets/BOSTROM
Normal file
@ -0,0 +1 @@
|
||||
bostrom1ugraczuyfmxy8k38nps4fu7e5derryzx07n8er
|
@ -1 +1 @@
|
||||
bc1qhs94zzcw64qnwq4hvk056rwxwvgrkd7tq7d4xw
|
||||
bc1q60qy4s6gd7se8z6nc4wu49g4u5y8k2epd3djzc
|
1
.well-known/wallets/CHIHUAHUA
Normal file
@ -0,0 +1 @@
|
||||
chihuahua1ugraczuyfmxy8k38nps4fu7e5derryzx0c26xx
|
1
.well-known/wallets/DASH
Normal file
@ -0,0 +1 @@
|
||||
Xpr5auWs1waBmWT3XsWXwzu8Di32x8VfH2
|
1
.well-known/wallets/DOGE
Normal file
@ -0,0 +1 @@
|
||||
DCrBQ3zoy3jBWwwT95tyjBVjYFXLgKS4MC
|
1
.well-known/wallets/DOT
Normal file
@ -0,0 +1 @@
|
||||
13KSjM7rxFu7SxAuqcNZ76wyjhfuV4Kx8pWfqpFAykSQeEn3
|
1
.well-known/wallets/EOS
Normal file
@ -0,0 +1 @@
|
||||
nwoodburn111
|
1
.well-known/wallets/GRAVITY
Normal file
@ -0,0 +1 @@
|
||||
gravity1ugraczuyfmxy8k38nps4fu7e5derryzxga4vzv
|
1
.well-known/wallets/IAA
Normal file
@ -0,0 +1 @@
|
||||
iaa1ugraczuyfmxy8k38nps4fu7e5derryzxe08994
|
1
.well-known/wallets/INJ
Normal file
@ -0,0 +1 @@
|
||||
inj1dj6t8xlvyw5jrjdzp5rphutageqtp5u7wflgv9
|
1
.well-known/wallets/JUNO
Normal file
@ -0,0 +1 @@
|
||||
juno1ugraczuyfmxy8k38nps4fu7e5derryzx6ly0qc
|
1
.well-known/wallets/KAS
Normal file
@ -0,0 +1 @@
|
||||
kaspa:qzl7av7gq5j594pcs2gn6zf2xadpmhdm90nygjstvte0n6gt9f4fgx0w2dhm8
|
1
.well-known/wallets/KAVA
Normal file
@ -0,0 +1 @@
|
||||
kava1ugraczuyfmxy8k38nps4fu7e5derryzxscnf3r
|
1
.well-known/wallets/LIKE
Normal file
@ -0,0 +1 @@
|
||||
like1ugraczuyfmxy8k38nps4fu7e5derryzxl3mkyl
|
1
.well-known/wallets/LTC
Normal file
@ -0,0 +1 @@
|
||||
ltc1qx79yxm2gwnsrch925343hg3zt3r085x725a0tw
|
1
.well-known/wallets/NEAR
Normal file
@ -0,0 +1 @@
|
||||
3b06b5e91361739aed92707e888fbbd33f97b24a8a3f8fdd54a2c7e7fd7082a3
|
1
.well-known/wallets/NOBLE
Normal file
@ -0,0 +1 @@
|
||||
noble1ugraczuyfmxy8k38nps4fu7e5derryzxywjul2
|
1
.well-known/wallets/OMNIFLIX
Normal file
@ -0,0 +1 @@
|
||||
omniflix1ugraczuyfmxy8k38nps4fu7e5derryzx3nkds6
|
1
.well-known/wallets/OP
Normal file
@ -0,0 +1 @@
|
||||
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e
|
1
.well-known/wallets/OSMO
Normal file
@ -0,0 +1 @@
|
||||
osmo1ugraczuyfmxy8k38nps4fu7e5derryzxyk5y3k
|
1
.well-known/wallets/PERSISTENCE
Normal file
@ -0,0 +1 @@
|
||||
persistence1ugraczuyfmxy8k38nps4fu7e5derryzxzpp8fq
|
1
.well-known/wallets/QUICK
Normal file
@ -0,0 +1 @@
|
||||
quick1ugraczuyfmxy8k38nps4fu7e5derryzx8fhx7k
|
1
.well-known/wallets/REGEN
Normal file
@ -0,0 +1 @@
|
||||
regen1ugraczuyfmxy8k38nps4fu7e5derryzxn0vg3q
|
1
.well-known/wallets/SCRT
Normal file
@ -0,0 +1 @@
|
||||
secret1ugraczuyfmxy8k38nps4fu7e5derryzxwgna6c
|
1
.well-known/wallets/SENT
Normal file
@ -0,0 +1 @@
|
||||
sent1ugraczuyfmxy8k38nps4fu7e5derryzxhk3drt
|
1
.well-known/wallets/SHENTU
Normal file
@ -0,0 +1 @@
|
||||
shentu1ugraczuyfmxy8k38nps4fu7e5derryzxyerd4e
|
1
.well-known/wallets/SIF
Normal file
@ -0,0 +1 @@
|
||||
sif1ugraczuyfmxy8k38nps4fu7e5derryzxfsgzg0
|
1
.well-known/wallets/SOMM
Normal file
@ -0,0 +1 @@
|
||||
somm1ugraczuyfmxy8k38nps4fu7e5derryzxq3gckw
|
1
.well-known/wallets/STARS
Normal file
@ -0,0 +1 @@
|
||||
stars1ugraczuyfmxy8k38nps4fu7e5derryzxc3sfv4
|
1
.well-known/wallets/STRIDE
Normal file
@ -0,0 +1 @@
|
||||
stride1ugraczuyfmxy8k38nps4fu7e5derryzx0x8gng
|
1
.well-known/wallets/SUI
Normal file
@ -0,0 +1 @@
|
||||
0x9e14ca8b9bf9661fd8a67c2c147bb1f7ea81eb38eb10938b6a9cecb54419e3b2
|
1
.well-known/wallets/TERRA
Normal file
@ -0,0 +1 @@
|
||||
terra1ugraczuyfmxy8k38nps4fu7e5derryzx2fa59y
|
1
.well-known/wallets/TON
Normal file
@ -0,0 +1 @@
|
||||
UQDqC1B0a3S9th8ncaQHYJ689dnu9c0zJXeV727UMak9WbBm
|
1
.well-known/wallets/TRX
Normal file
@ -0,0 +1 @@
|
||||
THjwavxGZahj1scVw75fhGP2HCAcjNxwsK
|
1
.well-known/wallets/UMEE
Normal file
@ -0,0 +1 @@
|
||||
umee1ugraczuyfmxy8k38nps4fu7e5derryzx7m6trk
|
1
.well-known/wallets/XLM
Normal file
@ -0,0 +1 @@
|
||||
GCK4PA53V26MNP6U57EPK7EA42TBQMGJ4TUPMUPLLQNPZ64YX3XVLZGQ
|
1
.well-known/wallets/XRP
Normal file
@ -0,0 +1 @@
|
||||
rKzdnYvwDyeki5VCgMwjuofjBjAbg3DJnB
|
12
.well-known/xrp-ledger.toml
Normal file
@ -0,0 +1,12 @@
|
||||
[METADATA]
|
||||
modified = 2024-07-02T00:00:00.000Z
|
||||
expires = 2050-07-02T00:00:00.000Z
|
||||
|
||||
[[ACCOUNTS]]
|
||||
address = "rKzdnYvwDyeki5VCgMwjuofjBjAbg3DJnB"
|
||||
desc = "Nathan.Woodburn/ (Twitter: @nathanwoodburn)"
|
||||
|
||||
[[PRINCIPALS]]
|
||||
name = "Nathan Woodburn"
|
||||
email = "xrp@nathan.woodburn.au"
|
||||
social_1 = "https://nathan.woodburn.au"
|
93
403.css
@ -1,93 +0,0 @@
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
/* width: 100%; */
|
||||
height: 99%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
family: "Poppins", sans-serif;
|
||||
background-image: linear-gradient(45deg, #f6d200 25%, #181617 25%, #181617 50%, #f6d200 50%, #f6d200 75%, #181617 75%, #181617 100%);
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-transform: uppercase;
|
||||
background: repeating-linear-gradient(45deg, #f6d200, #f6d200 10px, #181617 10px, #181617 20px);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
animation: move 5s ease infinite;
|
||||
font-size: 384px;
|
||||
margin: 0;
|
||||
line-height: 0.7;
|
||||
position: relative;
|
||||
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
}
|
||||
h1:before, h1:after {
|
||||
content: "Caution";
|
||||
background-color: #f6d200;
|
||||
color: #181617;
|
||||
border-radius: 10px;
|
||||
font-size: 35px;
|
||||
position: absolute;
|
||||
padding: 31px;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
-webkit-text-fill-color: #181617;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%) rotate(20deg);
|
||||
}
|
||||
h1:before {
|
||||
content: "";
|
||||
padding: 70px 130px;
|
||||
background: repeating-linear-gradient(45deg, #f6d200, #f6d200 10px, #181617 10px, #181617 20px);
|
||||
box-shadow: 0px 0px 10px #181617;
|
||||
}
|
||||
h1 span:before, h1 span:after {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #757575;
|
||||
color: #757575;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
top: 20%;
|
||||
z-index: 3;
|
||||
box-shadow: 0px 60px 0 0px;
|
||||
}
|
||||
h1 span:before {
|
||||
left: 37%;
|
||||
transform: rotate(22deg);
|
||||
top: -44%;
|
||||
}
|
||||
h1 span:after {
|
||||
right: 34%;
|
||||
transform: rotate(22deg);
|
||||
top: 3%;
|
||||
}
|
||||
input {
|
||||
margin-top: 3em;
|
||||
background: #f6d200;
|
||||
color: #181617;
|
||||
border: 0;
|
||||
padding: 20px 40px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0px 0px 10px #181617;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
}
|
17
403.html
@ -1,17 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>403 | Woodburn</title>
|
||||
<link rel="stylesheet" href="403.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="text"><span>403</span></h1>
|
||||
<br>
|
||||
<form action="https://id.woodburn.au/logout">
|
||||
<input type="submit" value="Logout" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
24
404.html
@ -1,24 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Nathan Woodburn</title>
|
||||
<link rel="icon" type="image/png" href="../assets/img/NJW Icon 512.png"/>
|
||||
<link rel="icon" type="image/png" href="https://nathan.woodburn.id.au/assets/img/NJW Icon 512.png"/>
|
||||
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css'><link rel="stylesheet" href="https://nathan.woodburn.id.au/404.css">
|
||||
</head>
|
||||
<body style="background-color:white;">
|
||||
<!-- partial:index.partial.html -->
|
||||
<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> <span class="label label-danger">→</span> to move!   <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">
|
||||
<!-- partial -->
|
||||
<script src="https://nathan.woodburn.id.au/404.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
293
404M.css
@ -1,293 +0,0 @@
|
||||
@import url(https://fonts.googleapis.com/css?family=Ubuntu);
|
||||
html, body {
|
||||
background: #28254C;
|
||||
font-family: 'Ubuntu';
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.box {
|
||||
width: 350px;
|
||||
height: 100%;
|
||||
max-height: 600px;
|
||||
min-height: 450px;
|
||||
background: #332F63;
|
||||
border-radius: 20px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
padding: 30px 50px;
|
||||
}
|
||||
.box .box__ghost {
|
||||
padding: 15px 25px 25px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 30%;
|
||||
transform: translate(-50%, -30%);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(1) {
|
||||
opacity: .2;
|
||||
animation: shine 4s ease-in-out 3s infinite;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(1):before, .box .box__ghost .symbol:nth-child(1):after {
|
||||
content: '';
|
||||
width: 12px;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
border-radius: 5px;
|
||||
bottom: 65px;
|
||||
left: 0;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(1):before {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(1):after {
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(2) {
|
||||
position: absolute;
|
||||
left: -5px;
|
||||
top: 30px;
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
border: 4px solid;
|
||||
border-radius: 50%;
|
||||
border-color: #fff;
|
||||
opacity: .2;
|
||||
animation: shine 4s ease-in-out 1.3s infinite;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(3) {
|
||||
opacity: .2;
|
||||
animation: shine 3s ease-in-out .5s infinite;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(3):before, .box .box__ghost .symbol:nth-child(3):after {
|
||||
content: '';
|
||||
width: 12px;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
border-radius: 5px;
|
||||
top: 5px;
|
||||
left: 40px;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(3):before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(3):after {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(4) {
|
||||
opacity: .2;
|
||||
animation: shine 6s ease-in-out 1.6s infinite;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(4):before, .box .box__ghost .symbol:nth-child(4):after {
|
||||
content: '';
|
||||
width: 15px;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
border-radius: 5px;
|
||||
top: 10px;
|
||||
right: 30px;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(4):before {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(4):after {
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(5) {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 40px;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
border: 3px solid;
|
||||
border-radius: 50%;
|
||||
border-color: #fff;
|
||||
opacity: .2;
|
||||
animation: shine 1.7s ease-in-out 7s infinite;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(6) {
|
||||
opacity: .2;
|
||||
animation: shine 2s ease-in-out 6s infinite;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(6):before, .box .box__ghost .symbol:nth-child(6):after {
|
||||
content: '';
|
||||
width: 15px;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
border-radius: 5px;
|
||||
bottom: 65px;
|
||||
right: -5px;
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(6):before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.box .box__ghost .symbol:nth-child(6):after {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.box .box__ghost .box__ghost-container {
|
||||
background: #fff;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border-radius: 100px 100px 0 0;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
animation: upndown 3s ease-in-out infinite;
|
||||
}
|
||||
.box .box__ghost .box__ghost-container .box__ghost-eyes {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 45%;
|
||||
height: 12px;
|
||||
width: 70px;
|
||||
}
|
||||
.box .box__ghost .box__ghost-container .box__ghost-eyes .box__eye-left {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: #332F63;
|
||||
border-radius: 50%;
|
||||
margin: 0 10px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
.box .box__ghost .box__ghost-container .box__ghost-eyes .box__eye-right {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: #332F63;
|
||||
border-radius: 50%;
|
||||
margin: 0 10px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
.box .box__ghost .box__ghost-container .box__ghost-bottom {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
.box .box__ghost .box__ghost-container .box__ghost-bottom div {
|
||||
flex-grow: 1;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
height: 20px;
|
||||
border-radius: 100%;
|
||||
background-color: #fff;
|
||||
}
|
||||
.box .box__ghost .box__ghost-container .box__ghost-bottom div:nth-child(2n) {
|
||||
top: -12px;
|
||||
margin: 0 -0px;
|
||||
border-top: 15px solid #332F63;
|
||||
background: transparent;
|
||||
}
|
||||
.box .box__ghost .box__ghost-shadow {
|
||||
height: 20px;
|
||||
box-shadow: 0 50px 15px 5px #3B3769;
|
||||
border-radius: 50%;
|
||||
margin: 0 auto;
|
||||
animation: smallnbig 3s ease-in-out infinite;
|
||||
}
|
||||
.box .box__description {
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
.box .box__description .box__description-container {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
width: 200px;
|
||||
font-size: 16px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.box .box__description .box__description-container .box__description-title {
|
||||
font-size: 24px;
|
||||
letter-spacing: .5px;
|
||||
}
|
||||
.box .box__description .box__description-container .box__description-text {
|
||||
color: #8C8AA7;
|
||||
line-height: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.box .box__description .box__button {
|
||||
display: block;
|
||||
position: relative;
|
||||
background: #FF5E65;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 50px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: #fff;
|
||||
line-height: 50px;
|
||||
font-size: 18px;
|
||||
padding: 0 70px;
|
||||
white-space: nowrap;
|
||||
margin-top: 25px;
|
||||
transition: background .5s ease;
|
||||
overflow: hidden;
|
||||
-webkit-mask-image: -webkit-radial-gradient(white, black);
|
||||
}
|
||||
.box .box__description .box__button:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 100px;
|
||||
background: #fff;
|
||||
bottom: -25px;
|
||||
left: 0;
|
||||
border: 2px solid #fff;
|
||||
transform: translateX(-50px) rotate(45deg);
|
||||
transition: transform .5s ease;
|
||||
}
|
||||
.box .box__description .box__button:hover {
|
||||
background: transparent;
|
||||
border-color: #fff;
|
||||
}
|
||||
.box .box__description .box__button:hover:before {
|
||||
transform: translateX(250px) rotate(45deg);
|
||||
}
|
||||
|
||||
@keyframes upndown {
|
||||
0% {
|
||||
transform: translateY(5px);
|
||||
}
|
||||
50% {
|
||||
transform: translateY(15px);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(5px);
|
||||
}
|
||||
}
|
||||
@keyframes smallnbig {
|
||||
0% {
|
||||
width: 90px;
|
||||
}
|
||||
50% {
|
||||
width: 100px;
|
||||
}
|
||||
100% {
|
||||
width: 90px;
|
||||
}
|
||||
}
|
||||
@keyframes shine {
|
||||
0% {
|
||||
opacity: .2;
|
||||
}
|
||||
25% {
|
||||
opacity: .1;
|
||||
}
|
||||
50% {
|
||||
opacity: .2;
|
||||
}
|
||||
100% {
|
||||
opacity: .2;
|
||||
}
|
||||
}
|
53
404M.html
@ -1,53 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Nathan Woodburn</title>
|
||||
<link rel="icon" type="image/png" href="../images/favicon.png"/>
|
||||
<link rel="icon" type="image/png" href="https://www.nathanwoodburn.tk/images/favicon.png"/>
|
||||
<link rel="stylesheet" href="./404M.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- partial:index.partial.html -->
|
||||
<div class="box">
|
||||
<div class="box__ghost">
|
||||
<div class="symbol"></div>
|
||||
<div class="symbol"></div>
|
||||
<div class="symbol"></div>
|
||||
<div class="symbol"></div>
|
||||
<div class="symbol"></div>
|
||||
<div class="symbol"></div>
|
||||
|
||||
<div class="box__ghost-container">
|
||||
<div class="box__ghost-eyes">
|
||||
<div class="box__eye-left"></div>
|
||||
<div class="box__eye-right"></div>
|
||||
</div>
|
||||
<div class="box__ghost-bottom">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box__ghost-shadow"></div>
|
||||
</div>
|
||||
|
||||
<div class="box__description">
|
||||
<div class="box__description-container">
|
||||
<div class="box__description-title">Whoops!</div>
|
||||
<div class="box__description-text">It seems like we couldn't find the page you were looking for</div>
|
||||
</div>
|
||||
|
||||
<a href="https://www.nathanwoodburn.tk" class="box__button">Go back</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- partial -->
|
||||
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script><script src="./404M.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
20
404M.js
@ -1,20 +0,0 @@
|
||||
//based on https://dribbble.com/shots/3913847-404-page
|
||||
|
||||
var pageX = $(document).width();
|
||||
var pageY = $(document).height();
|
||||
var mouseY=0;
|
||||
var mouseX=0;
|
||||
|
||||
$(document).mousemove(function( event ) {
|
||||
//verticalAxis
|
||||
mouseY = event.pageY;
|
||||
yAxis = (pageY/2-mouseY)/pageY*300;
|
||||
//horizontalAxis
|
||||
mouseX = event.pageX / -pageX;
|
||||
xAxis = -mouseX * 100 - 100;
|
||||
|
||||
$('.box__ghost-eyes').css({ 'transform': 'translate('+ xAxis +'%,-'+ yAxis +'%)' });
|
||||
|
||||
//console.log('X: ' + xAxis);
|
||||
|
||||
});
|
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
||||
FROM --platform=$BUILDPLATFORM python:3.10-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY requirements.txt /app
|
||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||
python3 -m pip install -r requirements.txt
|
||||
|
||||
COPY . /app
|
||||
|
||||
# Add mount point for data volume
|
||||
# VOLUME /data
|
||||
|
||||
ENTRYPOINT ["python3"]
|
||||
CMD ["main.py"]
|
||||
|
||||
FROM builder as dev-envs
|
@ -1 +0,0 @@
|
||||
include: [".well-known"]
|
60
about.html
@ -1,60 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html data-bs-theme="light" lang="en-au" style="background: url("assets/img/intro-bg.webp") bottom / cover no-repeat, black;">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-NNXTCKW');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<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/about.html">
|
||||
<meta property="og:url" content="https://nathan.woodburn.au/about.html">
|
||||
<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">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic&display=swap">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:700&display=swap">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anonymous+Pro&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/ionicons.min.css">
|
||||
<link rel="stylesheet" href="assets/css/styles.min.css">
|
||||
<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" />
|
||||
</head>
|
||||
|
||||
<body class="about-body" style="text-align: center;color: rgb(255,255,255);background: transparent;"><script src="https://nathan.woodburn/handshake.js" domain="nathan.woodburn"></script>
|
||||
<script src="https://nathan.woodburn/https.js"></script>
|
||||
<div class="profile-container" style="margin-bottom: 2em;margin-top: 5em;"><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: 0.5em;">Nathan.Woodburn/</h1>
|
||||
<div class="social-icons" style="background: rgba(255,255,255,0);color: rgb(255,255,255);padding: 0px;"><a href="https://www.facebook.com/nathanjwoodburn" target="_blank"><i class="icon ion-social-facebook facebook social-icons-hidden" style="border-color: #ffffff;color: rgb(255,255,255);font-size: 35px;margin-top: 0.5em;margin-bottom: 0.5em;"></i></a><a target="_blank" href="https://twitter.com/woodburn_nathan"><i class="icon ion-social-twitter twitter social-icons-hidden" style="border-color: #ffffff;color: rgb(255,255,255);font-size: 35px;margin-top: 0.5em;margin-bottom: 0.5em;"></i></a><a href="https://www.linkedin.com/in/nathanwoodburn/" target="_blank"><i class="icon ion-social-linkedin linkedin social-icons-hidden" style="border-color: #ffffff;color: rgb(255,255,255);font-size: 35px;margin-top: 0.5em;margin-bottom: 0.5em;"></i></a><a href="https://github.com/Nathanwoodburn" target="_blank"><i class="icon ion-social-github github social-icons-hidden" style="border-color: #ffffff;color: rgb(255,255,255);font-size: 35px;margin-top: 0.5em;margin-bottom: 0.5em;"></i></a><a href="mailto:contact@nathan.woodburn.au" target="_blank"><i class="icon ion-email email social-icons-hidden" style="border-color: #ffffff;color: rgb(255,255,255);font-size: 35px;margin-top: 0.5em;margin-bottom: 0.5em;"></i></a><a href="https://keybase.io/nathanwoodburn" target="_blank"><i class="fab fa-keybase keybase social-icons-hidden" style="border-color: #ffffff;color: rgb(255,255,255);font-size: 35px;margin-top: 0.5em;margin-bottom: 0.5em;"></i></a></div>
|
||||
<p style="margin-top: 1em;">Hi, I am Nathan Woodburn and I live in Canberra<br>I am currently studying at the Australian National University<br>I enjoy 3D printing and CAD<br>I code stuff with C#, Linux Bash<br>I can code in a ton of other languages with Google's help<br>I'm a co-founder of <a href="https://hns.au" target="_blank">Handshake Australia</a><br>I currently work for <a href="https://learn.namebase.io" target="_blank">Namebase</a><br><br></p><i class="fas fa-arrow-down" style="font-size: 50px;" onclick="slideout()"></i>
|
||||
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="assets/js/script.min.js"></script>
|
||||
<script src="assets/js/about.min.js"></script>
|
||||
<script src="assets/js/hacker.min.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
35
addCoin.py
Normal file
@ -0,0 +1,35 @@
|
||||
import os
|
||||
import json
|
||||
|
||||
if not os.path.exists('.well-known/wallets'):
|
||||
os.makedirs('.well-known/wallets')
|
||||
|
||||
def addCoin(token:str, name:str, address:str):
|
||||
with open('.well-known/wallets/'+token.upper(),'w') as f:
|
||||
f.write(address)
|
||||
|
||||
with open('.well-known/wallets/.coins','r') as f:
|
||||
coins = json.load(f)
|
||||
|
||||
coins[token.upper()] = f'{name} ({token.upper()})'
|
||||
with open('.well-known/wallets/.coins','w') as f:
|
||||
f.write(json.dumps(coins, indent=4))
|
||||
|
||||
def addDomain(token:str, domain:str):
|
||||
with open('.well-known/wallets/.domains','r') as f:
|
||||
domains = json.load(f)
|
||||
|
||||
domains[token.upper()] = domain
|
||||
with open('.well-known/wallets/.domains','w') as f:
|
||||
f.write(json.dumps(domains, indent=4))
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Ask user for token
|
||||
token = input('Enter token symbol: ')
|
||||
name = input('Enter token name: ')
|
||||
address = input('Enter wallet address: ')
|
||||
addCoin(token, name, address)
|
||||
|
||||
if input('Do you want to add a domain? (y/n): ').lower() == 'y':
|
||||
domain = input('Enter domain: ')
|
||||
addDomain(token, domain)
|
55
ascii.html
BIN
assets/WDBRN.png
Before Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 300 KiB |
7
assets/bootstrap/css/bootstrap.min.css
vendored
6
assets/bootstrap/js/bootstrap.min.js
vendored
@ -1,57 +0,0 @@
|
||||
.bs-icon {
|
||||
--bs-icon-size: .75rem;
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: var(--bs-icon-size);
|
||||
width: calc(var(--bs-icon-size) * 2);
|
||||
height: calc(var(--bs-icon-size) * 2);
|
||||
color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.bs-icon-xs {
|
||||
--bs-icon-size: 1rem;
|
||||
width: calc(var(--bs-icon-size) * 1.5);
|
||||
height: calc(var(--bs-icon-size) * 1.5);
|
||||
}
|
||||
|
||||
.bs-icon-sm {
|
||||
--bs-icon-size: 1rem;
|
||||
}
|
||||
|
||||
.bs-icon-md {
|
||||
--bs-icon-size: 1.5rem;
|
||||
}
|
||||
|
||||
.bs-icon-lg {
|
||||
--bs-icon-size: 2rem;
|
||||
}
|
||||
|
||||
.bs-icon-xl {
|
||||
--bs-icon-size: 2.5rem;
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-primary {
|
||||
color: var(--bs-white);
|
||||
background: var(--bs-primary);
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-primary-light {
|
||||
color: var(--bs-primary);
|
||||
background: rgba(var(--bs-primary-rgb), .2);
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-semi-white {
|
||||
color: var(--bs-primary);
|
||||
background: rgba(255, 255, 255, .5);
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-rounded {
|
||||
border-radius: .5rem;
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-circle {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
@ -1,43 +0,0 @@
|
||||
.text2-center {
|
||||
text-align: center;
|
||||
margin: 1.25rem 0;
|
||||
border-top: 1px solid #dadada;
|
||||
padding: 1.25rem 0;
|
||||
}
|
||||
|
||||
.text-center1 {
|
||||
text-align: center;
|
||||
margin: 1.25rem 0;
|
||||
border-bottom: 1px solid #dadada;
|
||||
padding: 1.25rem 0;
|
||||
}
|
||||
|
||||
.col-md-3 {
|
||||
margin: 1.25rem 0;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
|
||||
}
|
||||
|
||||
.rounded {
|
||||
border-radius: .25rem !important;
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 0px !important;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #2c3134;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2c3134;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
color: black !important;
|
||||
background-color: white !important;
|
||||
}
|
||||
|
@ -1,38 +0,0 @@
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:500px) {
|
||||
.profile-container {
|
||||
height: 200px;
|
||||
margin-top: 2em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
1742
assets/css/animate.min.css
vendored
@ -1,11 +0,0 @@
|
||||
body.about-body {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
transition: 2s;
|
||||
height: 101%;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
img.no-drag {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
img.fog {
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
1
assets/css/index.min.css
vendored
@ -1 +0,0 @@
|
||||
img.no-drag{pointer-events:none}img.fog{pointer-events:none;position:absolute;left:0;top:0;width:100%;height:100%}
|
1
assets/css/parallax.min.css
vendored
@ -1 +0,0 @@
|
||||
.main{position:relative;height:100vh;width:99vw;overflow:hidden}.parallax{pointer-events:none;transition:none}.bg-img{position:absolute;width:194.44%;top:1.86%;left:50.69%;z-index:1}.fog-7{position:absolute;z-index:2;top:37.7%;left:70.8%;width:132%}.mountain-10{position:absolute;z-index:3;top:63.58%;width:71.52%;left:67.84%}.fog-6{position:absolute;z-index:4;top:62.09%;left:50.4%;width:129.3%}.mountain-9{position:absolute;z-index:5;top:63.95%;width:32.63%;left:18.3%}.mountain-8{position:absolute;z-index:6;top:60.6%;width:56.25%;left:36%}.fog-5{position:absolute;z-index:7;top:69.7%;left:51.3%;width:31.25%}.mountain-7{position:absolute;z-index:8;width:37.36%;top:65.18%;left:71.18%}.text{position:absolute;z-index:9;top:34%;left:50%;text-align:center;text-transform:uppercase;color:#fff;pointer-events:auto}.text .para1{font-weight:100;line-height:.88}.text .para2{font-weight:800}.mountain-6{position:absolute;z-index:10;top:57.4%;width:28.33%;left:90.97%}.fog-4{position:absolute;z-index:11;top:77.7%;left:45.84%;width:40.27%}.mountain-5{position:absolute;z-index:12;top:80.86%;width:43.4%;left:59%}.fog-3{position:absolute;z-index:13;top:63.58%;left:48.27%;width:107.63%}.mountain-4{position:absolute;z-index:14;top:74.19%;width:54.16%;left:23.55%}.mountain-3{position:absolute;z-index:15;top:61.35%;left:101.11%;width:32.22%}.fog-2{position:absolute;z-index:16;top:68.14%;left:48%;width:108.33%}.mountain-2{position:absolute;z-index:17;top:69.01%;left:78.61%;width:47.91%}.mountain-1{position:absolute;z-index:18;top:52%;left:8.27%;width:37.15%}.sun-rays{position:absolute;z-index:19;top:0;right:0;width:41.31%;pointer-events:none}.black-shadow{position:absolute;z-index:20;bottom:0;right:0;pointer-events:none;width:100%}.fog-1{position:absolute;z-index:21;top:59.26%;left:50.69%;width:111.8%}.vignette{position:absolute;z-index:100;width:100%;height:100%;top:0;left:0;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 65%,rgba(0,0,0,.7));pointer-events:none}@media (max-width:1100px){.text h1{font-size:5.8rem}.text h2{display:none}}@media (max-width:725px){.bg-img{width:initial;height:208.1%}.fog-7{width:initial;height:146.17%}.mountain-10{width:initial;height:77.59%}.fog-6{width:initial;height:73.11%}.mountain-9{height:87.64%;width:initial}.mountain-8{height:84.33%;width:initial}.fog-5{width:initial;height:54.16%}.mountain-7{width:initial;height:72.26%}.mountain-6{width:initial;height:56.78%}.fog-4{width:initial;height:104.5%}.mountain-5{width:initial;height:60.64%}.fog-3{width:initial;height:90.78%}.mountain-4{width:initial;height:71.42%}.mountain-3{width:initial;height:96.86%}.fog-2{width:initial;height:84.73%}.mountain-2{display:none}.mountain-1{width:initial;height:100.03%}.fog-1{width:initial;height:89.86%}}@media (max-width:520px){.text h1{font-size:3.3rem}.text h2{font-size:2.6rem}}
|
@ -1,28 +0,0 @@
|
||||
.hide_underline {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.invert {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.masthead {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* For screen under 450 px set the nav icon width 100% */
|
||||
|
||||
@media screen and (max-width: 450px) {
|
||||
img.navicon {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 450px) {
|
||||
#navbar {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +0,0 @@
|
||||
.profile-container {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
img.profile {
|
||||
width: 300px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -150px;
|
||||
aspect-ratio: 1;
|
||||
padding-top: calc(var(--s)/5);
|
||||
transform: scale(1);
|
||||
transition: .5s;
|
||||
}
|
||||
|
||||
img.foreground {
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
img.background:hover {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
1
assets/css/profile.min.css
vendored
@ -1 +0,0 @@
|
||||
.profile-container{height:300px}img.profile{width:300px;position:absolute;left:50%;margin-left:-150px;aspect-ratio:1;padding-top:calc(var(--s)/5);transform:scale(1);transition:.5s}img.foreground{border-radius:50%;pointer-events:none}img.background:hover{filter:blur(5px)}
|
@ -1,104 +0,0 @@
|
||||
.profile-container {
|
||||
/*margin-left: calc(10% - 10px);*/
|
||||
height: 170px;
|
||||
width: 170px;
|
||||
z-index: 2;
|
||||
left: 10%;
|
||||
}
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
margin-left: calc(100px);
|
||||
width: calc(100% - 100px);
|
||||
padding: 1em;
|
||||
margin-top: -225px;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.title > * {
|
||||
width: 100%;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
img.profile {
|
||||
left: 10px;
|
||||
width: 150px;
|
||||
position: absolute;
|
||||
aspect-ratio: 1;
|
||||
transform: scale(1);
|
||||
transition: .5s;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
img.background2 {
|
||||
left: 0px;
|
||||
width: 170px !important;
|
||||
margin-top: -10px;
|
||||
pointer-events: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
img.foreground {
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
img.background:hover {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
.spacer {
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
/* For small screens */
|
||||
|
||||
img.profilesml {
|
||||
width: 150px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -75px;
|
||||
aspect-ratio: 1;
|
||||
padding-top: calc(var(--s)/5);
|
||||
transform: scale(1);
|
||||
transition: .5s;
|
||||
}
|
||||
|
||||
img.foregroundsml {
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
img.backgroundsml:hover {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
img.background2sml {
|
||||
width: 170px !important;
|
||||
left: calc(50% - 10px);
|
||||
margin-top: -10px;
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/* For printing set colour to black */
|
||||
|
||||
@media print {
|
||||
div {
|
||||
color: black !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.noprintbreak {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.edu-main {
|
||||
page-break-before: always;
|
||||
}
|
||||
}
|
||||
|
1
assets/css/styles.min.css
vendored
@ -1 +0,0 @@
|
||||
.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-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}
|
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 340 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 13 MiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 313 B |
Before Width: | Height: | Size: 1.5 MiB |