"") { if(substr($path,strlen($substr)-1)=="/") { $path=substr($path,0,strlen($path)-1); } else { $path=substr($path,0,strrpos($path,"/")); } } if(substr($path,strlen($path)-1)!="/" && is_dir($loc.$path) && $path<>"") $path.="/"; $fpath=$loc.$path; $vpath=""; $dpath=""; $fname=""; $view=false; if(is_file($fpath)) { // Preparing file preview if(strpos($path,"/")) { $path=substr($path,0,strrpos($path,"/")+1); } else { $path=""; } $vpath=$fpath; $fname=substr($vpath,strrpos($vpath,"/")+1); $fpath=substr($fpath,0,strrpos($fpath,"/")+1); $dpath=$dl.$path.$fname; $view=true; appendf($analytics,time()."\v".$path.$fname."\n"); } $farr=array(); $darr=array(); if($handle=opendir($fpath)) { // List current directory while(false!==($entry=readdir($handle))) { if($entry!="." && $entry!="..") { if(is_dir($fpath.$entry)) { array_push($darr,$entry); } else { array_push($farr,$entry); } } } } closedir($handle); $items=count($darr)+count($farr); $items.=($items>1)?" items":" item"; sort($darr); sort($farr); session_set_cookie_params(["SameSite" => "Strict"]); //none, lax, strict session_set_cookie_params(["Secure" => "true"]); //false, true session_set_cookie_params(["HttpOnly" => "true"]); //false, true session_start(); // Visit counter $visits=intval(readf($visitpath)); if(!$_SESSION['visited']) { $_SESSION['visited']=true; $visits++; if($visits>1) writef($visitpath,$visits); } ?> "> <?php echo $title." ~/".$path.$fname; ?> \n"; ?> \n"; ?>
> " href="/" target="_self">~".$lpath[$i].""; } ?>
" target="_blank">Download ./*


"") $up.="/"; echo "
..
\n"; $bad=array("%","!","?","&","#"," ","+"); $good=array("%25","%21","%3F","%26","%23","%20","%2B"); for($i=0;$i$fnamelen) $cutn="..."; if($path.$darr[$i]=="stuff") $dimg="desktop.png"; echo "
".substr($darr[$i],0,$fnamelen).$cutn."
\n"; } for($i=0;$ifgets(); $fh=fopen($fpath.$farr[$i],'r'); $line=fread($fh,64); fclose($fh); switch($line) { case (preg_match('/#!.*sh.*/',$line)?true:false): // script match $img="script.png"; break; case (preg_match('/[^\x00-\x7F]/',$line)?true:false): // binary match $img="application.png"; break; case (preg_match('/[ -~]/',$line)?true:false): // ascii match $img="text.png"; break; default: $img="unknown.png"; } } $selected=""; $hidden=""; $cutn=""; $new=""; if(time()-filemtime($fpath.$farr[$i])<$oldafter) { $new=" new"; } if($view) if($fname==$farr[$i]) $selected=" selected"; if(substr($farr[$i],0,1)==".") $hidden=" hid"; if(strlen($farr[$i])>$fnamelen) $cutn="..."; $target="_self"; $href="/".str_replace($bad,$good,$path.$farr[$i])."#view"; // Standard local file link /* Make *.url files open the links directly */ /*if($info['extension']=="url") { // .url file - link contained url instead $target="_blank"; $href=str_replace("\n","",readf($fpath.$farr[$i])); // just in case the .url file contains newline }*/ echo "
".substr($farr[$i],0,$fnamelen).$cutn."
\n"; } ?>


"") echo "".$lpath[$i].""; } echo "".$fname."\n" ."
\n" ." ".$fviews." • \n" ." ".$mtime." • \n" ." Download" ."Raw" ."Close\n" ."
\n
\n"; $info=pathinfo($vpath); $prev=""; switch($info['extension']) { // Detect best way to preview by file extension case "png": case "jpg": case "jpeg": case "bmp": case "gif": case "ico": $prev="



\n"; break; case "wav": case "mp3": case "ogg": $prev="



\n"; break; case "mp4": case "webm": $prev="



\n"; break; case "url": $fc=readf($vpath); $prev="


".$fc."



\n"; break; case "$": echo "

\n"; if(is_file($vpath)) include($vpath); echo "


\n"; break; default: $bad=array("&","<",">"); $good=array("&","<",">"); $fc=readf($vpath); $tmp=explode("\n",$fc); if(!preg_match('/[^\x00-\x7F]/',$tmp[0])) { // Detect binary file $fc=str_replace($bad,$good,$fc); $prev="
".$fc."

\n"; } else { $prev="

<no preview>


\n"; } ?> \n".$prev."\nTop\n
\n\n"; } } ?>
©


"; } ?>
visits
... ^ v