alldebrid.php000664 001750 001750 00000020624 13657507171 013463 0ustar00anonanon000000 000000 Url = $Url; $this->Username = $Username; //$this->Password = $Password; $this->HostInfo = $HostInfo; } // This function check if the account is valid public function Verify($ClearCookie) { //Handle force clear of auth data if($ClearCookie) { $token = ''; file_put_contents($this->_tokenPath, $token); } else { $token = file_get_contents($this->_tokenPath); } //Try logging with token if($token AND strlen($token) == 20) { $status = $this->alldebridLoginByToken($token); //If login failed, let' try to relogin with username/password if($status != LOGIN_FAIL) return $status; } // Logging with user credentials if(!empty($this->Username)) { return $this->alldebridLoginByToken($this->Username); } return LOGIN_FAIL; } // This function perform logging to get a valid session (cookie) private function alldebridLoginByToken($token) { $curl = curl_init(); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT); // curl_setopt($curl, CURLOPT_HEADER, TRUE); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, 'https://api.alldebrid.com/v4/user?agent=synology&version=' . $this->_version . '&apikey=' . urlencode($token)); $LoginInfo = curl_exec($curl); curl_close($curl); $userInfos = json_decode($LoginInfo, true); if(isset($userInfos['status']) AND $userInfos['status'] == 'success') { file_put_contents($this->_tokenPath, $token); if($userInfos['data']['user']['isPremium'] == true) { return USER_IS_PREMIUM; } else return USER_IS_FREE; } else return LOGIN_FAIL; } //This function returns download url. public function GetDownloadInfo() { if($this->Verify(false) != USER_IS_PREMIUM) { $downloadInfo = array(); $downloadInfo[DOWNLOAD_ERROR] = ERR_REQUIRED_PREMIUM; return $downloadInfo; } $token = file_get_contents($this->_tokenPath); $downloadInfo = array(); $downloadInfo[DOWNLOAD_ISPARALLELDOWNLOAD] = TRUE; $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, 'https://api.alldebrid.com/v4/link/unlock?agent=synology&version=' . $this->_version . '&apikey=' . urlencode($token) . '&link=' . urlencode($this->Url)); $response = curl_exec($curl); curl_close($curl); $response = json_decode($response, true); if(isset($response['status']) AND $response['status'] == 'success') { $linkInfos = $response['data']; if($linkInfos['host'] != 'stream') { if(isset($linkInfos['delayed']) AND $linkInfos['delayed'] > 0) { $start = time(); $finalLink = false; while($finalLink == false AND $elapsed < 5 * 60) { sleep(5); $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, 'https://api.alldebrid.com/v4/link/delayed?agent=synology&version=' . $this->_version . '&apikey=' . urlencode($token) . '&id=' . urlencode($linkInfos['delayed'])); $delayedResponse = curl_exec($curl); curl_close($curl); $delayedResponse = json_decode($delayedResponse, true); $elapsed = time() - $start; if($delayedResponse['data']['status'] > 2) { $downloadInfo[DOWNLOAD_ERROR] = ERR_TRY_IT_LATER; return $downloadInfo; } if($delayedResponse['data']['status'] == 2) { $finalLink = $delayedResponse['data']['link']; } } //$finalLink = str_replace('/dl/', '/fdl/', $finalLink); $finalLink = str_replace(' ', '+', $finalLink); $downloadInfo[DOWNLOAD_URL] = $finalLink; return $downloadInfo; } else { $downloadInfo[DOWNLOAD_URL] = $linkInfos['link']; } } else { $bestQual = 0; $bestQualId = false; foreach($linkInfos['streams'] AS $stream) { if($stream['quality'] == 'mp3' AND $bestQual == 0) { $bestQual = 1; $bestQualId = $stream['id']; } else if($stream['quality'] > $bestQual) { $bestQual = $stream['quality']; $bestQualId = $stream['id']; } } if($bestQualId != false) { $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, 'https://api.alldebrid.com/v4/link/streaming?agent=synology&version=' . $this->_version . '&apikey=' . urlencode($token) . '&id=' . urlencode($linkInfos['id']) . '&stream=' . urlencode($bestQualId)); $response = curl_exec($curl); curl_close($curl); $response = json_decode($response, true); if(isset($response['status']) AND $response['status'] == 'success') { if(isset($response['data']['delayed'])) { $start = time(); $finalLink = false; while($finalLink == false AND $elapsed < 5 * 60) { sleep(5); $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, DOWNLOAD_STATION_USER_AGENT); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, 'https://api.alldebrid.com/v4/link/delayed?agent=synology&version=' . $this->_version . '&apikey=' . urlencode($token) . '&id=' . urlencode($response['data']['delayed'])); $delayedResponse = curl_exec($curl); curl_close($curl); $delayedResponse = json_decode($delayedResponse, true); $elapsed = time() - $start; if($delayedResponse['data']['status'] > 2) { $downloadInfo[DOWNLOAD_ERROR] = ERR_TRY_IT_LATER; return $downloadInfo; } if($delayedResponse['data']['status'] == 2) { $finalLink = $delayedResponse['data']['link']; } } $finalLink = str_replace(' ', '+', $finalLink); curl_close($curl); $downloadInfo[DOWNLOAD_URL] = $finalLink; return $downloadInfo; } else { $downloadInfo[DOWNLOAD_URL] = $response['data']['link']; } } else { $downloadInfo[DOWNLOAD_ERROR] = ERR_UNKNOWN; } } else { $downloadInfo[DOWNLOAD_ERROR] = ERR_UNKNOWN; } } } else { switch ($response['error']["code"]) { case 'LINK_HOST_NOT_SUPPORTED': $downloadInfo[DOWNLOAD_ERROR] = ERR_NOT_SUPPORT_TYPE; break; case 'LINK_DOWN': $downloadInfo[DOWNLOAD_ERROR] = ERR_FILE_NO_EXIST; break; case 'LINK_HOST_UNAVAILABLE': case 'LINK_TOO_MANY_DOWNLOADS': case 'LINK_HOST_FULL': case 'LINK_HOST_LIMIT_REACHED': $downloadInfo[DOWNLOAD_ERROR] = ERR_TRY_IT_LATER; break; default: $downloadInfo[DOWNLOAD_ERROR] = ERR_UNKNOWN; break; } } return $downloadInfo; } private function debug($Header, $Value) { // $msg = $Header . print_r($Value, TRUE) . "\n"; // if (DEBUG_TO_FILE) // { // $msg = date("n-d H:i:s") . " " . $msg; // file_put_contents(DEBUG_FILE, $msg, FILE_APPEND); // } } } ?>INFO000664 001750 001750 00000004120 14447021324 012302 0ustar00adrienadrien000000 000000 { "name": "Alldebrid Officiel", "hostprefix": "uptobox.com,uptostream.com,uptostream.fr,uptobox.fr,uptobox.eu,uptostream.eu,1fichier.com,megadl.fr,alterupload.com,cjoint.net,desfichiers.com,dfichiers.com,mesfichiers.org,piecejointe.net,pjointe.com,tenvoi.com,dl4free.com,rapidgator.net,rg.to,turbobit.net,hitfile.net,wayupload.com,turbobit.cloud,turbobit.cc,turbo.to,turb.cc,turb.pw,hitf.cc,hitf.to,turbobif.com,mega.co.nz,mega.nz,4shared.com,9xupload.asia,9xupload.info,alfafile.net,alldebrid.com,apkadmin.com,bayfiles.com,clicknupload.co,clipwatching.com,highstream.tv,cloudvideo.tv,dailyuploads.net,ddl.to,dropapk.to,drop.download,dropgalaxy.in,europeup.com,example.com,example.net,exload.com,fastbit.cc,fastclick.to,feurl.com,file-upload.com,file.al,filedot.to,filedot.xyz,filefactory.com,filerio.in,filerio.com,filespace.com,fileup.cc,fileupload.pw,filezip.cc,flashbit.cc,florenfile.com,transfert.free.fr,gigapeta.com,drive.google.com,gulf-up.com,harefile.com,hexupload.net,hot4share.com,indishare.me,isra.cloud,katfile.com,load.to,mediafire.com,mexashare.com,mexa.sh,mixdrop.co,modsbase.com,mp4upload.com,pandafiles.com,prefiles.com,rapidfileshare.net,scribd.com,sendit.cloud,sharemods.com,simfileshare.net,streamtape.com,takefile.link,up-load.io,up-4ever.net,upload-4ever.com,upload42.com,uploadbank.com,uploadbox.io,uploadboy.com,uploader.link,uploadev.org,uploadev.com,uploadrar.com,uploadydl.com,uppit.com,userscloud.com,usersdrive.com,userupload.net,vev.io,videobin.co,vidoza.net,vidoza.org,playvidto.com,vidtodo.com,vidto-do.com,vipfile.cc,wipfiles.net,world-files.com,worldbytez.com,youtube2.com,youtube.com,youtu.be,invidio.us,youtubekids.com,vid.plus,zwearz.com,music.youtube.com,dailymotion.com,lequipe.fr,twitch.tv,player.twitch.tv,m.twitch.tv,go.twitch.tv,clips.twitch.tv,soundcloud.com,api.soundcloud.com,vimeo.com,vimeopro.com,pornhub.com,fr.pornhub.com,thumbzilla.com,pornhub.net,pornhubpremium.com,de.pornhub.com,arte.tv", "displayname": "Alldebrid officiel", "version": "4.3", "authentication": "yes", "module": "alldebrid.php", "class": "SynoFileHostingAllDebrid", "description": "version 4.3" }