assets: regenerate og+banner via official og-gen/banner-gen with per-post terminal entries
Deploy / build (push) Successful in 58s

This commit is contained in:
2026-09-09 09:47:41 +08:00
parent 0da3ea5768
commit 010306f01f
4 changed files with 24 additions and 0 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 47 KiB

+19
View File
@@ -114,6 +114,25 @@ const BANNERS = {
],
},
'hardening-a-tor-onion-service': {
titlebar: 'root@tor-host — onion service audit',
lines: [
{ t: 'prompt', text: '$' }, { t: 'cmd', text: 'wget -qO- ipv4.icanhazip.com # from inside the app' },
{ t: 'err', text: '→ home IP returned · iptables block silently gone' },
{ t: 'prompt', text: '$' }, { t: 'cmd', text: 'cap_add: NET_BIND_SERVICE · keep :80' },
{ t: 'err', text: 'listen tcp :80: bind: permission denied · CapEff=0' },
{ t: 'prompt', text: '$' }, { t: 'cmd', text: 'networks: internal:true · port 8080 · SocksPort 0' },
{ t: 'ok', text: '→ bad address ✓ · zero egress ✓ · all containers healthy ✓' },
],
flow: [
{ n: '1', label: 'Audit egress', err: true },
{ n: '2', label: 'internal:true' },
{ n: '3', label: 'non-root :8080' },
{ n: '4', label: 'healthchecks' },
{ n: '5', label: 'verify ✓' },
],
},
'hello-world': {
titlebar: '~/hoelee-blog — first commit',
lines: [
+5
View File
@@ -83,6 +83,11 @@ const TERMINALS = {
<div class="line"><span class="prompt">$</span><span class="cmd">POST /api/verifyConnection</span></div>
<div class="line"><span class="prompt">&nbsp;</span><span class="err">404 · API prefix dropped in v2</span></div>
<div class="line"><span class="prompt">$</span><span class="cmd">csrftoken → /verifyLogin → fetchWebsitesList</span><span class="fix">→ sites ✓</span></div>`,
'hardening-a-tor-onion-service': `
<div class="line"><span class="prompt">$</span><span class="cmd">wget -qO- ipv4.icanhazip.com</span></div>
<div class="line"><span class="prompt">&nbsp;</span><span class="err">bind: permission denied · CapEff=0 on :80</span></div>
<div class="line"><span class="prompt">$</span><span class="cmd">internal:true · :8080 · SocksPort 0</span><span class="fix">→ zero egress ✓</span></div>`,
};
const DEFAULT_TERMINAL = `