<!DOCTYPE html>
<html lang="en">
<head>
  <script disable-devtool-auto src='https://cdn.jsdelivr.net/npm/disable-devtool@latest'></script>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/devtools-detector/2.0.17/devtools-detector.js"></script>
  <script src="https://embed.rgshows.me/js/protected_devtoolsdetector.js" defer></script>
  <script src="https://embed.rgshows.me/js/nocheats.js" defer></script>
  <script src="https://embed.rgshows.me/js/path.js" defer></script>
  <script src="https://embed.rgshows.me/js/mercury.js" type="text/javascript" data-cfasync="false"></script>
  <title>RgShows Api 3</title>
  <style>
    body {
      margin: 0;
      padding: 0;
      background-color: #121212;
      color: #fff;
      font-family: Arial, sans-serif;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
    }

    #videoContainer {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #000;
      overflow: hidden;
    }

    #target {
      width: 100%;
      height: 100%;
    }

    #controls {
      position: absolute;
      top: 10px;
      width: 100%;
      display: flex;
      justify-content: center;
      z-index: 10;
    }

    #languageSelect {
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #333;
      padding: 10px;
      border-radius: 5px;
      cursor: pointer;
    }

    #languageSelect option {
      background: #333;
    }

    #languageSelect:focus {
      outline: none;
    }

    ::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #1f1f1f;
}

::-webkit-scrollbar-thumb {
    background: #333333;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555555;
}
  </style>
