AmazonS3
tcp/443
CloudFront
tcp/80
Open service 18.239.83.121:80 · www.tombrogan.com
2026-01-09 05:04
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Fri, 09 Jan 2026 05:04:13 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.tombrogan.com/ X-Cache: Redirect from cloudfront Via: 1.1 134cb849e01fafad6f264ff9633b073e.cloudfront.net (CloudFront) X-Amz-Cf-Pop: AMS58-P5 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: tHWI3yqlhzNeBSR8R22PzYkMKS-4X47UajawrYi3qzl56XaP6JyHUA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 52.85.65.8:443 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 4336
Connection: close
Last-Modified: Thu, 06 Nov 2025 10:02:34 GMT
x-amz-server-side-encryption: AES256
Accept-Ranges: bytes
Server: AmazonS3
Date: Tue, 30 Dec 2025 21:27:11 GMT
ETag: "7a83be0df9500751315a4ddaa8bba6f1"
X-Cache: Hit from cloudfront
Via: 1.1 545b825053a09d387ff136b5f64f0862.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P6
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: mLfYYoGruwomzEeQipFeWbd9pWl5dUBSLJG0HRPEr9jL-omEPLw41Q==
Age: 13784
Page title: tombrogan.com — home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="light only" />
<title>tombrogan.com — home</title>
<link rel="canonical" href="https://tombrogan.com/" />
<!-- Favicon (Safari-friendly; cache-bust to beat sticky caches) -->
<link rel="icon" href="/img/favicon.ico" type="image/x-icon" sizes="any">
<link rel="shortcut icon" href="/img/favicon.ico">
<!-- Performance: speed up Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700&display=swap" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WSKV2SCEE2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-WSKV2SCEE2');
</script>
<style>
:root {
--brand: #050174;
--brand-hover: lightslategray;
--font: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
}
* {
box-sizing: border-box;
}
html,
body {
height: 100%;
}
body {
margin: 0;
min-height: 100svh;
/* better mobile behavior than 100vh */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: #fff;
font-family: var(--font);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
main {
text-align: center;
/* centers inline text & inline-block elements */
}
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
html:focus-within {
scroll-behavior: auto;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
.contact-text {
margin-top: 12px;
font-size: 18px;
font-weight: 700;
/* 700 now loaded */
color: var(--brand);
line-height: 1.3;
}
/* Inherit the font, normalize link colors & states */
a {
font: inherit;
color: inherit;
text-decoration: none;
}
a.contact-link:link,
a.contact-link:visited {
color: var(--brand);
}
a.contact-link:hover {
color: var(--brand-hover);
text-decoration: underline;
text-underline-offset: 2px;
}
a.contact-link:active {
color: var(--brand);
}
/* Optional: better focus visibility for keyboard users */
a.contact-link:focus {
outline: 2px solid var(--brand-hover);
outline-offset: 2px;
border-radius: 4px;
}
</style>
<script>
// ROT13 decoder
function rot13(str) {
return str.replace(/[a-zA-Z]/g, function (c) {
var code = c.charCodeAt(0), base = code >= 97 ? 97 : 65;
return String.fromCharCode(((code - base + 13) % 26) + base);
});
}
// Safer DOM timing + guard
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('email');
if (!link) return;
var email = rot13("pbagnpg@gbzoebtna.pbz");
link.href = "mailto:" +
Open service 52.85.65.4:443 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 4336
Connection: close
Last-Modified: Thu, 06 Nov 2025 10:02:34 GMT
x-amz-server-side-encryption: AES256
Accept-Ranges: bytes
Server: AmazonS3
Date: Tue, 30 Dec 2025 21:27:11 GMT
ETag: "7a83be0df9500751315a4ddaa8bba6f1"
X-Cache: Hit from cloudfront
Via: 1.1 447e47a50612a1097ffecbc9d34c0618.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P6
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: 1FyXykbeVw3yehvtzCQIOZEfPT85qnDROzaA8lCeLQAPjXt5u__ebQ==
Age: 13784
Page title: tombrogan.com — home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="light only" />
<title>tombrogan.com — home</title>
<link rel="canonical" href="https://tombrogan.com/" />
<!-- Favicon (Safari-friendly; cache-bust to beat sticky caches) -->
<link rel="icon" href="/img/favicon.ico" type="image/x-icon" sizes="any">
<link rel="shortcut icon" href="/img/favicon.ico">
<!-- Performance: speed up Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700&display=swap" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WSKV2SCEE2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-WSKV2SCEE2');
</script>
<style>
:root {
--brand: #050174;
--brand-hover: lightslategray;
--font: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
}
* {
box-sizing: border-box;
}
html,
body {
height: 100%;
}
body {
margin: 0;
min-height: 100svh;
/* better mobile behavior than 100vh */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: #fff;
font-family: var(--font);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
main {
text-align: center;
/* centers inline text & inline-block elements */
}
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
html:focus-within {
scroll-behavior: auto;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
.contact-text {
margin-top: 12px;
font-size: 18px;
font-weight: 700;
/* 700 now loaded */
color: var(--brand);
line-height: 1.3;
}
/* Inherit the font, normalize link colors & states */
a {
font: inherit;
color: inherit;
text-decoration: none;
}
a.contact-link:link,
a.contact-link:visited {
color: var(--brand);
}
a.contact-link:hover {
color: var(--brand-hover);
text-decoration: underline;
text-underline-offset: 2px;
}
a.contact-link:active {
color: var(--brand);
}
/* Optional: better focus visibility for keyboard users */
a.contact-link:focus {
outline: 2px solid var(--brand-hover);
outline-offset: 2px;
border-radius: 4px;
}
</style>
<script>
// ROT13 decoder
function rot13(str) {
return str.replace(/[a-zA-Z]/g, function (c) {
var code = c.charCodeAt(0), base = code >= 97 ? 97 : 65;
return String.fromCharCode(((code - base + 13) % 26) + base);
});
}
// Safer DOM timing + guard
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('email');
if (!link) return;
var email = rot13("pbagnpg@gbzoebtna.pbz");
link.href = "mailto:" +
Open service 52.85.65.122:80 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 31 Dec 2025 01:16:53 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.tombrogan.com/ X-Cache: Redirect from cloudfront Via: 1.1 aa80856e4ab1425bca16fde063f31814.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P6 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: JrnsOyR2fPktJx_kmN1qrysRT7i6ICP51jAs21UN1yrLOWAcaRXfTQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 52.85.65.8:80 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 31 Dec 2025 01:16:54 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.tombrogan.com/ X-Cache: Redirect from cloudfront Via: 1.1 eab0437e9575fc5ab3f67303be5a9efc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P6 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: dL3Cnq0s7BOKtz_LZYN2LPyF0W9K25mS1c_kd5NFtbFMx795iNAQCQ== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 52.85.65.98:80 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 31 Dec 2025 01:16:53 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.tombrogan.com/ X-Cache: Redirect from cloudfront Via: 1.1 72e7358c1b788ea69a1649b717511b9a.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P6 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: ggi_-ns_gUb7Hm70NyvgXmokg5i87du6hto71LNCgzLhZ9H8Fqo8ng== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 52.85.65.122:443 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 4336
Connection: close
Last-Modified: Thu, 06 Nov 2025 10:02:34 GMT
x-amz-server-side-encryption: AES256
Accept-Ranges: bytes
Server: AmazonS3
Date: Tue, 30 Dec 2025 21:27:11 GMT
ETag: "7a83be0df9500751315a4ddaa8bba6f1"
X-Cache: Hit from cloudfront
Via: 1.1 2f720540a1a9a4394a2f93dffd5c0e5c.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P6
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: 4E_9WQ0jRWA5YhD6P0t2IeKNnYOcN82Dd4SjWLR241nS-ZltkzhGNA==
Age: 13783
Page title: tombrogan.com — home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="light only" />
<title>tombrogan.com — home</title>
<link rel="canonical" href="https://tombrogan.com/" />
<!-- Favicon (Safari-friendly; cache-bust to beat sticky caches) -->
<link rel="icon" href="/img/favicon.ico" type="image/x-icon" sizes="any">
<link rel="shortcut icon" href="/img/favicon.ico">
<!-- Performance: speed up Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700&display=swap" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WSKV2SCEE2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-WSKV2SCEE2');
</script>
<style>
:root {
--brand: #050174;
--brand-hover: lightslategray;
--font: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
}
* {
box-sizing: border-box;
}
html,
body {
height: 100%;
}
body {
margin: 0;
min-height: 100svh;
/* better mobile behavior than 100vh */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: #fff;
font-family: var(--font);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
main {
text-align: center;
/* centers inline text & inline-block elements */
}
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
html:focus-within {
scroll-behavior: auto;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
.contact-text {
margin-top: 12px;
font-size: 18px;
font-weight: 700;
/* 700 now loaded */
color: var(--brand);
line-height: 1.3;
}
/* Inherit the font, normalize link colors & states */
a {
font: inherit;
color: inherit;
text-decoration: none;
}
a.contact-link:link,
a.contact-link:visited {
color: var(--brand);
}
a.contact-link:hover {
color: var(--brand-hover);
text-decoration: underline;
text-underline-offset: 2px;
}
a.contact-link:active {
color: var(--brand);
}
/* Optional: better focus visibility for keyboard users */
a.contact-link:focus {
outline: 2px solid var(--brand-hover);
outline-offset: 2px;
border-radius: 4px;
}
</style>
<script>
// ROT13 decoder
function rot13(str) {
return str.replace(/[a-zA-Z]/g, function (c) {
var code = c.charCodeAt(0), base = code >= 97 ? 97 : 65;
return String.fromCharCode(((code - base + 13) % 26) + base);
});
}
// Safer DOM timing + guard
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('email');
if (!link) return;
var email = rot13("pbagnpg@gbzoebtna.pbz");
link.href = "mailto:" +
Open service 52.85.65.98:443 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 4336
Connection: close
Last-Modified: Thu, 06 Nov 2025 10:02:34 GMT
x-amz-server-side-encryption: AES256
Accept-Ranges: bytes
Server: AmazonS3
Date: Tue, 30 Dec 2025 21:27:11 GMT
ETag: "7a83be0df9500751315a4ddaa8bba6f1"
X-Cache: Hit from cloudfront
Via: 1.1 658022059ac728db4382b2632c3bf938.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P6
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: crwJqfIyq2lJgQf66CtstO0e6F_c7ixpwFxCg2sTanEA_X-cL4Wtlw==
Age: 13784
Page title: tombrogan.com — home
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="light only" />
<title>tombrogan.com — home</title>
<link rel="canonical" href="https://tombrogan.com/" />
<!-- Favicon (Safari-friendly; cache-bust to beat sticky caches) -->
<link rel="icon" href="/img/favicon.ico" type="image/x-icon" sizes="any">
<link rel="shortcut icon" href="/img/favicon.ico">
<!-- Performance: speed up Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700&display=swap" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WSKV2SCEE2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-WSKV2SCEE2');
</script>
<style>
:root {
--brand: #050174;
--brand-hover: lightslategray;
--font: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
}
* {
box-sizing: border-box;
}
html,
body {
height: 100%;
}
body {
margin: 0;
min-height: 100svh;
/* better mobile behavior than 100vh */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: #fff;
font-family: var(--font);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
main {
text-align: center;
/* centers inline text & inline-block elements */
}
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
html:focus-within {
scroll-behavior: auto;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
.contact-text {
margin-top: 12px;
font-size: 18px;
font-weight: 700;
/* 700 now loaded */
color: var(--brand);
line-height: 1.3;
}
/* Inherit the font, normalize link colors & states */
a {
font: inherit;
color: inherit;
text-decoration: none;
}
a.contact-link:link,
a.contact-link:visited {
color: var(--brand);
}
a.contact-link:hover {
color: var(--brand-hover);
text-decoration: underline;
text-underline-offset: 2px;
}
a.contact-link:active {
color: var(--brand);
}
/* Optional: better focus visibility for keyboard users */
a.contact-link:focus {
outline: 2px solid var(--brand-hover);
outline-offset: 2px;
border-radius: 4px;
}
</style>
<script>
// ROT13 decoder
function rot13(str) {
return str.replace(/[a-zA-Z]/g, function (c) {
var code = c.charCodeAt(0), base = code >= 97 ? 97 : 65;
return String.fromCharCode(((code - base + 13) % 26) + base);
});
}
// Safer DOM timing + guard
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('email');
if (!link) return;
var email = rot13("pbagnpg@gbzoebtna.pbz");
link.href = "mailto:" +
Open service 52.85.65.4:80 · www.tombrogan.com
2025-12-31 01:16
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 31 Dec 2025 01:16:53 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://www.tombrogan.com/ X-Cache: Redirect from cloudfront Via: 1.1 ddcc211ea1d565c67eac00a91dda8304.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P6 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: t9H4V6LDX1yHm5-Dbs2TLbfSpFzCFT03FDE4YP3dCzIiclRDQLRTjA== Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>