Planet Libre

genma : Livres informatique à donner sur Paris

Régulièrement je fais du tri sur les étagère de ma bibliothèque et cette fois ce sont les livres suivants que je donne sur Paris (exclusivement, car l'occasion de se rencontrer et c'est plus facile que d'envoyer par la Poste).

J'avais reçu des éditions Eyrolles pour que je les lises fasse des critiques et ensuite les distribue :
- Le guide de la maison des objets connectés (Critique du livre ici)
- Le livre de Java premier langage, pour apprendre le Java, idéal pour un étudiant
-Sécurité opérationnelle Conseils pratiques pour sécuriser le SI par Alexandre Fernandez-Toro (Critique du livre ici) RESERVE
- E-commerce Tout savoir avant de créer une boutique en ligne ! de Bernard Eben (Critique du livre ici)
-CSS Flexbox (Présentation du livre chez l'Editeur) RESERVE

Enfin un vieux livre (date de 2008) mais des choses restent valables :
- Debian GNU/Linux, Sécurité du système par Franck Huet

Contactez moi si vous êtes intéressé, je mettrais la liste à jour en conséquence.

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Carl Chenet : Les crypto-monnaies : le monero

Toujours dans notre série consacrée aux crypto-monnaies et après la présentation du bitcoin puis de l’ethereum, nous présentons aujourd’hui le monero, une crypto-monnaie mettant en avant la sécurité, la protection de la vie privée et l’intraçabilité.

monero-logo

Une crypto-monnaie de plus, mais pourquoi ?

La question ne s’est pas posée avec le projet ethereum, car ce dernier met grandement en avant la chaîne de bloc et ses utilisations possibles et dans laquelle la monnaie du projet l’ether n’occupe qu’une place secondaire, en tout cas au point de vue de l’attention qu’officiellement le projet semble lui accorder. Pourtant devant la multiplication des crypto-monnaies et en particulier les premiers dérivés de bitcoin, comme le litecoin ou le dogecoin, on peut légitimement s’interroger sur l’intérêt d’une crypto-monnaie de plus.

Dogecoin et Litecoin, des clones techniques très proches de bitcoin

Dogecoin et Litecoin, des clones techniques très proches de bitcoin

Les premières crypto-monnaies alternatives

Devant le succès de bitcoin, de très nombreux projets alternatifs se sont créées, cherchant plus ou moins à bénéficier de sa popularité croissante et offrant peu d’évolutions par rapport aux caractéristiques intrinsèques du projet bitcoin.

En effet le bitcoin est le premier essai grandeur nature de l’utilisation d’une crypto-monnaie ayant rencontré un succès certain et ayant pu être testé à grande échelle. Étudier une crypto-monnaie dans son utilisation grandeur nature a permis d’identifier de nombreux problèmes concrets, touchant en général à la sécurité des utilisateurs, à la protection de leur vie privée et des possibilités de traçage dans leur utilisation d’une crypto-monnaie.

Car si les médias généralistes se sont emparés du bitcoin, c’est avant tout grâce à plusieurs affaires judiciaires ayant défrayées la chronique, en particulier la saga Silk Road, un site web spécialisé dans la vente de drogue sur lequel les paiements s’effectuaient en bitcoin, les utilisateurs des crypto-monnaies ont dont été rapidement confrontés aux réactions des autorités et à leur capacité d’enquête et donc à s’interroger sur la solidité de la protection de la vie privée et de l’intraçabilité du bitcoin.

Silk Road, site de vente de substances illégales présent sur Tor

Silk Road, site de vente de substances illégales ayant opéré via Tor

Devant les manques du porte-monnaie bitcoin, les alternatives offrant davantage de sécurité émergent aujourd’hui et en particulier le monero.

La sécurité du monero

Votre porte-monnaie monero est protégé par une phrase de passe sans laquelle il est inutile. Vous pouvez générer une suite mnémonique de 25 mots, suite correspondante à votre clé privée, afin de régénérer votre clé privée en cas de perte de données sur votre ordinateur.

La protection de vos données personnelles par monero

Avec monero, vous pouvez envoyer et recevoir des fonds sans que la transaction associée soit visible sur la chaîne de bloc.

L’intraçabilité du monero

Rendre les fonds intraçables est une fonctionnalité du monero, rendant ambigu quels fonds ont été dépensés par qui, afin d’empêcher de relier des fonds à un utilisateur particulier

Installer le porte-monnaie monero

Maintenant entrons dans le vif du sujet. Le porte-feuille monero est téléchargeable sur le site web officiel du projet. Nous choisissons de télécharger ce dernier directement afin de ne pas dépendre d’un mainteneur intermédiaire et d’être le plus à jour possible quant à la version du porte-monnaie monero installée sur notre poste.

Vous pouvez installer le porte-monnaie monero à l’aide des commandes suivantes (version Linux 64 bits) :

$ mkdir -p ~/wallets/monero $ cd ~/wallets/monero $ wget https://downloads.getmonero.org/monero.linux.x64.v0-10-0-0.tar.bz2 $ sha256sum monero.linux.x64.v0-10-0-0.tar.bz2 |grep 6fe4cdb98d6ea7d2eded79841f70cb64edb840fcb2c84b904a1114424cffc5b1 6fe4cdb98d6ea7d2eded79841f70cb64edb840fcb2c84b904a1114424cffc5b1 monero.linux.x64.v0-10-0-0.tar.bz2 $ mkdir monero_0.10.0.0 && cd monero_0.10.0.0 $ tar jxvf monero.linux.x64.v0-10-0-0.tar.bz2

Lors de cette installation très standard, nous vérifions la somme de hachage de l’archive afin de vérifier sa conformité par rapport à celle fournie par le projet monero.

Téléchargement de la chaîne de bloc monero

Nous commençons par lancer le binaire qui s’occupe de télécharger la chaîne de bloc avec laquelle vous allez ensuite synchroniser votre porte-monnaie. Cela se fait avec la commande suivante :

$ ./monerod

Le temps de téléchargement de la chaîne de bloc va dépendre du débit de votre connexion internet. Prévoir également 10 gigaoctets de données qui seront stockées dans ~/.bitmonero/lmdb/data.mdb

Premier lancement du porte-monnaie monero

Tout d’abord, bien que le projet monero soit assez ancien et très complet en fonctionnalité, le porte-monnaie officiel reste à ce jour une application en ligne de commande. Des initiatives sont subventionnées par le projet pour aboutir à un porte-monnaie graphique et à une application mobile sont toutefois en cours. Pour lancer votre porte-monnaie monero, il suffit de passer la commande suivante :

$ ./monero-wallet-cli Creating the logger system Monero 'Wolfram Warptangent' (v0.10.0.0-release) Logging at log level 0 to /tmp/./monero-wallet-cli.log Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created. Wallet file name: mymonerowallet

Un mot de passe vous est ensuite demandé ainsi que la langue à utiliser :

password: **************** password: **************** List of available languages for your wallet's seed: 0 : English 1 : Spanish 2 : German 3 : Italian 4 : Portuguese 5 : Russian 6 : Japanese Enter the number corresponding to the language of your choice: 0

La génération du porte-monnaie commence. Des informations très importantes vous sont communiquées :

Generated new wallet: 499Rz7wbvVhW6bLDfMQ1448zCZSThj7c7RMZEj1woF6sWP2XhdRYpXR3tf5WUScjAG3t4wyhsr24dUS14Fk4rrUt6PK2oXm View key: 23765909984c2f2633ddf343692bb1b277ec66662a626257a5ccd3bde7b49c02 ********************************************************************** Your wallet has been generated! PLEASE NOTE: the following 25 words can be used to recover access to your wallet. Please write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. money agile bays scamper meeting omission kiosk jury jeans mesh ripped bays jury academy vexed tomorrow espionage fainted cease comb swagger mesh urgent vexed fainted **********************************************************************

Nous retiendrons ici la clé mnémonique correspondant à la clé privée de votre porte-monnaie monero. Il est important de sauver ces informations mais en les conservant à l’abri des indiscrétions.

Consulter son porte-monnaie Monero

Au second lancement de votre porte-monnaie monero, voici les informations qui vous seront immédiatement présentées :

Starting refresh... Refresh done, blocks received: 553 Balance: 0.940000000000, unlocked balance: 0.940000000000

Nous voyons donc immédiatement notre solde immédiatement utilisable (ici unlocked balance) et le solde restant à confirmer (ici Balance).

Envoyer du monero

Rien de plus simple que d’envoyer du monero, il vous suffit de connaître l’adresse de votre destinataire et de passer la commande suivante :

[wallet 33NGv8]: transfer 49EqSG4URLDFfzSxvRBUxTLftcNM98DT5MvFp4JNJRih3icqrjVJiY8Jr9YF1atXN7UFBDx4vKq4s3ozUpkwrEAuEioqyWC 0.5 Money successfully sent, transaction

Comme nous le voyons, transférer du monero ne présente aucune difficulté. Le premier argument est la clé publique du destinataire et le second argument le montant à envoyer. Les frais d’envoi son automatiquement calculés et prélevés par rapport à la somme envoyée. Cela a un côté très pratique et évite les erreurs de débutant qui omettent les frais de transfert et voit leur requête échouer après plusieurs jours voire plusieurs heures d’attente car aucun mineur n’a voulu traiter une transaction n’offrant pas de paiement des frais en retour.

Recevoir du monero

Recevoir du monero ne pose aucun problème particulier, il peut suffire de fournir son adresse publique qu’on obtient avec la commande suivante :

[wallet 33NGv8]]: address 43GGv8KzVhxehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznKHGAhDi

Toutefois si vous fournissez cette adresse à différents payeurs, vous ne saurez pas qui vous a payé telle ou telle somme. Il est donc important d’associer une identité de paiement à une adresse. Pour cela nous allons utiliser la commande suivante :

[wallet 33NGv8]: integrated_address Random payment ID: <5be0cca74c8bf209> Matching integrated address: 4Cxwvw9V6yUehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznUA5uvhQu3yj22nZ4Bz

Ici nous saurons donc que l’identité de paiement 5be0cca74c8bf209 est associée à l’adresse ci-dessus. Nous pourrons ainsi communiquer à un tiers cette adresse (qui embarque l’identité de paiement) et plus tard recevoir les fonds transmis via cette adresse et en déduire l’identité de paiement associé et donc la ou les personnes à qui nous l’avons communiquée.

Sauvegarder votre porte-monnaie monero

Le seul fichier à sauvegarder est mymonerowallet.keys, qui contient votre clé privée. Tous les autres seront automatiquement régénérés. Il faut également sauvegarder la clé mnémonique vue plus haut en cas de corruption de votre clé sur l’ensemble de vos ordinateurs. Vous pouvez facilement réaliser une sauvegarde papier de cette clé mnémonique qui ne tient que sur 25 mots.

Monero, un projet communautaire

Monero est un projet s’appuyant fortement sur sa communauté très active de développeurs et d’utilisateurs. Des financements participatifs sont régulièrement réalisés pour implémenter de nouvelles fonctionnalités ou soutenir des idées intéressantes.

C’est dans cette optique que j’ai lancé un financement participatif afin de réunir des fonds pour financer mon projet PyMoneroWallet, une bibliothèque Python pour le porte-monnaie monero.

python-logo-master-v3-TMPython et monero, l’association d’un puissant langage de programmation et d’une crypto-monnaie efficace

Visant à développer l’usage par les autres programmes Python et l’automatisation des actions des actions possibles avec le porte-monnaie Monero, ce financement participatif – bien sûr en monero – sera financé par la communauté pour que je puisse mener à bien ce projet, selon une liste d’engagement soumise à la communauté.

$ python3 >>> from monerowallet import MoneroWallet >>> mw = MoneroWallet() >>> mw.getbalance() {'unlocked_balance': 2262265030000, 'balance': 2262265030000}

Si vous trouvez l’idée intéressante, n’hésitez pas à laisser un commentaire allant dans ce sens (en anglais) sur la page dédiée au projet sur le forum officiel monero.

Conclusion

Offrant des fonctionnalités inédites par rapport aux autres crypto-monnaies, activement développé par sa propre communauté dans un périmètre clair et bien défini – beaucoup moins vaste et flou que celui de l’ethereum par exemple – le monero est une crypto-monnaie alternative pouvant aller très loin car elle a bien su cerner les manques des autres crypto-monnaies et offrir des solutions innovantes pour combler ces manques.

Très communautaire, bien valorisé dans son cours actuel – 1 monero équivaut à 9,3mB (pour milli-bitcoin) – le monero offre un terrain d’expérimentation très intéressant à explorer et pour lequel beaucoup de choses restent à faire.

Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.

Articles similaires

mozillaZine-fr : 1er Firefox préinstallé sur un Android

AT&T Huawei Ascend XT GoPhone Prepaid Smartphone - Walmart.comSur Twitter, Lawrence Mandel publie une photo du premier smartphone vendu avec Firefox pour Android préinstallé.

Firefox now comes pre bundled on an Android device. https://t.co/fSOdHH34yL

— Lawrence Mandel (@mmmandel) October 22, 2016

C’est un effort pour Huawei quand on sait que Chrome fait partie des applications « gracieusement » offertes aux constructeurs par Google avec Android.

Gravatar de mozillaZine-fr
Original post of mozillaZine-fr.Votez pour ce billet sur Planet Libre.

Articles similaires

Pierre-Alain Bandinelli : Un couple d'enfer : ESP8266 et DS18B20, un petit objet connecté à quelques euros qui mesure la température et la transmet par Wifi

Nous avons parlé de l'ESP8266 propulsé par micropython dans le billet précent. Parmi la multitude d'application possible, nous allons voir aujourd'hui comment coupler l'ESP8266 à une sonde DS18B20 pour relever périodiquement la température d'une pièce et transférer la valeur en Wifi à une base InfluxDB.

Principe

Nous parlons ici de mesure de température dans un lieu de vie : une prise de température toutes les 10 minutes est suffisante. Nous allons dès lors mettre en place le fonctionnement suivant pour l'ESP8266 :

  1. allumage, mise en route du Wifi, connexion au Wifi local
  2. mesure à 10 reprises de la température
  3. suppression des 2 valeurs extrêmes supérieures et des 2 valeurs extrêmes inférieures
  4. moyenne des 6 valeurs restantes
  5. envoi de la valeur à une base de données InfluxDB au moyen d'une requête POST
  6. mise en sommeil de l'ESP8266 pour 10 minutes

A la sortie de la mise en sommeil le cycle recommence.

En outre, un minuteur logiciel provoquera un redémarrage de l'ESP8266 s'il est bloqué 2 minutes sans arriver au bout de son cycle.

Branchements

Rien de sorcier : on alimente la sonde 1-wire DS18B20 en 3.3V (comme l'ESP8266), on en relie les masses et on place le pin de données de la sonde 1-wire sur un GPIO adéquat de l'ESP8266. Il ne faudra pas oublier la résistance de 4.7 kOhms entre le pin Vin et le pin Data de la sonde ! Et pour permettre la sortie du sommeil, il faudra relier le pin RESET (RST) de l'ESP8266 avec le GPIO 16 (celui de l'alarme RTC).

Code sur l'ESP8266

Nous allons placer le code ci-dessous dans le fichier main.py qui sera ensuite envoyé sur l'ESP8266 à l'aide des outils évoqués dans le billet précent :

./webrepl_cli.py /path/to/main.py 192.168.4.1:/

Le code intégral, fortement commenté, est là :

import socket import time import machine #pour accéder aux GPIOs import onewire, ds18x20 #pour lire la sonde 1-wire import urequests #pour envoyer la requête POST from machine import Timer #Faire flasher i fois la petite LED bleue de la puce ESP8266 def do_flashes(i): if i<1: i=1 pin = machine.Pin(2, machine.Pin.OUT) for z in range(0,i): time.sleep_ms(250) pin.value(not pin.value()) time.sleep_ms(250) pin.value(not pin.value()) pin.value(1) #On s'assure que la LED finit dans l'état "éteint" #Se connecter au Wifi local def do_connect(): import network sta_if = network.WLAN(network.STA_IF) if not sta_if.isconnected(): print('connecting to network...') sta_if.active(True) sta_if.connect('SSID', 'password') #Remplacer le nom du SSID et le mot de passe de connexion while not sta_if.isconnected(): pass print('network config:', sta_if.ifconfig())  #On imprime l'IP de la puce une fois connectée, pratique pour déboguer sur le port série do_flashes(4) #Effectuer une requête POST sur une URL InfluxDB (ou autre) def http_post(data): url = 'https://path.to.influx.db/write?db=dbname' data = ("temperature,tag1=x1,tag2=x2 value=%s" % (str(data))) resp = urequests.post(url, data=data) #Effectuer une mesure sur le GPIO 4 def do_ds18b20(): dat = machine.Pin(4) ds = ds18x20.DS18X20(onewire.OneWire(dat)) #On crée l'objet OneWire roms = ds.scan() #On scanne le bus pour trouver toutes les sondes print('found devices:', roms) #On mesure 10 fois la température if len(roms)>0: templist = [] for i in range(10): ds.convert_temp() time.sleep_ms(1000) #On attend 1 seconde entre chaque prise de mesure pour laisser le temps à la sonde de se réinitialiser temp = ds.read_temp(roms[0]) templist.append(temp) templist.remove(max(templist)) #On supprime les valeurs extrêmes templist.remove(max(templist)) templist.remove(min(templist)) templist.remove(min(templist)) sum_of_temps = 0 for temp in templist: sum_of_temps = sum_of_temps + temp final_temp = sum_of_temps/6 print('Final temp: ', final_temp) return final_temp #Redémarre l'ESP8266, "machine.reset" est équivalent à un redémarrage électrique def force_reset(): print("Machine inactive for too long, this is not normal, rebooting!") machine.reset() #Regarde si l'ESP8266 se réveille d'un sommeil profond (et non d'un (re)démarrage électrique) if machine.reset_cause() == machine.DEEPSLEEP_RESET: print('Woke from a deep sleep') #On active le minuteur qui provoque le redémarrage dans 2 minutes tim = Timer(-1) tim.init(period=120000, mode=Timer.ONE_SHOT, callback=lambda t:force_reset()) do_flashes(2) #On signale le démarrage du travail par 2 clignotements do_connect() #Connexion au Wifi time.sleep_ms(2000) #On attend 2 secondes temp = do_ds18b20() #On mesure la température http_post(temp) #On l'envoie sur InfluxDB print('set RTC alarm to wake up later') rtc = machine.RTC() rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP) #On configure RTC.ALARM0 pour être capable de re-démarrer le périphérique rtc.alarm(rtc.ALARM0, 600000) # Après 600 secondes RTC.ALARM0 redémarrera la machine ! #Petit compte à rebours, pratique pour l'interrompre par Ctrl+C, quand l'on veut se connecter à l'ESP8266 pour en modifier le comportement print('deep sleep in 20 seconds') time.sleep_ms(15000) print('deep sleep in 5 seconds') time.sleep_ms(2000) print('deep sleep in 3 seconds') time.sleep_ms(1000) print('deep sleep in 2 seconds') time.sleep_ms(2000) print('deep sleep in 1 seconds') time.sleep_ms(1000) print('deep sleep now! waking up in 600 seconds') machine.deepsleep()

Et voilà une petite sonde qui prend la température toutes les 10 minutes.

Consommation ?

Un petit test rapide a montré que mon ESP8266 monté sur un kit de développement NodeMCU v1.0 (je pressens que la consommation serait moindre sans le kit de développement) :

  • demande ~100 mA lors des périodes de fonctionnement
  • demande <~10 mA lors de la phase de sommeil

C'est à creuser plus finement mais cela donne déjà qq ordres de grandeur.

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Full Circle Magazine FR : Le 113 est là !

Bonjour !

L'équipe des trois administrateurs du FCMfr est fière de vous présenter le numéro 113, celui de septembre 2016, bien avant la sortie du 114 ! Vous le trouverez sur notre page NUMÉROS ; autre possibilité, le télécharger directement en cliquant sur la photo de couverture ci-dessous.

issue113fr.png

Outre les bonnes rubriques habituelles, vous pourrez y lire, notamment :

  • Un tutoriel bien détaillé sur comment relier deux ordinateurs sous Linux pour le transfert ponctuel de fichiers (l'article de couverture) ;
  • Dans la rubrique Labo Linux, la présentation d'un musée du PC, vraiment très complet, qui se trouve au Canada, mais qui peut être visité virtuellement ;
  • L'opinion de Michael Davies, sur l'utilisation de logiciels payant sous Ubuntu, parfois la seule solution facile ;
  • La critique d'un bon et très complet logiciel pour la gestion de vos finances personnelles, GNU Cash ;
  • ainsi que celle du jeu Starview Valley, auquel Ronnie accorde quatre étoiles tout en le considérant « réellement génial » !

Nous vous en souhaitons bonne lecture.

L'équipe des admin (qui espère le retour de frangi, bosskhalid, et al., et la venue de nouveaux membres) :

  • Le scribeur, d'une patience à toute épreuve : Bab
  • Les traducteurs : AE, d52fr
  • Les relecteurs, Bab, d52fr et moi-même, AuntieE

Gravatar de Full Circle Magazine FR
Original post of Full Circle Magazine FR.Votez pour ce billet sur Planet Libre.

Articles similaires

Renault : Participez à la journée de test de Fedora 25 sur les images Cloud et Atomic

Aujourd'hui, ce lundi 24 octobre, est une journée dédiée à un test précis : sur les images Cloud et Atomic de Fedora. En effet, durant le cycle de développement, l'équipe d'assurance qualité dédie quelques journées autours de certains composants ou nouveautés afin de remonter un maximum de problèmes sur le sujet.

Elle fournit en plus une liste de tests précis à effectuer. Il vous suffit de les suivre, comparer votre résultat au résultat attendu et le notifier.

Qu'est-ce que c'est ?

Les images clouds sont en fait des images d'installation de Fedora dédiée au Cloud. À l'instar de Workstation qui est la version de base, et Server pour les serveurs, Cloud fait parti des produits de Fedora pour gérer des cas d'utilisations spécifiques et offrir une expérience utilisateur cohérente autour de ceux-ci.

La particularités des images clouds sont d'être légères pour être instanciées plusieurs fois dans une même machine via des machine virtuelles ou autre solution similaire.

Les tests du jour couvrent :

  • Le bon démarrage du système, avec un accès SSH ouvert ;
  • La mise à jour du système atomiquement ;
  • Le retour en arrière suite à une mise à jour atomique ;
  • Le lancement des applications via Docker ;
  • La gestion de l'espace disque de Docker.
Comment y participer ?

Vous pouvez vous rendre sur la page des tests pour lister les tests disponibles et rapporter vos résultats. La page wiki récapitule les modalités de la journée.

En cas de bogue, il est nécessaire de le rapporter sur le BugZilla. Si vous ne savez pas faire, n'hésitez pas à consulter la documentation correspondante.

De plus, si une journée est dédiée à ces tests, il reste possible de les effectuer quelques jours plus tard sans problème ! Les résultats seront globalement d'actualité.

Gravatar de Renault
Original post of Renault.Votez pour ce billet sur Planet Libre.

Articles similaires

Angristan : Seedbox : installer le client torrent Flood sous Debian 8

 installer le client torrent Flood sous Debian 8

L'autre jour je vous présentait l'installation de Transmission, un client de torrent basique, mais stable, et très facile à installer. Pour ceux d'entre vous qui sont prêts à passer un peu plus de temps pour avoir un client plus performant et plus design, voici Flood !

C'est une interface web en nodejs ( :-? ) pour rTorrent, un client en lignes de commandes qui est stable et léger, et qui est souvent utilisé avec Rutorrent, une interface web qui elle est en PHP (mais moins jolie !).

Pour ceux qui veulent voire à ça ressemble, j'ai mis une petite galerie à la fin de l'article. :)

Une Seedbox ?

Une seedbox est un serveur dédié au téléchargement et au partage de fichiers torrents. Flood est une interface web qui nous permet de télécharger ces fichiers.

Pourquoi avoir une seedbox ? Le fait que ce soit un serveur signifie que :

• vous avez beaucoup de stockage • vous avez beaucoup de bande passante, donc des téléchargements rapides • vous n’êtes pas surveillés par HADOPI • vous pouvez regarder vos films ou séries en streaming depuis votre serveur.

Installation de rTorrent et libTorrent

Flood n'étant qu'une interface web pour rTorrent, nous allons d'abord devoir l'installer.

Depuis les dépôts

rTorrent est disponible dans les dépôts de Debian en version 0.9.2 et libTorrent en version 0.13.2, sachant que les dernières versions disponibles, même si elles ont plus d'un an, sont respectivement la 0.9.6 et 0.13.6, qui elles sont disponibles sous Debian Sid et Stretch.

Si vous avez la flemme de compiler vous pouvez tout de même les installer :

apt install rtorrent Depuis les sources

Ainsi pour avoir les dernières versions, on peut compiler rTorrent et libTorrent directement depuis les sources.

On installe les dépendances :

apt install build-essential subversion autoconf g++ gcc curl comerr-dev pkg-config cfv libtool libssl-dev libncurses5-dev ncurses-term libsigc++-2.0-dev libcppunit-dev libcurl3 libcurl4-openssl-dev

XML-RPC permet rTorrent de communiquer avec Flood.

On le télécharge :

svn co -q https://svn.code.sf.net/p/xmlrpc-c/code/stable /tmp/xmlrpc-c

On le compile :

cd /tmp/xmlrpc-c ./configure make -j $(nproc)

On l'installe :

make install

On télécharge libTorrent :

cd /tmp curl http://rtorrent.net/downloads/libtorrent-0.13.6.tar.gz | tar xz

On le compile :

cd libtorrent-0.13.6 ./autogen.sh ./configure make -j $(nproc)

Et on l'installe :

make install

On télécharge rTorrent :

cd /tmp curl http://rtorrent.net/downloads/rtorrent-0.9.6.tar.gz | tar xz

On le compile :

cd rtorrent-0.9.6 ./autogen.sh ./configure --with-xmlrpc-c make -j $(nproc)

Et on l'installe :

make install ldconfig

Vous êtes toujours là ?  :lol:

Configuration de rTorrent

On ajoute un utilisateur pour éviter de lancer rTorrent en root :

adduser --disabled-password rtorrent

On édite la configuration de rTorrent :

nano /home/rtorrent/.rtorrent.rc

Et on ajoute ceci :

# Vitesse de téléchargement max up/down, en KiB. "0" équivaut à aucune limite. download_rate = 0 upload_rate = 10000 # Nombre maximal de téléchargements simultanés max_downloads_global = 10 # Nombre maximal de peers par torrent max_peers = 100 # Nombre maximal de peers à upload par torrent max_uploads = 20 # Répertoire qui contient les fichiers téléchargés. directory = /srv/seedbox/downloads # Répertoire où rtorrent stocke l'état de téléchargement des torrents. session = /srv/seedbox/.session # Ports utilisables par rTorrent. 2x la même valeur = 1 port port_range = 49999-49999 port_random = no # Vérification des données à la fin du téléchargement check_hash = yes # Activation de DHT pour les torrents sans trackers. # À désactiver si vous utilisez des trackers privés dht = auto dht_port = 6881 peer_exchange = yes # On préfère les échanges avec chiffrement encryption = allow_incoming,try_outgoing,enable_retry # On autorise les trackers UDP use_udp_trackers = yes # Port SCGI, on en a besoin pour communiquer avec Flood scgi_port = 127.0.0.1:5000

On n’oublie pas de créer les dossiers qui vont bien :

mkdir /srv/seedbox mkdir /srv/seedbox/downloads mkdir /srv/seedbox/.session

Et on applique les bonnes permissions à tout ça :

chmod 775 -R /srv/seedbox chown rtorrent:rtorrent -R /srv/seedbox chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc

Ensuite on ajoute un script d'init pour Systemd, pour pouvoir démarrer ou arrêter rtorrent à notre guise et le démarrer au boot automatiquement.

nano /etc/systemd/system/rtorrent.service

On ajoute :

[Unit] Description=rTorrent After=network.target [Service] User=rtorrent Type=forking KillMode=none ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/local/bin/rtorrent ExecStop=/usr/bin/killall -w -s 2 /usr/local/bin/rtorrent WorkingDirectory=%h [Install] WantedBy=default.target

(/usr/local/bin/rtorrent est à remplacer par /usr/bin/rtorrent si vous avez installé rTorrent depuis les dépôts)

On active rtorrent au boot :

systemctl daemon-reload systemctl enable rtorrent.service

Puis le démarre :

sudo systemctl start rtorrent.service Un petit htop et on voit bien que rTorrent tourne en root :  installer le client torrent Flood sous Debian 8 Pour arrêter rTorrent : systemctl stop rtorrent Pour le démarrer : systemctl start rtorrent Pour le redémarrer : systemctl restart rtorrent Installation de Flood

On passe au morceau qui nous intéresse : l'interface web. C'est du nodejs, donc il va falloir installer ce dernier :

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs

Ensuite, on installe git :

apt install git

Puis on va récupérer le code source de flood :

cd /srv/seedbox git clone https://github.com/jfurrow/flood.git

On ajoute la conf de flood :

cd flood cp config.template.js config.js

On l'installe :

npm install --production

Ici, pas de script d'init, j'ai essayé avec forever pour les connaisseurs mais ça ne marche pas (en fait, si, mais bof). Je n'ai pas réussi à faire de script d'init, d'autant plus que le dev lui même conseille d'utiliser screen... J'ai quand même ouvert une issue à ce sujet.

On ajoute un utilisateur pour éviter de lancer flood en root par la suite :

adduser --disabled-password flood

On applique les bonnes permissions :

chown -R flood:flood /srv/seedbox/flood/

On crée un screen :

screen -S flood

On change d'utilisateur :

su - flood

Puis on lance flood :

cd /srv/seedbox/flood npm run start:production

Vous pouvez sortir du screen avec ctrl + a puis d et revenir avec screen -r flood

Flood est désormais accessible via http://IP_DU_SERVEUR:3000

À votre première connexion il vous sera demandé de créer un compte, et puis après, vous êtes prêts à faire chauffer la connexion !  :-D

Mettre à jour Flood

Il suffit de récupérer le nouveau code et de relancer flood.

screen -r flood

ctrl + c pour l'arrêter puis ctrl + a et d pour sortir de flood

cd /srv/seedbox/flood git pull

Vous devriez vérifier au cas où il y ait des changements dans config.sample.js.

On met à jour flood :

npm install --production

Et on le relance :

screen -r flood npm run start:production Docker

Si vous êtes un adepte de Docker, une image "officielle" est en cours de discussion ici, et WonderFall en a fait une très bien ici.

D'ailleurs, je me tâte à faire ma seedbox sous Docker moi. ^^

Reverse proxy Nginx avec HTTPS

Vous me connaissez, tant qu'on y est, autant faire les choses proprement : accéder à Flood via un domaine, le tout en HTTPS !

Pré-requis : avoir un domaine/sous domaine qui pointe l'IP du serveur.

Ici je prends comme exemple seedbox.hadopi.fr.   8-)

