diff --git a/public/banners/how-to-verify-a-hosting-provider-before-you-buy.png b/public/banners/how-to-verify-a-hosting-provider-before-you-buy.png new file mode 100644 index 0000000..ac4b782 Binary files /dev/null and b/public/banners/how-to-verify-a-hosting-provider-before-you-buy.png differ diff --git a/public/og/how-to-verify-a-hosting-provider-before-you-buy.png b/public/og/how-to-verify-a-hosting-provider-before-you-buy.png new file mode 100644 index 0000000..ff8a284 Binary files /dev/null and b/public/og/how-to-verify-a-hosting-provider-before-you-buy.png differ diff --git a/scripts/banner-gen/generate.mjs b/scripts/banner-gen/generate.mjs index 4ea8370..00487bb 100644 --- a/scripts/banner-gen/generate.mjs +++ b/scripts/banner-gen/generate.mjs @@ -169,6 +169,26 @@ const BANNERS = { { n: '5', label: 'updated ✓' }, ], }, + + 'how-to-verify-a-hosting-provider-before-you-buy': { + titlebar: '~/hosting-due-diligence', + lines: [ + { t: 'prompt', text: '$' }, { t: 'cmd', text: 'whois vps.tld | grep -i created' }, + { t: 'err', text: 'registration: 2026-05 — homepage says \"since 2012\"' }, + { t: 'dim', text: 'a \"since\" claim on a young domain is never verifiable' }, + { t: 'prompt', text: '$' }, { t: 'cmd', text: 'curl AUP | grep -iE \"tor|reverse proxy|tunnel\"' }, + { t: 'hl', text: 'found: \"TOR nodes\", \"anonymizing services\" → hard no' }, + { t: 'prompt', text: '$' }, { t: 'cmd', text: 'trustpilot trend · r/hosting · retention clause' }, + { t: 'prompt', text: '' }, { t: 'ok', text: '→ verdict ✓' }, + ], + flow: [ + { n: '1', label: 'domain age' }, + { n: '2', label: '\"since\" claim', err: true }, + { n: '3', label: 'read AUP' }, + { n: '4', label: 'reputation' }, + { n: '5', label: 'verdict ✓' }, + ], + }, }; const DEFAULT_BANNER = { diff --git a/scripts/og-gen/generate.mjs b/scripts/og-gen/generate.mjs index 0f86d24..4673197 100644 --- a/scripts/og-gen/generate.mjs +++ b/scripts/og-gen/generate.mjs @@ -68,6 +68,11 @@ const TERMINALS = {
$PATCH image path → 300 rows backfill
 path unchanged · keep the id, keep the old URL
$strip id · replace() suffix→ updated ✓
`, + + 'how-to-verify-a-hosting-provider-before-you-buy': ` +
$curl -s rdap.org/domain/vps.tld | jq .events
+
 registration: 2026-05 · \"trusted since 2012\"
+
$AUP grep tor · reviews · retention→ verdict ✓
`, }; const DEFAULT_TERMINAL = ` diff --git a/src/content/posts/how-to-verify-a-hosting-provider-before-you-buy.md b/src/content/posts/how-to-verify-a-hosting-provider-before-you-buy.md index 606f678..a1ad0c1 100644 --- a/src/content/posts/how-to-verify-a-hosting-provider-before-you-buy.md +++ b/src/content/posts/how-to-verify-a-hosting-provider-before-you-buy.md @@ -4,6 +4,8 @@ description: "A reusable checklist for separating real hosting claims from marke pubDate: 2026-09-09 category: tutorials tags: [hosting, vps, due-diligence, whois, devops] +ogImage: /og/how-to-verify-a-hosting-provider-before-you-buy.png +banner: /banners/how-to-verify-a-hosting-provider-before-you-buy.png --- Every hosting provider's homepage is a list of promises: *"in business since 2005"*, diff --git a/src/content/posts/zh/how-to-verify-a-hosting-provider-before-you-buy.md b/src/content/posts/zh/how-to-verify-a-hosting-provider-before-you-buy.md index 12f6498..7b0b926 100644 --- a/src/content/posts/zh/how-to-verify-a-hosting-provider-before-you-buy.md +++ b/src/content/posts/zh/how-to-verify-a-hosting-provider-before-you-buy.md @@ -4,6 +4,8 @@ description: "一份可复用的核查清单,帮你把真实的主机声明和 pubDate: 2026-09-09 category: tutorials tags: [hosting, vps, due-diligence, whois, devops] +ogImage: /og/how-to-verify-a-hosting-provider-before-you-buy.png +banner: /banners/how-to-verify-a-hosting-provider-before-you-buy.png --- 每家主机服务商的首页都是一串承诺:_「自 2005 年起运营」_、_「保证在线率」_、