Du libre, du code, des idées, du mélange d’ArraKISS…

De l’épice pour la pensée

Lorsqu'on est fan d'une série, on a parfois envie d'aller regarder les derniers épisodes sur le web. Mais quelle horreur, les sites de streaming que l'on peut y trouver son insupportables :

  • Dans le pire des cas, ils nécessitent flashplayer
  • La qualité est médiocre
  • Il y a des publicités partout ! Je suis certain que ça augmente le nombre de cancers dans le monde toutes ces pubs.

On peut alors se fier au protocole bittorrent pour télécharger ses vidéos puis les regarder tranquille. Encore faut-il trouver un site pas trop mauvais qui les recense... Là aussi, on trouve des publicités parfois.
De plus, il faut être patient et attendre que le téléchargement soit terminé... Ou alors, on peut être astucieux et télécharger en priorité les premiers et derniers morceaux du fichier vidéo. De cette façon, le lecteur vidéo fonctionne, et on peut regarder le film alors qu'il est en train d'être téléchargé.

C'est sur ce principe que fonctionne dontpanic dont j'ai déjà parlé ici, et certainement webtorrent. Mais ces outils m'agacent car ils ont un tas de dépendances, et il faut en plus compter sur les moteurs de recherche de torrents...

J'ai donc eu envie de reprendre les morceaux de code qui m'intéressaient dans dontpanic pour créer un outil minimaliste me permettant de regarder mes torrents "en streaming", SANS PUB. En plus, je ne parvenais plus à compiler python-libtorrent et trouvait inutile les dépendances à sqlite. Bref, l'outil en question s'appelle torstream.

Installation
Récupérez l'archive ici.
Décompressez-là, puis lancez torstream :

wget http://git.yeuxdelibad.net/torstream.tgz
tar xvzf torstream.tgz
cd torstream
python3 torstream.py

Pour l'utiliser, vous aurez besoin des dépendances suivantes : python3-beautifulsoup4, aria2 .

Utilisation
Lorsque vous lancez torstream, il vous demande ce que vous voulez regarder. Indiquez votre recherche, il se charge de chercher sur différents moteurs :

$ python3 torstream.py
What do you want to watch ? 
> vikings vostfr
---
### Search results with alphareign
1 - Vikings S04E19 FASTSUB VOSTFR HDTV XviD-T9
    size: 366.76 MB  seeds: 482  leeches: 6
2 - Vikings.S04E17.FASTSUB.VOSTFR.HDTV.XviD-T9
    size: 367.25 MB  seeds: 468  leeches: 7
3 - Vikings.S04E18.FASTSUB.VOSTFR.HDTV.XviD-T9
    size: 367.28 MB  seeds: 381  leeches: 13
4 - Vikings.S04E15.VOSTFR.HDTV.Xvid-EXTREME
    size: 353.03 MB  seeds: 353  leeches: 10
5 - Vikings.S04E16.FASTSUB.VOSTFR.HDTV.Xvid-EXTREME
    size: 321.49 MB  seeds: 285  leeches: 11
6 - Vikings.S04E13.FASTSUB.VOSTFR.HDTV.Xvid-EXTREME
    size: 374.57 MB  seeds: 272  leeches: 8
7 - Vikings.S04E12.FASTSUB.VOSTFR.HDTV.XViD-EXTREME
    size: 371.83 MB  seeds: 243  leeches: 4
8 - Vikings.S04E14.VOSTFR.HDTV.XViD-EXTREME.www.torrent9.biz.avi
    size: 0.00 B  seeds: 238  leeches: 4
9 - [www.Cpasbien.me] Vikings.S01E01.FASTSUB.VOSTFR.HDTV.XviD-MiND
    size: 365.18 MB  seeds: 182  leeches: 6
10 - Vikings.S01E02.VOSTFR.Gillop.avi
    size: 0.00 B  seeds: 4  leeches: 1