Installation de Nginx

On suit mon petit guide :

wget -O - https://nginx.org/keys/nginx_signing.key | apt-key add - echo "deb http://nginx.org/packages/debian/ $(lsb_release -sc) nginx" > /etc/apt/sources.list.d/nginx.list apt update apt install nginx Génération d'un certificat avec Let's Encrypt

On suit aussi mon petit gui... Oups, j'en ai pas encore fait :lol:

On installe l'outil depuis les backports de Debian :

echo "deb http://httpredir.debian.org/debian jessie-backports main" >> /etc/apt/sources.list apt update apt install -t jessie-backports letsencrypt

On arrête Nginx pour laisser le port 80 libre :

service nginx stop

On génère le certificat :

letsencrypt certonly -d seedbox.hadopi.fr --agree-tos -m contact@hadopi.fr --rsa-key-size 4096 --standalone

On configure nginx :

nano /etc/nginx/conf.d/seedbox.conf

Et hop (à adapter bien sûr) :

server { listen 80; server_name seedbox.hadopi.fr; return 301 https://seedbox.hadopi.fr$request_uri; access_log /dev/null; error_log /dev/null; } server { listen 443 ssl http2; server_name seedbox.hadopi.fr; access_log /var/log/nginx/seedbox-access.log; error_log /var/log/nginx/seedbox-error.log; location / { proxy_pass http://127.0.0.1:3000/; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_header X-Transmission-Session-Id; } ssl_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/seedbox.hadopi.fr/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/chain.pem; ssl_protocols TLSv1.2; ssl_ecdh_curve secp384r1; ssl_ciphers EECDH+AESGCM:EECDH+AES; ssl_prefer_server_ciphers on; resolver 80.67.169.12 80.67.169.40 valid=300s; resolver_timeout 5s; ssl_stapling on; ssl_stapling_verify on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_session_tickets off; }

Et peut démarrer Nginx :

service nginx start

Et voilà ! J'avoue, l'article est un peu long, mais ça vaut le coup non ? Pouvoir télécharger des ISO Linux avec style, c'est pas donné à tout le monde. 8-)

Je vous laisse avec quelques captures d'écran (ce client tellement bien fini, y'a même des petites animations) :

