BunnyCDN-DE1-1047
tcp/443 tcp/80
BunnyCDN-DE1-1048
tcp/443 tcp/80
BunnyCDN-DE1-1049
tcp/443 tcp/80
BunnyCDN-DE1-1053
tcp/443 tcp/80
BunnyCDN-DE1-1076
tcp/443 tcp/80
BunnyCDN-DE1-1077
tcp/443 tcp/80
BunnyCDN-DE1-1081
tcp/443 tcp/80
BunnyCDN-DE1-1334
tcp/443 tcp/80
BunnyCDN-DE1-722
tcp/443 tcp/80
BunnyCDN-DE1-752
tcp/443 tcp/80
BunnyCDN-DE1-860
tcp/443 tcp/80
BunnyCDN-DE1-864
tcp/443 tcp/80
BunnyCDN-DE1-874
tcp/443 tcp/80
Open service 138.199.37.230:443 · fetgen.app
2026-01-26 03:04
HTTP/1.1 200 OK
Date: Mon, 26 Jan 2026 03:04:07 GMT
Content-Type: text/html
Content-Length: 6474
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-864
CDN-PullZone: 5071379
CDN-RequestCountryCode: SG
Cache-Control: public, max-age=2592000
Last-Modified: Sun, 04 Jan 2026 23:35:22 GMT
x-amz-request-id: HCFF00690058FB7A36
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 01/10/2026 17:15:14
CDN-EdgeStorageId: 874
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: same-origin
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
CDN-RequestId: c77ee03243dc831f620fe27185e77932
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="/" />
<style>
:root {
--font-stack: 'Inter', 'Noto Sans', sans-serif;
--bg-color: #050505;
--text-color: #050505;
}
body {
margin: 0;
background: var(--bg-color);
color: var(--text-color);
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: var(--font-stack);
overflow: hidden;
}
h1 {
font-weight: 700;
font-size: 8rem;
margin: 0;
letter-spacing: -0.04em;
line-height: 1;
}
@media (max-width: 600px) {
h1 { font-size: 4rem; }
}
</style>
<!-- 1. LOAD SHARED LOGIC SYNCHRONOUSLY -->
<script src="./config/loader.js"></script>
<!-- 2. SECURE CONFIG LOADER (Uses globals from ./config/loader.js) -->
<script>
(async () => {
// Use constants/functions from ./config/loader.js
const SALT = window.SALT || 'h3cr8';
const getID = window.getID;
const extractHostname = window.extractHostname;
if (!getID || !extractHostname) {
console.error("Critical: ./config/loader.js failed to load.");
return;
}
//const url = "https://app.example.com/index.html"; // Example with BRAND NAME
const url = window.location.href;
const hostname = extractHostname(url);
// Helper: Inject DOM Elements
const inject = (tag, attr = {}, parent = document.head) => {
const el = document.createElement(tag);
for (const k in attr) el.setAttribute(k, attr[k]);
parent.appendChild(el);
return el;
};
// Helper: Wait for DOM to be ready
const ready = () => new Promise(r => document.readyState !== 'loading' ? r() : document.addEventListener('DOMContentLoaded', r));
// --- CASCADING LOOKUP ---
let config = null;
// Generate hierarchy candidates: e.g. ["sub.domain.com", "domain.com", "com", ""]
const candidates = [];
if (hostname) {
const labels = hostname.split('.');
for (let i = 0; i < labels.length; i++) {
candidates.push(labels.slice(i).join('.'));
}
}
// Fallback: The empty string evaluates to the root hash (gtmu080g3r2e4eqoix3c6r1dw)
candidates.push("");
for (const domain of candidates) {
try {
const hash = await getID(domain, SALT);
// Import config. The config file itself MUST resolve its own asset paths.
config = (await import(`./config/${hash}/config.js`)).default;
if (config) {
console.log(`Config loaded for '${domain}' (${hash})`);
break;
}
} catch (e) {
// alert(domain);
// Config not found for this level, continue cascading up
}
}
// --- APPLY ---
if (config) {
// 1. Expose Config Globally for UI Components (OmniBar, etc.)
window.CONFIG = config;
// 2. Set Meta Title (Browser Tab)
// Priority: metaTitle -> title
document.title = config.metaTitle || config.title;
// 3. Set Theme Color
document.documentElement.style.setProperty('--bg-app', config.color);
if (config.manifest) inject('link', { rel: 'manifest', href: config.manifest });
if (config.color) inject('meta', { name: 'theme-color', content: config.color });
// --- DYNAMIC SVG ICON GENERATION ---
// UPDATED LOGIC: Prioritize explicit Initials over inherited Icons.
// This fixes the issue where spread syntax (...primary) causes specific configs
// to inherit the fallback icon even when they defined 'initials'.
const hasExplicitInitials = (typeof config.initials === 'string');
if (hasExplicitInitials) {
// 1. Explicit Initials (User wanted this)
const initials = config.initials;
const svgString = `
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
<circle cx="5
Open service 2400:52e0:1e00::1053:1:443 · fetgen.app
2026-01-26 03:04
HTTP/1.1 200 OK
Date: Mon, 26 Jan 2026 03:04:06 GMT
Content-Type: text/html
Content-Length: 6474
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1053
CDN-PullZone: 5071379
CDN-RequestCountryCode: US
Cache-Control: public, max-age=2592000
Last-Modified: Sun, 04 Jan 2026 23:35:22 GMT
x-amz-request-id: HCFF00690058FB7A36
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 01/10/2026 17:15:14
CDN-EdgeStorageId: 874
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: same-origin
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
CDN-RequestId: 635d6d0fc8a155acafc4f6d1b086f3bc
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="/" />
<style>
:root {
--font-stack: 'Inter', 'Noto Sans', sans-serif;
--bg-color: #050505;
--text-color: #050505;
}
body {
margin: 0;
background: var(--bg-color);
color: var(--text-color);
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: var(--font-stack);
overflow: hidden;
}
h1 {
font-weight: 700;
font-size: 8rem;
margin: 0;
letter-spacing: -0.04em;
line-height: 1;
}
@media (max-width: 600px) {
h1 { font-size: 4rem; }
}
</style>
<!-- 1. LOAD SHARED LOGIC SYNCHRONOUSLY -->
<script src="./config/loader.js"></script>
<!-- 2. SECURE CONFIG LOADER (Uses globals from ./config/loader.js) -->
<script>
(async () => {
// Use constants/functions from ./config/loader.js
const SALT = window.SALT || 'h3cr8';
const getID = window.getID;
const extractHostname = window.extractHostname;
if (!getID || !extractHostname) {
console.error("Critical: ./config/loader.js failed to load.");
return;
}
//const url = "https://app.example.com/index.html"; // Example with BRAND NAME
const url = window.location.href;
const hostname = extractHostname(url);
// Helper: Inject DOM Elements
const inject = (tag, attr = {}, parent = document.head) => {
const el = document.createElement(tag);
for (const k in attr) el.setAttribute(k, attr[k]);
parent.appendChild(el);
return el;
};
// Helper: Wait for DOM to be ready
const ready = () => new Promise(r => document.readyState !== 'loading' ? r() : document.addEventListener('DOMContentLoaded', r));
// --- CASCADING LOOKUP ---
let config = null;
// Generate hierarchy candidates: e.g. ["sub.domain.com", "domain.com", "com", ""]
const candidates = [];
if (hostname) {
const labels = hostname.split('.');
for (let i = 0; i < labels.length; i++) {
candidates.push(labels.slice(i).join('.'));
}
}
// Fallback: The empty string evaluates to the root hash (gtmu080g3r2e4eqoix3c6r1dw)
candidates.push("");
for (const domain of candidates) {
try {
const hash = await getID(domain, SALT);
// Import config. The config file itself MUST resolve its own asset paths.
config = (await import(`./config/${hash}/config.js`)).default;
if (config) {
console.log(`Config loaded for '${domain}' (${hash})`);
break;
}
} catch (e) {
// alert(domain);
// Config not found for this level, continue cascading up
}
}
// --- APPLY ---
if (config) {
// 1. Expose Config Globally for UI Components (OmniBar, etc.)
window.CONFIG = config;
// 2. Set Meta Title (Browser Tab)
// Priority: metaTitle -> title
document.title = config.metaTitle || config.title;
// 3. Set Theme Color
document.documentElement.style.setProperty('--bg-app', config.color);
if (config.manifest) inject('link', { rel: 'manifest', href: config.manifest });
if (config.color) inject('meta', { name: 'theme-color', content: config.color });
// --- DYNAMIC SVG ICON GENERATION ---
// UPDATED LOGIC: Prioritize explicit Initials over inherited Icons.
// This fixes the issue where spread syntax (...primary) causes specific configs
// to inherit the fallback icon even when they defined 'initials'.
const hasExplicitInitials = (typeof config.initials === 'string');
if (hasExplicitInitials) {
// 1. Explicit Initials (User wanted this)
const initials = config.initials;
const svgString = `
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
<circle cx="5
Open service 2400:52e0:1e00::1053:1:80 · fetgen.app
2026-01-26 03:04
HTTP/1.1 301 Moved Permanently Date: Mon, 26 Jan 2026 03:04:06 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1053 CDN-PullZone: 5071379 CDN-RequestCountryCode: US Location: https://fetgen.app/ CDN-RequestId: 8c9e391626725190fface18609e8f39f Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=() Strict-Transport-Security: max-age=63072000; includeSubDomains; preload Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Resource-Policy: same-origin Cross-Origin-Opener-Policy: same-origin X-Content-Type-Options: nosniff 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 138.199.37.230:80 · fetgen.app
2026-01-26 03:04
HTTP/1.1 301 Moved Permanently Date: Mon, 26 Jan 2026 03:04:06 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-864 CDN-PullZone: 5071379 CDN-RequestCountryCode: US Location: https://fetgen.app/ CDN-RequestId: 623f4a8687407fd4e2cb5670b7fe53d9 Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=() Strict-Transport-Security: max-age=63072000; includeSubDomains; preload Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Resource-Policy: same-origin Cross-Origin-Opener-Policy: same-origin X-Content-Type-Options: nosniff 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.160:443 · fetgen.app
2025-12-31 23:16
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 23:16:28 GMT
Content-Type: text/html
Content-Length: 6474
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1334
CDN-PullZone: 5040977
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=1200
Last-Modified: Thu, 25 Dec 2025 22:57:45 GMT
x-amz-request-id: HCFF0069002C093B2D
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/31/2025 16:26:04
CDN-EdgeStorageId: 1054
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: same-origin
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
CDN-RequestId: 6059bd9bfe5503e4c0c5ec9beadd2c24
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="/" />
<style>
:root {
--font-stack: 'Inter', 'Noto Sans', sans-serif;
--bg-color: #050505;
--text-color: #ffffff;
}
body {
margin: 0;
background: var(--bg-color);
color: var(--text-color);
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: var(--font-stack);
overflow: hidden;
}
h1 {
font-weight: 700;
font-size: 8rem;
margin: 0;
letter-spacing: -0.04em;
line-height: 1;
}
@media (max-width: 600px) {
h1 { font-size: 4rem; }
}
</style>
<!-- 1. LOAD SHARED LOGIC SYNCHRONOUSLY -->
<script src="./config/loader.js"></script>
<!-- 2. SECURE CONFIG LOADER (Uses globals from ./config/loader.js) -->
<script>
(async () => {
// Use constants/functions from ./config/loader.js
const SALT = window.SALT || 'h3cr8';
const getID = window.getID;
const extractHostname = window.extractHostname;
if (!getID || !extractHostname) {
console.error("Critical: ./config/loader.js failed to load.");
return;
}
//const url = "https://app.example.com/index.html"; // Example with BRAND NAME
const url = window.location.href;
const hostname = extractHostname(url);
// Helper: Inject DOM Elements
const inject = (tag, attr = {}, parent = document.head) => {
const el = document.createElement(tag);
for (const k in attr) el.setAttribute(k, attr[k]);
parent.appendChild(el);
return el;
};
// Helper: Wait for DOM to be ready
const ready = () => new Promise(r => document.readyState !== 'loading' ? r() : document.addEventListener('DOMContentLoaded', r));
// --- CASCADING LOOKUP ---
let config = null;
// Generate hierarchy candidates: e.g. ["sub.domain.com", "domain.com", "com", ""]
const candidates = [];
if (hostname) {
const labels = hostname.split('.');
for (let i = 0; i < labels.length; i++) {
candidates.push(labels.slice(i).join('.'));
}
}
// Fallback: The empty string evaluates to the root hash (gtmu080g3r2e4eqoix3c6r1dw)
candidates.push("");
for (const domain of candidates) {
try {
const hash = await getID(domain, SALT);
// Import config. The config file itself MUST resolve its own asset paths.
config = (await import(`./config/${hash}/config.js`)).default;
if (config) {
console.log(`Config loaded for '${domain}' (${hash})`);
break;
}
} catch (e) {
// alert(domain);
// Config not found for this level, continue cascading up
}
}
// --- APPLY ---
if (config) {
// 1. Expose Config Globally for UI Components (OmniBar, etc.)
window.CONFIG = config;
// 2. Set Meta Title (Browser Tab)
// Priority: metaTitle -> title
document.title = config.metaTitle || config.title;
// 3. Set Theme Color
document.documentElement.style.setProperty('--bg-app', config.color);
if (config.manifest) inject('link', { rel: 'manifest', href: config.manifest });
if (config.color) inject('meta', { name: 'theme-color', content: config.color });
// --- DYNAMIC SVG ICON GENERATION ---
// UPDATED LOGIC: Prioritize explicit Initials over inherited Icons.
// This fixes the issue where spread syntax (...primary) causes specific configs
// to inherit the fallback icon even when they defined 'initials'.
const hasExplicitInitials = (typeof config.initials === 'string');
if (hasExplicitInitials) {
// 1. Explicit Initials (User wanted this)
const initials = config.initials;
const svgString = `
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
<circle cx="5
Open service 185.111.111.160:80 · fetgen.app
2025-12-31 23:16
HTTP/1.1 301 Moved Permanently Date: Wed, 31 Dec 2025 23:16:28 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1334 CDN-PullZone: 5040977 CDN-RequestCountryCode: GB Location: https://fetgen.app/ CDN-RequestId: 932a9b094e705517816c0c5aac44cb5c Cache-Control: public, max-age=1200 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=() X-Content-Type-Options: nosniff Cross-Origin-Resource-Policy: same-origin Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp Referrer-Policy: strict-origin-when-cross-origin 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:1e00::1049:1:80 · fetgen.app
2025-12-31 23:16
HTTP/1.1 301 Moved Permanently Date: Wed, 31 Dec 2025 23:16:28 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1049 CDN-PullZone: 5040977 CDN-RequestCountryCode: GB Location: https://fetgen.app/ CDN-RequestId: bff686af6bb8b1a2972202a958d7636f Cache-Control: public, max-age=1200 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=() X-Content-Type-Options: nosniff Cross-Origin-Resource-Policy: same-origin Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp Referrer-Policy: strict-origin-when-cross-origin 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:1e00::1049:1:443 · fetgen.app
2025-12-31 23:16
HTTP/1.1 200 OK
Date: Wed, 31 Dec 2025 23:16:28 GMT
Content-Type: text/html
Content-Length: 6474
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1049
CDN-PullZone: 5040977
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=1200
Last-Modified: Thu, 25 Dec 2025 22:57:45 GMT
x-amz-request-id: HCFF0069002C093B2D
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/31/2025 16:26:04
CDN-EdgeStorageId: 1054
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: same-origin
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
CDN-RequestId: 3b028287b3c39b4dc88ff3b9369ef2b2
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="/" />
<style>
:root {
--font-stack: 'Inter', 'Noto Sans', sans-serif;
--bg-color: #050505;
--text-color: #ffffff;
}
body {
margin: 0;
background: var(--bg-color);
color: var(--text-color);
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: var(--font-stack);
overflow: hidden;
}
h1 {
font-weight: 700;
font-size: 8rem;
margin: 0;
letter-spacing: -0.04em;
line-height: 1;
}
@media (max-width: 600px) {
h1 { font-size: 4rem; }
}
</style>
<!-- 1. LOAD SHARED LOGIC SYNCHRONOUSLY -->
<script src="./config/loader.js"></script>
<!-- 2. SECURE CONFIG LOADER (Uses globals from ./config/loader.js) -->
<script>
(async () => {
// Use constants/functions from ./config/loader.js
const SALT = window.SALT || 'h3cr8';
const getID = window.getID;
const extractHostname = window.extractHostname;
if (!getID || !extractHostname) {
console.error("Critical: ./config/loader.js failed to load.");
return;
}
//const url = "https://app.example.com/index.html"; // Example with BRAND NAME
const url = window.location.href;
const hostname = extractHostname(url);
// Helper: Inject DOM Elements
const inject = (tag, attr = {}, parent = document.head) => {
const el = document.createElement(tag);
for (const k in attr) el.setAttribute(k, attr[k]);
parent.appendChild(el);
return el;
};
// Helper: Wait for DOM to be ready
const ready = () => new Promise(r => document.readyState !== 'loading' ? r() : document.addEventListener('DOMContentLoaded', r));
// --- CASCADING LOOKUP ---
let config = null;
// Generate hierarchy candidates: e.g. ["sub.domain.com", "domain.com", "com", ""]
const candidates = [];
if (hostname) {
const labels = hostname.split('.');
for (let i = 0; i < labels.length; i++) {
candidates.push(labels.slice(i).join('.'));
}
}
// Fallback: The empty string evaluates to the root hash (gtmu080g3r2e4eqoix3c6r1dw)
candidates.push("");
for (const domain of candidates) {
try {
const hash = await getID(domain, SALT);
// Import config. The config file itself MUST resolve its own asset paths.
config = (await import(`./config/${hash}/config.js`)).default;
if (config) {
console.log(`Config loaded for '${domain}' (${hash})`);
break;
}
} catch (e) {
// alert(domain);
// Config not found for this level, continue cascading up
}
}
// --- APPLY ---
if (config) {
// 1. Expose Config Globally for UI Components (OmniBar, etc.)
window.CONFIG = config;
// 2. Set Meta Title (Browser Tab)
// Priority: metaTitle -> title
document.title = config.metaTitle || config.title;
// 3. Set Theme Color
document.documentElement.style.setProperty('--bg-app', config.color);
if (config.manifest) inject('link', { rel: 'manifest', href: config.manifest });
if (config.color) inject('meta', { name: 'theme-color', content: config.color });
// --- DYNAMIC SVG ICON GENERATION ---
// UPDATED LOGIC: Prioritize explicit Initials over inherited Icons.
// This fixes the issue where spread syntax (...primary) causes specific configs
// to inherit the fallback icon even when they defined 'initials'.
const hasExplicitInitials = (typeof config.initials === 'string');
if (hasExplicitInitials) {
// 1. Explicit Initials (User wanted this)
const initials = config.initials;
const svgString = `
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
<circle cx="5
Open service 2400:52e0:1e00::860:1:443 · blindfold.fetgen.app
2025-12-23 23:05
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:05:53 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-860
CDN-PullZone: 908404
CDN-RequestCountryCode: US
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014C0AFBB
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:05:53
CDN-EdgeStorageId: 1082
CDN-RequestId: aa30ed92adba7e4326019649f2e61f4c
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 169.150.247.34:80 · blindfold.fetgen.app
2025-12-23 23:05
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:05:53 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1077 CDN-PullZone: 908404 CDN-RequestCountryCode: SG Location: https://blindfold.fetgen.app/ CDN-RequestId: bf9525a00c8ff01b9854354671d982c3 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 169.150.247.34:443 · blindfold.fetgen.app
2025-12-23 23:05
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:05:52 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1077
CDN-PullZone: 908404
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014C0D17D
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:05:52
CDN-EdgeStorageId: 1047
CDN-RequestId: 678f2c19b4297bcecd7fe1b8536ff675
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::860:1:80 · blindfold.fetgen.app
2025-12-23 23:05
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:05:52 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-860 CDN-PullZone: 908404 CDN-RequestCountryCode: NL Location: https://blindfold.fetgen.app/ CDN-RequestId: a63ae2121d8a5960b8f637455003599c 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:1e00::874:1:443 · cape.fetgen.app
2025-12-23 23:05
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:05:34 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-874
CDN-PullZone: 908404
CDN-RequestCountryCode: SG
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF006900112FFC16
CDN-ProxyVer: 1.41
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/22/2025 18:38:17
CDN-EdgeStorageId: 1334
CDN-RequestId: f2814a449902c6b727ef5ab428b0495a
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::874:1:80 · cape.fetgen.app
2025-12-23 23:05
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:05:33 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-874 CDN-PullZone: 908404 CDN-RequestCountryCode: DE Location: https://cape.fetgen.app/ CDN-RequestId: ed932be0ce0a0a5e7e63e1f366306392 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 138.199.36.8:80 · cape.fetgen.app
2025-12-23 23:05
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:05:33 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1048 CDN-PullZone: 908404 CDN-RequestCountryCode: CA Location: https://cape.fetgen.app/ CDN-RequestId: 89d1e57f352049d82fdd06cc0fc664ef 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 138.199.36.8:443 · cape.fetgen.app
2025-12-23 23:05
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:05:33 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1048
CDN-PullZone: 908404
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014C04AA2
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:05:33
CDN-EdgeStorageId: 864
CDN-RequestId: 1888adfc030482b6f677d26e482d4308
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::752:1:80 · sperm.fetgen.app
2025-12-23 23:05
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:05:33 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-752 CDN-PullZone: 908404 CDN-RequestCountryCode: IN Location: https://sperm.fetgen.app/ CDN-RequestId: 1618c61e3a6eebbd9edab1fe4198403e 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 138.199.37.232:443 · sperm.fetgen.app
2025-12-23 23:05
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:05:33 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-874
CDN-PullZone: 908404
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014C046FE
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:05:33
CDN-EdgeStorageId: 755
CDN-RequestId: f052eb505c415089f0695b208bb04b20
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::752:1:443 · sperm.fetgen.app
2025-12-23 23:05
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:05:33 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-752
CDN-PullZone: 908404
CDN-RequestCountryCode: US
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014C046FE
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:05:33
CDN-EdgeStorageId: 755
CDN-RequestId: 038412e22dad4163ef0a32e9db3729dc
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 138.199.37.232:80 · sperm.fetgen.app
2025-12-23 23:05
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:05:32 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-874 CDN-PullZone: 908404 CDN-RequestCountryCode: DE Location: https://sperm.fetgen.app/ CDN-RequestId: 8c41e1888a808f973dffb41f4f969649 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:1e00::1081:1:443 · cum.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:48 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1081
CDN-PullZone: 908404
CDN-RequestCountryCode: NL
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BED626
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:48
CDN-EdgeStorageId: 723
CDN-RequestId: 5cb91371b26273d5665cab46c745f6fe
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::1081:1:80 · cum.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:48 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1081 CDN-PullZone: 908404 CDN-RequestCountryCode: GB Location: https://cum.fetgen.app/ CDN-RequestId: c6e439bd97e0cd0ec3f145f72ca0acab 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 169.150.247.33:80 · cum.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:48 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1076 CDN-PullZone: 908404 CDN-RequestCountryCode: GB Location: https://cum.fetgen.app/ CDN-RequestId: 1825c9dd03c0df3ba8d36b31b759ed54 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 169.150.247.33:443 · cum.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:48 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1076
CDN-PullZone: 908404
CDN-RequestCountryCode: US
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BED626
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:48
CDN-EdgeStorageId: 723
CDN-RequestId: b6aad600f809a49188547ec2f3985834
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::1049:1:80 · lolita.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:48 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1049 CDN-PullZone: 908404 CDN-RequestCountryCode: US Location: https://lolita.fetgen.app/ CDN-RequestId: 768fbf203bc4f8f1e302ae6bdb64548b 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:1e00::1049:1:443 · lolita.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:48 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1049
CDN-PullZone: 908404
CDN-RequestCountryCode: GB
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE8CAD
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:47
CDN-EdgeStorageId: 860
CDN-RequestId: d706d07a5f668a8586150cec6b1af7c3
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 138.199.36.8:443 · lolita.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:47 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1048
CDN-PullZone: 908404
CDN-RequestCountryCode: GB
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE8CAD
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:47
CDN-EdgeStorageId: 860
CDN-RequestId: 6ff01a6fb43d7c3416bd835b1bb8f515
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 138.199.36.8:80 · lolita.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:48 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1048 CDN-PullZone: 908404 CDN-RequestCountryCode: CA Location: https://lolita.fetgen.app/ CDN-RequestId: 4d8c7322851c64cd345e72d2cd00d71b 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 138.199.36.7:443 · cam.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:30 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1047
CDN-PullZone: 908404
CDN-RequestCountryCode: US
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE573E
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:29
CDN-EdgeStorageId: 1079
CDN-RequestId: c37a21ae1e956ff0bc79bbc4f0cb6e55
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::864:1:443 · cam.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:29 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-864
CDN-PullZone: 908404
CDN-RequestCountryCode: CA
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE60F3
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:29
CDN-EdgeStorageId: 863
CDN-RequestId: db2f200f7d8124b525e865dcac74b547
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::864:1:80 · cam.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:29 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-864 CDN-PullZone: 908404 CDN-RequestCountryCode: CA Location: https://cam.fetgen.app/ CDN-RequestId: 5a3d4bf44152b92fa2af4aa7fe99b04a 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 138.199.36.7:80 · cam.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:29 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1047 CDN-PullZone: 908404 CDN-RequestCountryCode: US Location: https://cam.fetgen.app/ CDN-RequestId: a59e6c63d757f6fc7d2b7ac6675d8b85 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 138.199.36.10:80 · jewelry.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:28 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1053 CDN-PullZone: 908404 CDN-RequestCountryCode: SG Location: https://jewelry.fetgen.app/ CDN-RequestId: 1ac95b50629539a35a363233c244447f 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:1e00::1077:1:443 · jewelry.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:29 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1077
CDN-PullZone: 908404
CDN-RequestCountryCode: IN
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE571E
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:28
CDN-EdgeStorageId: 1079
CDN-RequestId: 904e06473061fbcd6a895766132bb732
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::1077:1:80 · jewelry.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:28 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1077 CDN-PullZone: 908404 CDN-RequestCountryCode: CA Location: https://jewelry.fetgen.app/ CDN-RequestId: 1e41f2ff22cc4c0a2f02750947691474 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 138.199.36.10:443 · jewelry.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:28 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1053
CDN-PullZone: 908404
CDN-RequestCountryCode: CA
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE571E
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:28
CDN-EdgeStorageId: 1079
CDN-RequestId: 97ae701050d9568c98f0843ae48478d4
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 2400:52e0:1e00::722:1:80 · wetting.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:27 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-722 CDN-PullZone: 908404 CDN-RequestCountryCode: SG Location: https://wetting.fetgen.app/ CDN-RequestId: 798b7947d665c6e586f7ccc0b1984d0e 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 138.199.36.9:80 · wetting.fetgen.app
2025-12-23 23:04
HTTP/1.1 301 Moved Permanently Date: Tue, 23 Dec 2025 23:04:27 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1049 CDN-PullZone: 908404 CDN-RequestCountryCode: SG Location: https://wetting.fetgen.app/ CDN-RequestId: d361d666ebe31e239c3117c85e2171e8 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:1e00::722:1:443 · wetting.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:27 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-722
CDN-PullZone: 908404
CDN-RequestCountryCode: US
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE5077
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:27
CDN-EdgeStorageId: 1077
CDN-RequestId: 5a992d598977c9de7b5529a5ceaa5fea
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
Open service 138.199.36.9:443 · wetting.fetgen.app
2025-12-23 23:04
HTTP/1.1 200 OK
Date: Tue, 23 Dec 2025 23:04:26 GMT
Content-Type: text/html
Content-Length: 627
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1049
CDN-PullZone: 908404
CDN-RequestCountryCode: DE
Cache-Control: public, max-age=31919000
Last-Modified: Fri, 15 Aug 2025 16:16:06 GMT
x-amz-request-id: HCFF00690014BE4D94
CDN-ProxyVer: 1.43
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 12/23/2025 23:04:26
CDN-EdgeStorageId: 1076
CDN-RequestId: ebba11a1dadd0e22b2e52e5fbc3b9d43
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>body{background:#111}</style>
<script>
(()=>{
const d=document;
const p=new URLSearchParams(location.search).get('p')!='0';
const c={
b:'https://app.beautrait.com/',
j:`main${p?'':'.dev'}.js`,
s:`style${p?'':'.dev'}.css`,
t:p?'202508151815':+new Date
};
const T=`?t=${c.t}`;
const[b,s,j]=['base','link','script'].map(t=>d.createElement(t));
b.href=c.b;
s.rel='stylesheet';
s.href=c.s+T;
j.src=c.j+T;
j.defer=!0;
d.head.append(b,s,j);
})();
</script>
</head>
<body></body>
</html>
2400:52e0:1e00::1049:1 3 2400:52e0:1e00::1081:1 2 2400:52e0:1e00::874:1 2 2400:52e0:1e00::752:1 1 2400:52e0:1e00::1053:1 1 169.150.247.34 1 185.111.111.160 1 138.199.36.8 1 138.199.37.230 1 138.199.37.232 1 2400:52e0:1e00::860:1 1 169.150.247.33 1 138.199.36.7 1 2400:52e0:1e00::864:1 1 138.199.36.10 1 2400:52e0:1e00::1077:1 1 2400:52e0:1e00::722:1 1 138.199.36.9 1