</head>
<body>
    <div id="videoContainer">
      <iframe id="target" frameborder="0" allowfullscreen></iframe>
      <div id="controls">
        <select id="languageSelect"></select>
      </div>
    </div>

    <script>
      const servers  = {
        "vidlink.pro": (id, season, episode) => `https://vidlink.pro/tv/${id}/${season}/${episode}?primaryColor=ff0044&secondaryColor=f788a6&iconColor=ff0044&title=false&poster=true&autoplay=false`,
        "4k": (id, season, episode) => `https://embed.spencerdevs.xyz/tv/${id}/${season}/${episode}`,
        "vidapi.xyz": (id, season, episode) => `https://vidapi.xyz/embed/tv/${id}&s=${season}&e=${episode}`,
        "embed.su": (id, season, episode) => `https://embed.su/embed/tv/${id}/${season}/${episode}`,
        "primewire.tf": (id, season, episode) => `https://www.primewire.tf/embed/tv?tmdb=${id}&season=${season}&episode=${episode}`,
        "vidbinge": (id, season, episode) => `https://vidbinge.dev/embed/tv/${id}/${season}/${episode}`,
        "warezcdn (portuguese)": (id, season, episode) => `https://embed.warezcdn.com/serie/${id}/${season}/${episode}`,
        "superflix (portuguese)": (id, season, episode) => `https://superflixapi.top/serie/${id}/${season}/${episode}`,
        "frembed (french)": (id, season, episode) => `https://frembed.pro/api/serie.php?id=${id}&sa=${season}&epi=${episode}`,
        "vidjoy": (id, season, episode) => `https://vidjoy.pro/embed/tv/${id}/${season}/${episode}`,
        "godriveplayer": (id, season, episode) => `https://godriveplayer.com/player.php?type=series&tmdb=${id}&season=${season}&episode=${episode}`,
        "vidsrc.to": (id, season, episode) => `https://vidsrc.to/embed/tv/${id}/${season}/${episode}`,
        "vidsrc.vip": (id, season, episode) => `https://vidsrc.vip/embed/tv/${id}/${season}/${episode}`,
        "vidsrc.rip": (id, season, episode) => `https://vidsrc.rip/embed/tv/${id}/${season}/${episode}`,
        "vidsrc.cc": (id, season, episode) => `https://vidsrc.cc/v2/embed/tv/${id}/${season}/${episode}`,
        "vidsrc.me": (id, season, episode) => `https://vidsrc.me/embed/tv?tmdb=${id}&season=${season}&episode=${episode}`,
        "vidapi.click": (id, season, episode) => `https://vidapi.click/embed/tv/${id}/${season}/${episode}`,
        "2embed.cc": (id, season, episode) => `https://www.2embed.cc/embedtv/${id}&s=${season}&e=${episode}`,
        "hnembed": (id, season, episode) => `https://hnembed.cc/embed/tv/${id}/${season}/${episode}`,
        "bomb": (id, season, episode) => `https://bombthe.irish/embed/tv/${id}/${season}/${episode}`,
        "moviehab.to": (id, season, episode) => `https://moviehab.to/embed/series?tmdb=${id}&sea=${season}&epi=${episode}`,
        "moviesclub": (id, season, episode) => `https://moviesapi.club/tv/${id}-${season}-${episode}`,
        "mostream": (id, season, episode) => `https://mostream.us/embed.php?tmdb=${id}&s=${season}&e=${episode}`,
        "123embed.net": (id, season, episode) => `https://play2.123embed.net/tv/${id}/${season}/${episode}`,
        "autoembed.cc": (id, season, episode) => `https://player.autoembed.cc/embed/tv/${id}/${season}/${episode}`,
        "smashystream": (id, season, episode) => `https://embed.smashystream.com/playere.php?tmdb=${id}&season=${season}&episode=${episode}`
      };
  
      
      const api = "https://api.rgshows.me";
  
      async function loadPlayer() {
          const tmdbId = new URLSearchParams(window.location.search).get('id');
          const season = new URLSearchParams(window.location.search).get('s');
          const episode = new URLSearchParams(window.location.search).get('e');
  
          if (!tmdbId || !season || !episode) {
              alert('TMDB ID, season, or episode is missing in the URL.');
              return;
          }
  
          const godriveUrl = `${api}/godriveplayer/tv/${tmdbId}/${season}/${episode}`;
          const vidcloudUrl = `${api}/vidcloud/tv/${tmdbId}/${season}/${episode}`;
  
          try {
              const responses = await Promise.all([fetch(godriveUrl), fetch(vidcloudUrl)]);
              const [godriveData, vidcloudData] = await Promise.all(responses.map(res => res.json()));
  
              const stream = { ...godriveData.stream };
  
              if (vidcloudData.stream) {
                  stream['vidcloud'] = vidcloudData.stream;
              }
  
              const availableServers = Object.keys(stream).filter(server => stream[server]);
              const languageSelect = document.getElementById('languageSelect');
              const iframe = document.getElementById('target');
  
              // Populate dropdown with predefined servers
              for (const server in servers) {
                  const option = document.createElement('option');
                  option.value = server;
                  option.textContent = server;
                  languageSelect.appendChild(option);
              }
  
              // Populate dropdown with API-based streams
              availableServers.forEach(server => {
                  const option = document.createElement('option');
                  option.value = stream[server];
                  option.textContent = server;
                  languageSelect.appendChild(option);
              });
  
              // Get last used server or default to the first server
              const lastUsedServer = localStorage.getItem('rgshows-embedapi-server');
              const defaultServer = Object.keys(servers)[0];
              const selectedServer = (lastUsedServer && servers[lastUsedServer]) ? lastUsedServer : defaultServer;
  
              // Set dropdown value and iframe source
              languageSelect.value = selectedServer;
              iframe.src = servers[selectedServer]?.(tmdbId, season, episode) || stream[availableServers[0]];
  
              // Update iframe source and save the last used server on dropdown change
              languageSelect.addEventListener('change', () => {
                  const newServer = languageSelect.value;
                  iframe.src = servers[newServer]?.(tmdbId, season, episode) || newServer;
                  localStorage.setItem('rgshows-embedapi-server', newServer);
              });
          } catch (error) {
              console.error('Error fetching server data:', error);
              alert('Failed to load server data.');
          }
      }
  
      // Initialize the player on page load
      loadPlayer();
  </script>
<script src="https://embed.rgshows.me/js/mercury.js" type="text/javascript" data-cfasync="false"></script>
  <!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-HVCN1EQT8R"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-HVCN1EQT8R');
</script>
  </body>
  </html>
