#1 Le 29/04/2012, à 18:30
- Lapogne71
[Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Edit du 25/10/2012 : découverte de l'inutilité du script et d'une méthode plus simple, voir plus bas : réponse 13
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Voici un petit script permettant de télécharger sur dl.free.fr un fichier découpé par RAR en plusieurs fichiers *.partXY.rar.
Exemple de fichier de liens à donner en entrée du script : 1 ligne avec le "titre" du fichier compressé par RAR et x lignes de liens :
Camescope_Vacances_2011_8Go.mkv
http://dl.free.fr/h75f94f5
http://dl.free.fr/fsd6d4d
http://dl.free.fr/zd946s6
http://dl.free.fr/zd544s5
...
Caractéristiques du script :
- en ligne de commande : téléchargement via l'outil wget, soulage le CPU par rapport à un navigateur comme firefox
- en masse : la liste de lien dans un fichier en entrée du script ne nécessite aucune autre intervention que le lancement de script
- téléchargement parallèle de plusieurs fichiers (nombre défini par l'utilisateur)
- enregistre les fichiers avec un nom "lisible" et numérotés dans l'ordre de la liste de lien
- en cas de crash ou d'arrêt volontaire du script avec CTRL+C , on peut le relancer et il reprendra tout simplement là où il s'était arrêté !
Le script reformate automatiquement les liens en dl.free.fr/h75f94f5/Camescope_Vacances_2011_8Go.mkv.part01.rar, etc ...
et télécharge en parallèle plusieurs fichiers avec les noms corrects et dans l'ordre (au lieu d'enregistrer les fichiers sous les noms h75f94f5, fsd6d4d ... qui seront quasi inutilisables en multi-RAR)
[Edit du 30/08/2012 : apparemment le script ne fonctionne que pour les freenautes, les autres auront un probleme de captcha....désolé...]
Script à améliorer ...
Dernière modification par Lapogne71 (Le 25/10/2012, à 07:37)
Hors ligne
#2 Le 29/08/2012, à 20:22
- Malizor
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Ça ne marche pas chez moi, wget télécharge des pages HTML
« Prouver que j'ai raison serait accorder que je puis avoir tort. » - Beaumarchais ← Le premier troll ?
Hors ligne
#3 Le 29/08/2012, à 21:26
- Lapogne71
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Ça ne marche pas chez moi, wget télécharge des pages HTML
Salut, es tu sûr que les fichiers existent bien : est-ce que tu peut les télécharger avec ton navigateur ?
Moi çà marche, je viens de le tester !
Hors ligne
#4 Le 29/08/2012, à 22:19
- Zakhar
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Intéressant !..
(même si je ne l'utiliserait pas car le mien permet aussi de balancer en masse des trucs à la Freebox V6 -comme ça on peut éteindre son PC après-, renommer des dl.free.fr téléchargés par la V6 etc)
J'aime bien l'astuce finale avec de xargs, je ne connaissais pas, ça a l'air vraiment chouette ce truc !..
Par contre comment ça se débrouille pour l'affichage. En effet, chacun des wget va vouloir écrire sur stdout/stderr, on voit quoi sur la console ?.. Rien du tout ?
Comment peut-on avoir une idée de la progression globale ?
P.S.: pour le monsieur chez qui ça ne marche pas, il faut savoir que l'accès à DLFREE est différent selon qu'on est chez Free ou pas. Le script présenté ici fonctionne pour des freenautes seulement.
Dernière modification par Zakhar (Le 29/08/2012, à 22:20)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#5 Le 29/08/2012, à 22:19
- Malizor
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Je peux les télécharger via le navigateur, pas via wget (apparemment à cause du CAPTCHA).
Voici un de mes liens : http://dl.free.fr/nFm0LwtgS
(ce n'est pas du rar, mais je pensais pouvoir utiliser ton script pour télécharger plusieurs fichiers automatiquement...)
« Prouver que j'ai raison serait accorder que je puis avoir tort. » - Beaumarchais ← Le premier troll ?
Hors ligne
#6 Le 29/08/2012, à 22:22
- Zakhar
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Je peux les télécharger via le navigateur, pas via wget (apparemment à cause du CAPTCHA).
Voici un de mes liens : http://dl.free.fr/nFm0LwtgS
(ce n'est pas du rar, mais je pensais pouvoir utiliser ton script pour télécharger plusieurs fichiers automatiquement...)
Héhé j'ai gagné !
Captcha = tu n'es pas Freenaute = le script ne marche pas.
Auparavant j'avais fait un truc pour les non-Freenautes dans mon script, mais depuis le captcha c'est devenu inutile parce que du coup ce n'est plus automatisable hélas.
C'est un des nombreux effets de bords de la fermeture de MegaUpload ce Captcha (pour sauvegarder un peu de bande passante pour les clients de Free...) car auparavant il n'existait pas.
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#7 Le 29/08/2012, à 22:34
- Malizor
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Je m'en doutais un peu, mais bon...
Tant pis, je vais essayer de trouver un autre moyen de transférer mes fichiers.
Merci quand même !
« Prouver que j'ai raison serait accorder que je puis avoir tort. » - Beaumarchais ← Le premier troll ?
Hors ligne
#8 Le 30/08/2012, à 05:56
- Lapogne71
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Intéressant !..
(même si je ne l'utiliserait pas car le mien permet aussi de balancer en masse des trucs à la Freebox V6 -comme ça on peut éteindre son PC après-, renommer des dl.free.fr téléchargés par la V6 etc)
je suis intéressé par ton script s'il est mieux (sauf si tu ne souhaite pas le partager),.. le mien je l'ai fait "à l'arrache"
J'aime bien l'astuce finale avec de xargs, je ne connaissais pas, ça a l'air vraiment chouette ce truc !..
Par contre comment ça se débrouille pour l'affichage. En effet, chacun des wget va vouloir écrire sur stdout/stderr, on voit quoi sur la console ?.. Rien du tout ?
Comment peut-on avoir une idée de la progression globale ?
en effet par exemple dans mon cas j'utilise 5 threads, et chacun d'eux écrit sur la meme ligne de la console, et çà "clignote un peu" . Cependant, la vitesse étant quasiment identique pour chacun d'eux, le pourcentage affiché ainsi que le débit correspondent bien au download pour chacun des 5 fichiers simultanés.
Exemple d'affichage dans la console (reprise de download à 12% (suite à mauvaise manip du CTRL-C , 18% environ et 70K/s pour chacun des 5 fichiers)
11% [+++++++++++ ] 115 529 155 7,00K/s connecté.
12% [+++++++++++ ] 119 995 175 45,2K/s 206 Partial Content
Longueur: 707946170 (675M), 592285320 (565M) restant [application/octet-stream]
Sauvegarde en : «xxxxxx.yyyyyy.zzzzzz.part05.rar»
18% [++++++++++++++++++++++=============> 196 479 526 69,5K/s eta 2h 56m
(J'avais bien précisé "Script à améliorer" au départ )
Dernière modification par Lapogne71 (Le 30/08/2012, à 05:57)
Hors ligne
#9 Le 30/08/2012, à 09:45
- toulipe
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
-
Dernière modification par toulipe (Le 02/09/2012, à 22:26)
Hors ligne
#10 Le 30/08/2012, à 10:30
- cracolinux
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Il est possible de lancer chaque wget-session dans son propre terminal.
J'ai pas testé hein, alors pas taper si ça marche pas :
cat $LISTE_NUM | xargs -P $MAX_PROCESS -r -n 1 lxterminal -e wget -c
Hors ligne
#11 Le 02/09/2012, à 16:22
- Zakhar
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Pas de problème, voici la doc en ligne :
http://xslt2.0.free.fr/free/dl/doc_dlfree.html
Et le script : Le script dlfree (plein d'options pour la V6)
Exemple d'utilisation intéressant avec la V6 :
dlfree -b http://www.siteweb.com/monfilm_vacances.html
Je suppose là que la page web http://www.siteweb.com/monfilm_vacances.html contient la liste des liens free du genre http://dlfree.fr/abcdefghi
Le script va extraire automatiquement les liens de la page et les donner à la Freebox pour qu'elle télécharge.
On peut ensuite vaquer à ses occupations, et bien sûr, même éteindre le PC (puisque la Freebox s'occupe de tout).
Quand on revient un peu plus tard, on fait :
dlfree -r
Et cela renomme l'ensemble des fichiers téléchargés par la Freebox correctement. En effet, sans cela les fichiers s'appellent : abcdefghi
Là vous aurez donc :
monfilm_vacances.part01.rar
monfilm_vacances.part02.rar
...
monfilm_vacances.part12.rar
Il ne vous reste plus qu'à faire un montage par curlftpfs, puis à lancer un unrar sur les fichiers, et le tour est joué.
P.S.: le --help est certainement plus à jour que la doc !
P.S.2: curieusement, lorsqu'on donne ainsi les fichiers à la Freebox, elle fait 6 téléchargements en parallèle, alors que la limite théorique est de 5 !.. Cependant, cela semble provoquer un bug car le 6ème fichier se plante toujours vers la fin. On peut alors utiliser l'option dlfree -rc pour réparer cela (après plantage) et relancer le 6ème, ou dès qu'on a envoyé les fichiers sur la Freebox (donc avant même que ça se plante), aller sur l'interface supprimer le 6ème téléchargement et le remettre -et curieusement ainsi ça fonctionne !-
J'ai signalé cet incident sur le tracker de la Freebox V6, mais Free ne semble pas pressé de le corriger !..
P.S.3: dans l'exemple d'utilisation cité, de fait, les téléchargements sont faits en parallèle car c'est la Freebox qui les fait. On n'a donc nul besoin d'une telle option si on dispose d'un Freebox V6, et de plus on a une interface web pour voir la progression "proprement".
Sinon, sur le PC lui-même, le téléchargement se fait 1 fichier à la fois. Cependant, le script est conçu de sorte qu'on puisse le lancer plusieurs fois sans que ça interfère (bien sûr pas sur le même fichier... sinon c'est de toute façon dlfree.fr qui râle !)
PS Important: le script utilise curl (et non pas wget). Curl est beaucoup plus puissant et plus activement maintenu. Cependant il n'est pas de base dans la version (au moins pour Precise). Donc un petit coup de :
sudo apt-get install curl
... et le tour est joué !
P.S... j'ai perdu le compte : ... depuis les modifications consécutives à la mort de MU (i.e. le captcha) le script ne fonctionne plus pour les non-freenautes... désolé !
Dernière modification par Zakhar (Le 02/09/2012, à 16:42)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#12 Le 26/09/2012, à 22:52
- Zakhar
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Et donc, merci Lapogne71 pour l'idée...
J'ai modifié mon script pour qu'il soit "parallélisable".
En réalité c'était très simple puisque lorsqu'on tente de télécharger 2 fois le même fichier, Free râle. Cette limitation (1 seule fois le fichier pour une adresse IP donnée) est là pour éviter les "accélérateurs de téléchargement".
Il suffit donc de tester (c'était déjà fait partiellement) ce retour qui nous dit qu'on est déjà en train de télécharger le fichier, et on passe alors au suivant.
Ainsi, si vous voulez faire 3 téléchargements en parallèle, il suffit de lancer le script 3 fois sur la même liste dans 3 fenêtres (ou onglets) de terminal, et le tour est joué.
Aussi, en faisant ainsi, on a des affichages propres puisque chaque fenêtre de terminal affiche proprement le téléchargement en cours.
La nouvelle version du script est là : le script dlfree version 2.1
Il reste quelques /TODO (voir le script)... si vous voulez le faire, à votre bon coeur !..
Dernière modification par Zakhar (Le 26/09/2012, à 22:59)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#13 Le 25/10/2012, à 07:19
- Lapogne71
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Hello,
je retire mon script initial de la circulation, car il est complètement inutile. En effet je viens de découvrir une option très intéressante de wget, "--content-disposition" , qui attribue le bon nom au fichier à télécharger.
Il suffit donc maintenant de lancer la commande :
cat $LISTE | xargs -P $MAX_PROCESS -r -n 1 wget -c --content-disposition
où $LISTE est le nom de votre fichier qui contient les liens du type "http://dl.free.fr/azerty78" et $MAX_PROCESS le nombre de téléchargements en parallèle (4 ou 5 est un bon compromis).
bon.. on peut aussi remplacer le contenu du script initial par cette commande, comme çà on ne change pas ses petites habitudes de lancement de download
@Zakhar : j'ai pas eu le temps de voir tes scripts, çà à l'air plus sophistiqué que mon petit script ..
Hors ligne
#14 Le 25/10/2012, à 19:50
- Zakhar
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Oh oui, largement plus "sophistiqué"... mais c'est surtout que ça fait plus de choses (notamment avec la Freebox 6)
Cela dit c'est très bien d'avoir un "one-liner" (commande en une ligne) pour télécharger un ensemble de fichiers, je garde ton idée.
Pour mon script, j'ai fait un post "propre" qui en parle et donne le script à jour, c'est là :
http://forum.ubuntu-fr.org/viewtopic.php?id=1070561
Tu es cité dans l'historique, pour l'idée de faire le truc en parallèle, dont je me sers maintenant (puisque je l'ai codé !).
Et donc, dans ce cas d'usage, le seul avantage de mon script est "esthétique", c'est à dire que tu as des affichages "propres" et pas 4 ou 5 process qui affichent tous au même endroit... mais hormis ça, le résultat final est le même que ta commande en une ligne.
Donc si c'est ton seul usage, mon script n'a qu'un intérêt secondaire : avoir un affichage moins "pollué".
Dernière modification par Zakhar (Le 25/10/2012, à 19:52)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#15 Le 08/11/2012, à 23:11
- message1
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Bonjour,
J'ai remarqué que la différence entre un lien direct : http://dl.free.fr/yXXXXXXXX (sans captcha) et un lien indirect http://dl.free.fr/getfile.pl?file=/XXXXXXXX était le "y", ce "y" étant une quelconque lettre de l'alphabet.
Quelqu'un sait il comment déduire ce lien direct du lien indirect (donc déterminer le "y") ?
Remarque : je suis chez Free et même en étant chez Free, passage obligé par la captcha si lien indirect
Merci
Hors ligne
#16 Le 05/01/2013, à 10:04
- netbja
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Bonjour à tous,
Très beau script Zakhar !
Par contre un petit bug que je viens de trouver. Lorsque tu exécutes un download avec dlfree_2.1.1 depuis une session ssh (ex putty) et la commande screen ( http://studio.jacksay.com/tutoriaux/sys … ash-screen ) pour laisser tourner un download en fond de tâche, les commandes tput posent problème.
L'idée, utiliser les codes d’échappement, exemple pour la couleur rouge.
redb='\033[1;31;40m'
red() { echo $redb; }
Ciao
Hors ligne
#17 Le 05/01/2013, à 16:32
- Zakhar
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Réponse sur le fil de dlfree :
http://forum.ubuntu-fr.org/viewtopic.ph … #p12097191
Dernière modification par Zakhar (Le 05/01/2013, à 16:40)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#18 Le 05/02/2013, à 14:11
- max02100
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Hello,
je retire mon script initial de la circulation, car il est complètement inutile. En effet je viens de découvrir une option très intéressante de wget, "--content-disposition" , qui attribue le bon nom au fichier à télécharger.
Il suffit donc maintenant de lancer la commande :cat $LISTE | xargs -P $MAX_PROCESS -r -n 1 wget -c --content-disposition
où $LISTE est le nom de votre fichier qui contient les liens du type "http://dl.free.fr/azerty78" et $MAX_PROCESS le nombre de téléchargements en parallèle (4 ou 5 est un bon compromis).
bon.. on peut aussi remplacer le contenu du script initial par cette commande, comme çà on ne change pas ses petites habitudes de lancement de download
@Zakhar : j'ai pas eu le temps de voir tes scripts, çà à l'air plus sophistiqué que mon petit script ..
Je viens de tester ce script mais pas avec des liens free et ca n'a pas marché alors qu'avec un wget direct sur le lien ca marche.
Une explication ? ^^
Hors ligne
#19 Le 05/02/2013, à 21:26
- Lapogne71
Re : [Script] dl.free.fr multi-RAR, nom de fichiers et download parallèles
Je viens de tester ce script mais pas avec des liens free et ca n'a pas marché alors qu'avec un wget direct sur le lien ca marche.
Une explication ? ^^
montre ton fichier en entrée du script , peut-être ?
Hors ligne