Caddy
tcp/443 tcp/80
Varnish
tcp/80
openresty
tcp/443
Open service 2a04:4e42:400::775:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-lga21983-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 7, 1
X-Timer: S1769433691.157213,VS0,VE4
Vary: Cookie, Accept-Encoding
x-request-id: bb4603c8-9ecc-4049-933e-715bb472f1e8
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42:600::775:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-yyz4575-YYZ
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 8, 1
X-Timer: S1769433691.145494,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: ef9aee2b-4d4c-480c-a355-6531531f8499
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42:600::775:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-yyz4579-YYZ X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.049459,VS0,VE1 x-request-id: b2658296-b8d6-408a-a14d-bd0794e79436 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:400::775:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-yyz4545-YYZ X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.048608,VS0,VE1 x-request-id: ecc3a287-6b2b-47f9-8c83-042f36077daa Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:200::775:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-yyz4534-YYZ X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.045235,VS0,VE0 x-request-id: d30de71d-0778-46b4-b00c-fa8d99debcd8 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:200::775:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-yyz4569-YYZ
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 8, 1
X-Timer: S1769433691.148397,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: 875d1bff-ad3e-429e-bc8f-16808fe5c257
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42::775:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-lga21931-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.038058,VS0,VE1 x-request-id: 38bf6375-4b90-4549-becc-62e58c8d53e4 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.195.7:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-lga21935-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 7, 1
X-Timer: S1769433691.128711,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 088642d5-6d7d-4728-b1b6-3f2e04130f9f
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42::775:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-lga21977-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 7, 1
X-Timer: S1769433691.130894,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 267b1f43-b320-41ad-ac78-7b00cd96fbb7
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.195.7:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-lga21960-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.038418,VS0,VE1 x-request-id: d0da1781-c17a-43c6-932c-d2d853ff207f Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-lga21967-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.041150,VS0,VE1 x-request-id: 2d2db8b8-2e0a-4137-bb9a-e56098df5c14 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-lga21952-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.037565,VS0,VE1 x-request-id: c34016fa-3f92-4d6f-8816-16dbb19bd657 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-lga21982-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 7, 1
X-Timer: S1769433691.130504,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: f40be942-df74-4851-9cee-92b750584548
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.67.7:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-lga21946-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 7, 1
X-Timer: S1769433691.152381,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 44e4747f-542a-4f3c-bd59-8daa23249b2e
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.131.7:443 · security.voyage
2026-01-26 13:21
HTTP/1.1 200 OK
Connection: close
Content-Length: 48361
status: 200 OK
etag: W/"bce9-93WyyKtcOv3wlzcKQbqSwJrtww0"
content-type: text/html; charset=utf-8
server: openresty
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Mon, 26 Jan 2026 13:21:31 GMT
Age: 31089
X-Served-By: cache-ams2100101-AMS, cache-ams2100104-AMS, cache-fra-eddf8230093-FRA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 6, 1
X-Timer: S1769433691.024865,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 7143ec5d-f9b7-4759-b320-846f17bc8c58
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=b162e15118">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=b162e15118">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.131.7:80 · security.voyage
2026-01-26 13:21
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Mon, 26 Jan 2026 13:21:31 GMT Via: 1.1 varnish X-Served-By: cache-rtm-ehrd2290037-RTM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1769433691.008418,VS0,VE1 x-request-id: ff7abee4-4c86-4a3d-b466-a9e6d51b7d28 Ghost-Fastly: true;production Alt-Svc: clear
Open service 34.110.180.34:80 · email.ghost.security.voyage
2026-01-07 15:15
HTTP/1.1 404 Not Found Content-Type: text/plain; charset=utf-8 X-Content-Type-Options: nosniff Date: Wed, 07 Jan 2026 15:16:02 GMT Content-Length: 19 Connection: close 404 page not found
Open service 34.110.180.34:443 · email.ghost.security.voyage
2026-01-07 15:15
HTTP/1.1 404 Not Found Content-Length: 19 Content-Type: text/plain; charset=utf-8 Date: Wed, 07 Jan 2026 15:16:01 GMT X-Content-Type-Options: nosniff Connection: close 404 page not found
Open service 2a04:4e42::775:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:13 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-pao-kpao1770040-PAO
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 20, 1
X-Timer: S1767312733.144819,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: 211d94c8-fb01-4886-9dbf-7f86a2e119aa
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.131.7:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-lcy-egml8630066-LCY X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.943407,VS0,VE0 x-request-id: 0aea17e8-f808-4333-b1bb-e6e9b934402f Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:12 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-lga21934-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 11, 1
X-Timer: S1767312733.949264,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: cedd3766-5c4b-461d-8faa-81c8185227d5
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42:200::775:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-bom-vanm7210067-BOM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.953484,VS0,VE0 x-request-id: 0c1cca6a-56fe-4f1b-a593-871cd225f367 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:600::775:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:13 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-yyz4552-YYZ
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 19, 1
X-Timer: S1767312733.013784,VS0,VE101
Vary: Cookie, Accept-Encoding
x-request-id: 3ed549f7-693a-4d6b-a86a-239b4ce5616b
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.195.7:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:12 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-fra-eddf8230148-FRA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 1, 1
X-Timer: S1767312733.881362,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: a7e41afb-7170-4d7f-a562-ccb647eff501
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42:200::775:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:12 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-fra-eddf8230059-FRA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 1, 1
X-Timer: S1767312733.848102,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: fce69d70-bd02-45d2-bb20-1164cc88ce6a
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 151.101.131.7:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:12 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-lga21972-LGA
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 11, 1
X-Timer: S1767312733.874538,VS0,VE2
Vary: Cookie, Accept-Encoding
x-request-id: bac25f26-5f79-49f1-b5f1-be2a4c0145df
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42::775:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-rtm-ehrd2290026-RTM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.807464,VS0,VE0 x-request-id: 6de564a0-98dd-403b-80c6-480ad04fed31 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.3.7:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-rtm-ehrd2290046-RTM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.810748,VS0,VE1 x-request-id: 41cba2ee-86e4-448b-80d9-322fcf4f64da Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.195.7:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-lga21952-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.766383,VS0,VE1 x-request-id: 6ab743aa-df18-41af-8fcc-ba0cf6c8c1b2 Ghost-Fastly: true;production Alt-Svc: clear
Open service 2a04:4e42:600::775:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-lga21931-LGA X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.728726,VS0,VE1 x-request-id: bfac3685-ca9c-4e97-aad7-bfa8e5748f57 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-vie6378-VIE X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.816119,VS0,VE1 x-request-id: 596373f6-784a-427d-8455-dbf77914e4b8 Ghost-Fastly: true;production Alt-Svc: clear
Open service 151.101.67.7:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Age: 132489
Date: Fri, 02 Jan 2026 00:12:12 GMT
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-vie6376-VIE
X-Cache: MISS, HIT, MISS
X-Cache-Hits: 0, 18, 0
X-Timer: S1767312733.761937,VS0,VE20
Vary: Cookie, Accept-Encoding
x-request-id: 6810710d-6282-4949-ad91-0ea4bfad3593
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42:400::775:443 · security.voyage
2026-01-02 00:12
HTTP/1.1 200 OK
Connection: close
Content-Length: 48384
status: 200 OK
server: openresty
etag: W/"bd00-0Ooc7NPUUZz99fMABETZPlvWPMc"
via: 1.1 varnish, 1.1 varnish, 1.1 varnish
content-type: text/html; charset=utf-8
cache-control: public, max-age=0
Accept-Ranges: bytes
Date: Fri, 02 Jan 2026 00:12:12 GMT
Age: 132489
X-Served-By: cache-ams2100131-AMS, cache-ams2100104-AMS, cache-lcy-egml8630048-LCY
X-Cache: MISS, HIT, HIT
X-Cache-Hits: 0, 10, 1
X-Timer: S1767312733.713777,VS0,VE1
Vary: Cookie, Accept-Encoding
x-request-id: a27f3498-b4fa-4658-bbc5-03d70ffc4acb
Ghost-Fastly: true;production
Alt-Svc: clear
Page title: [ Security.Voyage ]
<!DOCTYPE html>
<html lang="en" class="is-color-default">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[ Security.Voyage ]</title>
<link rel="preload" as="style" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<link rel="preload" as="script" href="https://security.voyage/assets/built/main.min.js?v=9f1842afff">
<link rel="stylesheet" type="text/css" href="https://security.voyage/assets/built/screen.css?v=9f1842afff">
<script>
// Function to set the theme
function setTheme(theme) {
document.documentElement.setAttribute('data-theme', theme);
localStorage.setItem('theme', theme);
updateThemeToggleIcon(theme);
}
// Function to get the user's color scheme preference
function getColorScheme() {
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
// Function to update theme toggle icon
function updateThemeToggleIcon(theme) {
const toggle = document.querySelector('.gh-theme-toggle');
if (toggle) {
toggle.setAttribute('data-theme', theme);
}
}
// Function to toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
setTheme(newTheme);
}
// Get the theme setting from Ghost
var themeSetting = 'dark';
var savedTheme = localStorage.getItem('theme');
// Initialize theme based on settings
if (themeSetting === 'user') {
// Use saved preference if available, otherwise system preference
if (savedTheme) {
setTheme(savedTheme);
} else {
setTheme(getColorScheme());
}
} else if (themeSetting === 'light') {
setTheme('light');
} else if (themeSetting === 'dark') {
setTheme('dark');
} else if (themeSetting === 'system') {
setTheme(getColorScheme());
}
// Add click handler to theme toggles
document.addEventListener('DOMContentLoaded', function() {
const themeToggles = document.querySelectorAll('.gh-theme-toggle');
themeToggles.forEach(toggle => {
toggle.addEventListener('click', function() {
if (themeSetting === 'user') {
toggleTheme();
}
});
});
});
// Listen for changes in system color scheme
if (themeSetting === 'system') {
window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
setTheme(e.matches ? 'dark' : 'light');
});
}
</script>
<meta name="description" content="Exploring the edge of cybersecurity.">
<link rel="icon" href="https://security.voyage/content/images/size/w256h256/2025/11/Security-Voyage-Logo-4.png" type="image/png">
<link rel="canonical" href="https://security.voyage/">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta property="og:site_name" content="[ Security.Voyage ]">
<meta property="og:type" content="website">
<meta property="og:title" content="[ Security.Voyage ]">
<meta property="og:description" content="Exploring the edge of cybersecurity.">
<meta property="og:url" content="https://security.voyage/">
<meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="[ Security.Voyage ]">
<meta name="twitter:description" content="Exploring the edge of cybersecurity.">
<meta name="twitter:url" content="https://security.voyage/">
<meta name="twitter:image" content="https://static.ghost.org
Open service 2a04:4e42:400::775:80 · security.voyage
2026-01-02 00:12
HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 0 Server: Varnish Retry-After: 0 Location: https://security.voyage/ Accept-Ranges: bytes Date: Fri, 02 Jan 2026 00:12:12 GMT Via: 1.1 varnish X-Served-By: cache-rtm-ehrd2290055-RTM X-Cache: HIT X-Cache-Hits: 0 X-Timer: S1767312733.691369,VS0,VE1 x-request-id: c38c069a-5a42-4276-859c-8f73c5c30072 Ghost-Fastly: true;production Alt-Svc: clear
Open service 178.128.137.126:80 · www.security.voyage
2026-01-01 17:40
HTTP/1.1 302 Found Location: https://www.security.voyage/ Server: Caddy X-Caddy-Server: current Date: Thu, 01 Jan 2026 17:40:32 GMT Content-Length: 0 Connection: close
Open service 178.128.137.126:443 · www.security.voyage
2026-01-01 17:40
HTTP/1.1 302 Found Alt-Svc: h3=":443"; ma=2592000 Location: https://security.voyage/ Server: Caddy X-Caddy-Server: current Date: Thu, 01 Jan 2026 17:40:32 GMT Content-Length: 0 Connection: close