Le 13 janvier 2022 à 02:50:24 :
Ça dépend si tu a une famille qui dépend de toi. Mais il est bon de se rappeler que personne n'a choisi d'être ici et ne doivent par conséquent, rien à quiconque.
Tu as raison mais on se rend pas compte à quel point la vie c'est quelque chose d'unique. Notre conscience est inestimable, je trouve que c'est une insulte à la vie elle-même que de se suicider.
Il y avait littéralement 0 chance qu'on arrive ici, et qu'on soit en vie. Alors autant essayer d'en faire quelque chose de bien plutôt que de la gâcher.
Qu'il ne faut jamais y céder sauf handicap lourd.
Tant que t'as 2 bras 2 jambes, un corps et un cerveau fonctionnel faut continuer à se battre. La vie est trop précieuse.
Si on souffre aujourd'hui alors le bonheur de demain n'en sera que plus grand.
Et en plus de begayer ce con fait un lapsus
"la cryptomonnaie, c'est désormais une difficulté de la police pour pouvoir blanchir euh... reconnaître LA blanchiment d'argent"
Mias ferrari cette gueule de co**e c'est pas possible. On voit à des kilomètres qu'elle comprend rien.
Et darmanin il y connaît quoi au numérique? RIEN DU TOUT.
"gngngn cryptomonnaies darkweb" mais ces golems BORDEL
Le 13 janvier 2022 à 01:03:34 Moellhumain a écrit :
Trojan installez surtout pas
Ca tombe bien y a rien à installer
Le 13 janvier 2022 à 01:01:06 KensingtonChad a écrit :
Pourquoi s'emmerder à faire tourner du PHP sur Apache quand tu peux juste utiliser youtube-dl en ligne de commande ?
Parceque de 1 c'est plus fastidieux, faut regarder sur internet pour les options, si tu veux télécharger plusieurs fichiers etc... et si tu veux l'utiliser sur plusieurs appareils faut installer youtube dl sur tous les appareils alors que là pas besoin
Oui je sais ça existe déjà mais là c'est un site web local qui vous est propre, la vitesse n'est pas bridée et vous pouvez choisir:
En plus si vous le mettez en réseau vous pourrez l'utiliser depuis n'importe quel appareil de votre maison.
Prérequis :
- Un OS linux (testé sur ubuntu)
- Apache https://doc.ubuntu-fr.org/apache2 ( sudo apt install apache2 pour les grotteux)
- ytp-dl (l'outil pyhton utilisé pour le téléchargement) (https://github.com/yt-dlp/yt-dlp)
Pour l'installer :
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
Et c'est tout
Vous n'avez plus qu'à mettre les 2 fichiers suivants à la racine de votre serveur apache et tout est prêt (/var/www/html)
Lien pour télécharger les 2 fichiers : https://www.filemail.com/d/sebtmchtebwegiw
Code source des 2 fichiers :
url.php
<!DOCTYPE html>
<html lang="fr">
<head>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<h1> Outil de telechargement de vidéos youtube</h1>
<form action="download.php" method="post" style="margin-top: 15px; margin-left: 15px;">
<div id="inputFormRow">
<div class="input-group mb-3">
<input type="text" name="title[]" class="form-control m-input" placeholder="Entrer URL" autocomplete="off" required>
</div>
</div>
<button id="addRow" type="button" class="btn btn-info">Ajouter un lien</button>
<div id="newRow"></div>
<div>
<input type="radio" id="mptrois" name="type" value="mptrois"
checked>
<label for="mptrois">Audio</label>
<div id="formataudio" style="margin-left: 50px;">
<div id="xx">
<legend>Format audio</legend>
<input type="radio" id="firstaud" name="format" value="best"
checked>
<label for="format">par défaut (le meilleur possible)</label>
<input type="radio" id="formataud" name="format" value="aac">
<label for="mptrois">aac</label>
<input type="radio" id="formataud" name="format" value="flac">
<label for="mptrois">flac</label>
<input type="radio" id="formataud" name="format" value="mp3">
<label for="mptrois">mp3</label>
<input type="radio" id="formataud" name="format" value="m4a">
<label for="mptrois">m4a</label>
<input type="radio" id="formataud" name="format" value="opus">
<label for="mptrois">opus</label>
<input type="radio" id="formataud" name="format" value="vorbis">
<label for="mptrois">vorbis</label>
<input type="radio" id="formataud" name="format" value="wav">
<label for="mptrois">wav</label>
<input type="radio" id="formataud" name="format" value="alac">
<label for="mptrois">alac</label>
</div>
</div>
</div>
<div>
<input type="radio" id="mpquatre" name="type" value="mpquatre">
<label for="mpquatre">Video</label>
<div id="formatvideo" style="visibility: hidden; display: none;">
<div id="xy">
<legend>Format video</legend>
<input type="radio" id="firstvid" name="format" value="best">
<label for="format">par défaut (le meilleur possible)</label>
<input type="radio" id="format" name="format" value="3gp">
<label for="mptrois">3gp</label>
<input type="radio" id="format" name="format" value="aac">
<label for="mptrois">aac</label>
<input type="radio" id="format" name="format" value="flv">
<label for="mptrois">flv</label>
<input type="radio" id="format" name="format" value="m4a">
<label for="mptrois">m4a</label>
<input type="radio" id="format" name="format" value="mp3">
<label for="mptrois">mp3</label>
<input type="radio" id="format" name="format" value="mp4">
<label for="mptrois">mp4</label>
<input type="radio" id="format" name="format" value="ogg">
<label for="mptrois">ogg</label>
<input type="radio" id="format" name="format" value="webm">
<label for="mptrois">webm</label>
</div>
</div>
</div>
<input type="submit" name="submit" value="TELECHARGER" style="background-color: #1a53ff; border-radius: 6px; padding: 5px; padding-left: 12px; padding-right: 12px; cursor: pointer;">
</form>
<h3 style="margin-left: 2%; margin-top: 50px;"> A noter </h3>
<div>
<p style="width: 80%; margin-left: 2%;">
Si une erreur apparaît ou que un ou plusieurs fichiers sont manquants, cela est très probablement dû au fait que le ou les fichiers souhaités n'est ou ne sont pas disponibles dans votre pays, ou bien que le format souhaité n'est pas disponible.
</p>
<p style="width: 80%; margin-left: 2%;">
Made with love comme on dit. Vous pouvez me MP sur JVC: cyniquetristev8
</p>
</div>
</body>
</html>
<script type="text/javascript">
// add row
$("#addRow").click(function () {
var html = '';
html += '<div id="inputFormRow">';
html += '<div class="input-group mb-3">';
html += '<input type="text" name="title[]" class="form-control m-input" placeholder="Entrer URL" autocomplete="off">';
html += '<div class="input-group-append">';
html += '<button id="removeRow" type="button" class="btn btn-danger">Supprimer</button>';
html += '</div>';
html += '</div>';
$('#newRow').append(html);
});
// remove row
$(document).on('click', '#removeRow', function () {
$(this).closest('#inputFormRow').remove();
});
$("#mptrois").click(function ()
{
$("#formatvideo").css('visibility', 'hidden');
$("#formatvideo").css('display', 'none');
$("#formataudio").css('visibility', 'visible');
$("#formataudio").css('display', 'contents');
$("#xx").css('margin-left', '50px');
$("#firstvid").prop('checked', false);
$("#firstaud").prop('checked', true);
});
$("#mpquatre").click(function ()
{
$("#formataudio").css('visibility', 'hidden');
$("#formataudio").css('display', 'none');
$("#formatvideo").css('visibility', 'visible');
$("#formatvideo").css('display', 'contents');
$("#xy").css('margin-left', '50px');
$("#firstaud").prop('checked', false);
$("#firstvid").prop('checked', true);
});
</script>
download.php
<?php
$type = $_POST['type'];
$format = $_POST['format'];
$title = $_POST['title'];
if(!file_exists('contenu')) //vérifie si le dossier "contenu" existe, sinon le crée
{
mkdir( 'contenu' );
}
echo 'yt-dlp -f ' . $format . ' ' . $title[0];
echo "<br>";
switch ($type) {
case 'mptrois':
for ($i=0; $i < sizeof($title); $i++)
{
if(sizeof($title)>1)
{
if ($format == 'best')
{
exec('cd contenu && yt-dlp -x ' . $title[$i], $output, $retval); //telecharge uniquement l'audio
}
else
{
exec('cd contenu && yt-dlp -x --audio-format ' . $format . ' ' . $title[$i], $output, $retval); //telecharge uniquement l'audio
}
}
else
{
if ($format == 'best')
{
exec('yt-dlp -x ' . $title[$i], $output, $retval); //telecharge uniquement l'audio
}
else
{
exec('yt-dlp -x --audio-format ' . $format . ' ' . $title[$i], $output, $retval); //telecharge uniquement l'audio
}
}
$input = array_slice($output, 5, 1); //récupère la partie de la réponse à la commande où se trouve le nom du fichier
$rest = implode("','",$input); //la convertit en une chaîne
$restarr[$i] = substr($rest, 28); //récupère uniquement le nom du fichier
}
break;
case 'mpquatre':
for ($i=0; $i < sizeof($title); $i++)
{
if(sizeof($title)>1)
{
if ($format == 'best')
{
exec('cd contenu && yt-dlp ' . $title[$i], $output, $retval); //telecharge la video (et l'audio)
}
else
{
exec('cd contenu && yt-dlp -f ' . $format . ' ' . $title[$i], $output, $retval); //telecharge la video (et l'audio)
}
}
else
{
if ($format == 'best')
{
exec('yt-dlp ' . $title[$i], $output, $retval); //telecharge la video (et l'audio)
}
else
{
exec('yt-dlp -f ' . $format . ' ' . $title[$i], $output, $retval); //telecharge la video (et l'audio)
}
}
if ($format == 'best')
{
$input = array_slice($output, 7, 1); //récupère la partie de la réponse à la commande où se trouve le nom du fichier
$rest = implode("','",$input); //la convertit en une chaîne
$restarr[$i] = substr($rest, 31, -1); //récupère uniquement le nom du fichier
}
else
{
$input = array_slice($output, 3, 1); //récupère la partie de la réponse à la commande où se trouve le nom du fichier
$rest = implode("','",$input); //la convertit en une chaîne
$restarr[$i] = substr($rest, 24); //récupère uniquement le nom du fichier
}
}
break;
default:
echo "erreur : aucun bouton n'a été coché"; //erreur
break;
}
if(sizeof($title)>1)
{
exec('tar -cvf content.tar contenu'); //crée l'archive
$rest = 'content.tar';
}
else
{
$rest = $restarr[0];
}
if (file_exists($rest)) { //télécharge le fichier
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($rest).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($rest));
readfile($rest);
}
else
{
echo "erreur, un bug est apparu, pas de chance :/";
}
exec('rm ' . $rest); //supprime le fichier
if(sizeof($title)>1)
{
exec('rm contenu/*'); //supprime les fichiers
}
?>
<a href="url.php"> retour </a>
Le 12 janvier 2022 à 01:27:05 :
Aucunehttps://image.noelshack.com/fichiers/2020/42/6/1602910613-hd-1.png