An API you can curl, or open in a browser, to receive Bluesky data as markdown!
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix skill.md showing internal host (0.0.0.0:3010) instead of real domain

baseUrl() now prefers x-forwarded-host/x-forwarded-proto headers set by
Vercel and reverse proxies over req.url, which contains the internal
Next.js server address in serverless/edge environments.

Self-hosted instances still get their own domain via the forwarded headers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

jack bb86b697 b17f30dd

+10
+10
lib/respond.ts
··· 59 59 /** 60 60 * Extract the base URL of the current request (scheme + host, no trailing 61 61 * slash) so we can generate fully-qualified links in markdown output. 62 + * 63 + * Prefers x-forwarded-host/x-forwarded-proto set by Vercel / reverse proxies 64 + * over req.url, which may contain an internal address (e.g. 0.0.0.0:3010). 62 65 */ 63 66 export function baseUrl(req: Request): string { 67 + const headers = req.headers as Headers 68 + const forwardedHost = headers.get('x-forwarded-host') 69 + const forwardedProto = headers.get('x-forwarded-proto')?.split(',')[0].trim() 70 + if (forwardedHost) { 71 + const scheme = forwardedProto ?? 'https' 72 + return `${scheme}://${forwardedHost}` 73 + } 64 74 const url = new URL(req.url) 65 75 return `${url.protocol}//${url.host}` 66 76 }