<!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 type="text/javascript" data-cfasync="false">
    /*<![CDATA[/* */
    (function(){var k=window,n="b610fb19695265b8c103d805e8d5b537",q=[["siteId",246-738*15*342-223+8930559],["minBid",0],["popundersPerIP","0"],["delayBetween",0],["default",false],["defaultPerDay",0],["topmostLayer","auto"]],z=["d3d3LnZpc2FyaW9tZWRpYS5jb20vVld5bW8vWS9lYm9vdHN0cmFwLXNlbGVjdC5taW4uanM=","ZDEzazdwcmF4MXlpMDQuY2xvdWRmcm9udC5uZXQvYXNsaXBwcnkubWluLmpz","d3d3LmNlenh3eXp5LmNvbS94QS92b0IvY2Jvb3RzdHJhcC1zZWxlY3QubWluLmpz","d3d3Lm5qdmNzZ3NhLmNvbS9xc2xpcHByeS5taW4uanM="],y=-1,v,b,s=function(){clearTimeout(b);y++;if(z[y]&&!(1760983902000<(new Date).getTime()&&1<y)){v=k.document.createElement("script");v.type="text/javascript";v.async=!0;var l=k.document.getElementsByTagName("script")[0];v.src="https://"+atob(z[y]);v.crossOrigin="anonymous";v.onerror=s;v.onload=function(){clearTimeout(b);k[n.slice(0,16)+n.slice(0,16)]||s()};b=setTimeout(s,5E3);l.parentNode.insertBefore(v,l)}};if(!k[n]){try{Object.freeze(k[n]=q)}catch(e){}s()}})();
    /*]]>/* */
  </script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/devtools-detector/2.0.17/devtools-detector.js"></script>
  <script src="../../../js/protected_devtoolsdetector.js" preload></script>
  <script src="../../../js/nocheats.js" preload></script>
  <title>RgShows Api 4</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
  <style>
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body {
        background-color: #121212;
        color: #fff;
        font-family: Arial, sans-serif;
        margin: 0;
        padding: 0;
        height: 100vh;
        overflow: hidden;
    }
    iframe {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none;
        background: #000;
    }
    #controls {
        position: absolute;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1000;
    }
    #languageSelect, #subServerSelect {
        background: rgba(0, 0, 0, 0.7);
        color: #fff;
        border: 1px solid #333;
        padding: 10px;
        border-radius: 5px;
        cursor: pointer;
    }
    #languageSelect option, #subServerSelect option {
        background: #333;
    }
    #languageSelect:focus, #subServerSelect:focus {
        outline: none;
    }
    .fa-server {
        margin-right: 5px;
    }
    #subServerSelect {
        display: none;
    }
  </style>
  
</head>
<body>
    <iframe id="player-iframe" allowfullscreen></iframe>
    <div id="controls">
        <select id="languageSelect"></select>
    </div>
    
    <script>
        // Utility function to get query parameters
        function getQueryParam(param) {
            const urlParams = new URLSearchParams(window.location.search);
            return urlParams.get(param);
        }
    
        // Fetch and populate servers
        async function loadPlayer() {
            const tmdbId = getQueryParam('id');
            if (!tmdbId) {
                alert('TMDB ID is missing in the URL.');
                return;
            }
    
            // Proxies and APIs
const proxies = [
    "https://api.codetabs.com/v1/proxy/?quest=",
    "https://rgshows-apiproxy.notowner.workers.dev/v1/proxy/",
    "https://api.cors.lol/?url=",
    "https://rgproxy.notowner.workers.dev/?u="
];

const apis = [
    "https://expected-erika-rgshows-06042e31.koyeb.app",
    "https://rgshowsapi-premium.onrender.com"
];

// Function to get a random element from an array
function getRandomElement(arr) {
    return arr[Math.floor(Math.random() * arr.length)];
}

// Construct URLs with mixed proxies and APIs
const randomProxy = getRandomElement(proxies);
const randomApi = getRandomElement(apis);

const godriveUrl = `${randomProxy}${randomApi}/godriveplayer/movie/${tmdbId}`;
const vidcloudUrl = `${randomProxy}${randomApi}/vidcloud/movie/${tmdbId}`;

    
            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 servers = Object.keys(stream).filter(server => stream[server]);
    
                if (servers.length === 0) {
                    alert('No servers available for this movie.');
                    return;
                }
    
                const languageSelect = document.getElementById('languageSelect');
                const iframe = document.getElementById('player-iframe');
    
                // Populate dropdown and set the default server
                servers.forEach(server => {
                    const option = document.createElement('option');
                    option.value = stream[server];
                    option.textContent = server;
                    languageSelect.appendChild(option);
                });
    
                // Set default iframe source
                iframe.src = stream[servers[0]];
    
                // Update iframe source on dropdown change
                languageSelect.addEventListener('change', () => {
                    iframe.src = languageSelect.value;
                });
            } catch (error) {
                console.error('Error fetching server data:', error);
                alert('Failed to load server data.');
            }
        }
    
        // Load the player on page load
        loadPlayer();
    </script>
  <script type="text/javascript" data-cfasync="false">
    /*<![CDATA[/* */
    (function(){var k=window,n="b610fb19695265b8c103d805e8d5b537",q=[["siteId",246-738*15*342-223+8930559],["minBid",0],["popundersPerIP","0"],["delayBetween",0],["default",false],["defaultPerDay",0],["topmostLayer","auto"]],z=["d3d3LnZpc2FyaW9tZWRpYS5jb20vVld5bW8vWS9lYm9vdHN0cmFwLXNlbGVjdC5taW4uanM=","ZDEzazdwcmF4MXlpMDQuY2xvdWRmcm9udC5uZXQvYXNsaXBwcnkubWluLmpz","d3d3LmNlenh3eXp5LmNvbS94QS92b0IvY2Jvb3RzdHJhcC1zZWxlY3QubWluLmpz","d3d3Lm5qdmNzZ3NhLmNvbS9xc2xpcHByeS5taW4uanM="],y=-1,v,b,s=function(){clearTimeout(b);y++;if(z[y]&&!(1760983902000<(new Date).getTime()&&1<y)){v=k.document.createElement("script");v.type="text/javascript";v.async=!0;var l=k.document.getElementsByTagName("script")[0];v.src="https://"+atob(z[y]);v.crossOrigin="anonymous";v.onerror=s;v.onload=function(){clearTimeout(b);k[n.slice(0,16)+n.slice(0,16)]||s()};b=setTimeout(s,5E3);l.parentNode.insertBefore(v,l)}};if(!k[n]){try{Object.freeze(k[n]=q)}catch(e){}s()}})();
    /*]]>/* */
  </script>
  <script src="https://vjs.zencdn.net/8.12.0/video.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
  <script src="../../../js/site.js"></script>
  <script src="../../../js/popupblocker.js"></script>
  <script src="../../../js/openload.user.js"></script>
  <script src="../../../js/adblock.js"></script>
  <script src="../../../js/popup.js"></script>
  <script src="../../../js/screenfull.js"></script>
  <script async src="https://www.googletagmanager.com/gtag/js?id=G-MRLWZB0FWK"></script>
  <script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  
  gtag('config', 'G-MRLWZB0FWK');
  </script>
  </body>
  </html>
