325 Commits

Author SHA1 Message Date
6f693e58f7 fix: now hurl test and update Dockerfile
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m13s
Build Docker / BuildImage (push) Successful in 2m44s
2026-03-21 15:45:53 +11:00
ce956abe5c feat: Add args for host in testing
Some checks failed
Build Docker / BuildImage (push) Has been cancelled
Check Code Quality / RuffCheck (push) Has been cancelled
2026-03-20 21:15:45 +11:00
f044566c52 feat: Add AUDD to tokens
All checks were successful
Build Docker / BuildImage (push) Successful in 2m42s
Check Code Quality / RuffCheck (push) Successful in 2m55s
2026-03-20 03:58:10 +00:00
968d9587b6 feat: Add support for specifying cli spotify image size
All checks were successful
Build Docker / BuildImage (push) Successful in 1m9s
Check Code Quality / RuffCheck (push) Successful in 1m19s
2026-03-18 23:08:13 +11:00
1bc3d3e15d fix: Add ascii_art to Dockerfile
All checks were successful
Build Docker / BuildImage (push) Successful in 1m7s
Check Code Quality / RuffCheck (push) Successful in 1m23s
2026-03-18 22:45:14 +11:00
df4a8da5df feat: Add spotify ascii curl page
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m23s
Build Docker / BuildImage (push) Successful in 1m28s
2026-03-18 22:41:38 +11:00
d7dc5cd6f3 fix: CSIRO URL to include www
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m1s
Build Docker / BuildImage (push) Successful in 1m24s
2026-03-17 22:33:29 +11:00
962910f36b feat: Add curl handler for pgp route
All checks were successful
Build Docker / BuildImage (push) Successful in 1m20s
Check Code Quality / RuffCheck (push) Successful in 2m18s
2026-03-05 12:42:00 +11:00
90264c0024 fix: Test manual merge
All checks were successful
Build Docker / BuildImage (push) Successful in 1m0s
Check Code Quality / RuffCheck (push) Successful in 1m17s
2026-03-04 23:06:39 +11:00
6286ff1a80 feat: Add spotify page
All checks were successful
Build Docker / BuildImage (push) Successful in 54s
Check Code Quality / RuffCheck (push) Successful in 1m13s
2026-03-04 22:14:50 +11:00
bfaa83021f fix: Ignore some types from broken linting
All checks were successful
Build Docker / BuildImage (push) Successful in 41s
Check Code Quality / RuffCheck (push) Successful in 53s
2026-03-04 20:13:10 +11:00
8ba8962cb8 fix: Remove loading page
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 59s
Build Docker / BuildImage (push) Successful in 5m18s
2026-03-04 20:06:31 +11:00
1d73d92923 feat: Add new now page and update about blurb
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m42s
Build Docker / BuildImage (push) Successful in 3m46s
Removed old /projects page
2026-03-04 19:47:37 +11:00
3500ab0156 Merge pull request 'Replace json timezone with server timezone' (#8) from feat/config into main
All checks were successful
Build Docker / BuildImage (push) Successful in 1m5s
Check Code Quality / RuffCheck (push) Successful in 1m12s
Reviewed-on: #8
2026-02-18 09:01:22 +11:00
47fa5d6b58 feat: Remove Nextcloud config
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 45s
Build Docker / BuildImage (push) Successful in 1m8s
2026-02-17 16:25:07 +11:00
a88ce4e77a tmp: Test server timezone
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m27s
Build Docker / BuildImage (push) Successful in 2m48s
2026-02-17 15:56:25 +11:00
e1c324ac19 feat: Remove HNS redirect
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m19s
Build Docker / BuildImage (push) Successful in 2m17s
2026-02-11 18:24:23 +11:00
dfbcd80193 feat: Update footer to 2026 2026-02-11 18:21:36 +11:00
50596fc4ba feat: Add pubdate to rss feed
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m25s
Build Docker / BuildImage (push) Successful in 2m25s
2026-01-28 22:01:30 +07:00
83436352e7 fix: RSS page now is available on /now.rss again
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m11s
Build Docker / BuildImage (push) Successful in 1m19s
2026-01-28 21:56:06 +07:00
779f895ef8 fix: Add last played spotify song when none currently playing
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m39s
Build Docker / BuildImage (push) Successful in 4m23s
2026-01-28 21:50:15 +07:00
d53c48ba85 feat: Remove Revolut and Wise from donate page
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m41s
Build Docker / BuildImage (push) Successful in 3m59s
2025-12-17 17:27:09 +11:00
e489764ff8 fix: Add escape char for curl rendering and format python files
All checks were successful
Build Docker / BuildImage (push) Successful in 1m6s
Check Code Quality / RuffCheck (push) Successful in 1m20s
2025-11-21 23:05:40 +11:00
51c4416d4d fix: Add cahce helper to dockerfile
All checks were successful
Build Docker / BuildImage (push) Successful in 1m4s
Check Code Quality / RuffCheck (push) Successful in 1m6s
2025-11-21 22:55:02 +11:00
copilot-swe-agent[bot]
a78d999a61 Fix trailing whitespace and finalize performance improvements
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 51s
Build Docker / BuildImage (push) Successful in 59s
Co-authored-by: Nathanwoodburn <62039630+Nathanwoodburn@users.noreply.github.com>
2025-11-21 11:34:51 +00:00
copilot-swe-agent[bot]
74afdc1b5b Add caching to blog and now blueprints for improved performance
Co-authored-by: Nathanwoodburn <62039630+Nathanwoodburn@users.noreply.github.com>
2025-11-21 11:31:49 +00:00
copilot-swe-agent[bot]
607fdd4d46 Add caching layer for expensive API calls and file operations
Co-authored-by: Nathanwoodburn <62039630+Nathanwoodburn@users.noreply.github.com>
2025-11-21 11:30:23 +00:00
copilot-swe-agent[bot]
ca01b96e80 Initial plan 2025-11-21 11:21:23 +00:00
467faff592 feat: Add now for 20 Nov
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m32s
Build Docker / BuildImage (push) Successful in 2m45s
2025-11-20 12:06:59 +11:00
3791d0be6e fix: Don't show downtime message when in maintainance mode
All checks were successful
Build Docker / BuildImage (push) Successful in 1m3s
Check Code Quality / RuffCheck (push) Successful in 1m4s
2025-11-15 14:59:02 +11:00
06526ca92d feat: Add alternative route for fonts
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m28s
Build Docker / BuildImage (push) Successful in 2m31s
2025-11-15 14:38:12 +11:00
e1ff6e42a5 feat: Add mobile redirect for resume
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m7s
Build Docker / BuildImage (push) Successful in 1m12s
2025-11-14 13:22:38 +11:00
a6670f6533 feat: Add ruff to reqs
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m28s
Build Docker / BuildImage (push) Successful in 2m58s
2025-11-14 13:11:54 +11:00
598cea1ac8 feat: Add pre-commit 2025-11-14 13:11:03 +11:00
9b4febeddb feat: Add nushell to CLI agents 2025-11-06 16:24:27 +11:00
c15a5d5a8b Merge pull request 'Update resume page template to be cleaner' (#6) from feat/new-resume-layout into main
All checks were successful
Build Docker / BuildImage (push) Successful in 2m22s
Check Code Quality / RuffCheck (push) Successful in 2m37s
Reviewed-on: #6
2025-11-05 12:56:29 +11:00
720e59c144 fix: Limit width for html
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m20s
Build Docker / BuildImage (push) Successful in 1m40s
2025-11-04 17:35:41 +11:00
c45a30675c feat: Finish updating resume template
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m12s
Build Docker / BuildImage (push) Successful in 1m24s
2025-11-04 17:24:28 +11:00
9e8e23165e feat: Start on new resume layout 2025-11-04 17:24:28 +11:00
53e05922bf fix: Add curl to dockerfiel for CD healthchecks
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m17s
Build Docker / BuildImage (push) Successful in 2m6s
2025-11-03 13:51:01 +11:00
0be0dad1b2 feat: Add new dockerfile to shrink image
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m57s
Build Docker / BuildImage (push) Successful in 3m42s
2025-11-03 13:44:19 +11:00
f404d55935 feat: Add phone number and city to resume
All checks were successful
Build Docker / BuildImage (push) Successful in 1m5s
Check Code Quality / RuffCheck (push) Successful in 1m8s
2025-11-01 18:03:03 +11:00
009c2b430c feat: Update projects
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m22s
Build Docker / BuildImage (push) Successful in 1m39s
2025-11-01 13:19:15 +11:00
ed96fbcc29 fix: Add curl to Dockerfile for coolify healthchecks
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m19s
Build Docker / BuildImage (push) Successful in 2m11s
2025-11-01 12:49:45 +11:00
4555ef5da2 Merge pull request 'Add new uv python3 manager' (#5) from feat/uv into main
All checks were successful
Build Docker / BuildImage (push) Successful in 1m0s
Check Code Quality / RuffCheck (push) Successful in 1m7s
Reviewed-on: #5
2025-11-01 12:41:28 +11:00
1335a73eb6 fix: Remove requirement.txt to stop nixpacks using pip
All checks were successful
Build Docker / BuildImage (push) Successful in 1m6s
Check Code Quality / RuffCheck (push) Successful in 1m17s
2025-11-01 12:31:47 +11:00
b8f3039629 feat: Update Dockerfile to use new UV system
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 2m44s
Build Docker / BuildImage (push) Successful in 3m15s
Also fixes error in spotify refreshing
2025-11-01 12:17:25 +11:00
1888160fa5 fix: Update pyproject version to match latest git tag 2025-11-01 11:50:51 +11:00
7dd0f839cf feat: Add initial uv package info 2025-11-01 11:44:44 +11:00
5a0068586a feat: Cleanup resume summary
All checks were successful
Build Docker / BuildImage (push) Successful in 1m3s
Check Code Quality / RuffCheck (push) Successful in 1m8s
2025-10-31 15:16:48 +11:00
8079780c08 Merge pull request 'Refactor blueprints to make them easier to import' (#4) from feat/blueprint_imports into main
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 1m5s
Build Docker / BuildImage (push) Successful in 1m10s
Reviewed-on: #4
2025-10-30 21:44:46 +11:00
72b8dae35e fix: Update curl tools page to use new demo data
All checks were successful
Build Docker / BuildImage (push) Successful in 1m0s
Check Code Quality / RuffCheck (push) Successful in 1m11s
2025-10-30 21:35:48 +11:00
323ace5775 feat: Remove old demo scripts
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 56s
Build Docker / BuildImage (push) Successful in 1m2s
2025-10-30 21:34:35 +11:00
c2803e372a feat: Dynamically load tool demos and start tracking BSdesign
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 58s
Build Docker / BuildImage (push) Successful in 1m0s
2025-10-30 21:29:27 +11:00
2a9e704f29 feat: Add zellij demo
All checks were successful
Check Code Quality / RuffCheck (push) Successful in 59s
Build Docker / BuildImage (push) Successful in 1m4s
2025-10-30 20:52:20 +11:00
0c490625a9 fix: Add apt update before install python
All checks were successful
Build Docker / BuildImage (push) Successful in 47s
Check Code Quality / RuffCheck (push) Successful in 58s
2025-10-30 20:39:27 +11:00
b9753617ad fix: Remove sudo from action
Some checks failed
Check Code Quality / RuffCheck (push) Failing after 17s
Build Docker / BuildImage (push) Successful in 1m2s
2025-10-30 20:38:09 +11:00
b87d19c5d9 fix: Manually install python3
Some checks failed
Check Code Quality / RuffCheck (push) Failing after 13s
Build Docker / BuildImage (push) Successful in 47s
2025-10-30 20:36:29 +11:00
67e8b4cf7e fix: Try using a new container
Some checks failed
Check Code Quality / RuffCheck (push) Failing after 31s
Build Docker / BuildImage (push) Successful in 58s
2025-10-30 20:33:02 +11:00
bfc6652f29 fix: Install python first
Some checks failed
Build Docker / BuildImage (push) Successful in 55s
Check Code Quality / RuffCheck (push) Failing after 1m35s
2025-10-30 20:28:31 +11:00
38372c0cff fix: Manually install ruff
Some checks failed
Check Code Quality / RuffCheck (push) Failing after 17s
Build Docker / BuildImage (push) Successful in 58s
2025-10-30 20:27:00 +11:00
dd64313006 fix: Set action git url
Some checks failed
Check Code Quality / RuffCheck (push) Failing after 22s
Build Docker / BuildImage (push) Successful in 47s
2025-10-30 20:19:56 +11:00
9e20a6171a feat: Add ruff check
Some checks failed
Check Code Quality / RuffCheck (push) Failing after 25s
Build Docker / BuildImage (push) Successful in 57s
2025-10-30 20:15:10 +11:00
da347fd860 feat: Add max width for Now page contents
All checks were successful
Build Docker / BuildImage (push) Successful in 54s
2025-10-30 20:06:32 +11:00
776b7de753 fix: Replace actions.json in the main server.py
All checks were successful
Build Docker / BuildImage (push) Successful in 1m0s
2025-10-30 19:58:29 +11:00
7b2b3659bb fix: Remove strict slashes from index routes
All checks were successful
Build Docker / BuildImage (push) Successful in 48s
2025-10-30 19:50:03 +11:00
872373dffd feat: Remove strict slashes for now pages 2025-10-30 19:44:01 +11:00
8d832372cd feat: Add curl support for now pages
All checks were successful
Build Docker / BuildImage (push) Successful in 48s
2025-10-30 19:36:43 +11:00
03dae87272 feat: Refactor blueprints to make them easier to import
All checks were successful
Build Docker / BuildImage (push) Successful in 47s
2025-10-30 18:22:21 +11:00
4c654fcb78 feat: Add HTTPie to CLI agents
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2025-10-30 17:26:06 +11:00
c9542e4af7 fix: Remove X- headers
All checks were successful
Build Docker / BuildImage (push) Successful in 49s
2025-10-30 17:18:50 +11:00
e184375897 feat: Add Posting to CLI tools
All checks were successful
Build Docker / BuildImage (push) Successful in 59s
2025-10-30 17:12:43 +11:00
844f1b52e2 feat: Update isCurl to isCLI to allow more CLI agents 2025-10-30 17:07:20 +11:00
19c51c3665 feat: Add header route for troubleshooting 2025-10-30 17:03:17 +11:00
85ebd460ed feat: Add progress bar to spotify widget
All checks were successful
Build Docker / BuildImage (push) Successful in 1m57s
2025-10-30 11:45:04 +11:00
50879b4f0e feat: Add Vesktop to desktop applications
All checks were successful
Build Docker / BuildImage (push) Successful in 2m0s
2025-10-29 14:59:08 +11:00
6c09923281 feat: Add curl error page and new tests
All checks were successful
Build Docker / BuildImage (push) Successful in 52s
2025-10-28 15:04:21 +11:00
332c408b89 fix: Animation for spotify toggle
All checks were successful
Build Docker / BuildImage (push) Successful in 2m8s
2025-10-28 14:46:09 +11:00
4ae6f7bb99 feat: Optimise profile image
All checks were successful
Build Docker / BuildImage (push) Successful in 55s
2025-10-26 22:24:28 +11:00
d4d6b47225 feat: Add spotify to api routes
All checks were successful
Build Docker / BuildImage (push) Successful in 55s
2025-10-26 21:31:30 +11:00
9809fe0695 feat: Add spotify to curl route
All checks were successful
Build Docker / BuildImage (push) Successful in 48s
2025-10-26 21:14:55 +11:00
3522389422 fix: Improve Spotify widget visibility
All checks were successful
Build Docker / BuildImage (push) Successful in 2m55s
2025-10-26 21:00:12 +11:00
2979d3c4de feat: Update python version in docker
All checks were successful
Build Docker / BuildImage (push) Successful in 2m38s
2025-10-26 20:47:01 +11:00
a8b2c02164 feat: Add initial spotify widget
All checks were successful
Build Docker / BuildImage (push) Successful in 57s
2025-10-26 20:43:48 +11:00
372ba908b8 feat: Add tools to navbar
All checks were successful
Build Docker / BuildImage (push) Successful in 48s
2025-10-26 19:36:25 +11:00
1145b9205c Merge pull request 'Add initial ASCII art for curl connections' (#2) from feat/ascii_curl into main
All checks were successful
Build Docker / BuildImage (push) Successful in 50s
Reviewed-on: #2
2025-10-26 19:00:17 +11:00
a71c5b6663 feat: Update ascii templates to be nicer
All checks were successful
Build Docker / BuildImage (push) Successful in 54s
2025-10-26 18:47:25 +11:00
724e800201 feat: Update curl template for index
All checks were successful
Build Docker / BuildImage (push) Successful in 53s
2025-10-26 18:43:25 +11:00
abcaa9283d feat: Add tools curl page 2025-10-26 18:43:25 +11:00
e175f68d25 feat: Add initial ascii art for curl connections 2025-10-26 18:43:25 +11:00
80b6a9bf46 feat: Update index page
All checks were successful
Build Docker / BuildImage (push) Successful in 57s
2025-10-26 18:42:22 +11:00
b089b8c0a8 feat: Add new tools api route
All checks were successful
Build Docker / BuildImage (push) Successful in 52s
2025-10-26 18:27:36 +11:00
8f774ba8f0 feat: Added tools page
All checks were successful
Build Docker / BuildImage (push) Successful in 2m9s
2025-10-26 18:00:18 +11:00
f4f5f47ee7 feat: Cleanup software blog style
All checks were successful
Build Docker / BuildImage (push) Successful in 2m41s
2025-10-24 16:10:28 +11:00
16f17a9486 feat: Add Software I use blog post
All checks were successful
Build Docker / BuildImage (push) Successful in 1m0s
2025-10-23 15:00:05 +11:00
72483674f6 feat: Add now page for OCT
All checks were successful
Build Docker / BuildImage (push) Successful in 4m30s
2025-10-23 14:27:49 +11:00
b69c7f381b feat: Cleanup duplicate script code
All checks were successful
Build Docker / BuildImage (push) Successful in 59s
2025-10-16 17:37:48 +11:00
d7d4dbed8b feat: Add new status and ping route and update help menu
All checks were successful
Build Docker / BuildImage (push) Successful in 1m1s
2025-10-16 17:10:09 +11:00
2437b19836 feat: Add curl to container
All checks were successful
Build Docker / BuildImage (push) Successful in 4m33s
2025-10-16 16:57:41 +11:00
abd23e0eb8 fix: Add dateutil to requirements
All checks were successful
Build Docker / BuildImage (push) Successful in 2m59s
2025-10-16 16:54:16 +11:00
57a4b977ec feat: Add tool to estimate date of a webpage
All checks were successful
Build Docker / BuildImage (push) Successful in 2m34s
2025-10-16 16:48:26 +11:00
7f591e2724 fix: Cleanup blueprint names and add tests
All checks were successful
Build Docker / BuildImage (push) Successful in 2m17s
2025-10-13 15:32:31 +11:00
3d5c16f9cb fix: Verify legacy API redirects exist
All checks were successful
Build Docker / BuildImage (push) Successful in 54s
This fixes an infinite redirect loop
2025-10-11 22:45:06 +11:00
fdb5f84c92 feat: Update config pulled from cloud 2025-10-11 22:32:29 +11:00
eaf363ee27 feat: Add curl support for blog pages
All checks were successful
Build Docker / BuildImage (push) Successful in 53s
2025-10-11 19:35:35 +11:00
0ea9db3473 feat: Update api routes to use similar json format to other routes 2025-10-11 19:16:50 +11:00
8d6acca5e9 feat: Add error message to header for HTML error responses 2025-10-11 18:55:24 +11:00
bfc1f0839a feat: Move getGitCommit from api to tools
All checks were successful
Build Docker / BuildImage (push) Successful in 1m4s
2025-10-11 18:51:22 +11:00
258061c64d feat: Use tools.json_response in hosting route
All checks were successful
Build Docker / BuildImage (push) Successful in 49s
2025-10-11 18:14:20 +11:00
399ac5f0da feat: Move acme to blueprint and cleanup json responses
All checks were successful
Build Docker / BuildImage (push) Successful in 57s
2025-10-11 18:08:00 +11:00
74362de02a feat: Add better error messages to podcast routes
All checks were successful
Build Docker / BuildImage (push) Successful in 52s
2025-10-11 17:59:06 +11:00
9f7b93b8a1 feat: Move podcast routes to podcast blueprint
All checks were successful
Build Docker / BuildImage (push) Successful in 2m15s
2025-10-11 17:56:01 +11:00
665921d046 feat: Update about page info
All checks were successful
Build Docker / BuildImage (push) Successful in 58s
2025-10-11 17:47:03 +11:00
84cf772273 fix: Update index about section 2025-10-11 17:45:21 +11:00
22cd49a012 feat: Move error responses to new function in tools.py
All checks were successful
Build Docker / BuildImage (push) Successful in 1m6s
2025-10-11 17:39:46 +11:00
00d035a0e8 fix: Security issue in download route and cleanup
All checks were successful
Build Docker / BuildImage (push) Successful in 2m13s
2025-10-11 17:01:20 +11:00
fc56cafab8 feat: Split code into modules
All checks were successful
Build Docker / BuildImage (push) Successful in 4m7s
2025-10-10 22:58:06 +11:00
eee87e6ca7 fix: Cleanup code to follow linting 2025-10-10 21:35:47 +11:00
09852f19b6 feat: Move solana create transaction to new file
All checks were successful
Build Docker / BuildImage (push) Successful in 4m18s
2025-10-10 21:17:23 +11:00
8b464cd89d feat: Cleanup function names 2025-10-10 20:48:38 +11:00
98597768f3 feat: Update resume summary
All checks were successful
Build Docker / BuildImage (push) Successful in 2m31s
Make api endpoints more consistent
2025-10-09 16:04:07 +11:00
08f80ddb5c feat: Add some better checks
All checks were successful
Build Docker / BuildImage (push) Successful in 50s
2025-08-25 17:23:24 +10:00
33fd8136a7 feat: Add some more validation
All checks were successful
Build Docker / BuildImage (push) Successful in 1m2s
2025-08-24 21:26:14 +10:00
b2943bfeac feat: Add rate limits to exquiry
All checks were successful
Build Docker / BuildImage (push) Successful in 2m16s
2025-08-24 21:14:38 +10:00
c3c7c86a66 feat: Add now page for Aug 15
All checks were successful
Build Docker / BuildImage (push) Successful in 57s
2025-08-15 21:37:03 +10:00
8563a6857f feat: Update hosting to have presets
All checks were successful
Build Docker / BuildImage (push) Successful in 2m31s
2025-08-15 16:31:45 +10:00
1650d25d0f feat: Finish hosting enquiry page
All checks were successful
Build Docker / BuildImage (push) Successful in 2m12s
2025-08-14 16:01:46 +10:00
f4ee2297a7 feat: Add hosting page
All checks were successful
Build Docker / BuildImage (push) Successful in 6m14s
2025-08-13 12:46:43 +10:00
35ced02977 feat: Add new now page for July
All checks were successful
Build Docker / BuildImage (push) Successful in 4m4s
2025-07-21 11:15:36 +10:00
45709632d5 Merge branch 'feat/preloader'
All checks were successful
Build Docker / BuildImage (push) Successful in 1m13s
2025-07-03 14:19:46 +10:00
e65fe8cd30 fix: Load arg get returns None which causes exception
All checks were successful
Build Docker / BuildImage (push) Successful in 1m12s
2025-07-03 13:57:19 +10:00
21f725baf3 feat: Add option to force load page to show 2025-07-03 13:56:01 +10:00
c2a1995292 feat: Initial working preloader
All checks were successful
Build Docker / BuildImage (push) Successful in 1m1s
2025-07-03 13:37:51 +10:00
af93330bf5 feat: Preloader inital test 2025-07-03 13:17:38 +10:00
e43ae63d8a feat: Update resume dates
All checks were successful
Build Docker / BuildImage (push) Successful in 2m36s
2025-07-01 10:46:24 +10:00
add64ba889 fix: Update resume OG content
All checks were successful
Build Docker / BuildImage (push) Successful in 5m5s
2025-06-25 14:52:38 +10:00
8d13297cb0 feat: Update blog rendering
All checks were successful
Build Docker / BuildImage (push) Successful in 5m28s
2025-06-25 14:38:54 +10:00
eee95df47c feat: Redo some wording in the HNSDoH section
All checks were successful
Build Docker / BuildImage (push) Successful in 1m12s
2025-06-23 18:21:12 +10:00
1febeaf8a3 feat: Add HNSDoH to resume
All checks were successful
Build Docker / BuildImage (push) Successful in 1m17s
2025-06-23 18:17:59 +10:00
088be26b48 fix: Remove some unused fonts
All checks were successful
Build Docker / BuildImage (push) Successful in 1m17s
2025-06-23 17:47:12 +10:00
7f055f3607 fix: Shrink contact info on small screens
All checks were successful
Build Docker / BuildImage (push) Successful in 1m18s
2025-06-21 19:05:38 +10:00
5a455fcdca feat: Update index banner image
All checks were successful
Build Docker / BuildImage (push) Successful in 2m34s
2025-06-21 18:42:33 +10:00
846e28d92f fix: Update font
All checks were successful
Build Docker / BuildImage (push) Successful in 1m5s
2025-06-21 18:01:13 +10:00
ec3563093f feat: Add resume pdf route and fix some print formatting
All checks were successful
Build Docker / BuildImage (push) Successful in 1m11s
2025-06-21 17:54:06 +10:00
0ec96b4461 fix: Margin on print layout
All checks were successful
Build Docker / BuildImage (push) Successful in 2m21s
2025-06-21 15:56:58 +10:00
873504ecbf feat: Update resume page
Some checks failed
Build Docker / BuildImage (push) Has been cancelled
2025-06-21 15:55:42 +10:00
51f4a3462b feat: Add fallback version
All checks were successful
Build Docker / BuildImage (push) Successful in 1m6s
2025-06-20 22:20:42 +10:00
0656d8a95d feat: Add more api info
All checks were successful
Build Docker / BuildImage (push) Successful in 1m11s
2025-06-20 22:17:09 +10:00
a79c795672 feat: Add version to curl response
All checks were successful
Build Docker / BuildImage (push) Successful in 1m12s
2025-06-20 22:14:22 +10:00
159a40ecb5 feat: Cleanup unused prints
All checks were successful
Build Docker / BuildImage (push) Successful in 1m15s
2025-06-20 21:32:08 +10:00
9d359640d3 feat: Add FirePortal to sites
All checks were successful
Build Docker / BuildImage (push) Successful in 2m39s
2025-06-19 13:01:00 +10:00
f0c60a4cea feat: Add now page for Jun 19
All checks were successful
Build Docker / BuildImage (push) Successful in 2m44s
2025-06-19 12:53:32 +10:00
2c5ac7b475 feat: Refresh HNS address
All checks were successful
Build Docker / BuildImage (push) Successful in 2m21s
2025-06-04 14:40:44 +10:00
6a64de155d feat: Add new now page
All checks were successful
Build Docker / BuildImage (push) Successful in 2m7s
2025-05-28 12:05:02 +10:00
f5ba80fc16 feat: Update copyright date
All checks were successful
Build Docker / BuildImage (push) Successful in 40s
2025-04-22 16:53:30 +10:00
f8f48e9353 feat: Add Blog to navbar and write blog for Bobwallet + HNSAU nameserver
All checks were successful
Build Docker / BuildImage (push) Successful in 43s
2025-04-22 16:47:12 +10:00
f734e9ade4 fix: Use dynamic title for social embeds
All checks were successful
Build Docker / BuildImage (push) Successful in 43s
2025-04-21 22:20:43 +10:00
95e161aba9 feat: Update css for code blocks in blog
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2025-04-21 22:13:59 +10:00
e4331e712a feat: Add blogs and updated some python dependencies
All checks were successful
Build Docker / BuildImage (push) Successful in 2m18s
2025-04-21 22:05:41 +10:00
4804016fdf feat: Add now page for March
All checks were successful
Build Docker / BuildImage (push) Successful in 49s
2025-03-27 15:38:16 +11:00
ccb6cdb454 fix: Try to get correct IP from headers
All checks were successful
Build Docker / BuildImage (push) Successful in 2m10s
2025-02-21 11:04:53 +11:00
dade1f5d8d feat: Update podcast proxies
All checks were successful
Build Docker / BuildImage (push) Successful in 2m4s
2025-02-18 17:46:14 +11:00
cecfdea07f fix: Update now page to have a gap around text
All checks were successful
Build Docker / BuildImage (push) Successful in 44s
2025-01-30 14:39:42 +11:00
7bea502bdf feat: Add now page for Jan
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2025-01-30 13:00:28 +11:00
1fd539bcb9 feat: Update sha265 for asssetlinks
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2025-01-29 21:31:30 +11:00
f940f4418d feat: Add assetlinks.json
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2025-01-29 20:59:59 +11:00
de476eb7ab fix: Add more cached files to sw
All checks were successful
Build Docker / BuildImage (push) Successful in 50s
2025-01-29 20:53:46 +11:00
2fbf21eaaf feat: Update sw
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2025-01-29 18:57:07 +11:00
8ccbe2ebf1 feat: Add service worker
All checks were successful
Build Docker / BuildImage (push) Successful in 49s
2025-01-29 18:51:28 +11:00
d4136a396a feat: Update manifest
All checks were successful
Build Docker / BuildImage (push) Successful in 52s
2025-01-29 18:41:13 +11:00
622a4038ac feat: Add project api route
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2025-01-15 22:32:17 +11:00
a65896b80d feat: Add brand reveal to header
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2025-01-11 17:57:23 +11:00
415703e21b fix: Update timing for brand reveal on index
All checks were successful
Build Docker / BuildImage (push) Successful in 1m59s
2025-01-11 17:36:31 +11:00
89bf5eecd7 feat: Add stWDBRN token and name reveal
All checks were successful
Build Docker / BuildImage (push) Successful in 47s
2025-01-06 16:26:37 +11:00
b4059910ec feat: Add fediverse creator tag
All checks were successful
Build Docker / BuildImage (push) Successful in 1m51s
2025-01-05 21:51:56 +11:00
7896f71534 fix: Update cleanSite hook to clean now page html files
All checks were successful
Build Docker / BuildImage (push) Successful in 1m9s
2025-01-04 20:11:35 +11:00
f9b30a3fe6 fix: Update sitemap to have 2024 now page
All checks were successful
Build Docker / BuildImage (push) Successful in 36s
2025-01-01 01:30:25 +11:00
31c80276de feat: Add 2024 overview now page
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2025-01-01 01:28:16 +11:00
840ba4c10c feat: Add log message for ACME requests
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2024-12-30 13:33:58 +11:00
53bf28b208 fix: Update cloudflare version
All checks were successful
Build Docker / BuildImage (push) Successful in 1m47s
2024-12-30 10:56:20 +11:00
d651e3a20c feat: Add new BTC address and fix file type of proofs
All checks were successful
Build Docker / BuildImage (push) Successful in 42s
2024-12-29 22:44:00 +11:00
fb376a4906 feat: Update HNS address
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-12-26 18:49:36 +11:00
cd69d86246 feat: Add new now page
All checks were successful
Build Docker / BuildImage (push) Successful in 1m48s
2024-12-19 12:33:56 +11:00
1ae1eeb159 feat: Update stWDBRN name
All checks were successful
Build Docker / BuildImage (push) Successful in 1m51s
2024-12-05 15:58:41 +11:00
5171fffab5 feat: Add stWDBRN metadata
All checks were successful
Build Docker / BuildImage (push) Successful in 44s
2024-12-04 15:57:25 +11:00
ca1e99013d fix: Update stWDBRN image size
All checks were successful
Build Docker / BuildImage (push) Successful in 41s
2024-12-04 15:54:28 +11:00
7c71c994f2 feat: Add stWDBRN firewallet logo
All checks were successful
Build Docker / BuildImage (push) Successful in 1m42s
2024-12-04 15:51:50 +11:00
70655a4d39 feat: Update print layout to make resume display nicer
All checks were successful
Build Docker / BuildImage (push) Successful in 32s
2024-12-03 14:00:39 +11:00
1551799b88 fix: Lock pydantic to fix cloudflare errors
All checks were successful
Build Docker / BuildImage (push) Successful in 1m34s
2024-12-03 13:32:47 +11:00
4ab0db973f feat: Update print css for resume
All checks were successful
Build Docker / BuildImage (push) Successful in 1m57s
2024-12-03 12:23:55 +11:00
a3a2748d15 feat: Add PYUSD SOL and ETH tokens
All checks were successful
Build Docker / BuildImage (push) Successful in 40s
2024-12-02 12:03:42 +11:00
ce8897d578 feat: Add solana action version and chain headers
All checks were successful
Build Docker / BuildImage (push) Successful in 1m40s
2024-11-19 15:18:10 +11:00
637562f920 feat: Add rss endpoints
All checks were successful
Build Docker / BuildImage (push) Successful in 1m42s
2024-11-12 14:08:30 +11:00
42aff1f455 feat: Add api routes for email and other basic info
All checks were successful
Build Docker / BuildImage (push) Successful in 39s
2024-10-31 21:11:13 +11:00
855f6b3c99 feat: Update BTC lightning address
All checks were successful
Build Docker / BuildImage (push) Successful in 1m46s
2024-10-24 10:52:00 +11:00
8a50ae7e32 feat: Add latest now page
All checks were successful
Build Docker / BuildImage (push) Successful in 1m35s
2024-10-22 17:41:06 +11:00
1a3572e64c feat: Add latest now page
All checks were successful
Build Docker / BuildImage (push) Successful in 1m20s
2024-10-15 17:48:24 +11:00
ad6e3fe9d8 fix: Update qr code function
All checks were successful
Build Docker / BuildImage (push) Successful in 1m32s
2024-10-09 16:50:40 +11:00
99b63592d0 fix: Add null check for headers
All checks were successful
Build Docker / BuildImage (push) Successful in 28s
2024-10-08 19:03:02 +11:00
6c004d14bd feat: Add now json endpoint
All checks were successful
Build Docker / BuildImage (push) Successful in 39s
2024-10-07 18:03:04 +11:00
a6b488d1a6 fix: Update now.rss to include better descriptions
All checks were successful
Build Docker / BuildImage (push) Successful in 40s
2024-10-07 17:44:42 +11:00
0cef259ecc feat: Add now page rss
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-10-07 17:39:25 +11:00
150bc17ed4 feat: Add Handypedia updates to latest now page
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2024-10-07 17:22:58 +11:00
c9e9c9be46 feat: Add new now page for 7_10_24
All checks were successful
Build Docker / BuildImage (push) Successful in 1m13s
2024-10-07 17:17:20 +11:00
90d8dc3428 feat: Add now to sitemap 2024-10-07 17:04:54 +11:00
863d11cffd fix: Add route for favicon.ico 2024-10-05 20:04:38 +10:00
b3d965d220 feat: Update sitemap and WVAC podcast link
All checks were successful
Build Docker / BuildImage (push) Successful in 49s
2024-10-02 12:23:57 +10:00
496205c6b4 feat: Add download option for PGP public key
All checks were successful
Build Docker / BuildImage (push) Successful in 43s
2024-09-30 16:19:49 +10:00
9552df4b4e feat: Add now page for 27_09
All checks were successful
Build Docker / BuildImage (push) Successful in 1m35s
2024-09-27 13:34:26 +10:00
9881584cdb fix: Update check for project images to correctly display
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-09-11 21:03:11 +10:00
867583d30c feat: Update resume
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-09-11 20:57:10 +10:00
125768b01e feat: Update manifest colour
All checks were successful
Build Docker / BuildImage (push) Successful in 1m24s
2024-09-11 17:25:55 +10:00
320538ad17 fix: Set the now image to have a max width of 95%
All checks were successful
Build Docker / BuildImage (push) Successful in 1m38s
2024-09-11 17:17:46 +10:00
56a5539106 feat: Add Now page 7 Sep
All checks were successful
Build Docker / BuildImage (push) Successful in 1m41s
2024-09-07 16:14:17 +10:00
56b1048622 feat: Add default nostr name and fix loading js
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-09-03 14:05:42 +10:00
3e4d5c2633 fix: Use header.get instead of user agent
All checks were successful
Build Docker / BuildImage (push) Successful in 44s
2024-09-02 19:56:57 +10:00
cdb7eb86a5 feat: Check if user_agent is a crawler before showing loading page
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-09-02 19:49:32 +10:00
6de2518f1f feat: Add APT, BCH, DASH and TRX coins
All checks were successful
Build Docker / BuildImage (push) Successful in 47s
2024-08-27 10:21:40 +10:00
34580eeab4 feat: Remove unused nft data
All checks were successful
Build Docker / BuildImage (push) Successful in 42s
2024-08-24 10:51:53 +10:00
0dd03e544c feat: Add profile nft metadata
All checks were successful
Build Docker / BuildImage (push) Successful in 42s
2024-08-24 10:24:20 +10:00
84a6310189 feat: Add Woodburn ico favicon
All checks were successful
Build Docker / BuildImage (push) Successful in 47s
2024-08-21 21:35:11 +10:00
68f8c55817 feat: Add option to get custom message from NC config
All checks were successful
Build Docker / BuildImage (push) Successful in 44s
2024-08-21 17:42:31 +10:00
9c0d592a24 feat: Add searching for files before returning a 404
All checks were successful
Build Docker / BuildImage (push) Successful in 42s
2024-08-21 11:49:03 +10:00
56349561f9 feat: Add better error messages on crypto selector
All checks were successful
Build Docker / BuildImage (push) Successful in 43s
2024-08-20 16:38:11 +10:00
702282d11f feat: Add Noble to wallet addresses
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2024-08-20 16:23:16 +10:00
46856a9399 fix: Update cloudflare to use new API
All checks were successful
Build Docker / BuildImage (push) Successful in 41s
2024-08-20 13:02:45 +10:00
eecf9b8db8 fix: Update TON address to use Keystone address
All checks were successful
Build Docker / BuildImage (push) Successful in 38s
2024-08-20 10:33:02 +10:00
1c891d971f feat: Update timing for profile hover blur
All checks were successful
Build Docker / BuildImage (push) Successful in 42s
2024-08-15 18:53:15 +10:00
6dfa664807 feat: Update the style of the clock to be more readable
All checks were successful
Build Docker / BuildImage (push) Successful in 43s
2024-08-15 18:37:02 +10:00
5a27be5a3c feat: Add meeting link
All checks were successful
Build Docker / BuildImage (push) Successful in 39s
Note this link is not fully integrated with calendar yet
2024-08-15 14:47:30 +10:00
8687daecfd fix: Update tooltip to say copied when you copy a crypto address
All checks were successful
Build Docker / BuildImage (push) Successful in 46s
2024-08-15 14:29:36 +10:00
6b5fe4bc2f fix: Don't show loading animation on mobiles
All checks were successful
Build Docker / BuildImage (push) Successful in 53s
2024-08-15 14:18:26 +10:00
c86bae36ad fix: Remove overflow on projects page
All checks were successful
Build Docker / BuildImage (push) Successful in 1m35s
2024-08-15 14:12:00 +10:00
ef40e8078c fix: Update social icons to work on small mobiles
All checks were successful
Build Docker / BuildImage (push) Successful in 59s
2024-08-15 14:02:35 +10:00
80fc1cdc4d feat: Add clock to home page
All checks were successful
Build Docker / BuildImage (push) Successful in 47s
2024-08-15 13:43:35 +10:00
331de40dfd fix: Update address max width to stop overflow on mobile
All checks were successful
Build Docker / BuildImage (push) Successful in 43s
2024-08-07 09:57:23 +10:00
f3ee6607e7 feat: Add now page for 5_8
All checks were successful
Build Docker / BuildImage (push) Successful in 1m45s
2024-08-05 14:27:53 +10:00
eec66b13ca feat: Add crypto address verifications
All checks were successful
Build Docker / BuildImage (push) Successful in 35s
2024-07-18 14:30:12 +10:00
9fc218feb1 feat: Add now page
All checks were successful
Build Docker / BuildImage (push) Successful in 4m37s
2024-07-15 12:16:56 +10:00
9ed68d1f0b fix: Manually add cors options header
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2024-07-10 19:52:43 +10:00
80cc8022eb feat: Add options using flask cors
All checks were successful
Build Docker / BuildImage (push) Successful in 40s
2024-07-10 19:20:27 +10:00
6bf45b9c2b fix: Add headers to options response
All checks were successful
Build Docker / BuildImage (push) Successful in 38s
2024-07-10 18:03:43 +10:00
860d070c55 feat: Add options route
All checks were successful
Build Docker / BuildImage (push) Successful in 44s
2024-07-10 17:59:47 +10:00
7e49d23736 fix: Add versions to requirements
All checks were successful
Build Docker / BuildImage (push) Successful in 1m12s
2024-07-03 15:24:41 +10:00
69fb34c2ba fix: Update to newest version of solana
All checks were successful
Build Docker / BuildImage (push) Successful in 34s
2024-07-03 15:07:27 +10:00
6664de6c07 feat: Add solana blinks
All checks were successful
Build Docker / BuildImage (push) Successful in 1m36s
2024-07-03 14:59:30 +10:00
b93515ff32 feat: Add XRP toml
All checks were successful
Build Docker / BuildImage (push) Successful in 34s
2024-07-02 13:48:16 +10:00
230042cc7b fix: Update dependencies
All checks were successful
Build Docker / BuildImage (push) Successful in 35s
2024-07-01 13:17:50 +10:00
98acc8543c fix: Try to fix error in requirements
All checks were successful
Build Docker / BuildImage (push) Successful in 1m11s
2024-07-01 13:05:20 +10:00
eea21cea1e fix: Don't show loader to google crawler
All checks were successful
Build Docker / BuildImage (push) Successful in 1m10s
2024-07-01 11:37:19 +10:00
fb8136f3b6 feat: Update default coins
All checks were successful
Build Docker / BuildImage (push) Successful in 34s
2024-06-27 12:11:02 +10:00
e84c39030d feat: Add XLM and update ADA address to use standard derivation
All checks were successful
Build Docker / BuildImage (push) Successful in 40s
2024-06-25 21:45:21 +10:00
75308cb264 feat: Add now page
All checks were successful
Build Docker / BuildImage (push) Successful in 45s
2024-06-24 13:47:11 +10:00
9b81a0bf18 fix: Added missing HNS assets for Handypedia and other HNS sites
All checks were successful
Build Docker / BuildImage (push) Successful in 49s
2024-06-20 17:22:42 +10:00
005a306fc6 fix: Update reverse proxy causing manifest breaking
All checks were successful
Build Docker / BuildImage (push) Successful in 36s
2024-06-19 21:23:52 +10:00
cb13ca0a3b feat: Add Kasper coin 2024-06-19 16:58:35 +10:00
5685830cba fix: Cleanup index variables
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2024-06-19 13:16:30 +10:00
1f9b38306c fix: Index page 2024-06-19 13:12:45 +10:00
9568cfe177 fix: Use global cache for projects list
All checks were successful
Build Docker / BuildImage (push) Successful in 31s
2024-06-19 12:50:48 +10:00
18619efe39 feat: Add recent projects to index and updated projects page
All checks were successful
Build Docker / BuildImage (push) Successful in 37s
2024-06-18 12:44:26 +10:00
719221d74f feat: Remove onion link
All checks were successful
Build Docker / BuildImage (push) Successful in 32s
2024-06-17 22:05:41 +10:00
5d95307ae2 fix: Manifest should use host automatically 2024-06-17 22:04:12 +10:00
1b017d919a feat: Don't show loading screen to redirect from icann to hns
All checks were successful
Build Docker / BuildImage (push) Successful in 39s
2024-06-17 21:51:32 +10:00
ce5ec9aace feat: Test for referrers
All checks were successful
Build Docker / BuildImage (push) Successful in 56s
2024-06-17 21:47:44 +10:00
668dc8683b Merge branch 'develop'
All checks were successful
Build Docker / BuildImage (push) Successful in 32s
2024-06-17 21:30:33 +10:00
65dc5991c0 feat: Reorganise assets
All checks were successful
Build Docker / BuildImage (push) Successful in 32s
2024-06-17 21:29:57 +10:00
05be03225d feat: Add now page for 17_06
All checks were successful
Build Docker / BuildImage (push) Successful in 53s
2024-06-17 16:59:12 +10:00
52dd703fa6 feat: Add new now page
All checks were successful
Build Docker / BuildImage (push) Successful in 40s
2024-06-06 21:00:15 +10:00
e40ec28509 fix: Set background to black on now pages
All checks were successful
Build Docker / BuildImage (push) Successful in 36s
2024-05-28 14:49:21 +10:00
1cb8f3ea65 fix: Remove old TOR hidden service header
All checks were successful
Build Docker / BuildImage (push) Successful in 59s
2024-05-28 14:40:21 +10:00
922a0f5d47 feat: Add now page for 28th May
Some checks failed
Build Docker / BuildImage (push) Has been cancelled
2024-05-28 14:39:42 +10:00
94c32a3b30 feat: Add new now page
All checks were successful
Build Docker / Build Image (push) Successful in 37s
2024-05-20 14:31:57 +10:00
3024c3de32 fix: Podcast urls being misread
All checks were successful
Build Docker / Build Image (push) Successful in 43s
2024-05-19 22:46:32 +10:00
d936a8f96b fix: Remove old podcast viewer
All checks were successful
Build Docker / Build Image (push) Successful in 31s
2024-05-19 22:37:13 +10:00
1eb32828ec feat: Add podcast xml
All checks were successful
Build Docker / Build Image (push) Successful in 50s
2024-05-19 22:05:03 +10:00
bf6236e60b feat: Add podcast home page
All checks were successful
Build Docker / Build Image (push) Successful in 50s
2024-05-19 21:53:10 +10:00
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
ad95fe796b feat: Add CORS
All checks were successful
Build Docker / Build Image (push) Successful in 42s
2024-02-28 17:36:18 +11:00
9e078387d8 feat: Add wvac logos
All checks were successful
Build Docker / Build Image (push) Successful in 27s
2024-02-28 12:59:31 +11:00
fb81b24839 feat: Added now page for 25 Feb 24
All checks were successful
Build Docker / Build Image (push) Successful in 24s
2024-02-25 15:06:12 +11:00
f4295107a4 feat: Add now old page for previous now pages
All checks were successful
Build Docker / Build Image (push) Successful in 27s
2024-02-23 21:19:00 +11:00
35e4ae222c feat: Add date to now page 2024-02-23 17:27:43 +11:00
12a51bbb54 fix: use global variable to stop issues
All checks were successful
Build Docker / Build Image (push) Successful in 21s
2024-02-22 16:43:45 +11:00
6d47ddf89f fix: Async hns script to fix site loading
All checks were successful
Build Docker / Build Image (push) Successful in 25s
2024-02-22 16:40:52 +11:00
2d56c89765 fix: Now page social embed
All checks were successful
Build Docker / Build Image (push) Successful in 22s
2024-02-18 22:01:34 +11:00
21aec406df feat: Added first now post
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2024-02-18 21:47:38 +11:00
6eb6299b3a fix: Update token name to have space
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2024-02-18 19:52:36 +11:00
c3f2714929 feat: Update metadata
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2024-02-18 18:48:00 +11:00
e98edf3de9 fix: Move wdbrn metadata to assets
All checks were successful
Build Docker / Build Image (push) Successful in 20s
2024-02-18 12:53:57 +11:00
cadece357b fix: Return minetype json
All checks were successful
Build Docker / Build Image (push) Successful in 30s
2024-02-18 12:51:59 +11:00
da42f35ff0 feat: Add WDBRN token manifest
All checks were successful
Build Docker / Build Image (push) Successful in 23s
2024-02-18 12:50:17 +11:00
dcb07799e3 feat: Update website and socials
All checks were successful
Build Docker / Build Image (push) Successful in 22s
2024-02-13 14:21:30 +11:00
ece562caba feat: Added white HNS logos
All checks were successful
Build Docker / Build Image (push) Successful in 24s
2024-02-12 19:42:43 +11:00
23d44038ef feat: Add ico icon
All checks were successful
Build Docker / Build Image (push) Successful in 46s
2024-02-12 19:34:54 +11:00
31f93005b9 feat: Updated the rest of the HNS logos
All checks were successful
Build Docker / Build Image (push) Successful in 24s
2024-02-12 19:32:56 +11:00
8217a7fcd6 fix: Remove old files
All checks were successful
Build Docker / Build Image (push) Successful in 23s
2024-02-12 19:27:18 +11:00
00ac9881c3 fix: Move to shorter path
All checks were successful
Build Docker / Build Image (push) Successful in 30s
2024-02-12 19:17:50 +11:00
1f54a882d8 feat: Add handshake favicons
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2024-02-12 18:44:27 +11:00
7a9fb9e08b feat: Add linkr and HNSDoH to projects
All checks were successful
Build Docker / Build Image (push) Successful in 34s
2024-01-08 02:31:00 +11:00
9305442c4b feat: Add acme server for HNSDoH
All checks were successful
Build Docker / Build Image (push) Successful in 47s
2023-12-22 15:07:24 +11:00
d67da4ad06 feat: Ad umami
All checks were successful
Build Docker / Build Image (push) Successful in 39s
2023-12-20 15:22:15 +11:00
d094784188 feat: Updated websites section
All checks were successful
Build Docker / Build Image (push) Successful in 35s
2023-12-18 15:02:13 +11:00
c2cd53dc78 feat: Added some projects and resume info
All checks were successful
Build Docker / Build Image (push) Successful in 47s
2023-12-18 11:24:41 +11:00
89ce365bd0 feat: Add pointer to downtime div
All checks were successful
Build Docker / Build Image (push) Successful in 38s
2023-12-16 16:33:31 +11:00
e6708dceaa feat: Add selfhosted tracking
All checks were successful
Build Docker / Build Image (push) Successful in 36s
2023-12-13 12:19:59 +11:00
2e463c626d fix: Typo with old address method
All checks were successful
Build Docker / Build Image (push) Successful in 31s
2023-12-05 21:54:18 +11:00
797db5e1a9 feat: Add a manual address to stop issues with address index
All checks were successful
Build Docker / Build Image (push) Successful in 37s
2023-12-05 18:35:08 +11:00
12dd3dfedc feat: Set hip address to only update when the server restarts
All checks were successful
Build Docker / Build Image (push) Successful in 35s
2023-12-05 17:35:19 +11:00
682e732643 fix: Update Woodburn Reg logo for mobile
All checks were successful
Build Docker / Build Image (push) Successful in 28s
2023-11-08 12:39:06 +11:00
33158bdb57 feat: Add servers page
All checks were successful
Build Docker / Build Image (push) Successful in 30s
2023-11-06 11:27:09 +11:00
26c91c030a Merge branch 'release/v1.0' into main
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2023-11-03 14:15:55 +11:00
699e9988f2 fix: Hide downtime notification on small screens
All checks were successful
Build Docker / Build Image (push) Successful in 28s
2023-11-03 14:14:41 +11:00
21bcb0464b feat: Add downtime notification
All checks were successful
Build Docker / Build Image (push) Successful in 27s
2023-11-03 14:11:34 +11:00
6efcb43d23 fix: Remove volume mount
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2023-11-03 12:11:49 +11:00
dcbe034d2f feat: Add current project
All checks were successful
Build Docker / Build Image (push) Successful in 29s
2023-11-03 11:51:10 +11:00
5f42fc3d8c Merge branch 'feature/python_server' into develop
All checks were successful
Build Docker / Build Image (push) Successful in 27s
2023-11-02 23:52:48 +11:00
410 changed files with 12786 additions and 24625 deletions

33
.dockerignore Normal file
View File

@@ -0,0 +1,33 @@
# Bytecode and virtualenvs
__pycache__/
*.pyc
*.pyo
.venv/
.vscode/
.vs/
.ruff_check/
.env
# Pycache in subdirectories
**/__pycache__/
**/*.pyc
**/*.pyo
# Git and CI
.git/
.gitea/
testing/
tests/
# Build and docs
Dockerfile
NathanWoodburn.bsdesign
LICENSE.txt
README.md
# Development caches
*.tmp
*.log

View File

@@ -4,7 +4,7 @@ on:
push:
jobs:
Build Image:
BuildImage:
runs-on: [ubuntu-latest, amd]
steps:
- name: Checkout

View File

@@ -0,0 +1,18 @@
name: Check Code Quality
run-name: Ruff CI
on:
push:
jobs:
RuffCheck:
runs-on: [ubuntu-latest, amd]
steps:
- uses: actions/checkout@v2
- name: Set up Python
run: |
apt update
apt install -y python3 python3-pip
- name: Install Ruff
run: pip install ruff
- name: Run Ruff
run: ruff check .

6
.gitignore vendored
View File

@@ -1,2 +1,8 @@
__pycache__/
.env
.vs/
.venv/
*.tmp
testing/

16
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,16 @@
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.9.8
hooks:
- id: uv-lock
- id: uv-export
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.14.4
hooks:
# Run the linter.
- id: ruff-check
# Run the formatter.
- id: ruff-format

1
.python-version Normal file
View File

@@ -0,0 +1 @@
3.13

View File

@@ -1,6 +0,0 @@
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}

Binary file not shown.

View File

@@ -0,0 +1,8 @@
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "au.woodburn.nathan",
"sha256_cert_fingerprints": ["D8:97:22:C4:C5:AA:AC:6D:7B:57:F0:19:FF:A1:E7:2A:92:71:EE:CF:1F:E1:AF:5A:87:22:0D:00:76:9D:83:80"]
}
}]

View File

@@ -0,0 +1,6 @@
I hereby confirm that I am the owner of the Bitcoin address bc1qzsp3wc2nwayl8awun57tggjn92w0awp9mzsn90.
Nathan.Woodburn/
--------------------
HzEsSV17nmbMwnz55sW6jW/AnmYxW0TAdgiJsYRUyWs7WjBaGlzrvXkH1R8qosQXSvQ1nZNe9dS5SUCZtbNZzuM=
--------------------
You can verify this signature by pasting it into a signature verification tool such as https://www.verifybitcoinmessage.com/. Don't forget to remove trailing newlines.

View 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

View 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.

View File

@@ -0,0 +1,33 @@
{
"ADA": "Cardano (ADA)",
"ATOM": "Cosmos (ATOM)",
"AVAX": "Avalanche (AVAX)",
"BNB": "Binance (BNB)",
"BTC": "Bitcoin (BTC)",
"CRO": "Crypto.com (CRO)",
"DOT": "Polkadot (DOT)",
"ERG": "ERGO (ERG)",
"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)"
}

View File

@@ -0,0 +1,32 @@
{
"ETH":"woodburn.au",
"HNS":"nathan.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"
}

104
.well-known/wallets/.tokens Normal file
View File

@@ -0,0 +1,104 @@
[
{
"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": "PYUSD",
"name": "PayPal USD",
"chain": "ETH"
},
{
"symbol": "PYUSD",
"name": "PayPal USD",
"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": "thinbadger6@primal.net"
},
{
"symbol": "stWDBRN",
"name": "Woodburn Vault",
"chain": "SOL"
},
{
"symbol": "AUDD",
"name": "Australian Digital Dollar",
"chain": "ETH"
},
{
"symbol": "AUDD",
"name": "Australian Digital Dollar",
"chain": "SOL"
},
{
"symbol": "AUDD",
"name": "Australian Digital Dollar",
"chain": "BASE",
"address": "0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e"
}
]

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

@@ -0,0 +1 @@
addr1qy5l7vmx9l2uexv44hzjak4zmwecee4hht0k6shtk5jh7cjzu99z8vx5n467fquzradx7p42grdylv3zq2cgfw0f32fs443hxs

View File

@@ -0,0 +1 @@
akash1ugraczuyfmxy8k38nps4fu7e5derryzxpk2n77

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

@@ -0,0 +1 @@
OUWNGLRLAN56VTNI3F4EKISPDIFIF2HMCV3OYS3DER7WXF2LCFMEV2TWPI

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

@@ -0,0 +1 @@
0x372b3c513d149e5511912eba22e31f07d2b289e20ba84b2e0b7756e7a00295c3

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/BCH Normal file
View File

@@ -0,0 +1 @@
qpsgs9daa6e2mn4v0u02pfunsme68a5uayn7e8knug

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

@@ -0,0 +1 @@
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e

View File

@@ -0,0 +1 @@
bostrom1ugraczuyfmxy8k38nps4fu7e5derryzx07n8er

View File

@@ -1 +1 @@
bc1qhs94zzcw64qnwq4hvk056rwxwvgrkd7tq7d4xw
bc1qzsp3wc2nwayl8awun57tggjn92w0awp9mzsn90

View File

@@ -0,0 +1 @@
chihuahua1ugraczuyfmxy8k38nps4fu7e5derryzx0c26xx

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

@@ -0,0 +1 @@
Xpr5auWs1waBmWT3XsWXwzu8Di32x8VfH2

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

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

@@ -0,0 +1 @@
9gfxbmYdeVGr4PPRbsBHhsJJSHyacJRNr61LhxudHc8PtQPCUsM

View File

@@ -0,0 +1 @@
gravity1ugraczuyfmxy8k38nps4fu7e5derryzxga4vzv

View File

@@ -1 +1 @@
hs1qk4sq6mk3kcshp02xgchukv09m38czdnq5qv76w
hs1qh7uzytf2ftwkd9dmjjs7az9qfver5m7dd7x4ej

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/KAS Normal file
View File

@@ -0,0 +1 @@
kaspa:qzl7av7gq5j594pcs2gn6zf2xadpmhdm90nygjstvte0n6gt9f4fgx0w2dhm8

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 @@
noble1ugraczuyfmxy8k38nps4fu7e5derryzxywjul2

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 @@
UQDqC1B0a3S9th8ncaQHYJ689dnu9c0zJXeV727UMak9WbBm

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

@@ -0,0 +1 @@
THjwavxGZahj1scVw75fhGP2HCAcjNxwsK

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

@@ -0,0 +1 @@
umee1ugraczuyfmxy8k38nps4fu7e5derryzx7m6trk

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

@@ -0,0 +1 @@
GCK4PA53V26MNP6U57EPK7EA42TBQMGJ4TUPMUPLLQNPZ64YX3XVLZGQ

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

@@ -0,0 +1 @@
rKzdnYvwDyeki5VCgMwjuofjBjAbg3DJnB

View 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"

View File

@@ -1,17 +1,59 @@
FROM --platform=$BUILDPLATFORM python:3.10-alpine AS builder
# syntax=docker/dockerfile:1
### Build stage ###
FROM python:3.13-alpine AS build
# Install build dependencies for Pillow and other native wheels
# Kept in case source builds are needed, though wheels are preferred
RUN apk add --no-cache \
build-base \
jpeg-dev zlib-dev freetype-dev
# Copy uv (fast Python package manager)
COPY --from=ghcr.io/astral-sh/uv:0.8.21 /uv /uvx /bin/
WORKDIR /app
COPY requirements.txt /app
RUN --mount=type=cache,target=/root/.cache/pip \
pip3 install -r requirements.txt
# Copy dependency files
COPY pyproject.toml uv.lock ./
COPY . /app
# Install dependencies into a virtual environment
# - --frozen: strict lockfile usage
# - --no-dev: exclude development dependencies
# - --no-install-project: avoid installing app as package
# - --compile-bytecode: ensuring .pyc files for startup speed (optional, omit if size is critical but usually worth it)
# We omit --compile-bytecode here to save space as requested
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --frozen --no-dev --no-install-workspace
# Add mount point for data volume
VOLUME /data
### Runtime stage ###
FROM python:3.13-alpine AS runtime
ENTRYPOINT ["python3"]
CMD ["main.py"]
ENV PATH="/app/.venv/bin:$PATH"
FROM builder as dev-envs
# Create non-root user and install curl for healthchecks
RUN addgroup -g 1001 appgroup && \
adduser -D -u 1001 -G appgroup -h /app appuser && \
apk add --no-cache curl
WORKDIR /app
# Copy the virtual environment from build stage
COPY --from=build --chown=appuser:appgroup /app/.venv /app/.venv
# Copy all top-level Python files
COPY --chown=appuser:appgroup *.py ./
# Copy application directories
COPY --chown=appuser:appgroup blueprints blueprints
COPY --chown=appuser:appgroup templates templates
COPY --chown=appuser:appgroup data data
COPY --chown=appuser:appgroup pwa pwa
COPY --chown=appuser:appgroup .well-known .well-known
USER appuser
EXPOSE 5000
ENTRYPOINT ["python3", "main.py"]

BIN
NathanWoodburn.bsdesign Normal file

Binary file not shown.

View File

@@ -1 +0,0 @@
include: [".well-known"]

38
addCoin.py Normal file
View File

@@ -0,0 +1,38 @@
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)

