3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(1); require 'functions.php'; ?> <!-- Camwhores.tv video downloader Also works with private vids __ __ _ _ _____ | \/ | | | | | | __ \ | \ / | __ _ __| | ___ | |__ _ _ | | | | __ _ _ _ _ __ ___ | |\/| |/ _` |/ _` |/ _ \ | '_ \| | | | | | | |/ _` | | | | '_ ` _ \ | | | | (_| | (_| | __/ | |_) | |_| | | |__| | (_| | |_| | | | | | | |_| |_|\__,_|\__,_|\___| |_.__/ \__, | |_____/ \__,_|\__, |_| |_| |_| __/ | __/ | |___/ |___/ --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="camwhoresddl.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> </head> <body> <div class="container"> <h1 id="mainTitle"> Camwhores.tv private video bypass </h1> <form method="post" action="#" class="form-horizontal"> <div class="form-group"> <label class="control-label" for="videoURL">Private video link</label> <p class="example">Example: http://www.camwhores.tv/videos/206198/j-ckplusjill-anal/</p> <input type="text" name="videoURL" class="form-control" placeholder="Insert video link here" required /><br /> <label class="control-label" for="random">Random public video ddl link</label> <p class="example">Example: http://user5.camwhores.tv/remote_control.php?time=1485616108&cv=1e82c13243fcf2bd0bf13c1263ddad77&lr=312500&cv2=9a5c5664d6ad67446840807c17c95ead&file=%2F177000%2F177444%2F177444.mp4&cv3=3a4110051cef9a72797a1ca99a1dce56</p> <input type="text" name="random" class="form-control" placeholder="Insert random public video link here" required /><br /> <input type="submit" name="sumbitVideoURL" value="Sumbit" class="btn btn-default" style="color:black;"/> </div> </form> <?php //check if form was submitted if(isset($_POST['sumbitVideoURL'])){ $input = $_POST['videoURL']; $random = urldecode($_POST['random']); $videoID = getVideoID($input); $folderID = getFolderID($input,$videoID); /* cv, cv2 and cv3 are 3 security tokens that are generated and use to create the link to the video source Theses hashes will most likely last for about 10min cv3 seems useless since i can get embed video without using it */ $time = get_string_between($random,'time=','&'); // Returned by php time() function $user = get_string_between($random,'//','.'); /* In somes cases, ddl link will start with "videoX" instead of "userX", which causes the fetch to fail. Replacing it will send the video to the right place */ if(strpos($user, 'video') !== false){ $user = str_replace("video", "user", $user); } /* Another case where ddl link starts with "sX" instead of "userX" */ $cv = get_string_between($random,'cv=','&'); $cv2 = get_string_between($random,'cv2=','&'); $cv3 = get_string_between($random . '/','cv3=','/'); $lr = '312500'; // not sure about this, it seems not to change over time // The download link generated $link = 'http://' . $user . '.camwhores.tv/remote_control.php?time='. $time . '&cv=' . $cv . '&lr='. $lr .'&cv2=' . $cv2 . '&file=/'. $folderID .'/' . $videoID .'/' . $videoID . '.mp4&cv3=' . $cv3; $fetch = false; // Showing download link if we have correct parameters if(checkFileValidity(get_string_between('$$' . $link,'$$','&cv3'))){ $fetch = true; }else{ if(strpos($user, 'user') !== false){ $user = "s6"; } else { $user = "user9"; } $link = 'http://' . $user . '.camwhores.tv/remote_control.php?time='. $time . '&cv=' . $cv . '&lr='. $lr .'&cv2=' . $cv2 . '&file=/'. $folderID .'/' . $videoID .'/' . $videoID . '.mp4&cv3=' . $cv3; $fetch = checkFileValidity(get_string_between('$$' . $link,'$$','&cv3')); } if($fetch){ echo '<video id="player" width="640" height="480" controls> <source src="'. get_string_between('$$' . $link,'$$','&cv3') .'" type="video/mp4"> Your browser does not support the video tag. </video>'; echo '<br /><a href="'. $link . '" download="' . $videoID . '" class="btn btn-success">Download video</a>'; } else echo '<div class="alert alert-danger">Error while fetching video. Make sure you post a correct URL, or try to change ddl link</div>'; } ?> <h2> How to get random public video ddl link </h2> <p> Example is made by using Video DownloadHelper, but you can use any video downloader plugin.<br /> <a href="https://chrome.google.com/webstore/detail/video-downloadhelper/lmjnegcaeklhafolokijcfjliaokphfk" target="_blank">Download Video DownloadHelper for chrome</a> <br /> <a href="https://addons.mozilla.org/fr/firefox/addon/video-downloadhelper/" target="_blank">Download Video DownloadHelper for firefox</a> <br /> <br /> Then choose any public video (apart from openload player), play the video and follow these steps: </p> <div class="row"> <div class="col-md-4"> <div class="thumbnail"> <a href="imgs/vdh-first-step.jpg" target="_blank"> <img src="imgs/vdh-first-step.jpg" alt="vdh-first-step" style="width:100%"> <div class="caption"> </div> </a> </div> </div> <div class="col-md-4"> <div class="thumbnail"> <a href="imgs/vdh-second-step.jpg" target="_blank"> <img src="imgs/vdh-second-step.jpg" alt="vdh-second-step" style="width:100%"> <div class="caption"> </div> </a> </div> </div> </div> <!-- End of row --> <h3>Alternative way to get ddl link without using plugin</h3> <p> - Find a random public video, click play - Browse the code until you find the video tag, it should look like this <img src="imgs/alternative.jpg" alt="alternative" style="width:80%"><br /> - Open src URL, it should lead you to the ddl link </p> <pre class="signature"> __ __ _ _ _____ | \/ | | | | | | __ \ | \ / | __ _ __| | ___ | |__ _ _ | | | | __ _ _ _ _ __ ___ | |\/| |/ _` |/ _` |/ _ \ | '_ \| | | | | | | |/ _` | | | | '_ ` _ \ | | | | (_| | (_| | __/ | |_) | |_| | | |__| | (_| | |_| | | | | | | |_| |_|\__,_|\__,_|\___| |_.__/ \__, | |_____/ \__,_|\__, |_| |_| |_| __/ | __/ | |___/ |___/ Nothing is private on the internet </pre> </div> <!-- End of container --> </body> <div class="scripts"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </div> </html>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.60.0110.00418.40
8.3.50.0060.00918.08
8.3.40.0110.00419.14
8.3.30.0120.00318.72
8.3.20.0070.00021.91
8.3.10.0100.00924.48
8.3.00.0140.00923.42
8.2.180.0070.01525.92
8.2.170.0130.00918.95
8.2.160.0070.00722.96
8.2.150.0040.00425.66
8.2.140.0160.00724.66
8.2.130.0070.00823.62
8.2.120.0090.00525.09
8.2.110.0080.00624.02
8.2.100.0070.00522.99
8.2.90.0060.00422.97
8.2.80.0070.00423.26
8.2.70.0040.00523.01
8.2.60.0050.00623.02
8.2.50.0100.00323.05
8.2.40.0060.00424.09
8.2.30.0110.00424.11
8.2.20.0040.00723.04
8.2.10.0090.00623.01
8.2.00.0080.00623.05
8.1.280.0070.00725.92
8.1.270.0070.00424.09
8.1.260.0060.00325.09
8.1.250.0060.00325.52
8.1.240.0130.00524.44
8.1.230.0060.00923.30
8.1.220.0050.00622.94
8.1.210.0090.00523.19
8.1.200.0080.00422.87
8.1.190.0040.00522.84
8.1.180.0100.00423.02
8.1.170.0080.00423.16
8.1.160.0060.00323.22
8.1.150.0020.00924.01
8.1.140.0050.00822.94
8.1.130.0080.00923.25
8.1.120.0070.00822.86
8.1.110.0050.00522.88
8.1.100.0060.00322.84
8.1.90.0050.00422.87
8.1.80.0110.00622.86
8.1.70.0070.00622.85
8.1.60.0050.00522.89
8.1.50.0060.00422.90
8.1.40.0040.00522.90
8.1.30.0070.00722.92
8.1.20.0100.00422.92
8.1.10.0050.00322.90
8.1.00.0070.00322.86
8.0.300.0030.00523.54
8.0.290.0070.00622.72
8.0.280.0110.00223.11
8.0.270.0070.00322.74
8.0.260.0090.00422.73
8.0.250.0050.00522.78
8.0.240.0090.00622.76
8.0.230.0090.00522.77
8.0.220.0080.00222.78
8.0.210.0120.00422.73
8.0.200.0050.00422.80
8.0.190.0030.00522.75
8.0.180.0040.00520.87
8.0.170.0100.00522.78
8.0.160.0050.00322.76
8.0.150.0110.00322.73
8.0.140.0100.00322.75
8.0.130.0080.00321.88
8.0.120.0110.00420.89
8.0.110.0060.00520.90
8.0.100.0080.00319.78
8.0.90.0090.00319.80
8.0.80.0060.00719.83
8.0.70.0060.00319.79
8.0.60.0070.00419.82
8.0.50.0080.00319.81
8.0.30.0070.00618.62
8.0.20.0070.00818.42
8.0.10.0080.00718.65
8.0.00.0070.00818.33
7.4.330.0110.00122.38
7.4.320.0120.00322.67
7.4.300.0110.00422.65
7.4.290.0100.00622.65
7.4.280.0120.00322.67
7.4.270.0160.00622.63
7.4.260.0190.00422.63
7.4.250.0140.00520.79
7.4.240.0160.00520.80
7.4.230.0130.00519.58
7.4.220.0120.00719.54
7.4.210.0110.00719.22
7.4.200.0110.00619.60
7.4.190.0120.00620.12
7.4.180.0130.00320.16
7.4.160.0130.00518.53
7.4.150.0090.00818.44
7.4.140.0120.00618.17
7.4.130.0130.00617.97
7.4.120.0120.00717.74
7.4.110.0100.00717.87
7.4.100.0100.00817.88
7.4.90.0090.00917.75
7.4.80.0110.00717.55
7.4.70.0110.00817.41
7.4.60.0110.00917.14
7.4.50.0100.00916.99
7.4.40.0100.00816.80
7.4.30.0090.00916.82
7.4.20.0090.00916.81
7.4.10.0090.00816.82
7.4.00.0090.00916.82
7.3.330.0110.00221.77
7.3.320.0110.00420.05
7.3.310.0120.00620.73
7.3.300.0100.00519.94
7.3.290.0110.00419.43
7.3.280.0100.00619.07
7.3.270.0110.00518.30
7.3.260.0120.00717.81
7.3.250.0090.00718.03
7.3.240.0100.00717.71
7.3.230.0120.00517.81
7.3.220.0120.00717.77
7.3.210.0130.00617.63
7.3.200.0110.00817.39
7.3.190.0100.00817.28
7.3.180.0110.00817.00
7.3.170.0100.00816.92
7.3.160.0090.00916.70
7.3.150.0100.00816.71
7.3.140.0100.00916.74
7.3.130.0100.00916.69
7.3.120.0110.00716.64
7.3.110.0100.00716.61
7.3.100.0090.00816.59
7.3.90.0090.00916.66
7.3.80.0100.00816.61
7.3.70.0090.00916.59
7.3.60.0100.00816.61
7.3.50.0100.00916.59
7.3.40.0100.00916.60
7.3.30.0100.00816.61
7.3.20.0100.00916.72
7.3.10.0110.00816.71
7.3.00.0100.00916.69
7.2.340.0130.00817.93
7.2.330.0120.00817.66
7.2.320.0120.00917.52
7.2.310.0110.00917.09
7.2.300.0120.00817.08
7.2.290.0110.00916.79
7.2.280.0110.00816.81
7.2.270.0110.00916.81
7.2.260.0120.00916.80
7.2.250.0110.00916.78
7.2.240.0100.00916.72
7.2.230.0110.00816.73
7.2.220.0110.00916.71
7.2.210.0110.00916.74
7.2.200.0090.01016.74
7.2.190.0100.00916.72
7.2.180.0110.00916.72
7.2.170.0110.00816.72
7.2.160.0100.00916.69
7.2.150.0110.00916.87
7.2.140.0130.00916.89
7.2.130.0110.01016.91
7.2.120.0110.01016.93
7.2.110.0110.01016.91
7.2.100.0110.01016.88
7.2.90.0130.01016.85
7.2.80.0130.00916.84
7.2.70.0120.01016.87
7.2.60.0130.00916.85
7.2.50.0130.00916.83
7.2.40.0120.00916.90
7.2.30.0120.00916.91
7.2.20.0120.01016.91
7.2.10.0120.00916.90
7.2.00.0120.00916.94
7.1.330.0160.00815.96
7.1.320.0150.00815.96
7.1.310.0170.00815.98
7.1.300.0160.00915.96
7.1.290.0150.00815.93
7.1.280.0180.00715.92
7.1.270.0160.00815.96
7.1.260.0150.00815.91
7.1.250.0160.00815.92
7.1.240.0150.00815.90
7.1.230.0170.00815.91
7.1.220.0150.00815.89
7.1.210.0170.00915.86
7.1.200.0160.00915.87
7.1.190.0160.00915.89
7.1.180.0140.01015.84
7.1.170.0170.00915.90
7.1.160.0160.00915.85
7.1.150.0150.00915.87
7.1.140.0160.00815.91
7.1.130.0160.00915.90
7.1.120.0150.00915.91
7.1.110.0160.00815.92
7.1.100.0160.00915.90
7.1.90.0140.00915.90
7.1.80.0170.00815.90
7.1.70.0160.00815.92
7.1.60.0150.00916.48
7.1.50.0180.00916.46
7.1.40.0150.00816.47
7.1.30.0150.00916.48
7.1.20.0150.00916.48
7.1.10.0140.00915.92
7.1.00.0140.00915.90
7.0.330.0150.00915.56
7.0.320.0160.00815.52
7.0.310.0170.00715.53
7.0.300.0150.00915.55
7.0.290.0160.00815.55
7.0.280.0160.00915.52
7.0.270.0150.00815.62
7.0.260.0150.00815.60
7.0.250.0160.00815.60
7.0.240.0140.00815.66
7.0.230.0150.00815.61
7.0.220.0140.00915.63
7.0.210.0140.00815.61
7.0.200.0160.00715.62
7.0.190.0140.00915.63
7.0.180.0150.00815.58
7.0.170.0150.00915.58
7.0.160.0150.00815.58
7.0.150.0150.00915.63
7.0.140.0140.00915.61
7.0.130.0140.00815.64
7.0.120.0140.00915.62
7.0.110.0140.00815.61
7.0.100.0150.00815.61
7.0.90.0140.00815.60
7.0.80.0140.00815.58
7.0.70.0140.00815.60
7.0.60.0150.00915.59
7.0.50.0140.00915.55
7.0.40.0140.00815.58
7.0.30.0140.00915.55
7.0.20.0140.00815.61
7.0.10.0140.00715.61
7.0.00.0140.00815.58
5.6.400.0140.01016.05
5.6.390.0130.01116.01
5.6.380.0150.01116.04
5.6.370.0160.00916.09
5.6.360.0160.01016.04
5.6.350.0150.00916.03
5.6.340.0140.01016.02
5.6.330.0140.01016.05
5.6.320.0130.01116.00
5.6.310.0120.01116.02
5.6.300.0140.01216.13
5.6.290.0140.01216.21
5.6.280.0130.01316.20
5.6.270.0140.01116.17
5.6.260.0130.01216.17
5.6.250.0130.01316.17
5.6.240.0140.01216.18
5.6.230.0140.01116.16
5.6.220.0140.01316.17
5.6.210.0140.01316.16
5.6.200.0140.01216.15
5.6.190.0150.01216.18
5.6.180.0140.01216.17
5.6.170.0130.01316.19
5.6.160.0140.01216.16
5.6.150.0140.01216.19
5.6.140.0140.01216.18
5.6.130.0140.01116.21
5.6.120.0140.01216.17
5.6.110.0130.01316.17
5.6.100.0130.01216.15
5.6.90.0140.01116.14
5.6.80.0130.01116.07
5.6.70.0130.01216.06
5.6.60.0140.01116.10
5.6.50.0130.01116.08
5.6.40.0130.01216.09
5.6.30.0140.01216.08
5.6.20.0140.01116.07
5.6.10.0130.01216.06
5.6.00.0140.01116.08

preferences:
59.21 ms | 400 KiB | 5 Q