[gallery columns="4" link="file" ids="3657,3650,3652,3659,3651,3646,3654,3647,3653,3658,3648,3656,3655"]

On remarque qu'il y a même une traduction française intégrée :)

Dans un prochain article, on verra comment streamer tout ça depuis sa seedbox. À suivre !

Sources :

L'article Seedbox : installer le client torrent Flood sous Debian 8 a été publié sur Angristan

Gravatar de Angristan
Original post of Angristan.Votez pour ce billet sur Planet Libre.

Articles similaires

cm-t : Après 3 épisodes des Directs du Jeudi : Elle bondis la souris !

 Elle bondis la souris ! Les Chiffres
  • 3 comme 3 épisodes d’essai du Direct du Jeudi :
    • Nous nous sommes essayé à ce format, n’hésites pas à laisser un commentaire et y donner ton avis sur ce qu’il faut améliorer, garder, retirer (….)
    • On reviens dans quelque temps avec une revisite du format en essayant du publier d’ici là une interview ou deux (Anglais ou Français).
    • On se donne rendez-vous à l’Ubuntu Party de Paris les 12 et 13 novembre pour celles et ceux qui souhaiteraient nous rencontrer et discuter de tout ça
    • En attendant, voici les actualités de cette semaine autour d’Ubuntu :

 

  • 12 comme les 12 ans d’Ubuntu ! Alors voici un fond ‘écran récapitulatif :
    ubuntu-timeline-wallpaper

 