70
ascii_art.py Normal file
View File

@@ -0,0 +1,70 @@
import requests
from PIL import Image
from io import BytesIO
ASCII_CHARS = ["@", "#", "S", "%", "?", "*", "+", ";", ":", ",", "."]
def resized_gray_image(image, new_width=40):
"""
Resize and convert image to grayscale.
"""
width, height = image.size
aspect_ratio = height / width
# 0.55 is a correction factor as terminal characters are taller than they are wide
new_height = int(aspect_ratio * new_width * 0.55)
img = image.resize((new_width, new_height))
return img.convert("L")
def pixels_to_ascii(image):
"""
Map grayscale pixels to ASCII characters.
"""
pixels = image.getdata()
# 255 / 11 (len(ASCII_CHARS)) ~= 23. Using 25 for safe integer division mapping.
characters = "".join([ASCII_CHARS[pixel // 25] for pixel in pixels])
return characters
def image_url_to_ascii(url, new_width=40):
"""
Convert an image URL to a colored ASCII string using ANSI escape codes.
"""
if not url:
return ""
try:
response = requests.get(url, timeout=5)
image = Image.open(BytesIO(response.content))
except Exception:
return ""
# Resize image
width, height = image.size
aspect_ratio = height / width
# Calculate new height to maintain aspect ratio, considering terminal character dimensions
# ASCII chars are taller than they are wide (approx ~2x)
# Since we are using '██' (double width), we effectively make each "cell" square.
# So we can just scale by aspect ratio directly without additional correction factor.
new_height = int(aspect_ratio * new_width)
if new_height > height:
new_height = height
new_width = int(new_height / aspect_ratio)
# Resize and ensure RGB mode
img = image.resize((new_width, new_height))
img = img.convert("RGB")
pixels = img.getdata()
ascii_str = ""
for i, pixel in enumerate(pixels):
r, g, b = pixel
ascii_str += f"\033[38;2;{r};{g};{b}m██\033[0m"
# Add newline at the end of each row
if (i + 1) % new_width == 0:
ascii_str += "\n"
return ascii_str

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,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%;
}

View File

@@ -1 +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%}

View File

@@ -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;
}

