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

De l’épice pour la pensée

Peut-être vous souvenez-vous, je développais pendant un temps dontpanic. Cette application permettait de télécharger des vidéos via le protocole torrent, et de les regarder au fur et à mesure qu'on récupérait les données. De plus, on pouvait garder une trace des épisodes regardés, avoir le synopsis des films... Bref, c'était devenu trop gros pour moi seul, et surtout difficile à maintenir. Autre souci ennuyeux, le code reposait sur une bibliothèque python (libtorrent) peu pratique à porter sur d'autres systèmes.

Un peu plus tard, j'ai repris le principe avec une interface dans un terminal en l'appelant "torstream". Afin de charger les torrents, je laissais cete tâche à aria2, et ça fonctionnait plutôt pas mal.

Cependant, les moteurs de recherche dans la DHT changent souvent, ou la façon dont j'avais écrit torstream rendait peu pratique le maintient de la partie "recherche".

Dernièrement, j'ai retroussé mes manches et j'ai le plaisir de vous annoncer la sortie de torstream en version "0.5" (ouais, jsuis un fou ^^). J'en suis assez content car j'ai pu résoudre plusieurs soucis, notamment :

  • L'intégration de nouveaux moteurs de recherche et leur maintient est beaucoup plus pratique. Moteurs et interface sont séparés.
  • Les recherches se font plus rapidement grâce à des requêtes en parallèle.
  • L'interface ne se limite plus au terminal, on peut utiliser aussi une interface web. Cette partie me permet de préparer la publication de torstream sur un serveur. En effet, ça, ça serait le pied, mais j'y reviens plus tard.
  • L'interface web s'appuie sur des requêtes en AJAX. C'est plus joli et fluide. Reste du boulot sur le CSS cependant.
  • Les recherches sont mises en cache, ça aussi, pour préparer la publication en tant que serveur.

Et la suite alors?
Je voudrais proposer torstream comme application à héberger sur un serveur. Quiconque tape sa recherche dans l'interface peut alors charger et regarder une vidéo. J'ai eu énormément d'espoir en découvrant récemment webtorrent qui transforme votre navigateur en client bittorrent. Cependant, ce dernier fonctionne très bien, mais pas avec les torrents qu'on utilise tous (basé sur websockets et pas TCP/IP). Trop déçu que je suis, j'espère très fort qu'il va permettre de prendre en charge les torrents habituels bientôt, et là ça va roxer du poney! :)

Bon, j'arrête là le blabla et vous laisse tester la nouvelle version, disponible ici : https://framagit.org/Thuban/torstream

alt

Je parlais il y a un moment des alternatives possibles à T411. Il y en a un bon paquet, et vous avez été nombreux à en suggérer de nouvelles.
Il a été porté à ma connaissance un autre "clone" de T411 nommé t411.si mais dont le principe de base est nettement plus intelligent : t411.si n'est plus un tracker, tout passe par des trackers publics ou par DHT. Encore mieux, il n'héberge aucun fichier, vous n'y trouverez que des liens magnets. Légalement c'est donc irréprochable. À chacun de prendre ses responsabilités.
Par ailleurs, pas besoin d'inscription pour chercher un fichier. Je n'ai plus qu'à mettre à jour torstream et dontpanic... (contributions bienvenues)

J'ignore ce que va donner cette initiative ainsi que toutes les autres. Ce qui est certain, c'est que l'Homme a besoin de culture, que la culture devrait être accessible bien plus facilement, et que ces sites favorisent la découverte d'oeuvres et d'artistes nettement mieux que les alternatives dites "légales". Plus d'un serait ravi de payer pour du contenu qu'il apprécie, mais pas pour les DRM et sans les prises de tête que donnent les sites d'achat avec inscription et divulgation outrageuses de données personnelles.

Je met ça là ...

et aussi :

Si vous en avez d'autres, en particulier moteurs de recherche dans la DHT, ça va dans les commentaires ;)

Il y a ça à tester aussi pour héberger son moteur de recherche : https://github.com/boramalper/magnetico

EDIT :

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 :)