fxtwitter-docker/src/realms/common/version.ts
dangered wolf d06762ffe9
Bugfixes
2023-11-09 04:45:47 -05:00

20 lines
1.1 KiB
TypeScript

import { Context } from 'hono';
import { sanitizeText } from '../../helpers/utils';
import { Strings } from '../../strings';
export const versionRoute = async (c: Context) => {
c.header('cache-control', 'max-age=0, no-cache, no-store, must-revalidate');
const req = c.req;
return c.html(Strings.VERSION_HTML.format({
rtt: req.raw.cf?.clientTcpRtt ? `🏓 ${req.raw.cf.clientTcpRtt} ms RTT` : '',
colo: (req.raw.cf?.colo as string) ?? '??',
httpversion: (req.raw.cf?.httpProtocol as string) ?? 'Unknown HTTP Version',
tlsversion: (req.raw.cf?.tlsVersion as string) ?? 'Unknown TLS Version',
ip: req.header('x-real-ip') ?? req.header('cf-connecting-ip') ?? 'Unknown IP',
city: (req.raw.cf?.city as string) ?? 'Unknown City',
region: (req.raw.cf?.region as string) ?? req.raw.cf?.country ?? 'Unknown Region',
country: (req.raw.cf?.country as string) ?? 'Unknown Country',
asn: `AS${req.raw.cf?.asn ?? '??'} (${req.raw.cf?.asOrganization ?? 'Unknown ASN'})`,
ua: sanitizeText(req.header('user-agent') ?? 'Unknown User Agent')
}))
};