View File

@@ -1 +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:0!important}h1,h2{color:#2c3134}.btn:hover{color:#000!important;background-color:#fff!important}

View File

@@ -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;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +0,0 @@
body.about-body {
position: absolute;
top: 0;
transition: 2s;
height: 101%;
}
::-webkit-scrollbar {
display: none;
}

View File

@@ -1 +0,0 @@
body.about-body{position:absolute;top:0;transition:2s;height:101%}::-webkit-scrollbar{display:none}

View File

@@ -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%;
}

View File

@@ -1 +0,0 @@
img.no-drag{pointer-events:none}img.fog{pointer-events:none;position:absolute;left:0;top:0;width:100%;height:100%}

View File

@@ -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}}

View File

@@ -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;
}
}

View File

@@ -1 +0,0 @@
.hide_underline{text-decoration:none}.invert{filter:invert(1)}@media screen and (max-width:800px){.masthead{padding-top:0!important}}@media screen and (max-width:450px){img.navicon{width:100%}#navbar{padding-left:0!important}}

View File

@@ -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);
}

View File

@@ -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)}

View File

@@ -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;
}
}

View File

@@ -1 +0,0 @@
.profile-container{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:0}img.profile{left:10px;width:150px;position:absolute;aspect-ratio:1;transform:scale(1);transition:.5s;z-index:2}img.background2{left:0;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,img.backgroundsml:hover{filter:blur(5px)}.spacer{height:100px}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.background2sml{width:170px!important;left:calc(50% - 10px);margin-top:-10px;pointer-events:none;z-index:0}@media print{div{color:#000!important}.noprintbreak{page-break-inside:avoid}.edu-main{page-break-before:always}}

View File

@@ -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}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 692 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More