"https://invidious.snopyta.org", "glie" => "https://invidious.glie.town", ]; if ( empty( $_GET['link'] ) ){ header( 'Location: index.php' ); } $baselink = htmlspecialchars( $_GET['link'] ); $urlexists = url_exists( $baselink ); if ( $urlexists === TRUE ) { // Regex - filter URL id is match[5] $rx = '/^((?:https?:)?\/\/)? # Optional protocol ((?:www|m)[.])? # Optional sub-domain ((?:youtube[.]com| youtu[.]be| invidio[.]us| invidiou[.]sh| invidious[.]kabi[.]tk| invidious[.]glie[.]town| yotter[.]conocimientoslibres[.]ga| invidious[.]snopyta[.]org)) # URL supports (\/(?:[\w\-]+\?v=|embed\/|v\/)?) # Parameters (embed, v) ([\w\-]+) # Video id of 11 (\S+)?$/mx'; preg_match( $rx, $baselink, $match ); // Testing if id → 11 characters if ( strlen( $match[5] ) == 11 ) { $video_id = $match[5]; } else { header( 'Location: index.php' ); } } else { header( 'Location: index.php' ); } // servers JSON $invidio0 = "{$instance['snopyta']}/api/v1/videos/{$video_id}"; $invidio1 = "{$instance['glie']}/api/v1/videos/{$video_id}"; $invidio0on = url_exists( $invidio0 ); $invidio1on = url_exists( $invidio1 ); // check servers if ( $invidio0on === TRUE ) { $video_string = file_get_contents( $invidio0 ); } elseif ( $invidio1on === TRUE ) { $video_string = file_get_contents( $invidio1 ); } else { header( 'Location: index.php' ); } $video_info = json_decode( $video_string ); $videoTitle = $video_info->title; $videoAuthor = $video_info->author; $videoDurationSecs = $video_info->lengthSeconds; $videoDuration = secToDuration( $videoDurationSecs ); $videoChannel = $video_info->authorId; // Begin_ViewCount $extract_video_view = $video_info->viewCount; $videoViews = bytes( $extract_video_view ); // End_ViewCount // change hqdefault.jpg to default.jpg for downgrading the thumbnail quality $videoThumbURL = "https://i1.ytimg.com/vi/{$video_id}/hqdefault.jpg"; $librethumb = $video_info->videoThumbnails[0]->url; // Extract videos from JSON $streamFormats = $video_info->formatStreams; // Downloads $downloads = $video_info->formatStreams; // Live $islive = $video_info->liveNow; ///// Beaking DRM!!! // Check standar video into URL if ( $islive === FALSE ) { $url_standar = $streamFormats[0]->url; } else { $url_standar = FALSE; } if ( $url_standar === FALSE ) { // nodes $node0 = "{$instance['snopyta']}/latest_version?id={$video_id}&itag=18&local=true"; $node1 = "{$instance['glie']}/latest_version?id={$video_id}&itag=18&local=true"; // explain DRM $drmv = "https://archive.org/download/libreweb/rms-drm.webm"; $node0on = video_exists( $node0 ); $node1on = video_exists( $node1 ); // check nodes if ( $node0on === TRUE ) { $breakurl = $node0; } elseif ( $node1on === TRUE ) { $breakurl = $node1; } else { $breakurl = $drmv; $formatdrm = 'video/webm'; } // format video DRM if ( $islive === FALSE ) { $formatdrm = $streamFormats[0]->type; $breakquality = trim( $streamFormats[0]->resolution, 'p' ); $downloadQuality = $streamFormats[0]->resolution; $downloadFormat = $downloads[0]->container; } else { $formatdrm = NULL; $breakquality = NULL; $downloadQuality = NULL; $downloadFormat = NULL; } $breaklink = TRUE; $downloadbreak = TRUE; } else { // clean variables $breakurl = NULL; $breaklink = NULL; $breakquality = NULL; $downloadbreak = NULL; $downloadFormat = NULL; $downloadQuality = NULL; $formatdrm = NULL; } ///// End Beaking DRM!!! /* ---- ---- Generated URL and embed ---- ---- */ if ( isset( $_SERVER["HTTPS"] ) && $_SERVER["HTTPS"] == "on" ) { $pro = 'https'; } else { $pro = 'http'; } $subject = $pro."://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']; // Local URL $local_url = preg_replace( '/index.php/', '', $subject ); /* ---- ---- Change to Freedom URL ---- ---- */ $url_freedom = "{$instance['snopyta']}/watch?v={$video_id}";