Les actualités
  • Zesty Zapus : C’est le nom de code de la prochaine version d’Ubuntu, prévu pour la 17.04 ( Avril 2017 ). Si vous souhaitez, il y a une page de brainstorming pour les noms et pour le retour à la lettre A (végétale? rolling-release?)
    zapus_hudsonius

 

 

  • Une petite vidéo qui nous montre Unity8, pratique pour les personnes qui ne passent pas à la 16.10 mais qui souhaitent un aperçu de ce bureau. Unity8 n’utilise pas Xorg mais Mir, ou xMir pour les application Xorg. Par défaut on n’y gère pas des .deb mais des .snap.

 

  • Toujours sur Unity8, Popescu Sorin s’amuse à bidouiller et y faire tourner Steam (pourtant pas encore supporté sur Mir/Unity8) :screenshot20161019_140131288
  • Au passage un gros jeu connus des “gamers” vient de sortir sur Linux, il s’agit de Mad Max.
  • Valve (l’éditeur de Steam) à fait une démonstration lors des steamdevdays du HTC Vive (VR, casque de réalité augmentée) en utilisant un PC avec Kubuntu (Ubuntu avec KDE et le plasma-desktop) et ils ont utilisé leur nouvelle l’API Vulcan pour gérer le rendu graphique ! On peut voir DotA2 :
    1476436728curmufhxyaevwoh

On se retrouve bientôt pour des épisodes à propos d’actualités autour d’Ubuntu et des logiciels libre !

 

Gravatar de cm-t
Original post of cm-t.Votez pour ce billet sur Planet Libre.

Articles similaires

Tuxicoman : Définir la carte son de sortie d’une application spécifique avec Pulseaudio

J’ai découvert une fonctionnalité sympa de Pulseaudio, on peut choisir la sortie de chaque application séparément ;-)
Ça me permet de lancer un jeu vidéo ou une conversation mumble dans mon casque tout en diffusant de la musique ou un film dans le salon via une autre carte son.
Si vous démarrez le « Control de volume Pulseaudio » (pavucontrol), vous pouvez choisir la carte son et le volume de sortie de chaque application indépendamment :

pulseaudio-multiple-outputJe ne crois pas que Windows puisse faire ça.

Related Posts:

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Articles similaires

Marthym : Sauvegarde de données personelle

Introduction

J’ai récemment déménagé et au passage changé de box, de configuration réseau et tant qu’à tout refaire, j’en ai profité pour revoir l’organisation de mes sauvegardes perso. Je n’ai pas écrit grand-chose depuis un moment, alors pourquoi pas en faire profiter pour faire un billet rapide sur les quelques trucs sympas que j’ai changé.

Les besoins

