alldebrid.php000664 001750 001750 00000020356 13507062424 013454 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) > 32) { $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/user/login?agent=synology&version=' . $this->_version . '&token=' . urlencode($token)); $LoginInfo = curl_exec($curl); curl_close($curl); $userInfos = json_decode($LoginInfo, true); if(isset($userInfos['success']) AND $userInfos['success'] == true) { file_put_contents($this->_tokenPath, $userInfos['token']); if($userInfos['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/link/unlock?agent=synology&version=' . $this->_version . '&token=' . urlencode($token) . '&link=' . urlencode($this->Url)); $response = curl_exec($curl); curl_close($curl); $response = json_decode($response, true); if(isset($response['success']) AND $response['success'] == true) { $linkInfos = $response['infos']; 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/link/delayed?agent=synology&version=' . $this->_version . '&token=' . urlencode($token) . '&id=' . urlencode($linkInfos['delayed'])); $delayedResponse = curl_exec($curl); curl_close($curl); $delayedResponse = json_decode($delayedResponse, true); $elapsed = time() - $start; if($delayedResponse['status'] > 2) { $downloadInfo[DOWNLOAD_ERROR] = ERR_TRY_IT_LATER; return $downloadInfo; } if($delayedResponse['status'] == 2) { $finalLink = $delayedResponse['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/link/streaming?agent=synology&version=' . $this->_version . '&token=' . urlencode($token) . '&id=' . urlencode($linkInfos['id']) . '&stream=' . urlencode($bestQualId)); $response = curl_exec($curl); curl_close($curl); $response = json_decode($response, true); if(isset($response['success']) AND $response['success'] == true) { if(isset($response['infos']['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/link/delayed?agent=synology&version=' . $this->_version . '&token=' . urlencode($token) . '&id=' . urlencode($response['infos']['delayed'])); $delayedResponse = curl_exec($curl); curl_close($curl); $delayedResponse = json_decode($delayedResponse, true); $elapsed = time() - $start; if($delayedResponse['status'] > 2) { $downloadInfo[DOWNLOAD_ERROR] = ERR_TRY_IT_LATER; return $downloadInfo; } if($delayedResponse['status'] == 2) { $finalLink = $delayedResponse['link']; } } $finalLink = str_replace(' ', '+', $finalLink); curl_close($curl); $downloadInfo[DOWNLOAD_URL] = $finalLink; return $downloadInfo; } else { $downloadInfo[DOWNLOAD_URL] = $response['infos']['link']; } } else { $downloadInfo[DOWNLOAD_ERROR] = ERR_UNKNOWN; } } else { $downloadInfo[DOWNLOAD_ERROR] = ERR_UNKNOWN; } } } else { switch ($response['errorCode']) { case 30: $downloadInfo[DOWNLOAD_ERROR] = ERR_NOT_SUPPORT_TYPE; break; case 31: $downloadInfo[DOWNLOAD_ERROR] = ERR_FILE_NO_EXIST; break; case 32: case 33: case 34: case 35: case 36: $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 00000007216 13507062433 011477 0ustar00anonanon000000 000000 { "name": "Alldebrid Officiel", "hostprefix": "uptobox.com,uptostream.com,1fichier.com,megadl.fr,alterupload.com,cjoint.net,desfichiers.com,dfichiers.com,mesfichiers.org,piecejointe.net,pjointe.com,tenvoi.com,dl4free.com,uploaded.net,uploaded.to,ul.to,rapidgator.net,rg.to,turbobit.net,hitfile.net,wayupload.com,4shared.com,anzfile.net,ayefiles.com,backin.net,bdupload.info,big4shared.com,brupload.net,clicknupload.link,cosmobox.org,datafilehost.com,ddl.to,file4safe.com,file.al,filefactory.com,filerio.in,filerio.com,filetitle.com,fileupload.pw,fireget.com,flashbit.cc,dl.free.fr,fshare.vn,gigapeta.com,drive.google.com,inclouddrive.com,indishare.me,isra.cloud,katfile.com,load.to,mediafire.com,mega.co.nz,mega.nz,mexashare.com,mx-sh.net,mp4upload.com,openload.co,prefiles.com,rapidrar.com,rapidu.net,scribd.com,sendit.cloud,sendspace.com,simfileshare.net,streamango.com,streamcloud.eu,tezfiles.com,tusfiles.com,uploadcloud.pro,uploadev.org,uploadev.com,uploadocean.com,uppit.com,userscloud.com,verystream.com,wdupload.com,wipfiles.net,worldbytez.com,wushare.com,xubster.com,yunfile.com,zippyshare.com,file.al,usersdrive.com,file-up.org,twitch.tv,youtube2.com,ustream.tv,vimeo.com,wat.tv,veehd.com,soundcloud.com,ted.com,france2.fr,veoh.com,france3.fr,france4.fr,france5.fr,franceo.fr,dailymotion.com,francetvinfo.fr,arte.tv,d8.tv,liveleak.com,canalplus.fr,store.steampowered.com,livestream.com,v.youku.com,rtve.es,ocw.mit.edu,rtbf.be,rte.ie,rts.ch,youjizz.com,nytimes.com,roxwel.com,xxxymovies.com,yourupload.com,yahoo.com,rtvnh.nl,xnxx.com,gorillavid.in,xvideos.com,vlog.xuite.net,pt.xhamster.com,videodetective.com,vlive.tv,vidzi.tv,vporn.com,play.videofy.me,ubu.com,tv4.se,trilulilu.ro,viewster.com,tnaflix.com,tubitv.com,thvideo.tv,xboxclips.com,pornhub.com,tlc.de,academicearth.org,templetv.net,thisav.com,onionstudios.com,bbc.com,telegraaf.nl,tudou.com,teachingchannel.org,techtalks.tv,archive.org,swrmediathek.de,sztv.hu,webofstories.com,audimedia.tv,teachertube.com,sunporno.com,sportdeutschland.tv,stream.cz,spankbang.com,spankwire.com,snotr.com,snagfilms.com,tass.ru,slutload.com,skynewsarabia.com,space.com,shared.sx,vivo.sx,smotri.com,shahid.mbc.net,ruutu.fi,indianpornvideos.com,ruhd.ru,videos.sapo.pt,ringtv.craveonline.com,sbs.com.au,pornhd.com,rai.tv,rutube.ru,playtvak.cz,redtube.com,video.idnes.cz,pinkbike.com,lidovky.cz,sexykarma.com,pornoxo.com,nicovideo.jp,video.nhl.com,ntv.ru,nfb.ca,karrierevideos.at,nfl.com,keezmovies.com,ok.ru,jove.com,kontrtube.ru,kickstarter.com,keek.com,v.ku6.com,krasview.ru,lnkgo.alfa.lt,metacafe.com,laola1.tv,mojvideo.com,media.ccc.de,teamfourstar.com,m.mlb.com,fr.khanacademy.org,msnbc.com,libsyn.com,lynda.com,mgoon.com,en.musicplayon.com,movieclips.com,moviefap.com,muenchen.tv,myspass.de,mwave.interest.me,myvidster.com,watch.nba.com,video.nationalgeographic.com,hellporno.com,ndtv.com,hentai.animestigma.com,howcast.com,hitbox.tv,indavideo.hu,nbcsports.com,hornbunny.com,video.aktualne.cz,izlesene.com,ellentv.com,empflix.com,ebaumsworld.com,infoq.com,extremetube.com,video.esri.com,footyroom.com,goldenmoustache.com,gameinformer.com,foxsports.com,gamersyde.com,gamestar.de,channel9.msdn.com,chilloutzone.net,clipfish.de,camdemy.com,cliphunter.com,letv.com,clipsyndicate.com,clubic.com,cinemassacre.com,dbtv.no,cc.com,collegehumor.com,edition.cnn.com,drtuber.com,democracynow.org,dr.dk,dumpert.nl,crunchyroll.com,discoverychannel.fr,1tv.ru,220.ro,dotsub.com,4tube.com,acast.com,anitube.se,alphaporno.com,aparat.com,air.mozilla.org,beeg.com,anysex.com,dctp.tv,video.foxnews.com,bt.no", "displayname": "Alldebrid officiel", "version": "3.3", "authentication": "yes", "module": "alldebrid.php", "class": "SynoFileHostingAllDebrid", "description": "version 3.3" }