BunnyCDN-DE1-1330
tcp/443 tcp/80
BunnyCDN-DE1-1331
tcp/443 tcp/80
BunnyCDN-IL1-1236
tcp/443 tcp/80
BunnyCDN-IL1-1347
tcp/443 tcp/80
cloudflare
tcp/443 tcp/80 tcp/8443
Open service 2400:52e0:1e00:2::1330:1:443 · www.grahp.dev
2026-01-10 02:30
HTTP/1.1 200 OK
Date: Sat, 10 Jan 2026 02:30:14 GMT
Content-Type: text/html
Content-Length: 5695
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1330
CDN-PullZone: 5109497
CDN-RequestCountryCode: US
Cache-Control: public, max-age=0
Last-Modified: Fri, 09 Jan 2026 03:29:23 GMT
CDN-StorageServer: DE-635
CDN-FileServer: 728
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 01/09/2026 06:17:08
CDN-EdgeStorageId: 1331
CDN-RequestId: 87f4a138d1b3e4ce22a0829096ea8696
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: Home
<!doctypehtml><html lang="en"><meta charset="UTF-8"><link rel="icon"type="image/x-icon"href="/favicon.ico"><link rel="preload"href="/assets/fonts/JetBrainsMono-Regular-ascii.woff2"as="font"type="font/woff2"crossorigin><link rel="preload"href="/assets/fonts/JetBrainsMono-Bold-ascii.woff2"as="font"type="font/woff2"crossorigin><style>:root{--base-font-size:1rem;--content-max-ch:72ch;--page-gap:1rem}@media (min-width:600px){:root{--base-font-size:1.0625rem}}@media (min-width:900px){:root{--base-font-size:1.125rem}}@media (min-width:1200px){:root{--base-font-size:1.25rem}}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular-ascii.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold-ascii.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic-ascii.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-024F}html{box-sizing:border-box;background-color:#050506}*,::after,::before{box-sizing:inherit}body{color:#f9f9ff;font-size:var(--base-font-size);font-family:'JetBrains Mono',monospace;line-height:1.5;max-width:var(--content-max-ch);margin:var(--page-gap);margin-inline:auto;padding:0 1rem;overflow-wrap:anywhere;word-break:break-word}a{color:#58a6ff;text-decoration:underline}a:active,a:focus,a:hover{background-color:rgba(36,116,208,.25);border-radius:.25rem;cursor:pointer}ul{list-style:none;padding-left:0;margin-left:0}ul li.task-list-item::before{content:"-"}ul li.task-list-item input{margin-right:1ch}ul li::before{content:"- "}code{background-color:#222;padding:1px 2px;border-radius:.25rem}pre{background-color:#222;padding:1rem;border-radius:.25rem;overflow:auto;white-space:pre}h1{margin-block-start:0;margin-block-end:var(--base-font-size);text-align:center}p{margin:0 0 calc(var(--base-font-size) * 1.5) 0}img{max-width:min(72ch,100%);height:auto;max-height:90vh}hr{margin:calc(var(--base-font-size) * 2.25) 0}video{max-width:100%;max-height:100%;object-fit:contain}iframe.website{border:0;max-width:200%;display:block;width:var(--content-max-ch);height:100vh}input[type=checkbox]{-webkit-appearance:none;appearance:none;--checkbox-size:1.35em;width:var(--checkbox-size);height:var(--checkbox-size);border:.12em solid #777;border-radius:.25em;box-sizing:border-box;display:inline-grid;place-items:center;vertical-align:middle;padding:0;margin-inline-end:.5ch;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:75% 75%}input[type=checkbox]:checked{background-color:#58a6ff;border-color:#388cff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 6'/></svg>")}input[type=checkbox]:focus-visible{outline:.18em solid #bfeff0;outline-offset:.22em}</style><meta name="description"content="Grahp's personal website."><meta name="viewport"content="width=device-width,initial-scale=1"><title>Home</title><main id="app"><h1>Home</h1><p>Hello, I'm Grahp!<p>This is <a class="wiki-link"href="/website">my website</a> - a public obsidian vault with a bunch of interconnected pages and no search, so <a class="wiki-link"href="/internal-links">click around</a> :p<p>I'm working on <a cl
Open service 2400:52e0:1e00:2::1330:1:80 · www.grahp.dev
2026-01-10 02:30
HTTP/1.1 301 Moved Permanently Date: Sat, 10 Jan 2026 02:30:14 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1330 CDN-PullZone: 5109497 CDN-RequestCountryCode: CA Location: https://www.grahp.dev/ CDN-RequestId: e9653327e8fb137e4768ef94bda38ebf Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 185.111.111.157:80 · www.grahp.dev
2026-01-10 02:30
HTTP/1.1 301 Moved Permanently Date: Sat, 10 Jan 2026 02:30:13 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1331 CDN-PullZone: 5109497 CDN-RequestCountryCode: DE Location: https://www.grahp.dev/ CDN-RequestId: 514288a3e249dd13f8b38b8ec35a4d50 Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 185.111.111.157:443 · www.grahp.dev
2026-01-10 02:30
HTTP/1.1 200 OK
Date: Sat, 10 Jan 2026 02:30:13 GMT
Content-Type: text/html
Content-Length: 5695
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1331
CDN-PullZone: 5109497
CDN-RequestCountryCode: NL
Cache-Control: public, max-age=0
Last-Modified: Fri, 09 Jan 2026 03:29:23 GMT
CDN-StorageServer: DE-635
CDN-FileServer: 728
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 01/09/2026 06:17:08
CDN-EdgeStorageId: 1331
CDN-RequestId: a33965d36aece5023e2e8e75c5754418
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: Home
<!doctypehtml><html lang="en"><meta charset="UTF-8"><link rel="icon"type="image/x-icon"href="/favicon.ico"><link rel="preload"href="/assets/fonts/JetBrainsMono-Regular-ascii.woff2"as="font"type="font/woff2"crossorigin><link rel="preload"href="/assets/fonts/JetBrainsMono-Bold-ascii.woff2"as="font"type="font/woff2"crossorigin><style>:root{--base-font-size:1rem;--content-max-ch:72ch;--page-gap:1rem}@media (min-width:600px){:root{--base-font-size:1.0625rem}}@media (min-width:900px){:root{--base-font-size:1.125rem}}@media (min-width:1200px){:root{--base-font-size:1.25rem}}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular-ascii.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold-ascii.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic-ascii.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-024F}html{box-sizing:border-box;background-color:#050506}*,::after,::before{box-sizing:inherit}body{color:#f9f9ff;font-size:var(--base-font-size);font-family:'JetBrains Mono',monospace;line-height:1.5;max-width:var(--content-max-ch);margin:var(--page-gap);margin-inline:auto;padding:0 1rem;overflow-wrap:anywhere;word-break:break-word}a{color:#58a6ff;text-decoration:underline}a:active,a:focus,a:hover{background-color:rgba(36,116,208,.25);border-radius:.25rem;cursor:pointer}ul{list-style:none;padding-left:0;margin-left:0}ul li.task-list-item::before{content:"-"}ul li.task-list-item input{margin-right:1ch}ul li::before{content:"- "}code{background-color:#222;padding:1px 2px;border-radius:.25rem}pre{background-color:#222;padding:1rem;border-radius:.25rem;overflow:auto;white-space:pre}h1{margin-block-start:0;margin-block-end:var(--base-font-size);text-align:center}p{margin:0 0 calc(var(--base-font-size) * 1.5) 0}img{max-width:min(72ch,100%);height:auto;max-height:90vh}hr{margin:calc(var(--base-font-size) * 2.25) 0}video{max-width:100%;max-height:100%;object-fit:contain}iframe.website{border:0;max-width:200%;display:block;width:var(--content-max-ch);height:100vh}input[type=checkbox]{-webkit-appearance:none;appearance:none;--checkbox-size:1.35em;width:var(--checkbox-size);height:var(--checkbox-size);border:.12em solid #777;border-radius:.25em;box-sizing:border-box;display:inline-grid;place-items:center;vertical-align:middle;padding:0;margin-inline-end:.5ch;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:75% 75%}input[type=checkbox]:checked{background-color:#58a6ff;border-color:#388cff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 6'/></svg>")}input[type=checkbox]:focus-visible{outline:.18em solid #bfeff0;outline-offset:.22em}</style><meta name="description"content="Grahp's personal website."><meta name="viewport"content="width=device-width,initial-scale=1"><title>Home</title><main id="app"><h1>Home</h1><p>Hello, I'm Grahp!<p>This is <a class="wiki-link"href="/website">my website</a> - a public obsidian vault with a bunch of interconnected pages and no search, so <a class="wiki-link"href="/internal-links">click around</a> :p<p>I'm working on <a cl
Open service 2400:52e0:1a00::1236:1:80 · grahp.dev
2026-01-06 21:03
HTTP/1.1 301 Moved Permanently Date: Tue, 06 Jan 2026 21:03:04 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-IL1-1236 CDN-PullZone: 5109497 CDN-RequestCountryCode: GB Location: https://grahp.dev/ CDN-RequestId: 8ad24f041c8234e746409caf3dbfeed6 Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1a00::1236:1:443 · grahp.dev
2026-01-06 21:03
HTTP/1.1 404 Not Found
Date: Tue, 06 Jan 2026 21:03:04 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-IL1-1236
CDN-PullZone: 5109497
CDN-RequestCountryCode: CA
Cache-Control: public, max-age=0
CDN-StorageBalancer: NY-703
CDN-StorageServer: DE-1143
CDN-ProxyVer: 1.41
CDN-RequestPullCode: 404
CDN-RequestPullSuccess: True
CDN-EdgeStorageId: 1232
CDN-CachedAt: 01/06/2026 21:03:04
CDN-Status: 404
CDN-RequestTime: 0
CDN-RequestId: bcc77a07b66632ea11d3d56c62460537
CDN-Cache: MISS
Page title: Page Not Found
<!doctypehtml><html lang="en"><meta charset="UTF-8"><link rel="icon"type="image/x-icon"href="/favicon.ico"><link rel="preload"href="/assets/fonts/JetBrainsMono-Regular-ascii.woff2"as="font"type="font/woff2"crossorigin><link rel="preload"href="/assets/fonts/JetBrainsMono-Bold-ascii.woff2"as="font"type="font/woff2"crossorigin><style>:root{--base-font-size:1rem;--content-max-ch:72ch;--page-gap:1rem}@media (min-width:600px){:root{--base-font-size:1.0625rem}}@media (min-width:900px){:root{--base-font-size:1.125rem}}@media (min-width:1200px){:root{--base-font-size:1.25rem}}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular-ascii.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold-ascii.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic-ascii.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-024F}html{box-sizing:border-box;background-color:#050506}*,::after,::before{box-sizing:inherit}body{color:#f9f9ff;font-size:var(--base-font-size);font-family:'JetBrains Mono',monospace;line-height:1.5;max-width:var(--content-max-ch);margin:var(--page-gap);margin-inline:auto;padding:0 1rem;overflow-wrap:anywhere;word-break:break-word}a{color:#58a6ff;text-decoration:underline}a:active,a:focus,a:hover{background-color:rgba(36,116,208,.25);border-radius:.25rem;cursor:pointer}ul{list-style:none;padding-left:0;margin-left:0}ul li.task-list-item::before{content:"-"}ul li.task-list-item input{margin-right:1ch}ul li::before{content:"- "}code{background-color:#222;padding:1px 2px;border-radius:.25rem}pre{background-color:#222;padding:1rem;border-radius:.25rem;overflow:auto;white-space:pre}h1{margin-block-start:0;margin-block-end:var(--base-font-size);text-align:center}p{margin:0 0 calc(var(--base-font-size) * 1.5) 0}img{max-width:min(72ch,100%);height:auto;max-height:90vh}hr{margin:calc(var(--base-font-size) * 2.25) 0}video{max-width:100%;max-height:100%;object-fit:contain}iframe.website{border:0;max-width:200%;display:block;width:var(--content-max-ch);height:100vh}input[type=checkbox]{-webkit-appearance:none;appearance:none;--checkbox-size:1.35em;width:var(--checkbox-size);height:var(--checkbox-size);border:.12em solid #777;border-radius:.25em;box-sizing:border-box;display:inline-grid;place-items:center;vertical-align:middle;padding:0;margin-inline-end:.5ch;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:75% 75%}input[type=checkbox]:checked{background-color:#58a6ff;border-color:#388cff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 6'/></svg>")}input[type=checkbox]:focus-visible{outline:.18em solid #bfeff0;outline-offset:.22em}</style><meta name="description"content="Grahp's PERSONAL website with all his PERSONAL things!"><meta name="viewport"content="width=device-width,initial-scale=1"><title>Page Not Found</title><main id="app"><h1>Page Not Found</h1><p>Page not found .).<p>...<p>Unless you went to <a class="wiki-link"href="/404">https://grahp.dev/404</a>, in which case you're in the right place!<p>If <a class="wiki-link"href="/">I</a> deleted a
Open service 143.244.60.197:443 · grahp.dev
2026-01-06 21:03
HTTP/1.1 404 Not Found
Date: Tue, 06 Jan 2026 21:03:05 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-IL1-1347
CDN-PullZone: 5109497
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=0
CDN-StorageBalancer: NY-346
CDN-StorageServer: DE-633
CDN-ProxyVer: 1.41
CDN-RequestPullCode: 404
CDN-RequestPullSuccess: True
CDN-EdgeStorageId: 1232
CDN-CachedAt: 01/06/2026 21:03:05
CDN-Status: 404
CDN-RequestTime: 0
CDN-RequestId: aa7514c0b7e7a7cc6a27d5f25df238ee
CDN-Cache: MISS
Page title: Page Not Found
<!doctypehtml><html lang="en"><meta charset="UTF-8"><link rel="icon"type="image/x-icon"href="/favicon.ico"><link rel="preload"href="/assets/fonts/JetBrainsMono-Regular-ascii.woff2"as="font"type="font/woff2"crossorigin><link rel="preload"href="/assets/fonts/JetBrainsMono-Bold-ascii.woff2"as="font"type="font/woff2"crossorigin><style>:root{--base-font-size:1rem;--content-max-ch:72ch;--page-gap:1rem}@media (min-width:600px){:root{--base-font-size:1.0625rem}}@media (min-width:900px){:root{--base-font-size:1.125rem}}@media (min-width:1200px){:root{--base-font-size:1.25rem}}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular-ascii.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold-ascii.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic-ascii.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/JetBrainsMono-Italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-024F}html{box-sizing:border-box;background-color:#050506}*,::after,::before{box-sizing:inherit}body{color:#f9f9ff;font-size:var(--base-font-size);font-family:'JetBrains Mono',monospace;line-height:1.5;max-width:var(--content-max-ch);margin:var(--page-gap);margin-inline:auto;padding:0 1rem;overflow-wrap:anywhere;word-break:break-word}a{color:#58a6ff;text-decoration:underline}a:active,a:focus,a:hover{background-color:rgba(36,116,208,.25);border-radius:.25rem;cursor:pointer}ul{list-style:none;padding-left:0;margin-left:0}ul li.task-list-item::before{content:"-"}ul li.task-list-item input{margin-right:1ch}ul li::before{content:"- "}code{background-color:#222;padding:1px 2px;border-radius:.25rem}pre{background-color:#222;padding:1rem;border-radius:.25rem;overflow:auto;white-space:pre}h1{margin-block-start:0;margin-block-end:var(--base-font-size);text-align:center}p{margin:0 0 calc(var(--base-font-size) * 1.5) 0}img{max-width:min(72ch,100%);height:auto;max-height:90vh}hr{margin:calc(var(--base-font-size) * 2.25) 0}video{max-width:100%;max-height:100%;object-fit:contain}iframe.website{border:0;max-width:200%;display:block;width:var(--content-max-ch);height:100vh}input[type=checkbox]{-webkit-appearance:none;appearance:none;--checkbox-size:1.35em;width:var(--checkbox-size);height:var(--checkbox-size);border:.12em solid #777;border-radius:.25em;box-sizing:border-box;display:inline-grid;place-items:center;vertical-align:middle;padding:0;margin-inline-end:.5ch;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:75% 75%}input[type=checkbox]:checked{background-color:#58a6ff;border-color:#388cff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 6'/></svg>")}input[type=checkbox]:focus-visible{outline:.18em solid #bfeff0;outline-offset:.22em}</style><meta name="description"content="Grahp's PERSONAL website with all his PERSONAL things!"><meta name="viewport"content="width=device-width,initial-scale=1"><title>Page Not Found</title><main id="app"><h1>Page Not Found</h1><p>Page not found .).<p>...<p>Unless you went to <a class="wiki-link"href="/404">https://grahp.dev/404</a>, in which case you're in the right place!<p>If <a class="wiki-link"href="/">I</a> deleted a
Open service 143.244.60.197:80 · grahp.dev
2026-01-06 21:03
HTTP/1.1 301 Moved Permanently Date: Tue, 06 Jan 2026 21:03:04 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-IL1-1347 CDN-PullZone: 5109497 CDN-RequestCountryCode: CA Location: https://grahp.dev/ CDN-RequestId: b6a79fea46d066ecb7318c3aed87dc2c Cache-Control: public, max-age=0 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2a06:98c1:3121::3:443 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:53 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
referrer-policy: same-origin
server-timing: cfEdge;dur=1,cfOrigin;dur=0
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=4,cfOrigin;dur=3
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=10
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=15
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=20
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=25
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=29
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=34
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=5,cfOrigin;dur=40
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=48
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=4,cfOrigin;dur=52
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=59
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=10,cfOrigin;dur=65
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=7,cfOrigin;dur=83
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=93
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=12,cfOrigin;dur=106
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=129
x-frame-options: SAMEORIGIN
vary: accept-encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=IDg2ekWkgqk8W1DUgdQrV%2FjWUbEYX%2BYaPRJiKXLp7nXuxJ9lN%2Bl6aPIfZJQdwDVsWjXnT6IZSG8r37ubFb6SlRDfIYSj%2Fn7jyg%3D%3D"}]}
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bddfbb53773-YYZ
error code: 1000
Open service 188.114.97.3:443 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:52 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
referrer-policy: same-origin
server-timing: cfEdge;dur=0,cfOrigin;dur=0
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=1,cfOrigin;dur=2
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=1,cfOrigin;dur=5
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=1,cfOrigin;dur=8
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=11
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=15
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=19
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=22
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=26
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=1,cfOrigin;dur=29
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=33
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=37
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=40
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=43
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=3,cfOrigin;dur=47
server-timing: cfCacheStatus;desc="DYNAMIC"
server-timing: cfEdge;dur=2,cfOrigin;dur=51
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=55
x-frame-options: SAMEORIGIN
vary: accept-encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=uZ0XiTBhDagRXzkDH0J76NQ60CSsQf7N7X%2BQO5z63o%2FH%2FtLOeUSBsV2KnLuh69%2FpYH%2FxF%2FeJmzwopidWcKaXWqm%2BgvS%2F0XKQ5g%3D%3D"}]}
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bdd9f856dd5-SJC
error code: 1000
Open service 2a06:98c1:3120::3:443 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:53 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
referrer-policy: same-origin
x-frame-options: SAMEORIGIN
vary: accept-encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QFS8gG%2By3cT89mI%2B5JAWaikpD1GVWCIvQ2i30p%2FohKOl24%2B%2B8jbRAE%2Bn8ymxe0VPgdMRfyjDkk0aBmwXsCInynOhKnizxdBg2w%3D%3D"}]}
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bdf5f4e3a98-FRA
error code: 1000
Open service 2a06:98c1:3121::3:80 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:53 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Referrer-Policy: same-origin
X-Frame-Options: SAMEORIGIN
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=neJfuc78ojtnWZIrbaBGRj9SqC5NeA%2FmacwCyDhsf8crb98RSjliousyKlFlgcaKl42QpC9LKB92PXUAwkSlqSjy29sj6oyXdA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bddbb00b16b-LHR
error code: 1000
Open service 188.114.97.3:80 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:53 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Referrer-Policy: same-origin
Server-Timing: cfEdge;dur=0,cfOrigin;dur=0
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=2
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=4,cfOrigin;dur=6
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=1,cfOrigin;dur=13
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=2,cfOrigin;dur=16
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=22
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=28
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=33
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=38
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=2,cfOrigin;dur=46
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=51
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=56
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=3,cfOrigin;dur=61
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=67
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=80
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=88
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=22,cfOrigin;dur=106
X-Frame-Options: SAMEORIGIN
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fWdlw91%2FkqQVjTiL1gWG4vU2OC3ImUWfs1UDeyde1yrPbB8B1rZUhUSof3NKEVgvfh9TDSGOTXY3C5BIkgT3RAPtIteo9zXiAA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bdd8f0d8cc3-EWR
error code: 1000
Open service 2a06:98c1:3120::3:8443 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:53 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
referrer-policy: same-origin
x-frame-options: SAMEORIGIN
vary: accept-encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Ij%2F063e4SCbDAlKmbWrNvg4Xu27gfzHr4g%2BWqB%2BJIcWfZ4IKpe0GWI4GOGtpzzZfUojSHziz0j%2BbtIBJnmgJhocVp%2BZne5hyhA%3D%3D"}]}
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":8443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bddbe9b11cb-AMS
error code: 1000
Open service 2a06:98c1:3121::3:8443 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:52 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
referrer-policy: same-origin
x-frame-options: SAMEORIGIN
vary: accept-encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Mq%2F1kPXVrcFYgPoL3BBl0qDJaLasSzpyuNEDrB%2By6UQiFwV0aBqSx28PoyDEB8%2BVUx4FsxAnM8Oc8ZYl6l20e9lHDOGK9tVaXA%3D%3D"}]}
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":8443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bdd3a5a1917-FRA
error code: 1000
Open service 2a06:98c1:3120::3:80 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:52 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Referrer-Policy: same-origin
X-Frame-Options: SAMEORIGIN
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oX7l9v4f91XodWpSqrkPleHTy9QmrZt4YfyyL0W2%2BkqvpBPE1OPL%2BZp7GTa7dNSj%2B1iGGhVMGi6nRKNjUxP01F%2BiT9NRU2pBxw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bdd5ff8199b-FRA
error code: 1000
Open service 188.114.97.3:8443 · grahp.dev
2025-12-22 16:37
HTTP/1.1 403 Forbidden
Date: Mon, 22 Dec 2025 16:37:52 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
referrer-policy: same-origin
x-frame-options: SAMEORIGIN
vary: accept-encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ydGpY50JHfKGQxzjk8iteSBfzE0oroSnBzAZipbmAXsGEah0Ye5PFrpnNWR7HSs4ybQcqg868inB5QuEKCgGXQZAmHBI3zVXQQ%3D%3D"}]}
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
alt-svc: h3=":8443"; ma=86400
cf-cache-status: DYNAMIC
CF-RAY: 9b210bdd18fb7093-FRA
error code: 1000