11 - [nextorrent.net] Vikings S04 XviD VOSTFR
    size: 7.50 GB  seeds: 38  leeches: 36
12 - Vikings.S01E01.VOSTFR.Gillop.avi
    size: 0.00 B  seeds: 2  leeches: 0
What is your choice : 
(Number, Enter for more results, ctrl-c to cancel) 

Une fois que vous avez le fichier que vous voulez, entrez son numéro puis validez avec Entrée.
Le téléchargement commence alors avec aria2.


Let's watch Vikings.S04E18.FASTSUB.VOSTFR.HDTV.XviD-T9
Press Enter to play the video when you're ready
(Enter to play)  02/14 15:23:01 [NOTICE] Downloading 1 item(s)

(Enter to play)  02/14 15:23:01 [NOTICE] DHT IPv4 : En écoute sur le port UDP 6948

(Enter to play)  02/14 15:23:01 [NOTICE] IPv4 BitTorrent: listening on TCP port 6935

Lorsque la progression du téléchargement vous semble suffisante (quelques %), appuyez de nouveau sur entrée pour lancer la lecture.

Configuration

Vous pouvez choisir que lecteur vidéo sera utilisé en modifiant le fichier ~/.torstream. La configuration par défaut est :

[DEFAULT]
videoplayer = mpv


Moteurs supportés

Les moteurs de recherche suivants sont actuellements supportés. Toutes suggestions sont les bienvenues :

  • alphareign,
  • torrent9,
  • digbt,
  • piratebay,
  • p2psearch,
  • 1337x,
  • btdb,
  • kickasstorrents,
  • isohunt

.
Amusez-vous bien :)

Tristes nouvelles autour du torrent dernièrement. L'excellent btdigg ne retourne plus de résultats, torrentz est fermé, torrentproject a fermé son API et utilise une protection le rendant impossible à utiliser hors d'un navigateur web.

Forcément, dontpanic qui a besoin d'un moteur de recherche de torrent se sent bien seul.
Étant seul à le maintenir, ce n'est pas facile à maintenir, surtout dans ces cas là. Heureusement, le collectif 3hg a repris le projet dontpanic. Merci!

Au passage, on peut noter les améliorations suivantes :

  • Retrait des moteurs morts,
  • Mise à jour des moteurs piratebay et kickasstorrent,
  • Ajout du moteur isohunt,
  • Légères améliorations dans le code.

Ce changement d'équipe implique que dontpanic n'est plus hébergé sur mon site et n'est plus empaqueté. Ça n'empêche pas d'utiliser le code source comme avant et lancer dontpanic en ligne de commande :

./dontpanic

Si quiconque est intéressé pour en faire un paquet, un port, il ne faut surtout pas hésiter à se servir des sources.

De quoi streamer du torrent sans retenue.

Depuis le temps, je me replonge dans le code de dontpanic bien qu'il n'y ait plus grand chose à y faire en réalité :)

Il passe donc en version 1.3, avec les changements suivants :

- Correction du bug pour recherche sur tous les moteurs même avec traduction activée,
- Correction d'un bug lors du téléchargement des sous-titres,
- Le même dossier temporaire est utilisé entre deux sessions. Cela évite le surpeuplement de /tmp,
- Dontpanic affiche un petit message s'il peut être mis à jour,
- L'apparence légèrement améliorée.

Je vous invite donc à mettre à jour dontpanic en téléchargeant la dernière version.

Si vous avez ajouté mon dépôt debian, alors un simple "apt update && apt upgrade" sera suffisant.

N'hésitez pas à commenter si vous avez des suggestions à faire ;)

Je suis ravi de vous annoncer la sortie de dontpanic en version 1.2. Cette mouture apporte une nouveauté qui me tenait à coeur point de vue confidentialité.

