Bonjour à tous,
Il y a deux semaines je vous présentais un outil qui permet d'exécuter du code Python et des commandes Shell directement sur les serveurs de Google : Google Colab.
Aujourd'hui nous allons voir comment détourner son utilisation première pour en faire une seedbox et télécharger des fichiers .torrent directement sur votre Google Drive.
Code source et explications
Pour transformer Google Colab/Google Drive en seedbox, nous allons installer le programme Transmission qui est utilisable directement en ligne de commande et que nous pourrons relier à GDrive.
Connecter Google Colab à Google Drive
# Connection de Google Colab à Google Drive
from google.colab import drive
drive.mount('/gdrive')
En exécutant ce code, vous recevrez un lien vous permettant de lier le notebook en cours d'exécution avec le stockage du compte Google de votre choix.
Cliquez sur le lien, choisissez le compte de votre choix, copiez-collez le code obtenu à l'emplacement prévu et vous pourrez continuer.
Pour vérifier, vous pouvez ajouter un nouveau bloc de code et y coller ceci : !ls /gdrive/My\ Drive
. Si tout s'est bien passé, vous devriez voir le contenu de votre Google Drive.
Installation de transmission-cli
# Installation de transmission-cli (client torrent)
!apt install transmission-cli
# Modification des limites de vitesse de bande passante
!sudo echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
!sudo echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
Le code ci-dessus installe transmission-cli et modifie les limites par défaut.
Téléchargement d'un fichier .torrent
Upload le fichier .torrent : Dans un premier temps nous devons envoyer sur le serveur le fichier que nous voulons télécharger.
Pour cela dépliez le panneau de gauche, cliquez sur la dernière icone de la colonne puis sur la première icone de la ligne ("Importer dans l'espace de stockage de la session")
Selectionnez votre fichier .torrent et il sera envoyé sur le serveur. Copiez le chemin d'accès au fichier en faisant clic droit dessus puis "Copier le chemin d'accès".
Étape finale : Télécharger le fichier .torrent : Maintenant que toute la préparation est terminée, il ne nous reste plus qu'une commande à exécuter :
!transmission-cli -v -D -g -w "/content/My\ Drive/" /content/{{nom_de_votre_fichier_torrent}}.torrent
Vous pouvez observer la progression; une fois votre fichier à 100 % vous pourrez le télécharger ou l'utiliser quand vous le souhaitez à partir de Google Drive.
Aller plus loin (+ limitations)
- Vous êtes libre de changer le chemin de destination du .torrent, pour ne pas forcement être limité aux 15 Go de stockage de Google Drive
- La durée maximale de seed est de 12 heures. Cependant, vous pouvez relancer le script Google Colab tous les 12 heures si vous le souhaitez
- La connection de GColab monte à plus de 100 Mbps et il vous permet de télécharger jusqu'à 105 Go (environ) en une seule fois.
- Vous pouvez mettre en pause un torrent et reprendre plus tard son téléchargement
Conclusion
Pour terminer, j'espère que ce tutoriel vous aura intéressé et vous aura servis. N'abusez pas non plus du service que Google met à disposition. Dans le cas échéant des restrictions pourraient être appliquées, notamment sur la vitesse de téléchargement.
N'hésitez pas à me contacter si vous avez des difficultés à suivre ce billet de blog, si vous avez des suggestions d'améliorations ou des questions.