Voyons déjà ce qui est important en matière de préservation de nos données personnelles. Pour une sécurité minimale, les données doivent être dupliquées sur au moins deux supports physiques. On parle là de deux copies faciles d’accès, sur le PC de tous les jours et sur un disque secondaire. Les données doivent être facile à restaurer et à synchroniser.

Pour une sécurité optimale, une copie distante, situé physiquement dans un lieu différent est importante. Envoyé sur le cloud par exemple, cette copie n’a pas besoin d’être facile ou rapide d’accès. Par contre selon le lieu du stockage, il faudra sans doute crypter.

Enfin un accès distant aux données est uns fonctionnalité sympa qui permet d’accéder à ses photos ou vidéo même en voyage.

Le matériel

Un vieux PC fixe de 7 à 8 ans, avec quelques modifications se reconvertit en NAS.

Suppression du matériel inutile, lecteur DVD et carte graphique, ça gagne en consommation et en décibels. Ensuite, ajout de disque conséquent et adapté, j’ai opté pour 2x Western Digital Red 2 To, des disques fait pour rester allumé en permanence, taillés pour les NAS et j’en suis vraiment très content. Les deux seront monté en RAID 10.

J’ai aussi ajouté une ventilateur plus silencieux que l’original car le PC est dans le salon et le ventilo original soufflait un peu. J’ai pris conseil sur cette page (elle est moche mais bien pratique et pleine de bonnes infos), et j’ai choisi un Arctic Freezer 13 pour son rapport taille efficacité.

Le système

Pour la partie système, le NAS tourne sous FreeNAS. Certes il y a d’autres système pour NAS, comme OpenMediaVault par exemple, et de bonnes raisons de les choisir. Les avis divergents et je vais pas rentrer dans une justification. FreeNAS répond au besoin, et de ce que j’en ai vu ça ét là il est ultra robuste et éprouvé. Parmi les fonctionnalités particulièrement appréciables on trouve :

  • Le système de snapshot ZFS qui m’a sauvé la vie plusieurs fois
  • Les jails, même si c’est un peu plus contrainiant que des docker
  • L’interface austère mais efficace
  • L’installation sur clé pour ne pas squatter d’espace disque pour rien
Le fonctionnement Duplication et accès distant aux données

J’ai longtemps utilisé ownCloud pour répondre à ces besoins. Installé dans une jail de FreeNAS, ownCloud fournit une interface de visualisation des données, un accès WebDAV et des clients de synchronisation pour un peu tous les OS du marché. Cependant je n’ai jamais été pleinement satisfait par owncloud.

Son client Windows est une horreur, si la quantité de fichiers à synchroniser est trop grande, il met plus de temps à chercher les différences que la plage d’intervale de synchronisation. Ce qui a pour conséquence une suppression pure et simple des fichiers en retard lors de la plage de synchro suivante. Sous Linux c’est un peu différent car le client utilise inotify et la synchro est en temps réel.

Dernièrement sous Linux le client se déconfigure et à chaque redémarrage il faut resaisir l’URL du serveur et les login/password.

Enfin, des dissensions au sein du projet ont engendré un fork NextCloud. Ce genre de chose est rarement de bon augure pour un projet, les utilisateurs en sont divisés et la pérénnité des projets est douteuse. Pour des projets garant de vos données personnelles ce n’est pas engageant.

C’est pourquoi après quelques recherches d’alternative, je me suis tourné vers une solution un peu différente, en séparant la partie duplication de la partie accès distant.

Duplication des données

C’est la base de la sauvegarde, les données doivent a minima se trouver sur deux supports différents pour s’assurer qu’il n’y aura pas de perte si un disque ou un PC tombe en panne.

Donc les données sont biensur sur mon portable de tous les jours, c’est de là que je les utilise, et elles sont aussi dupliquées sur le NAS. Sur les deux disques en RAID 10 (stripper + mirroré).
Je voulais une synchro bidirectionnelle car quand je ne suis pas chez moi il m’arrive de mettre à jour les données directement sur le NAS. rsync n’est pas adapté à la synchronisation bidirectionnelle et les clients de synchro sont rares et souvent peu fiables (cf. ownCloud). Mais il y a Syncthing, un clone libre de BittorentSync. Ca fonctionne à partir du protocole … Torrent donc, c’est décentralisé et particulièrement efficace. Ca fonctionne sur un réseau local comme depuis internet et tous les échanges sont crytpés. A la base c’est plus pour le partage que la synchronisation de backup mais ça fait le taff à merveille.

J’ai donc Syncthing qui tourne sur mon portable et dans une jail du NAS (il existe une version pour FreeBSD) et les deux se synchronisent. Malgré la quantité de données il n’y a pas eu de cafouillage, ça va vite et c’est léger. L’installation ne présente pas de difficulté particulière mais la configuration entre les machines synchronisées est un peu moins intuitive, je m’y suis pris à deux fois.

J’ai choisi de splitter la synchro en plusieurs répertoires, ça permet de paralléliser la synchro, c’est un peu plus long à configurer mais ça fonctionne beaucoup mieux.

Le site du projet est clair sur le fait que c’est plus un outil de partage que de backup notamment parce qu’il n’historise pas (en fait si mais bon) mais pour l’utilisation que j’en fais c’est le jour et la nuit avec ownCloud. Et en bonus, sans la moindre configuration supplémentaire ça fonctionne aussi depuis l’extérieur du réseau.

Accès à distance aux données

Reste maintenant à pouvoir accéder aux données à distance. Techniquement c’est possible avec Syncthing mais ça implique une duplication complète des répertoires que l’on veut accéder ce qui s’avère plutôt lourd à l’utilisation. J’ai besoin de pouvoir mettre à jour rapidement quelques fichiers et d’en récupérer quelques autres, je ne tiens pas à dupliquer toutes mes données partout ! C’est là qu’intervient le WebDAV. C’est le protocole qui semble le plus adéquat pour ça, plus simple (et rapide ?) que le SFTP. FreeNAS possède cette fonctionnalité de base mais j’ai préféré installer un serveur Nginx à l’interieur d’une Jail, plus sûr en termes d’accès.

Et avec ça j’ai remplacé l’utilisation que je faisais d’ownCloud et c’est beaucoup plus efficace. Reste finalement qu’à placer un frontal pour accéder au différents services dans les jails et configurer la box pour accéder au frontal

Sauvegarde distante

Comme expliqué plus haut, il est rassurant d’avoir ses données dupliqué sur plusieurs supports, ça couvre 90% des risques de perte de données. Mais quand les deux supports sont situés physiquement au même endroit, il reste un risque de perte, un incendie, un cambriolage, … La solution c’est d’exporter les données dans un lieu différent.

Pour ça j’ai prix un compte chez Hubic, rapport espace de stockage / prix imbattable (10To/50€/an). La difficulté c’est que Hubic c’est des serveurs OpenStack ce qui veut dire que tout passe par des APIs REST, pas d’accès FTP ou autres. J’ai déjà fait un billet sur le sujet des backups distants sur HubiC, je vous invite à le lire pour plus d’info sur la façon d’envoyer des sauvegardes sur Hubic.

Sauvegarde de données personelle écrit à l'origine par Marthym pour J'ai acheté un PC neuf cassé ... le October 24, 2016.

Gravatar de Marthym
Original post of Marthym.Votez pour ce billet sur Planet Libre.

Journal du hacker : Liens intéressants Journal du hacker semaine #42

Pour la 42ème semaine de 2016, voici 5 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Pierre-Alain Bandinelli : Micropython sur ESP8266, l'électronique toujours plus libre et puissante !

L'ESP8266 est un petite puce développée par Espressif qui a de multiples qualités :

  • elle dispose d'un petit coeur programmable
  • elle se connecte en Wifi ou/et se comporte comme un point d'accès Wifi
  • elle est fort peu onéreuse (quelques euros à peine)
  • elle a été largement adoptée par de nombreux bricoleurs de la blogosphère et on trouve une abondante littérature à son sujet

Initialement, elle a été beaucoup utilisée comme extension Wifi peu chère pour montages Arduino.

Mais ses qualités l'ont peu à peu rendu intéressante et utilisable seule : différents micro-systèmes ont été portés sur l'ESP8266 et l'ont peu à peu transformé en puce Wifi programmable. Ainsi, sur certains montages simples (internet des choses, domotique...) elle remplacera aisément un Arduino ou un Raspberry Pi et apportera en sus faible coût, faible consommation et encombrement réduit.

Nous allons voir dans ces lignes comment démarrer avec cette carte en l'équipement du micro-système micropython. Micropython a été porté récemment sur ESP8266 et le code en a été libéré suite à une campagne Kickstarter fructueuse.

Commençons par le matériel

