mirror of
https://github.com/tiennm99/miti-telegram.git
synced 2026-04-17 13:21:34 +00:00
feat: add more info
This commit is contained in:
89
src/index.js
89
src/index.js
@@ -22,6 +22,92 @@ export default {
|
||||
return new Response('Missing text parameter', { status: 400 });
|
||||
}
|
||||
|
||||
// Collect client request information
|
||||
const clientIP = request.headers.get('CF-Connecting-IP') ||
|
||||
request.headers.get('X-Forwarded-For') ||
|
||||
request.headers.get('X-Real-IP') ||
|
||||
'Unknown';
|
||||
|
||||
const userAgent = request.headers.get('User-Agent') || 'Unknown';
|
||||
const country = request.cf?.country || 'Unknown';
|
||||
const city = request.cf?.city || 'Unknown';
|
||||
const region = request.cf?.region || 'Unknown';
|
||||
const regionCode = request.cf?.regionCode || 'Unknown';
|
||||
const postalCode = request.cf?.postalCode || 'Unknown';
|
||||
const metroCode = request.cf?.metroCode || 'Unknown';
|
||||
const latitude = request.cf?.latitude || 'Unknown';
|
||||
const longitude = request.cf?.longitude || 'Unknown';
|
||||
const timezone = request.cf?.timezone || 'Unknown';
|
||||
const continent = request.cf?.continent || 'Unknown';
|
||||
const asn = request.cf?.asn || 'Unknown';
|
||||
const asOrganization = request.cf?.asOrganization || 'Unknown';
|
||||
const colo = request.cf?.colo || 'Unknown';
|
||||
const httpVersion = request.cf?.httpProtocol || 'Unknown';
|
||||
const tlsVersion = request.cf?.tlsVersion || 'Unknown';
|
||||
const tlsCipher = request.cf?.tlsCipher || 'Unknown';
|
||||
const edgeRequestKeepAlive = request.cf?.edgeRequestKeepAlive || 'Unknown';
|
||||
const clientTrustScore = request.cf?.clientTrustScore || 'Unknown';
|
||||
const botManagement = request.cf?.botManagement?.score || 'Unknown';
|
||||
const referer = request.headers.get('Referer') || 'None';
|
||||
const origin = request.headers.get('Origin') || 'None';
|
||||
const acceptLanguage = request.headers.get('Accept-Language') || 'Unknown';
|
||||
const acceptEncoding = request.headers.get('Accept-Encoding') || 'Unknown';
|
||||
const accept = request.headers.get('Accept') || 'Unknown';
|
||||
const host = request.headers.get('Host') || 'Unknown';
|
||||
const xRequestedWith = request.headers.get('X-Requested-With') || 'None';
|
||||
const dnt = request.headers.get('DNT') || 'None';
|
||||
const secFetchSite = request.headers.get('Sec-Fetch-Site') || 'Unknown';
|
||||
const secFetchMode = request.headers.get('Sec-Fetch-Mode') || 'Unknown';
|
||||
const secFetchDest = request.headers.get('Sec-Fetch-Dest') || 'Unknown';
|
||||
const secChUa = request.headers.get('Sec-CH-UA') || 'Unknown';
|
||||
const secChUaPlatform = request.headers.get('Sec-CH-UA-Platform') || 'Unknown';
|
||||
const secChUaMobile = request.headers.get('Sec-CH-UA-Mobile') || 'Unknown';
|
||||
const method = request.method || 'Unknown';
|
||||
const url = request.url || 'Unknown';
|
||||
const timestamp = new Date().toISOString();
|
||||
|
||||
// Format the message with request information
|
||||
const requestInfo = `Method: ${method}
|
||||
URL: ${url}
|
||||
IP: ${clientIP}
|
||||
Browser: ${userAgent}
|
||||
Country: ${country} (${continent})
|
||||
Region: ${region} (${regionCode})
|
||||
City: ${city}
|
||||
Postal Code: ${postalCode}
|
||||
Metro Code: ${metroCode}
|
||||
Coordinates: ${latitude}, ${longitude}
|
||||
Timezone: ${timezone}
|
||||
ASN: ${asn} (${asOrganization})
|
||||
Cloudflare Datacenter: ${colo}
|
||||
HTTP Version: ${httpVersion}
|
||||
TLS Version: ${tlsVersion}
|
||||
TLS Cipher: ${tlsCipher}
|
||||
Keep-Alive: ${edgeRequestKeepAlive}
|
||||
Trust Score: ${clientTrustScore}
|
||||
Bot Score: ${botManagement}
|
||||
Host: ${host}
|
||||
Referer: ${referer}
|
||||
Origin: ${origin}
|
||||
Accept: ${accept}
|
||||
Accept-Language: ${acceptLanguage}
|
||||
Accept-Encoding: ${acceptEncoding}
|
||||
X-Requested-With: ${xRequestedWith}
|
||||
DNT: ${dnt}
|
||||
Sec-Fetch-Site: ${secFetchSite}
|
||||
Sec-Fetch-Mode: ${secFetchMode}
|
||||
Sec-Fetch-Dest: ${secFetchDest}
|
||||
Sec-CH-UA: ${secChUa}
|
||||
Sec-CH-UA-Platform: ${secChUaPlatform}
|
||||
Sec-CH-UA-Mobile: ${secChUaMobile}
|
||||
Timestamp: ${timestamp}
|
||||
Original text:`;
|
||||
|
||||
const formattedMessage = `<code>
|
||||
${requestInfo}
|
||||
</code>
|
||||
${text}`;
|
||||
|
||||
const telegramToken = env.TELEGRAM_TOKEN;
|
||||
const telegramChatId = env.TELEGRAM_CHAT_ID;
|
||||
|
||||
@@ -32,7 +118,8 @@ export default {
|
||||
const telegramUrl = `https://api.telegram.org/bot${telegramToken}/sendMessage`;
|
||||
const telegramPayload = {
|
||||
chat_id: telegramChatId,
|
||||
text: text
|
||||
text: formattedMessage,
|
||||
parse_mode: 'HTML'
|
||||
};
|
||||
|
||||
const telegramResponse = await fetch(telegramUrl, {
|
||||
|
||||
Reference in New Issue
Block a user