Voici donc la liste des changements :

  • L'interface a été retravaillée par Tankypon et est désormais compatible avec les nouveaux tags html5, et il faut le dire, plus agréable,
  • Le moteur de recherche kickasstorrent est désormais disponible,
  • Il est désormais possible de réaliser une recherche sur tous les moteurs confondus,
  • On peut enregistrer le moteur de recherche préféré, au lieu devoir le préciser à chaque fois,
  • Il est désormais possible d'utiliser un proxy afin de masquer son adresse IP. C'était la dernière étape pour être anonyme, puisque les échanges sont déjà chiffrés par défaut. Les proxys disponibles sont SOCKS, HTTP et I2P. Voilà de quoi se rassurer à l'utilisation de dontpanic, même si le fonctionnement précédent était déjà robuste,
  • Allociné n'est plus utilisé pour les recherches et suggestions. L'absence d'API fiable et l'incompatibilité avec IMDB devenait pesante,
  • Diverses factorisations du code, plus facile à maintenir.

Puisqu'il y a maintenant un site pour dontpanic, je vous renvoie vers la page de téléchargement pour tester la nouvelle version.

Amusez-vous bien!

Il est temps de vous tenir au courant des évolutions que dontpanic a reçu. Vous vous souvenez, c'est un remplaçant à popcorn-time. Pour rappel, c'est une application qui vous permet de regarder des films ou des séries en streaming tout en se basant sur le protocole bittorrent. Rien n'est hébergé, puisque seuls les liens magnets sont utilisés. C'est bien entendu sous licence libre. Au regard du développement récent, je publie dontpanic en version 1.0.



Depuis l'arrivée d'un nouveau contributeur, j'ai nommé Tankypon, le code a été nettement amélioré pour respecter les standards du python. Et comme d'habitude, lorsqu'on travaille à plusieurs, c'est beaucoup plus stimulant et des idées apparaissent. Voilà pourquoi je publie la version 1.0 afin de marquer ces changements majeurs avant de reprendre le travail.
Voici donc quelques changements notables pour les utilisateurs :

  • Les vidéos sont maintenant intégrées grâce à la balise .Cela fonctionne sur la plupart des navigateurs, et à tous les coups sur surf.
  • Dans le cas où le navigateur n'arrive pas à lire la vidéo, deux choix sont proposés : ouvrir la vidéo avec un lecteur vidéo externe (celui par défaut du système) ou bien de télécharger la vidéo sur le disque.
  • Les recherches réalisées sont enregistrées, pour rapidement accéder à ses séries favorites à partir de la page d'accueil plutôt que de devoir faire tout le processus de recherche à chaque fois. Ces recherches sont aisées à retirer si on le souhaite.
  • Il est désormais possible d'ordonner les résultats par ordre alphabétique ou par nombre de seeders.
  • L'apparence générale a été améliorée : un fond venant de unsplash est sélectionné chaque jour, des petits icônes égaient l'interface.
  • Un exécutable pour windows est disponible grâce à la persévérance (folie?) de Tankypon. C'est une première, ce client reste donc certainement buggué.
  • Vous pouvez chercher sur tous les moteurs de recherche de torrent supportés en même temps.
  • Des traductions sont disponibles. Pour l'instant, seulement l'anglais et le français. L'utilisation de fichiers .po facilitera les contributions dans ce domaine.
  • Et bien sûr, de nombreux bugs ont été corrigés.

Moins visible pour les utilisateurs, quelques modifications et améliorations sont à noter en plus :

  • Tankypon a entièrement réécrit la partie "base de donnée". Le code est plus facile à maintenir, et les requêtes sont optimisées. Ça devrait plaire à ceux qui hébergent dontpanic. Car je le rappelle, c'est une application qui peut tout à fait tourner comme serveur.
  • Le code respecte la PEP-8, ce qui le rendra facilement installable via PIP à l'avenir. Seule la bibliothèque libtorrent manque à l'appel pour mettre cela en place.

Bref, je vous invite à tester cette nouvelle version. Les liens suivants vous donneront accès :



Pour terminer, deux captures d'écran :


capture dontpanic 1
capture dontpanic 7