La puce ESP8266 ressemble à ceci dans sa version 12 (qui est la plus performance notamment avec le plus grand nombre d'entrées-sorties) : esp8266-esp12.jpg

Pour un usage plus facile, on pourra la préférer pré-montée au sein d'un kit de développement qui en rendra :

  • l'alimentation facile (en USB 5V, la puce elle-même ne supporte que 3.3V)
  • le flashage aisé (toujours au travers d'un port USB fourni)
  • également le reset facilité à l'aide d'un bouton poussoir
  • enfin l'utilisation facile sur une breadboard pour prototypage

En inconvénient, la consommation électrique sera un peu plus forte et l'encombrement sera plus important. Mais passée la phase de prototypage, rien n'empêche d'utiliser la carte seule !

Parmi les kits de développement pratiques, on peut noter les planches NodeMCU (prendre la v1) qui sont très bien, sont libres (code source ici) et ressemblent à ceci : NodeMCU_DEVKIT_1.0.jpg

Attention toutefois à la correspondance des pins de la planche de développement et les GPIOs de l'ESP8266 : D1, D2, ... ne correspondent pas à GPIO1, GPIO2... Cf. le schéma ci-dessous : NODEMCU_DEVKIT_V1.0_PINMAP.png

Envoyons Micropython

Une fois en possession d'une puce ESP8266 et de son kit de développement, il suffit de s'y connecter à l'aide d'un câble USB et un nouveau périphérique /dev/ttyUSB0 doit devenir disponible pour le système.

On peut alors :

  • télécharger la dernière version du système micropython ici en prenant bien la version pour ESP8266
  • installer esptools.py sur sa machine par exemple avec la commande
pip install esptools.py
  • vider la mémoire actuelle de l'ESP8266 (pour éviter tout problème) avec la commande
esptool.py --port /dev/ttyUSB0 erase_flash
  • puis envoyer micropython (remplacer esp8266.bin par le fichier que vous avez obtenu sur le site de micropython)
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=8m 0 /path/to/esp8266.bin Premier usage via le port série

Après redémarrage de la puce, on peut s'y connecter en série au travers de l'USB par exemple avec picocom (ou un autre logiciel de son choix) :

picocom /dev/ttyUSB -b 115200

et on obtient alors une console REPL Python qui permet d'exécuter toute commande de son choix dans l'environnement micropython.

Par exemple pour changer l'état d'un GPIO (attention à la numérotation, cf supra), on pourra appeler les commandes suivantes :

pin = machine.Pin(2, machine.Pin.OUT) pin.value(1) pin.value(0)

qui feront basculer en état HIGH/LOW le GPIO2 (D4 sur la planche de développement).

Usage au travers de WebREPL

Encore plus pratique, il est possible de se connecter à l'ESP8266 et à la console Python au travers du Wifi. Pour ce faire, l'ESP8266 se positionne comme un point d'accès Wifi auquel on peut se connecter : le mot de passe de connexion est "micropythoN".

Une fois connecté, on peut appeler l'ESP8266 à l'adresse 192.168.4.1 et se connecter à la console Python à l'aide de WebREPL, une page avec un peu de javascript qui aide à se connecter à la console REPL depuis un navigateur.

Il suffit de télécharger le contenu du dépôt WebREPL et lancer le fichier webrepl.html.

Envoyer un fichier sur l'ESP8266

Pour envoyer un fichier sur l'ESP8266, par exemple un fichier main.py qui sera exécuté à chaque lancement après initialisation, on pourra utiliser le commande outil webrepl_cli.py livré dans le dépôt WebREPL.

Connecté au point d'accès de l'ESP8266, la commande :

./webrepl_cli.py /path/to/main.py 192.168.4.1:/

se chargera de copier le fichier main.py à la racine de l'ESP8266.

Main.py pour tout contrôler

Dès lors, il est possible de placer le code de son choix dans le fichier main.py à la racine de l'ESP8266 pour l'asservir et lui faire exécuter le code de son choix.

On pourra par exemple :

  • désactiver le point d'accès
  • faire se connecter l'ESP8266 à un réseau WIfi local
  • faire agir l'ESP8266 sur le réseau (envoi de paquets, exécution de requêtes diverses...)
  • jouer avec les ports GPIOs

Les idées ne vous manqueront certainement pas pour peupler le fichier main.py. Voilà un bon point de départ dans la documentation de micropython sur ESP8266.

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Thuban : Tuto :: Horloge locale synchronisée

Nouveau tutoriel nommé "NTP Client : Horloge locale synchronisée"

Le tutoriel démontre la simplicité - oui, encore :D - d'OpenBSD. En effet, synchroniser son horloge locale, dans votre machine informatique, est aussi simple qu'un "gentil bonjour". Cela se base sur le projet OpenNTPD, intégré nativement à OpenBSD, il suffit de configurer deux "tout petit" fichiers ... et "roulez jeunesse" ...

Bref, pour en profiter, je vous invite à lire le tutoriel !

Comme d'habitude, si vous voulez en discuter, "viendez" nous voir sur le forum ...

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

PostBlue : Jappix est mort, vive XMPP

Mise à jour 20161025 : l'ensemble des comptes et des salons de discussion en jappix.com sont (ou vont être) transférés sur l'infrastructure de Movim, gérée par Timothée Jaussoin (aka edhelas), épaulé par Christine Ho et Xavier C. (aka src386).

Jappix serait mort, et ce faisant le lien avec un nombre conséquent de mes contacts qui y avait une adresse #XMPP. C’est ce qui arrive quand on lance une boîte bien remplie d’œufs dans son panier.

Il suffit de regarder les messages sur le dépôt git pour se dire que le projet a été abandonné. Personne, je crois, ne reprochera à Valerian Saliou de se défaire du projet pour se consacrer à d'autres. Pourtant, avec tout le domaine jappix.com qui tombe dans les choux, j’ai l’impression que l'abandon d'un projet va ici de paire avec l'abandon d'un service, pourtant pas mal peuplé au vu de ma liste de contacts.

Un serveur XMPP peut être hébergé chez soi me dira-t-on, mais soyons honnêtes 30 secondes : ça n'est pas à la portée de tout le monde de déployer et d'administrer un serveur avec sa petite instance de #prosody qui tourne dessus. On se retrouve donc avec des ruches de comptes postés à un même endroit, faisant les frais de l’administration et de la gouvernance du service. Si l’on demande un compte chez moi, par exemple, la connexion se coupera de temps en temps puisque j’adore chipoter à ma machine, prosody redémarre donc souvent.

Jappix était l’une de ses ruches : 8 000 comptes il y a 5 ans (tout de même), soit un bon paquet de monde qui se retrouve à la rue. Cyrille, le troll chauve qui avait une adresse @jappix.com, m’a soufflé à l’oreille qu’il n'y a eu ni message de service, ni préavis de cessation des activités. Puisque je n’ai pas encore de réponse de Valerian, je lui laisse le bénéfice du doute mais soit il s'agit d'une erreur, soit c'est pas vraiment super sympa.

Or, maintenant que le nom de domaine pointe vers le néant (et que j'ai perdu un quart de mes contacts), que faire ?

Au plus simple, se rediriger vers Movim, l'un des autres projet de client XMPP qui roule dans votre navigateur web. Movim permet même de créer un compte sur le serveur @movim.eu depuis l'un de ses serveurs italien ou néerlandais. Edhelas, qui est derrière le projet, me dit qu'il est en contact avec Valerian : peut-être que ces deux-là nous sortiront un lapin de leur chapeau.

Sinon, je conseillerais aux autres sans-abri de l'XMMP de s'inscrire sur l’un des serveurs faisant partie de la fédération JabberFR, pour moi une valeur sûre gérée par des personnes qui essaient de faire ça bien.

La fédération JabberFR propose un formulaire d’inscription aux serveurs de celle-ci. Il suffit d’y faire défiler la liste déroulante des serveurs et choisir l’adresse qui plaît le plus afin de se créer un compte en un tournemain. Or Link Mauve qui s'en occupe m'avertit que la librairie XMPPPHP utilisée par cette page tombe dans les choux, et que donc le service ne fonctionne malheureusement pas. J'espère qu'un jour viendra où la fédération (la jolie page cassée) JabberFR permettra de s'inscrire sur un serveur XMPP en deux coups de cuillère à pot, avec quelques exigences de qualité du service (ne pas tout couper d'un coup, par exemple) et de respect de la vie privée des comptes créés de surcroît. Si vous voulez vous investir dans le projet, n'hésitez pas ! Link Mauve a plein de chouettes idées qu'il se fera un plaisir de partager avec vous.

Qu'à cela ne tienne, ce qu'il est possible de faire, c'est de remarquer un domaine dont vous appréciez le nom (par exemple ouaza.com de Raphaël Hertzog), là ou sur l'annuaire général des serveurs publics XMPP, ouvrir votre programme client (par exemple Pidgin), ajouter un compte XMPP et cocher la ligne de création de compte en bas de la fenêtre.

Pour rappel, mon adresse XMPP est la même que mon adresse mail qui se trouve ici.

Gravatar de PostBlue
Original post of PostBlue.Votez pour ce billet sur Planet Libre.

Articles similaires

blog-libre : Linux se professionnalise

Revenons à mon précédent article Qui croit encore à la percée de Linux auprès du grand public.

On ne peut pas contester mes 4 remarques : Vente liée pc et os, le lobbying de Microsoft, L’UEFI et secure boot, la campagne de gratuité de Windows 10. Ce ne sont pas des appréciations de ma part, ce sont tout simplement des faits. Au contraire « Le nombre d’installations de Linux ne s’est pas envolé sur pc », c’est une appréciation de ma part (puisqu’il n’y aucun chiffre réellement fiable).

La conclusion à tirer de tout cela, c’est qu’on est sur la mauvaise pente pour l’installation de Linux sur pc. Ça se complexifie (UEFI et secure boot), Microsoft joue toujours très bien de son lobbying et des habitudes des utilisateurs, le passage à Windows 10 gratuit a été un très bon argument marketing enfin la décision de la CJUE sur la vente liée pc et os est une étape majeure. On n’est pas dans le statut-quo, la situation ne s’améliore pas, elle se dégrade. Si certains lecteurs ont vu passer de bonnes nouvelles pour faciliter et démocratiser l’installation de Linux sur les postes du grand public, merci de laisser vos commentaires.

On peut simultanément constater que personne ne dit que Linux est un flop dans le monde professionnel informatique. De plus en plus de techniciens, ingénieurs, développeurs utilisent Linux professionnellement sur leurs serveurs et sur leurs postes de travail. Les compétences Linux sont activement recherchées sur le marché du travail, la majorité des serveurs web et des supercalculateurs sont sous Linux, c’est Linux qu’on utilise majoritairement dans le cloud pour sa souplesse (automatisation, configuration) et la conteneurisation (Docker). On pourrait ajouter à cela l’embarqué, les objets connectés… Je vais très rapidement à l’essentiel car nous serons tous d’accord là-dessus : Linux est une énorme réussite dans le monde professionnel informatique.

Il est impératif de comprendre (ou accepter c’est selon) : 1/ L’industrie informatique, c’est du BUSINESS 2/ Les différents acteurs de cette industrie (clients, entreprises, développeurs, utilisateurs) ont des visions et des buts différents. Un constructeur (Lenovo, Dell, HP) se moque bien de Linux si ça ne l’aide pas à vendre. C’est une évidence, le but de ces entreprises est de gagner de l’argent, elles ne sont pas là pour faire plaisir aux Linuxiens

Aujourd’hui Linux se professionnalise bien plus qu’il ne se démocratise. Les gens sont de moins en moins intéressés (et préoccupés…) par le système d’exploitation. Il y a d’abord le fait d’une explosion de système d’exploitation différents (voir Fragmentation). Il y a des usages différents : Smartphones, tablettes. Il y a une génération biberonnée aux réseaux sociaux, à YouTube, aux services web et pas à « l’ordinateur de papa » dans le bureau. L’industrie commence à habituer les utilisateurs à ce que le système d’exploitation soit masqué voire invisible, on se concentre sur l’usage. Sur iOS ou Android les actions principales reviennent à installer, lancer, désinstaller des applications sur l’écran d’accueil. On ne sait pas comment ça marche, on ne voit pas comment ça marche au contraire d’un Windows (base de registre, services lancés au démarrage, etc.) ou d’un Linux.

C’est la même bascule qui s’opère pour le cloud. L’utilisateur a un besoin, pourquoi devrait-il installer, maintenir, sécuriser un outil sur son poste alors qu’il est disponible « gratuitement » en ligne ? L’erreur c’est de considérer que le système d’exploitation est important pour l’utilisateur. Bien-sûr que non… mais ça l’est pour les informaticiens. Si j’ai besoin de modifier un document Word il me faut un pc, un système d’exploitation, Word/LibreOffice… ou sinon un navigateur (sur n’importe quel appareil) et une inscription sur Office Online. Il y a bien des serveurs qui tournent dans le cloud mais qui se préoccupe du système d’exploitation dessus ?

Si il faut enfoncer le clou, on peut parler de la conteneurisation. Un service dispensé par une image Docker, ces conteneurs tournent sur Linux et Windows (Server 2016), qui va se soucier du système d’exploitation hormis les techniciens ?

L’utilisateur veut retoucher une photo (besoin), il doit utiliser un logiciel (outil). Pour utiliser GIMP, il doit installer un système d’exploitation. Dans cette histoire, le système d’exploitation n’est qu’un moyen – et un surcoût – pour atteindre son but (utiliser GIMP pour retoucher sa photo). Pourquoi un surcoût ? Car l’utilisateur voit la sécurité, l’hygiène de son système d’exploitation, les mises à jour à faire comme des obligations et des contraintes, ça ne lui apporte rien. En réalité ça lui coûte du temps, de l’argent, ça lui demande des compétences, de l’attention.

Le système d’exploitation est voué à disparaître de l’attention de l’utilisateur, on est dans l’abstraction. Si Microsoft considère Windows 10 comme un service, qu’Apple a rendu ses mises à jour gratuites sur OS X, que Google/Apple/Microsoft poussent à la convergence tablettes/smartphones/pc, c’est parce qu’on bascule d’une logique « produit » à une logique « service ». C’est bien plus subtil, rentable et l’utilisateur est bien mieux emprisonné.

Dans tout cela, le « vieux » desktop Linux est dépassé.

Gravatar de blog-libre
Original post of blog-libre.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : Mesurer l'humidité avec une sonde DHT22 et la température avec une sonde DS18B20 sur Arduino, transférer l'information à un Raspberry Pi

L'objectif de ce billet est d'illustrer l'appariement et le travail synchronisé d'un Arduino et d'un Raspberry Pi. Concrètement, l'Arduino mesure l'humidité avec une sonde DHT22 et la température avec une sonde DS18B20 et l'objectif est de transférer cette information à un Raspberry Pi qui traite l'information et l'envoie sur Internet.

Certains se demanderont pourquoi ne pas tout faire directement avec le Raspberry Pi :

  1. on peut imaginer que tous les ports du Pi sont déjà utilisés
  2. ou que le montage se complique et qu'il n'est plus possible de tout gérer depuis le Pi mais qu'il est plus aisé de lui adjoindre une (ou des) planche(s) Arduino
Principe de communication entre Raspberry Pi et Arduino

Nous allons utiliser un lien série entre les 2 composants au travers d'une connexion USB qui relie les deux équipements. Concrètement, le Raspberry Pi enverra des ordres à l'Arduino sur le port série et écoutera attentivement la réponse qui viendra également sur le port série.

Code Arduino Mesurer la température avec une sonde DS18B20

Pour faciliter les choses, on utilisera la bibliothèque DallasTemperature.h (disponible ici sur GitHub). Le code est développé ci-dessous et ne présente aucune difficulté particulière :

#include // Inclusion de la librairie OneWire #include "DallasTemperature.h" //Librairie du capteur // Initialize 1-wire OneWire oneWire(10); //Bus 1-Wire sur la pin 10 de l'arduino DallasTemperature sensors(&oneWire); //Utilistion du bus Onewire pour les capteurs DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs void doMeasures() { sensors.requestTemperatures(); //Demande la température aux capteurs Serial.print("temperature="); Serial.println(sensors.getTempCByIndex(0)); //Récupération de la température en degrés celsius du capteur n°0 } // setup() void setup() { sensors.begin(); //Activation des capteurs sensors.getAddress(sensorDeviceAddress, 0); //Demande l'adresse du capteur à l'index 0 du bus sensors.setResolution(sensorDeviceAddress, 11); //Résolutions possibles: 9,10,11,12 }

Pour mesurer la température, on appellera la fonction doMeasures().

Mesurer l'humidité avec une sonde DHT22

Là encore, le code n'est pas bien compliqué tant que l'on utilise la librairie DHT.h (par exemple celle d'Adafruit).

#include "DHT.h" // Initialisation du capteur DHT #define DHTPIN 12 // Pin sur lequel la sonde DHT 22 est attachée #define DHTTYPE DHT22 // Type de sonde DHT22 : AM2302, AM2321 DHT dht(DHTPIN, DHTTYPE); void doMeasures() { // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t)) { Serial.println("Failed to read from DHT sensor!"); } // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print("humidity="); Serial.println(h); Serial.print("temperature="); //Oui, un DHT22 ça mesure aussi la température :-) Serial.println(t); Serial.print("heat_index="); Serial.println(hic); } // setup() void setup() { dht.begin(); } Écoute sur le port série et actions

Là encore, pas de surprise. La boucle loop() est utilisée pour réagir quand des données sont présentes sur l'interface série. On détecte la nature de l'appel et on peut imaginer différents comportements selon le message reçu. Par exemple, un caractère pourra déclencher le relevé de l'humidité sur DHT22 tandis qu'un autre caractère reçu déclenchera la prise de température sur la sonde DS18B20.

//setup() void setup() { Serial.begin(9600); // Initialisation du port série } // for incoming serial data int incomingByte = 0; String res = ""; // loop() void loop() { // On écoute sur le port série if (Serial.available() > 0) { // On lit le contenu du message série et selon le caractère reçu on déclenche une action différente incomingByte = Serial.read(); if (incomingByte == 103) { //g doAction1(); } if (incomingByte == 104) { //h doAction2(); } } } Il suffit alors de tout combiner !

Il n'est pas difficile de combiner ces trois morceaux de code !

#include "DHT.h" #include #include "DallasTemperature.h" // Initialize DHT sensor. #define DHTPIN 12 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); // Initialize 1-wire OneWire oneWire(10); DallasTemperature sensors(&oneWire); //Utilistion du bus Onewire pour les capteurs DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs // for incoming serial data int incomingByte = 0; String res = ""; void doMeasures() { // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t)) { Serial.println("Failed to read from DHT sensor!"); } // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print("humidity="); Serial.println(h); Serial.print("temperature="); Serial.println(t); Serial.print("heat_index="); Serial.println(hic); sensors.requestTemperatures(); //Demande la température aux capteurs Serial.print("temperature="); Serial.println(sensors.getTempCByIndex(0)); //Récupération de la température en celsius du capteur n°0 } // setup() void setup() { Serial.begin(9600); // Initialisation du port série dht.begin(); sensors.begin(); //Activation des capteurs sensors.getAddress(sensorDeviceAddress, 0); //Demande l'adresse du capteur à l'index 0 du bus sensors.setResolution(sensorDeviceAddress, 11); //Résolutions possibles: 9,10,11,12 } // loop() void loop() { // send data only when you receive data: if (Serial.available() > 0) { // read the incoming byte: incomingByte = Serial.read(); if (incomingByte == 103) { //g doMeasures(); } } } Code sur le Raspberry Pi

Nous allons utiliser un script Python qui se connectera via le port série à l'Arduino et :

  1. émettra le signal déclenchant l'action (dans notre cas le caractère "g")
  2. écoutera pendant 20 secondes l'éventuelle réponse
  3. transmettra la réponse à un serveur distant dans une requête GET
import serial import os import glob import time import requests #Timeout de 20 secondes tf = time.time()+20 #Initialisation du port série /dev/ttyUSB0 (cela peut varier selon la version de Raspbian et le type de planche Arduino, /dev/ttyUSB0 semble le défaut avec Raspbian Jessie et un Arduino Nano328) ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) #On attend 2 secondes : si l'on écrit trop vite après l'ouverture du bus série, la communication risque d'échouer time.sleep(2) #On écrit le caractère "g" (ASCII 103) sur le port série print("Now, we are sending the command to Arduino!") ser.write("g".encode()) #Et on boucle désormais en lecture sur le port série while time.time()

Ce script peut alors être placé dans le crontab du système pour être exécuté périodiquement.

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Pierre-Alain Bandinelli : Volumio 2, pour un Raspberry Pi musical

Bonne nouvelle, Volumio 2 est tout juste sorti et cette nouvelle version améliore encore ce splendide logiciel libre.

Qu'est-ce que c'est ?

Volumio est une version de Raspbian spécialement préparée pour transformer un Raspberry Pi (ou d'autres cartes comme Odroid, Beaglebone...) en serveur musical. Ainsi équipé de Volumio, un Raspberry Pi servira de la musique disponible localement (par exemple dans un disque dur attaché à Volumio) ou sur le réseau local (par exemple un NAS). La première version de Volumio était déjà super (on en parlait ici), la nouvelle édition embellit l'interface, facilite la gestion de systèmes avec plusieurs Volumio (pour des installations dans différentes pièces) tout en conservant les caractéristiques qui faisaient la force de la première itération.

À quoi ça ressemble ?

Voilà l'écran principal de Volumio : Screenshot_2016-10-21_09-13-20.png

Et voici l'affichage des différents Volumio indépendants mais connectés à un même réseau : il n'a jamais été aussi commode de passer de l'un à l'autre ! Screenshot_2016-10-21_09-13-31.png

Comment l'installer ?

C'est d'une grande simplicité. Tout a été déployé et a été fonctionnel sur mon Raspberry Pi équipé d'Hifiberry Amp+ en 15 minutes.

  1. D'abord, télécharger l'image correspondant à votre matériel sur le site de Volumio
  2. Ensuite, sortir le fichier .img de son archive
  3. Le transférer sur une carte micro-SD (/dev/sdb dans l'exemple ci-dessous, à adapter, attention à ne pas se tromper !) avec la commande dd :
dd if=volumio.img of=/dev/sdb bs=4M
  1. Insérer la carte dans le Raspberry Pi et le démarrer
  2. Et voilà ;-)

Après chargement, l'interface graphique est disponible via le navigateur internet que l'on fera pointer vers http://volumio ou vers l'adresse IP du Pi.

Enfin, il est toujours possible d'accéder en SSH au Raspbian sous-jacent avec le nom d'utilisateur "volumio" et le mot de passe "volumio".

L'essayer, c'est l'adopter !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

genma : Numok - Framasoft & la Degooglisation

Dans le cadre du festival Numok 2016, voici le support de la conférence sur Framasoft & la Degooglisation

Degooglisons internet numok from Genma Kun

Sources LibreOffice et fichier PDF disponibles sous licence Creative Commons BY SA ici :
-DegooglisonsInternet-Numok.odp
-DegooglisonsInternet-Numok.pdf

A voir également Guide d'Hygiène numérique version 2016

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Articles similaires

Angristan : Seedbox : installer le client torrent Transmission sous Debian et Ubuntu

 installer le client torrent Transmission sous Debian et Ubuntu

Étant en pleine migration de mon dédié SoYouStart vers un VPS PulseHeberg pour ma seedbox, j'en profite pour écrire une série de tutoriel lié à l'installation de celle-ci.

Transmission est un client qui permet de télécharger des fichiers torrent. Il est disponible sur un grand nombre de plateformes sous la forme un client "lourd", un outil en ligne de commande, ou encore un service en arrière plan, ce qui nous intéresse ici pour notre seedbox.

C'est un client qui existe depuis 11 ans et qui est très stable. Il n'a pas énormément de fonctionnalités, mais il est léger et c'est une valeur sûre. :)

Une Seedbox ?

Une seedbox est un serveur dédié au téléchargement et au partage de fichiers torrents. Transmission est une interface web qui nous permet de télécharger ces fichiers.

Pourquoi avoir une seedbox ? Le fait que ce soit un serveur signifie que :

• vous avez beaucoup de stockage • vous avez beaucoup de bande passante, donc des téléchargements rapides • vous n'êtes pas surveillés par HADOPI • vous pouvez regarder vos films ou séries en streaming depuis votre serveur.

Installation

C'est probablement le client qui s'installe le plus facilement, puisqu'il est disponible sous forme de paquet dans les dépôts.

apt install transmission-daemon Configuration

Ensuite, on va pouvoir modifier le fichier de configuration ici :

nano /etc/transmission-daemon/settings.json

Attention : une fois les modifications effectuées, il faudra faire service transmission-daemon reload et non pas restart. En effet, pour une raison obscure, si vous faites restart, le fichier de conf va se réinitialiser...

Transmission sera accessible à cette adresse : http://IP_DU_SERVEUR:9091/transmission/web/.

Vous aurez une erreur vous indiquant que vous n'avez pas le droit d'y accéder. En effet la page est protégé par une whitelist d'IPs et une authentification par utilisateur et mot de passe.

Il va falloir aller chercher ici dans la conf :

"rpc-authentication-required": true, // Activation de l'auth par mot de passe "rpc-bind-address": "0.0.0.0", // 127.0.0.1 pour écouter en local "rpc-enabled": true, // Activation de l'interface web "rpc-password": "MOT_DE_PASSE", // Tapez votre mot de passe, il sera salé au reload "rpc-port": 9091, // Port d'écoute "rpc-url": "/transmission/", // Correspond à l'URL d'accès "rpc-username": "UTILISATEUR", // Nom d'utilisateur pour l'auth "rpc-whitelist": "127.0.0.1", // IPs à whitelist "rpc-whitelist-enabled": true, // Activation de la whitelist

(Attention à ne pas mettre les commentaires et // dans votre conf, ça marchera pas)

Le reste des options dans la configuration concerne les dossiers de téléchargement, le ratio de partage, la vitesse, les slots, les peers, etc.. Vous trouverez une explication complète du fichier ici.

Une fois que vous avez configuré transmission à votre goût, vous pouvez commencer à télécharger !

 installer le client torrent Transmission sous Debian et Ubuntu

Configurer un reverse proxy HTTPS avec Nginx

Tant qu'on y est, autant faire les choses proprement, et accéder à notre seedbox en HTTPS via un nom de domaine :)

Pré-requis :

  • Faire pointer son domaine ou sous-domaine en A (ou AAAA) sur l'IP de la seedbox
  • Installer Nginx
  • Générer un certificat pour son domaine avec Let's Encrypt

On va faire en sorte que Transmission n'écoute qu'en local :

"rpc-bind-address": "127.0.0.1",

Ensuite, on configure Nginx. Dans cet exemple ce sera pour le domaine seedbox.hadopi.fr.

La configuration sera à placer dans /etc/nginx/conf.d/seedbox/conf ou /etc/nginx/sites-enabled/seedbox.conf, selon votre version de Nginx.

upstream transmission { server 127.0.0.1:9091; } server { listen 80; server_name seedbox.hadopi.fr; return 301 https://seedbox.hadopi.fr$request_uri; access_log /dev/null; error_log /dev/null; } server { listen 443 ssl http2; server_name seedbox.hadopi.fr; access_log /var/log/nginx/seedbox-access.log; error_log /var/log/nginx/seedbox-error.log; location / { return 301 https://$server_name/transmission/; location ^~ /transmission { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header Connection ""; proxy_pass_header X-Transmission-Session-Id; location /transmission/rpc { proxy_pass http://transmission; } location /transmission/web/ { proxy_pass http://transmission; } location /transmission/upload { proxy_pass http://transmission; } location /transmission/web/style/ { alias /usr/share/transmission/web/style/; } location /transmission/web/javascript/ { alias /usr/share/transmission/web/javascript/; } location /transmission/web/images/ { alias /usr/share/transmission/web/images/; } location /transmission/ { return 301 http://$server_name/transmission/web; } } ssl_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/seedbox.hadopi.fr/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/chain.pem; ssl_protocols TLSv1.2; ssl_ecdh_curve secp384r1; ssl_ciphers EECDH+AESGCM:EECDH+AES; ssl_prefer_server_ciphers on; resolver 80.67.169.12 80.67.169.40 valid=300s; resolver_timeout 5s; ssl_stapling on; ssl_stapling_verify on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_session_tickets off; }

La configuration HTTPS est tiré de mon article sur le sujet.

Et voilà, profitez bien !

 installer le client torrent Transmission sous Debian et Ubuntu

Image de une par Revista Espírito Livre.

Je me propose aussi de vous installer votre seedbox sur 5euros.com.

L'article Seedbox : installer le client torrent Transmission sous Debian et Ubuntu a été publié sur Angristan

Gravatar de Angristan
Original post of Angristan.Votez pour ce billet sur Planet Libre.

Articles similaires

Pages