Ergebnis 1 bis 3 von 3

Thema: Suche - JDownloader DLC Creator Script

Hybrid-Darstellung

  1. #1
    Junior
    Registriert
    Jul 2016
    Beiträge
    127
    Gefällt mir!
    23
    Du gefällst: 72

    Suche - JDownloader DLC Creator Script

    Also ich weiß das es eine API von JD gibt mit einem extrem veralteten Script das mcrypt verwendet.
    Mcrypt macht jedoch ab php 5.5 probleme. Downgraden ist nicht akzeptabel.
    Kennt jemand zufällig ein script ohne API? Falls das überhaupt möglich ist :/

    Der Log zeigt folgenden Fehler an:
    Code:
    2017/04/13 03:29:17 [error] 15210#0: *187 FastCGI sent in stderr: "PHP message: PHP Warning:  mcrypt_generic(): 15 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 316
    PHP message: PHP Warning:  mcrypt_generic_deinit(): 15 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 318
    PHP message: PHP Warning:  mcrypt_module_close(): 15 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 319
    PHP message: PHP Warning:  mcrypt_generic(): 16 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 324
    PHP message: PHP Warning:  mcrypt_generic_deinit(): 16 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 325
    PHP message: PHP Warning:  mcrypt_module_close(): 16 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 326
    PHP message: PHP Warning:  mdecrypt_generic(): 17 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 334
    PHP message: PHP Warning:  mcrypt_generic_deinit(): 17 is not a valid MCrypt resource in /home/httpdocs/dlcapi/dlcapi_inc_crypt.php on line 336
    Der Sourcecode des Files
    Spoiler ausklappen

    Code:
    <?php
    require_once("dlcapi_includes.php");
    
    function debug($str,$force=0){	
    	if(!$force &&!DLC_API_DEBUG)return;
    	echo "<pre>";
        echo htmlentities(print_r($str,true));
        echo "</pre>";
    }
    
    function dlcInterndataEncode($str){
    	if($str==NULL)$str="n.A.";
    	return base64_encode(trim($str));
    }
    function isDLCValue($arg){
    	return $arg!=NULL && strlen($arg)>0;
    }
    function getDLCPasswordString($pwList){
    	$ret="";
    	$list=array();
    	$emtpy=true;
    	for($i=0; $i<count($pwList);$i++){
    		if($pwList[$i] && strlen(trim($pwList[$i]))>0){
    			$empty=false;
    			array_push($list,'"'.$pwList[$i].'"');			
    		}	
    	}
    	if($empty||!$list || count($list)==0)return "";
    	return '{'.implode(', ',$list).'}';
    }
    
    function getCCFPasswordString($pwList){
    	$ret="";
    	$list=array();
    	$emtpy=true;
    	for($i=0; $i<count($pwList);$i++){
    		if($pwList[$i] && strlen(trim($pwList[$i]))>0){
    			$empty=false;
    			array_push($list,$pwList[$i]);			
    		}	
    	}
    	if($empty||!$list || count($list)==0)return "";
    	return implode(', ',$list);
    }
    function createDLCXML($links,$app=NULL,$url=NULL,$version=NULL){	
    	if(!isDLCValue($app))$app=DLC_CONTENT_GENERATOR_NAME;
    	if(!isDLCValue($url))$url=DLC_CONTENT_GENERATOR_URL;
    	if(!isDLCValue($version))$version=DLC_API_VERSION;
    
    	$header='<dlc>
    	<header>
    		<generator>
    			<app>'.dlcInterndataEncode($app).'</app>
    			<version>'.dlcInterndataEncode($version).'</version>
    			<url>'.dlcInterndataEncode($url).'</url>
    		</generator>
    		<tribute>
    			<name>'.dlcInterndataEncode($links["uploader"]).'</name>
    		</tribute>
    		<dlcxmlversion>'.dlcInterndataEncode("20_02_2008").'</dlcxmlversion>
    	</header>';
    	$content='
    	<content>';
    	for($i=0; $i<count($links["packages"]);$i++){	
    		$package=$links["packages"][$i];	
    		$password=getDLCPasswordString($package["passwords"]);
    		$name=$package["name"];
    		$comment=$package["comment"];
    		$category=$package["category"];
    		$packageLinks=$package["links"];
    		
    		if(count($package["links"])>0){
    			$content.='
    		<package name="'.dlcInterndataEncode($name)."\"";
    			if(isDLCValue($password))$content.=" passwords=\"".dlcInterndataEncode($password)."\"";
    			if(isDLCValue($comment))$content.=" comment=\"".dlcInterndataEncode($comment)."\"";
    			if(isDLCValue($category))$content.=" category=\"".dlcInterndataEncode($category)."\"";
    			$content.='>';
    			for( $l=0; $l<count($packageLinks);$l++){
    				  $content.='
    			<file>
    				<url>'.dlcInterndataEncode($packageLinks[$l]["url"]).'</url>';
    				if($packageLinks[$l]["filename"]&&strlen($packageLinks[$l]["filename"])>1){
    				$content.='
    			<filename>'.dlcInterndataEncode($packageLinks[$l]["filename"]).'</filename>';
    			}
    			if($packageLinks[$l]["size"]&&strlen($packageLinks[$l]["size"])>1){
    			$content.='
    			<size>'.dlcInterndataEncode($packageLinks[$l]["size"]).'</size>';
    			}
    			$content.='
    			</file>';
    			}
    			$content.='
    		</package>';
    		}
    	
    	}
    $content.='
    	</content>
    </dlc>';
    
    
    
    	return $header.$content;
    
    }
    function ccfInternEncode($str){
    	return utf8_encode($str);
    }
    
    function createCCFXML($links){	
    	$del="";
    	$content='<xml version="1.0" encoding="utf-8">';
    	$content='';
    	$content.=$del;
    	$content.='<CryptLoad>';
    	$content.=$del;
    	for($i=0; $i<count($links["packages"]);$i++){	
    		$package=$links["packages"][$i];	
    		$password=getCCFPasswordString($package["passwords"]);
    		$name=$package["name"];
    		$comment=($package["comment"]&&strlen($package["comment"])>0)?$package["comment"]:"("."create by DLCAPI".")";
    		$category=$package["category"];
    		$packageLinks=$package["links"];		
    		if(count($package["links"])>0){
    			$content.='  <Package service="" name="'.ccfInternEncode($name).'" url="Directlinks">';
    			$content.=$del;
    			$content.='    <Options>';
    			$content.=$del;
    			$content.=$comment?'      <Kommentar>'.ccfInternEncode($comment).'</Kommentar>':'      <Kommentar />';
    			$content.=$del;
    			$content.=$password?'      <Passwort>'.ccfInternEncode($password).'</Passwort>':'      <Passwort />';
    			$content.=$del;
    			$content.='    </Options>';
    			$content.=$del;
    			
    			for( $l=0; $l<count($packageLinks);$l++){
    				if(!$packageLinks[$l]["filename"]||strlen(trim($packageLinks[$l]["filename"]))==0){
    					$info=pathinfo($packageLinks[$l]["url"]);
    					$packageLinks[$l]["filename"]=$info["basename"];
    				}
    				$content.='    <Download Url="'.ccfInternEncode($packageLinks[$l]["url"]).'">';
    				$content.=$del;
    				$content.='      <FileSize>'.ccfInternEncode(($packageLinks[$l]["size"]?$packageLinks[$l]["size"]:"0")).'</FileSize>';
    				$content.=$del;
    				$content.='      <Url>'.ccfInternEncode($packageLinks[$l]["url"]).'</Url>';
    				$content.=$del;
    				$content.=$packageLinks[$l]["filename"]?'      <FileName>'.ccfInternEncode($packageLinks[$l]["filename"]).'</FileName>':'      <FileName/>';
    				$content.=$del;
    				$content.='    </Download>';
    				$content.=$del;			
    			}
    			$content.='  </Package>';
    			$content.=$del;				
    		
    		}
    	}
    	$content.='</CryptLoad>';	
    	return $content;
    
    }
    function dataToLinklist($links){	
    	
    	$ret=array();
    	for($i=0; $i<count($links["packages"]);$i++){	
    		$package=$links["packages"][$i];			
    		$packageLinks=$package["links"];
    		
    		if(count($package["links"])>0){				
    			for( $l=0; $l<count($packageLinks);$l++){				
    				array_push($ret,$packageLinks[$l]["url"]);	
    			}			
    		}
    	}
    	
    	return $ret;
    
    }
    
    function getAthCXRedirect($service){
    		$url=parse_url($service);
    		$fp = @fsockopen($url["host"], 80);
    		if(!$fp)return $service;
    		
    		fputs($fp, "GET ".$url["path"]." HTTP/1.1\r\n");
    		fputs($fp, "Host: ".$url["host"]."\r\n");
    		fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    		fputs($fp, "Connection: close\r\n\r\n");	
    		while(!feof($fp)) {
    			$res .= fgets($fp, 1024);
    			
    			if(strpos($res,"Location:")>0){
    			$tmp=explode("Location:",$res);
    			fclose($fp);
    		
    			return trim($tmp[1]);
    			break;			
    			}
    		}	
    		
    		fclose($fp);
    		return $service;
    }
    
    function getBetween($find1, $find2, $string) {
             $parse = explode($find1, $string, 2);
             $parse = @substr($parse[1], 0, @strpos($parse[1], $find2));
             return $parse;
    }
    
    
    	function getDLCPair(){
    		$expires=DLC_KEY_PAIR_EXPIRES_AFTER;
    	   
    		$keyData=@mysql_fetch_array(@mysql_query("SELECT * FROM `".DLC_MYSQL_TABLE."_2`"));
    	
    		$plainKey=$keyData[1];
    		$encodedKey=$keyData[2];
    		$updateTime=$keyData[0];
    	
    		if(!$plainKey ||!$encodedKey||($updateTime+$expires)<time()){
    		debug("INFO: Fetch new Key");
    		
    			srand((float)microtime() * 1000000);
    			$key= substr(md5(md5(time().rand(0,10000)).rand(0,10000)),0,16); 
    			$encKey=encryptDLCKey($key);
    			
    			if($encKey==NULL){
    				debug("ERROR: Could not get new DLC Pair.");
    				return array($plainKey,$encodedKey);
    			}
    			mysql_query('TRUNCATE TABLE `'.DLC_MYSQL_TABLE.'_2`');
    			
    			$sql = 'INSERT INTO `'.DLC_MYSQL_TABLE.'_2` (`time`, `plain`, `crypt`) VALUES (\''.time().'\', \''.$encKey[0].'\', \''.$encKey[1].'\');';
    			mysql_query($sql);
    
    		
    			return array(trim($encKey[0]),trim($encKey[1]));
    		}
    
    			return array($plainKey,$encodedKey);
    	
    	
    	}
    	
    function callDLCService($service,$key){
    	$red=getAthCXRedirect($service);	
    	if($red==NULL){
    		debug("WARNING:Could not resolve ".$service);
    		return NULL;
    	}else{
    		debug("INFO Resolved ".$service." to ".$red);
    	}
    	$ret=postRequest($red,"&data=".$key."&lid=".base64_encode(DLC_CONTENT_GENERATOR_NAME_ID."_".DLC_EMAIL."_".DLCCRYPT_MAINSERVICES."_".DLC_KEY_PAIR_EXPIRES_AFTER)."&version=".DLC_API_VERSION);
    
    	if($ret==NULL){
    		debug("WARNING: Could not get Key from ".$red);
    		return NULL;
    	}
    	
    	if(strpos($ret,"</rc>")==false){
    		debug("WARNING: service not available ".$red);
    		return NULL;
    	}
    	$key=getBetween("<rc>","</rc>",$ret);
    	$plain=getBetween("<rcp>","</rcp>",$ret);
    	
    	if($key==NULL|| strlen($key)!=88){
    		debug("Key ".$ret);
    		debug("WARNING: OLD CLIENT OR SERVER VERSION");
    		return NULL;
    	}
    	return array($plain,$key);
    }
    
    function getServices(){
    	$services=array();
    	if(DLCCRYPT_SERVICES_MIRROR_1)array_push($services,DLCCRYPT_SERVICES_MIRROR_1);
    	if(DLCCRYPT_SERVICES_MIRROR_2)array_push($services,DLCCRYPT_SERVICES_MIRROR_2);
    	if(DLCCRYPT_SERVICES_MIRROR_3)array_push($services,DLCCRYPT_SERVICES_MIRROR_3);
    	if(DLCCRYPT_SERVICES_MIRROR_4)array_push($services,DLCCRYPT_SERVICES_MIRROR_4);
    	return $services;
    }
    function encryptDLCKey($key){
    	$services=getServices();
    	
    	
    	$main=DLCCRYPT_MAINSERVICES;
    	srand((float)microtime() * 1000000);
    	shuffle($services);
    	if($main!=NULL){
    		$dlcKey=callDLCService($main,$key);	
    	}
    	if($dlcKey!=NULL)return $dlcKey;
    	foreach ($services as $service) {	
        	$dlcKey=callDLCService($service,$key);	
    		if($dlcKey!=NULL)break;		
    	}
    	if($dlcKey!=NULL)return $dlcKey;	
    	return NULL;
    }
    
    function encryptDLCXML($xml){
    	$xml=base64_encode($xml);
    	$pair=getDLCPair();
    	debug("INFO Current: ");
    	debug($pair);
    	if($pair==NULL)return NULL;
    	$key=$pair[0];
    	$KEY=$pair[1];
    	debug("Keylength: ".strlen($key));
    	 $cp = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', 'cbc', '');
         @mcrypt_generic_init($cp, $key,$key);
    
         $enc = mcrypt_generic($cp, $xml);   
    	 
         @mcrypt_generic_deinit($cp);	
         @mcrypt_module_close($cp);
    	
    	
       	 $cp = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', 'cbc', '');
         @mcrypt_generic_init($cp, $key,$key);	 
         $enc = mcrypt_generic($cp, $xml);      
         @mcrypt_generic_deinit($cp);
         @mcrypt_module_close($cp);	
    	 $enc=base64_encode($enc); 	
    debug("ENC OK");
    
    $cp = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', 'cbc', '');
    
         @mcrypt_generic_init($cp, $key,$key);
    
         $dec = mdecrypt_generic($cp, base64_decode($enc));   
    
         mcrypt_generic_deinit($cp);
    
         mcrypt_module_close($cp);
    	 debug("DEC ".base64_decode($dec));	 
     return $enc.$KEY;
    }
    function createDLC($links,$app=NULL,$url=NULL,$version=NULL){
    
    	$xml=createDLCXML($links,$app,$url,$version);
    	return encryptDLCXML($xml);
    }
    
    function createCCF($links){
    if(!defined("CCF_KEY_10"))die("Error: CCF Keyfile is not installed");
    	$xml=createCCFXML($links);
    	return encryptCCFXML($xml);
    }
    
    function filterString($str){
    	$ret="";
    	$allowed = "QWERTZUIOPÜASDFGHJKLÖÄYXCVBNMqwertzuiopasdfghjklyxcvbnm;:,._-&%(){}#~+ 1234567890<>='\"/";
        $char="";
    	for( $i=0; $i<strlen($str);$i++){
    		if(!(strpos($allowed,( $char=substr($str,$i,1)))===false)){
    			$ret.=$char;		
    			}		
    	}
    return $ret;
    }
    function getBetweenAll($find1, $find2, $string){
         $elements = array();
              while($word = getBetween($find1, $find2, $string)){
                   array_push($elements, $word);
                  $string = str_replace($find1.$word.$find2, null, $string);
               }
    	 return $elements;
    }
    function encryptCCFXML($xml){
    		//$xml=chr(0xEF).chr(0xBB).chr(0xBF).$xml;
    		$xml=utf8_encode($xml);
    		$keyList=array(CCF_KEY_10,CCF_KEY_08,CCF_KEY_07);
    		$ivList=array(CCF_IV_10,CCF_IV_08,CCF_IV_07);
    		$block=MCRYPT_RIJNDAEL_128;
    		$mode=MCRYPT_MODE_CBC;
    		$cp = mcrypt_module_open($block, '', $mode, '');
    		@mcrypt_generic_init($cp, base16Decode($keyList[0]),base16Decode($ivList[0]));
    		$enc = mcrypt_generic($cp, $xml);   
    		mcrypt_generic_deinit($cp);
    		mcrypt_module_close($cp);	
    		return $enc;
    }
    
    function string2hex($str)
    {
      if (trim($str)!="")
      {
        $hex="";
        $length=strlen($str);
        for ($i=0; $i<$length; $i++)
        {
          if ($i>0) $bound="-"; else $bound="";
          $hex.=$bound.str_pad(dechex(ord($str[$i])), 2, 0, STR_PAD_LEFT)."(".$str[$i].")";
        }
        return $hex;
      }
    }
    
    
    
    function decryptCCF($dat){
    	$keyList=array(CCF_KEY_10,CCF_KEY_08,CCF_KEY_07);
    	$ivList=array(CCF_IV_10,CCF_IV_08,CCF_IV_07);
    	$vList=array(CCF_ID_10,CCF_ID_08,CCF_ID_07);
    
    	$block=MCRYPT_RIJNDAEL_128;
    	$mode=MCRYPT_MODE_CBC;
    	$i=0;
    	$xml="";
    	while($i<count($keyList)){
    	
    		$cp = mcrypt_module_open($block, '', $mode, '');
    		@mcrypt_generic_init($cp, base16Decode($keyList[$i]),base16Decode($ivList[$i]));
    		$enc = filterString(mdecrypt_generic($cp, $dat));   
    		mcrypt_generic_deinit($cp);
    		mcrypt_module_close($cp);	
    		if(strpos(strtolower($enc), "cryptload")>0){
    			$xml=trim($enc);			
    			break;
    		}
    		$i++;
    	}
    
    	$ret=array();
    	$ret["version"]=$vList[$i];
    	$ret["linknum"]=0;
    	$ret["packagenum"]=0;
    	$ret["password"]="";
    	$ret["comment"]="";
    	$ret["uploader"]="CCF2DLC";
    	$ret["packages"]=array();
    	$ret["string"]=$xml;
    	$comment=getBetween('Kommentar>','<',$xml);
    	$pw=getBetween('Passwort>','<',$xml);
    	$packages=getBetweenAll("Package","/Package",$xml);
    	for( $i=0; $i<count($packages);$i++){
    		$name=getBetween('name="','"',$packages[$i]);
    		$links=getBetweenAll("<Download","/Download",$packages[$i]);	
    
    		$ret["packages"][$i]=array();
    		$ret["packages"][$i]["name"]=$name;
    		$ret["packages"][$i]["links"]=array();
    		
    		for($ii=0;$ii<count($links);$ii++){
    			$link=getBetween("<Url>","</Url>",$links[$ii]);
    			$name=getBetween("<FileName>","</FileName>",$links[$ii]);
    			$size=getBetween("<FileSize>","</FileSize>",$links[$ii]);
    			array_push($ret["packages"][$i]["links"],array("url"=>$link,"filename"=>$name,"size"=>$size));
    		}
    		$ret["linknum"]+=count($links);
    		$ret["packagenum"]++;
    		$ret["packages"][$i]["passwords"]=array($pw);
    		$ret["packages"][$i]["comment"]=$comment;
    		$ret["packages"][$i]["category"]="";
    		$ret["password"].=$pw."  ";
    		$ret["comment"].=$comment."  ";
    		
    		
    		
    	
    	}
    	$ret["password"]=trim($ret["password"]);
    		$ret["comment"]=trim($ret["comment"]);
    	return $ret;
    
     // debug($xml);
    
    
    }
    
    
    
    
    function createRSDF($links){
    if(!defined('RSDF_KEY'))die("Error: RSDF Keyfile is not installed");
    	$ret="";
    	$key = base16Decode(RSDF_KEY);
     	$iv = base16Decode(RSDF_IV); 
    
     	$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CFB, '');
     	mcrypt_generic_init($td, $key, $iv);
    	$linkList=dataToLinklist($links);
    	for( $i=0; $i<count($linkList);$i++){
    		$ret.=base64_encode(mcrypt_generic($td,$linkList[$i]));
    		$ret.="\r\n";		
    	}
    	
    	 mcrypt_generic_deinit($td);
    	 mcrypt_module_close($td);
    	 $ret= base16Encode($ret);	
    	return $ret;
    	
    }
    function decryptRSDF($rsdfData){
     $key = base16Decode(RSDF_KEY);
     $iv = base16Decode(RSDF_IV); 
     $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CFB, '');
     mcrypt_generic_init($td, $key, $iv);
    
     $rsdfLinks = base16Decode($rsdfData);
    
     $rsdfLinks = explode("\r\n", $rsdfLinks);
     $links = array();
     foreach ($rsdfLinks as $link) {
      if (strlen(filterString($link)) > 2){
       $encoded = base64_decode(filterString($link));
    
       $decoded = mdecrypt_generic($td, $encoded);
      
       if(strlen(trim($decoded))>0){
       $links[sizeof($links)] = str_replace("http://anonym.to/?", "", str_replace("CCF: ", "", $decoded));
       }
      }
     }
     mcrypt_generic_deinit($td);
     mcrypt_module_close($td);
     
    $ret=array(array("packagename"=>"rsdf2dlc","links"=>$links,"password"=>"","comment"=>""));
    $ret["linknum"]=count($links);
    $ret["packagenum"]=1;
    $ret["password"]="";
    $ret["comment"]="";
    return $ret;
    }
    
    
    function base16Decode($arg){
    	$ret="";
    	for($i=0;$i<strlen($arg);$i+=2){
    		$tmp=substr($arg,$i,2);
    		$int=hexdec($tmp);
    		$ret.=chr ($int);
    	}
    	return $ret;
    }
    
    //Encodiert einen String  als Base16
    
    function base16Encode($arg){
    
    	$ret="";
    
    	for($i=0;$i<strlen($arg);$i++){
    		$tmp=ord($arg[$i]);	
    		$hex=dechex($tmp);
    		while(strlen($hex)<2)$hex="0".$hex;
    		$ret.=$hex;
    	}
    
    	return $ret;
    
    
    
    }
    
    function checkRapidshareLinks($links){
    	$linkstring="";
    	$urls="";
    	for( $i=0; $i<count($links);$i++){
    		$linkstring.=$links[$i]."\r\n";
    		if(!(strpos(trim($links[$i]),"rapidshare")===false)){
    			$urls.=$links[$i]."\r\n";
    		}
    	}
    	$erg = PostToHost("rapidshare.com", "/cgi-bin/checkfiles.cgi", "http://rapidshare.com/de/checkfiles.html", "urls=".$urls);
    	$ret=array();
    	
    	$i=0;
    
    	
    	$ret["ok"]=0;
    	$ret["bad"]=0;
    	$ret["total"]=0;
    	$ret["rapidshare"]=0;
    	$ret["error"]=0;
    	if(strpos($erg,"invalid")>0)$ret["error"]++;
    	
    	foreach(explode("\n", $linkstring) as $link) {
    		$help = explode("/", trim($link));
    		if(!strlen(trim($link)))continue;
    		$ret["total"]++;	
    		if(strpos(trim($link),"rapidshare")===false){
    		array_push($ret,array($i,2,trim($link)));
    		}else{
    			$ret["rapidshare"]++;			
    
    			if(strpos($erg,$help[4]." (". $help[5].") not found") > 0) {
    				array_push($ret,array($i,0,trim($link)));
    				$ret["bad"]++;
    				
    			}else{
    				array_push($ret,array($i,1,trim($link)));
    				$ret["ok"]++;
    			}
    		}
    			$i++;	
    	}
    	
    	return $ret;
    
    }
    	function PostToHost($host, $path, $referer, $data_to_send) {
    		$fp = fsockopen($host, 80);
    		fputs($fp, "POST $path HTTP/1.1\r\n");
    		fputs($fp, "Host: $host\r\n");
    		fputs($fp, "Referer: $referer\r\n");
    		fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    		fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
    		fputs($fp, "Connection: close\r\n\r\n");
    		fputs($fp, $data_to_send);
    		
    		while(!feof($fp)) {
    			$res .= fgets($fp, 128);
    		}
    	
    		fclose($fp);
    		return $res;
    	}
    
    function urlListToXML($list,$uploader,$packagename,$pw,$comment,$category){
    	
    	$dlc=array();
    	$dlc["uploader"]=$uploader;
    	$dlc["packages"]=array();
    	$package=array("name"=>$packagename,"passwords"=>array($pw),"comment"=>$comment,"category"=>$category,"links"=>array());
    	for( $i=0;$i<count($list);$i++){
    		$url=pathinfo($list[$i]);	
    		$name=$url["basename"];
    		$link=array("url"=>$list[$i],"filename"=>$name,"size"=>0);
    		array_push($package["links"],$link);
    	}
    	
    	array_push($dlc["packages"],$package);
    
    	return $dlc;
    
    }
    
    function createContainerdataModel($uploadername="unknown"){
    	$ret=array();
    	$ret["uploader"]=$uploadername;
    	$ret["packages"]=array();
    	return $ret;
    }
    function addFilePackage(&$model,$packagename="package",$passwords=array(),$comment="no comment",$category="various"){
    	$package=array();
    	$package["name"]=$packagename;
    	$package["passwords"]=$passwords;
    	$package["comment"]=$comment;
    	$package["category"]=$category;
    	$package["links"]=array();
    	array_push($model["packages"],$package);
    	return count($model["packages"])-1;
    }
    function addLink(&$model,$packageID,$url,$filename="",$filesize=0){
    	$link=array("url"=>$url,"filename"=>$filename,"size"=>$filesize);
    	array_push($model["packages"][$packageID]["links"],$link);
    	return $link;
    
    }
    
    debug("DLCAPI v. ".DLC_API_VERSION." loaded. Set \$DLC_API_DEBUG=0; to disabled this messages---");
    
    
    
    
    
    
    ?>



    Die Api hab ich von der JD Seite
    Code:
    http://jdownloader.org/knowledge/wiki/linkprotection/container/dlcapi
    JDownloader.org - Official Homepage

    Bin für jeden Tip dankbar

  2. Diesen Mitgliedern gefällt dieser Beitrag:


  3. #2
    Senior Avatar von Uranjitsu
    Registriert
    May 2016
    Beiträge
    210
    Gefällt mir!
    223
    Du gefällst: 158
    Das Script müsste lediglich angepasst werden.
    Als Alternative zum mcrypt, kannst du openssl_encrypt nutzen.
    Allerdings ist der Algorythmus etwas anders: PHP replace mcrypt with openssl - Stack Overflow
    Hier auch noch was: php - Replacing mcrypt_encrypt with openssl_encrypt - Stack Overflow

    Man muss schauen, wie man das am besten umsetzt.

    Das sieht sogar vielversprechender aus: openssl - php: mcrypt_encrypt to openssl_encrypt, and OPENSSL_ZERO_PADDING problems - Stack Overflow
    Geändert von Uranjitsu (13.04.2017 um 07:16 Uhr)
    LG - Uranjitsu

  4. #3
    Junior
    THEMENSTARTER


    Registriert
    Jul 2016
    Beiträge
    127
    Gefällt mir!
    23
    Du gefällst: 72
    Danke für den Tip.
    API wurde heute seitens JD gefixed, nun funktioniert sie auch wieder mit mcrypt

  5. Diesen Mitgliedern gefällt dieser Beitrag:


Ähnliche Themen

  1. (Suche) - Suche eine Suchmaschinen script was Pornoseiten indiziert
    Von BitCkraker im Forum Entwickler / IT-Techniker
    Antworten: 1
    Letzter Beitrag: 21.03.2020, 22:22
  2. Suche Foto CMS/Script
    Von fritzi im Forum Webmaster Daily Talk & OffTopic
    Antworten: 2
    Letzter Beitrag: 01.05.2018, 21:59
  3. (PHP) - [SUCHE] Downloadarchiv, Index, Linkdatenbank - Script
    Von JohnMcClane im Forum Entwicklung / Programmierung
    Antworten: 2
    Letzter Beitrag: 05.10.2017, 11:15
  4. Suche Streaming CMS Script - Private Datenbank
    Von Frank.A im Forum Webmaster Daily Talk & OffTopic
    Antworten: 4
    Letzter Beitrag: 09.02.2017, 13:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org