Torrent v1/better code appearence/fix rel

master
Quentin Duchemin 2024-03-28 23:49:29 +01:00
parent 7f4380ac57
commit ad41cc2420
6 changed files with 156 additions and 4 deletions

View File

@ -6,7 +6,7 @@ weight: 3
categories:
- Santé
summary: L'enthousiasme aura été de courte durée. Dès 1960, le LSD «s'échappe des labos». Une mosaïque complexe de méfiance sociale, scientifique et politique sonne le glas pour les études psychédéliques, marginalisées puis criminalisées.
intro: Dans le [précédent billet]({{<ref "/content/posts/lsd/02-lsd-everywhere/index.md">}}), on a vu que malgré des paradigmes très différents pour mener les expérimentations autour du LSD (thérapies de choc vs set and settings), l'espoir est grand et surtout international. Aujourd'hui, le LSD est criminalisé et inscrit sur [la liste des substances les plus dangereuses](https://en.wikipedia.org/wiki/Convention_on_Psychotropic_Substances#Schedules_of_Controlled_Substances) de l'ONU. Comment en est-on arrivé là? C'est parti pour un tour d'horizon non-exhaustif.
intro: Dans le [précédent billet]({{<ref "/posts/lsd/02-lsd-everywhere/index.md">}}), on a vu que malgré des paradigmes très différents pour mener les expérimentations autour du LSD (thérapies de choc vs set and settings), l'espoir est grand et surtout international. Aujourd'hui, le LSD est criminalisé et inscrit sur [la liste des substances les plus dangereuses](https://en.wikipedia.org/wiki/Convention_on_Psychotropic_Substances#Schedules_of_Controlled_Substances) de l'ONU. Comment en est-on arrivé là? C'est parti pour un tour d'horizon non-exhaustif.
imgLicence: «Défense de prendre des narcotiques DDC_0518» par Abode of Chaos - CC BY 2.0.
---

View File

@ -6,7 +6,7 @@ weight: 4
categories:
- Santé
summary: Contre toute attente, quelques études rouvrent une brèche autour des psychédéliques à la fin des années 2000. Depuis quelques années, les études explosent et s'institutionnalisent. La presse est très enthousiaste. La légalisation est proche. Faut-il crier victoire?
intro: Dans le [précédent billet]({{<ref "/content/posts/lsd/03-lsd-banned/index.md">}}), on a vu comment le LSD a incarné un espoir important pour la médecine avant d'être perçu comme un péril mortel pour les sociétés occidentales. L'évolution de la méthode scientifique, le rejet du *care* et une panique morale générale ont abouti à sa marginalisation puis à sa criminalisation. Pourtant, quelques études rouvrent timidement le sujet dans les années 2000. Les études s'accélèrent et s'institutionnalisent depuis 2015. Qu'est-ce qui a changé aujourd'hui? Quelles perspectives pour les psychédéliques? Faut-il craindre une récupération délétère de l'industrie pharmaceutique? C'est ce qu'on va voir dans ce billet.
intro: Dans le [précédent billet]({{<ref "/posts/lsd/03-lsd-banned/index.md">}}), on a vu comment le LSD a incarné un espoir important pour la médecine avant d'être perçu comme un péril mortel pour les sociétés occidentales. L'évolution de la méthode scientifique, le rejet du *care* et une panique morale générale ont abouti à sa marginalisation puis à sa criminalisation. Pourtant, quelques études rouvrent timidement le sujet dans les années 2000. Les études s'accélèrent et s'institutionnalisent depuis 2015. Qu'est-ce qui a changé aujourd'hui? Quelles perspectives pour les psychédéliques? Faut-il craindre une récupération délétère de l'industrie pharmaceutique? C'est ce qu'on va voir dans ce billet.
imgLicence: Street-art et recherches psychédéliques ([source](https://societepsychedelique.fr/fr/blog/quand-la-science-psychedelique-inspire-le-street-art))
---
@ -58,7 +58,7 @@ Histoire de se convaincre que le renouveau est loin d'être marginal, voici quel
D'autres psychédéliques, comme la [DMT](https://en.wikipedia.org/wiki/N,N-Dimethyltryptamine), la [mescaline](https://en.wikipedia.org/wiki/Mescaline) ou dans une moindre mesure la [MDMA](https://en.wikipedia.org/wiki/MDMA) se sont invités dans les programmes de recherche. Leur point commun tient dans l'innocuité des doses administrées et dans le peu de séances nécessaires, contrairement aux stratégies classiques qui s'étalent sur de longues durées, par exemple dans le cas de la dépression.
{{<warn title="L'arbre et la forêt">}}
Les recherches les plus médiatisées concernent la santé mentale et les psychédéliques, mais ce sont aussi les recherches les plus difficiles à mener et à publier. Pour aller jusqu'en phase III et prouver l'efficacité pharmacologique d'une molécule, il faut élaborer des protocoles extrêmement stricts. On a vu dans le [précédent billet]({{<ref "/content/posts/lsd/03-lsd-banned/index.md">}}/#des-essais-cliniques-de-plus-en-plus-contrôlés) à quel point c'est difficile. Mais en parallèle, les neurosciences utilisent massivement l'imagerie cérébrale pour tenter de comprendre les effets structurels des psychédéliques sur le cerveau. Il est beaucoup plus «facile» de publier sous cet angle, et les neurosciences sont à la mode.
Les recherches les plus médiatisées concernent la santé mentale et les psychédéliques, mais ce sont aussi les recherches les plus difficiles à mener et à publier. Pour aller jusqu'en phase III et prouver l'efficacité pharmacologique d'une molécule, il faut élaborer des protocoles extrêmement stricts. On a vu dans le [précédent billet]({{<ref "/posts/lsd/03-lsd-banned/index.md">}}/#des-essais-cliniques-de-plus-en-plus-contrôlés) à quel point c'est difficile. Mais en parallèle, les neurosciences utilisent massivement l'imagerie cérébrale pour tenter de comprendre les effets structurels des psychédéliques sur le cerveau. Il est beaucoup plus «facile» de publier sous cet angle, et les neurosciences sont à la mode.
{{</warn>}}
{{<question>}}Pourquoi l'opinion publique semble-t-elle désormais plus accueillante vis-à-vis des psychédéliques?{{</question>}}
@ -196,4 +196,4 @@ Pourtant, malgré quelques articles de presse, le sujet est ignoré dans les rev
---
C'en est fini pour cette partie pas très joyeuse. Alors, histoire de ne pas rester sur une note sombre, haut les cœurs et direction la [clôture de cette série]({{<ref "/content/posts/lsd/05-conclusion/index.md">}}) 🥰.
C'en est fini pour cette partie pas très joyeuse. Alors, histoire de ne pas rester sur une note sombre, haut les cœurs et direction la [clôture de cette série]({{<ref "/posts/lsd/05-conclusion/index.md">}}) 🥰.

View File

@ -0,0 +1,142 @@
---
title: Créer et seeder un torrent sous Debian
date: 2024-03-28
categories:
- Geekeries
summary: "J'ai passé une bonne heure à trouver comment faire, avec étonnamment peu de documentation explicite. Je vous livre les quelques commandes magiques 🎉."
intro: Récemment, j'ai du transmettre à une personne une archive d'une centaine de Go, dont le téléchargement derrière un `nginx` finissait toujours par échouer. J'ai alors décidé de créer un torrent et de le seeder depuis mon serveur, et j'ai été étonné du peu de documentation clé en main sur le sujet. Voilà ma petite contribution ; je suis preneur·se si vous trouvez quelque chose d'autre 😉.
imgExplanation: En image d'illustration, un extrait de la délicieuse [pub anti-piratage](https://en.wikipedia.org/wiki/You_Wouldn%27t_Steal_a_Car) maintes fois détournée.
---
# Prérequis
On va utiliser [Tranmission](https://wiki.archlinux.org/title/Transmission), un client [BitTorrent](https://fr.wikipedia.org/wiki/BitTorrent) libre très utilisé, qui a l'avantage de proposer une CLI simple d'utilisation et de pouvoir gérer la création de torrents.
Pour ce faire, on installe deux paquets :
```bash
sudo apt install transmission-daemon transmission-cli
```
Puis on lance le daemon Transmission :
```bash
sudo systemctl start transmission-daemon
```
On peut vérifier sur quel port il écoute :
```bash
sudo ss --tcp -pn
ESTAB [...] 54.38.93.217:51413 [...] users:(("transmission-da",pid=3840919,fd=24))
```
Le port `51413` est le port TCP par défaut de Transmission. Il existe plusieurs mécanismes pour échanger des fichiers via BitTorrent, et ici on utilisera le plus simple : Transmission annoncera qu'on peut contacter notre serveur sur ce port pour le récupérer.
{{<warn>}}Si vous avez un pare-feu type tout sauf whitelist, c'est le moment d'ouvrir le port !{{</warn>}}
# Configurer Transmission
Transmission a la fâcheuse habitude de ré-écrire sa configuration au redémarrage s'il n'est pas arrêté lors de la modification.
On commence donc par stopper le daemon :
```bash
sudo systemctl stop transmission-daemon
```
On aura besoin de changer un paramètre dans le fichier de configuration :
```bash
sudo vim /etc/transmission-daemon/settings.json
```
On passe `rpc-authentication-required` à `false`. Ça facilitera l'usage de la CLI en désactivant l'authentification.
{{<info>}}Pas d'inquiétude, une whitelist par défaut limite l'authentification à `localhost`, donc si vous avez l'entière maîtrise sur votre serveur, je n'y vois pas d'inconvénient majeur. Après, je ne suis pas le plus strict niveau sécurité 😇.{{</info>}}
On redémarre le daemon :
```bash
sudo systemctl start transmission-daemon
```
# Créer un torrent
Pour créer un torrent avec Transmission, on a besoin de deux choses :
- Un répertoire ou un fichier à seeder ;
- Une liste de [**trackers**](https://fr.wikipedia.org/wiki/Tracker_BitTorrent).
Les trackers sont de loin la méthode la plus utilisée pour trouver des pairs possédant une copie des fichiers d'un torrent. Les clients BitTorrent communiquent aux trackers quelles parties des fichiers ils peuvent seeder et comment les contacter, puis switchent sur le pair-à-pair.
{{<info>}}Pour les plus curieux·se d'entre vous, il existe aussi une méthode entièrement décentralisée qui repose sur les [tables de hachage distribuée](https://igm.univ-mlv.fr/~dr/XPOSE2013/bittorrent/ext.html).{{</info>}}
Il existe des trackers publics et privés. Les trackers publics sont maintenus parfois par des associations, parfois par des individus, mais ils sont loin d'être stables. L'idéal est donc d'associer plusieurs trackers public à un torrent pour être sûr·e qu'au moins un des trackers soit accessible lors du leech.
{{<info>}}Sur [ce dépôt](https://github.com/ngosang/trackerslist), tu trouveras une liste très active des trackers publics fonctionnels.{{</info>}}
On a tout ce qu'il nous faut ! Imaginons maintenant que tu aies un dossier `perfectly_legal` que tu souhaites seeder. Voici comment créer le fichier torrent :
```bash
# Rajouter plusieurs trackers en répétant l'option -t ; j'en mets 4 ou 5.
transmission-create perfectly_legal -t <tracker_1> [-t <tracker_2> ...] -o perfectly_legal.torrent
```
{{<warn>}}Plus le dossier est gros, plus la création du torrent est longue ; plusieurs minutes pour 100Go.{{</warn>}}
Le torrent ne contient finalement pas grand chose : le nom du dossier, la liste des trackers et le hash du torrent, indispensable pour l'identifier sur les trackers. Ce hash dépend bien sûr du dossier et de son contenu.
# Seeder le torrent
Avant de se mettre à seeder, il faut copier notre dossier `perfectly_legal` dans le dossier de téléchargement de Transmission, sinon le daemon ne se rendra pas compte qu'il a déjà une copie du fichier !
```bash
rsync -av perfectly_legal /var/lib/transmission-daemon/downloads/
```
{{<info>}}Tu peux modifier le chemin dans le fichier de conf, clé `download-dir`. N'oubliez pas d'arrêter le daemon avant la modification, cf partie configuration 😉.{{</info>}}
Puis on lance le seed (mais qui pourrait être un leech, c'est le même client !):
```bash
transmission-remote -a perfectly_legal.torrent
```
Transmission commence par se rendre compte qu'il possède le fichier et en vérifie l'intégrité. Tu peux suivre cette évolution comme ceci :
```bash
watch -n .1 transmission-remote -l
ID Done Have ETA Up Down Ratio Status Name
1 100% 502.4 MB Done 0.0 0.0 0.0 Idle perfectly_legal
```
Dès que tu es à 100%, c'est bon. Transmission annonce aux différents trackers qu'il peut seeder le dossier que tu veux partager.
J'utilise [qBitTorrent](https://www.qbittorrent.org/) pour gérer les torrent que je télécharge. Quand j'ouvre `perfectly_legal.torrent` et que je commence le téléchargement, chaque tracker m'indique un pair. Logique, c'est le serveur depuis lequel je seed. Quand je regarde ses informations, je vois :
{{<figure src="qbittorrent.png">}}
Pas de surprise, c'est le port sur lequel écoute Transmission, comme on l'a vu lors de l'installation.
{{<info>}}Pour être sûr·e que tout est cohérent, si tu attends la fin du téléchargement et que tu relances la commande suivante...
```bash
transmission-remote -l
ID Done Have ETA Up Down Ratio Status Name
1 100% 502.4 MB Done 0.0 0.0 1.0 Idle perfectly_legal
```
Tu vois maintenant que le ratio est à `1.0`, c'est-à-dire que tu as seedé l'intégralité du dossier ! 🥳
{{</info>}}
# Conclusion
Ce billet montre juste comment partager un torrent. Le cas d'usage classique est un fichier très lourd à partager.
Mais on peut faire des merveilles avec Transmission, et très simplement ! Par exemple, si tu...
* Ré-active l'authentification RPC (port `9091` par défaut, à ouvrir),
* Élargit la liste blanche pour l'authentification (limitée à `localhost` par défaut),
* Télécharge sur ton ordinateur le [client Transmission](https://transmissionbt.com/),
* Et te connecte...
Tu as une interface pour contrôler le démon à distance. Et, globalement... ben c'est une seedbox ! 🚀

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -101,3 +101,13 @@ so visitors can see them */
.hero a:hover {
text-decoration: underline;
}
/* linenos=false or linenos=inline */
.highlight > pre {
border-radius: 8px;
padding: 1em;
}
.highlight {
margin-bottom: 1em;
}