Collection de liens

Cet article est destiné à être en évolution permanente.

Outils Internet-Webmaster-etc.

  • Pingdom Tools : Analysez le temps de réponse de votre site Internet
  • Google Tools (Pagespeed Insights) : Analysez la qualité globale de votre site Internet, tel qu’il est vu depuis un PC et/ou un mobile
  • Cliparts, parfois complètement kitsch: Korben
  • Décodez du code douteux (généralement des scripts de malware: Malwaredecoder.com
  • Retrouvez l’historique des adresses IP sur lesquelles un site a été hébergé: viewDNS.info
  • Carte mondiale des câbles sous-marins submarinecablemap.com
  • SSLLabs : Vérifiez si votre site SSL est bien conforme aux standards du protocole.
  • imirhil : permet aussi de tester SSL sur d’autres ports que 443
  • Wormly : Vérifiez si votre serveur SMTP est correctement configuré. Vérifiez si votre site SSL possède des certificats corrects et utilise les bonnes options TLS, et pas de SSL v2 v3, etc.
  • La Rolls: installez testssl.sh depuis testssl.sh

Vie Privée

http://www.youronlinechoices.com/fr/controler-ses-cookies/

Plongée sous-marine

Aviation

  • orbifly.fr (lien vers la page météo de ce site d’écolage d’aviation aux instruments)
  • buienradar.be (lien vers un site belgo-hollandais qui annonce les précipitations)

Linux Tools

Windows stuff

Windows 11, ScubaPro Galileo, IrDA, Infrarouge, Moschip-Asix 7780 = YES IT WORKS !

Bonjour,

Suite à la débâcle de mon précédent “jouet” (Microsoft Surface Pro 4 irréparable pour cause de batterie gonflée, voir mon article ici), j’ai fait l’acquisition d’un vrai petit laptop (Lenovo Thinkbook) dont la coque est fermée avec des vis et non de l’abominable colle partout.

Ceci nous éloigne un peu. Ce laptop est livré avec Windows 11. Le temps de faire quelques mises à jour, dont la copieuse 22H2, me voilà prêt à tenter de connecter mon ordi de plongée Scubapro Galileo Sol via le dongle infrarouge que je possède (et qui n’est plus fabriqué).

Voici comment j’ai procédé:

connecter le dongle, et voir au niveau du gestionnaire de périphériques (device manager) comment le périhpérique USB inconnu s’identifie.

La réponse est: “USB\VID_9710&PID_7780”

Une recherche sur “VID 9710 PID 7780” me ramène quelques résultats utiles. Il y a visiblement 2 versions du pilote qui circulent, la plus récente est datée de 07/01/2013 et porte le n° 1.3.2.0. Après contrôle de la cohérence entre les divers downloads, contrôle chez virustotal.com par sécurité, je vous livre ci-dessous celui que j’ai sélectionné.

Scubapro Lindy Galileo Infrared dongle MCS7780_Drivers

Juste dézipper. Ne rien exécuter.

Dans le Gestionnaire de Périphériques, “mettre à jour le pilote”, et localiser la version 64bit du pilote dans votre téléchargement dézippé.

Ceci termine la première partie.

Maintenant il faut aller dans Windows 11 et ajouter la fonctionnalité IrDA (“Optional Feature” en anglais).

Chez moi ça n’a pas encore fonctionné du premier coup. J’ai lancé la commande suivante dans une invite de commande en mode administrateur:

C:\Users>sc start MosIrUsb

SERVICE_NAME: MosIrUsb
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 0
FLAGS :

J’ignore si c’est cette commande qui a tout fait réussir, mais le principal c’est que ça fonctionne.

A savoir aussi: le programme SmartTRAK de Scubapro demande les droits d’admin chaque fois qu’on le lance. Ceci peut être évité, en mettant ce programme en mode compatibilité Windows 7. L’exécutable SmartTRAK.exe  se trouve dans C:\Program Files (x86)\SmartTRAK . Voir et modifier ses propriétés pour indiquer le mode de compatibilité Windows 7.

Une alternative à SmartTRAK est le logiciel open source Subsurface

qui lit très bien l’ordinateur Galileo (choisir la marque Uwatec et non Scubapro)

Cependant, SmartTRAK reste nécessaire pour configurer les paramètres et alrmes, ou personnaliser votre ordinateur Galileo.

Microsoft, Exchange, Outlook Web, et non respect des standards IMAP

Dans un environnement Microsoft Exchange, lorsque vous changez la langue d’utilisation via Outlook Web, cette opération va changer le nom des dossiers spéciaux sur le serveur, ce qui amène à une belle fantaisie.

IMAP recommande pourtant que ces dossiers spéciaux restent en anglais sur le serveur, et que ce soit le logiciel client qui fasse la traduction au vol.

Microsoft n’en a cure, et depuis toujours (Outlook Express, Windows Mail) il va créer des nouveaux dossiers sur le serveur, quitte à perturber complètement le fonctionnement des autres appareils connectés à la même boîte mail.

Avec Exchange il y a un petit mieux. L’utilisateur la le choix de renommer ou non les dossiers spéciaux, et cette option est cochée par défaut. Peut-être n’est-ce pas le bon choix.

Voyez en images. Il s’agit d’une boîte mail chez OVH, accédée simultanément en IMAP avec Thunderbird, et via le Webmail qui est Outlook Web.

Cette boîte est configurée en anglais mais a déjà été utilisée en français dans le passé.

Voici avant le changement:

Voici comme se présente la boîte mail depuis Thunderbird

A partir du webmail OWA, changement de la langue vers le français

hé bien non c’est impossible, il reste des traces qui empêchent ce changement !

Choisissons le néerlandais alors

et voyons ce que ça donne sur Thunderbird après un refresh… mais quel bazar !!

Mais pourquoi ne voit-on pas les dossiers fantômes sur le serveur ?

J’ai pu remettre en anglais, mais Thunderbird “voit” toujours les dossiers en néerlandais ET ceux en anglais…

Installer NextCloud sur un hébergement mutualisé Perso chez OVH

Dans ce tuto, nous allons installer NextCloud version 24.0.0.12 dans un hébergement mutualisé OVH de type ‘perso’.

NextCloud est un applicatif écrit en PHP et il utilise une base de données pour pouvoir fonctionner.

L’hébergement mutualisé Perso OVH dispose de 100 GB d’espace disque, dont on va utiliser ½ GB pour NextCloud lui-même, et une base de données MySQL de 200 MB dont environ 10 MB vont être utilisés dès le départ par NextCloud.

L’installation présuppose que vous êtes familier avec les hébergements OVH, et qu’il n’y a pas déjà une installation NextCloud dans cet hébergement.

Vous êtes supposé être capable de :

  • créer un nouveau site via la page ‘multisite’ de l’espace client,
  • activer un certificat SSL sur ce site
  • utiliser un client FTP comme FileZilla,
  • utiliser le protocole sftp plutôt que ftp,
  • créer une base de données MySQL
  • ou utiliser une base existante et en récupérer le mot de passe

Afin de ne pas alourdir inutilement le texte, les instructions qui y sont relatives pourront être concises.

Pour cet exemple, j’ai même utilisé l’hébergement Perso d’un autre domaine que celui qui nous intéresse:

Ce hébergement existe depuis 2008, ce qui explique la présence de fichiers portant cette date.

Voici la liste des fichiers via FTP:

On peut y voir ‘www’ et ‘drive’, qui sont les ‘dossiers racine’ des deux sites hébergés sur cet hébergement.

J’ai aussi créé ‘drivedata’ qui est destiné à contenir les fichiers utilisateur de NextCloud. Je recommande que ce répertoire ne se trouve dans aucun des dossiers racine des sites hébergés. Ainsi aucun site n’y a accès, en-dehors de NextCloud ou d’une autre application PHP hébergée.

Passons aux préparatifs sérieux.

Configurez l’hébergement avec la version la plus récente de PHP, actuellement stable64 et PHP 8.1.

Configurez le multi-site, afin que votre cloud ait une adresse unique (p.ex. drive.example.com mais pas www.drive.example.com)

N’activez pas le firewall. Activez les logs séparés ou non, selons vos désirs. Activez SSL, puis allez dans la page générale pour regénérer le certificat.

Téléchargez depuis https://nextcloud.com/install/#instructions-server

Vous allez recevoir un téléchargement du fichier ‘latest.zip’ (143 MB à la date de rédaction 15/05/2022, version 24.0.0.12).

Dézippez-le : 346 MB, 19500 fichiers et 3200 dossiers.

Il faut maintenant ‘pousser’ tout le contenu dans votre hébergement FTP, dans le répertoire /drive si vous avez suivi mon exemple. Ca prendra “un certain temps” ou “un temps certain”. A la fin vous aurez ceci :

Pendant que ça copie, vous pouvez préparer la base de données.

Vous devez être en possession de 4 paramètres (adaptez nomdelabase):

  • serveur: nomdelabase.mysql.db
  • base de données: nomdelabase
  • utilisateur: nomdelabase
  • mot de passe: vous seul le connaissez

Si cette base existe déjà (par exemple pour un site WordPress déjà présent) voyez dans les fichiers de configuration quels sont ces 4 paramètres (dans le cas de WordPress, vous pouvez consulter wp-config.php). Ne changez pas le mot de passe via l’espace client, car vous rendriez ce site inopérant.

Maintenant, lorsque la copie est terminée, vous pouvez visiter votre site en appelant son adresse définitive dans un navigateur (avec votre nom de domaine et https)

Vous devrez préciser une série d’informations ET ABSTENEZ-VOUS D’APPUYER sur ENTER ou de cliquer OK tant qu’on n’a pas rempli tous les champs:

  • login et mot de passe du futur admin
  • sélection de MySQL/MariaDB –> complétez les 4 paramètres nécessaires
  • sélection du répertoire data (je conseille /drivedata plutôt que /drive/data, voyez plus haut)

L’installation commence, et se termine sur un magnifique “Gateway Timeout”.
Attendre 5 minutes et se reconnecter à l’adresse du site.
Tout semble être là et parfaitement opérationnel.

Connectez-vous avec le compte admin.

Dans les réglages:

  • Administration > Paramètres de base, serveur e-mail: mode d’envoi “Sendmail”
  • Personnel > Informations personnelles > mettre une adresse mail > vous devriez recevoir un mail
  • Applications (depuis le menu à droite) > Pack d’applications
    Eventuellement ajouter “Calendar” et “Contacts”.
  • Aller dans la gestion des utilisateurs ; créer un ou des groupes ordinaires et créer des utilisateurs non privilégiés dans ce groupe.
  • A partir de maintenant traviller exclusivement avec ces utilisateurs non privilégiés.

L’installation n’a pas été testée en profondeur dans des conditions réelles.

Considérez ceci comme une facilité à usage personnel.

N’allez jamais construire un cloud dans un tel hébergement web mutualisé, et qui deviendrait peu à peu un élément critique pour votre activité professionnelle.

Lors de mes essais, j’ai pu charger plusieurs centaines de photos et des vidéos pesant jusqu’à plus de 260 MB, alors que phpinfo() me dit: post_max_size 130M et upload_max_filesize 128M. C’est encourageant.

Bientôt la version de MySQL 5.6 proposée par OVH ne sera plus supportée par NextCloud, un jour ce sera autre chose, etc.

Sachez aussi qu’en ultime recours, vous trouverez :

  • les fichiers dans le répertoire ftp /drivedata
  • les événements Calendar sont dans la table `oc_calendarobjects`, dans le champ [blob] calendardata
  • de même les contacts se trouvent dans la table `oc_cards`, dans le champ [blob] carddata

Domoticz, Zigbee, Sonoff, Tasmota, Raspberry Pi…

Ca fait un bail que je suis resté silencieux à propos de mon installation Domoticz (voir ici)

Pour rappel mon Domoticz tourne sur un Raspberry Pi 3B équipé d’un adaptateur PiZiGate, et mes périphériques sont: IPX-800, divers Sonoff, et des bidules Zigbee.

Entre-temps j’ai acheté un petit SSD (32€) et un adaptateur USB2-SATA (7€). En effet je n’ai pas envie d’attendre que la carte micro-SD de 8GB me claque entre les mains en raison de sa lente et inévitable usure.

J’ai installé un détecteur de fumée Zigbee, la transmission d’alerte par Telegram fonctionne.

Le dernier Sonoff Basic R2 que j’ai acheté n’a pas voulu fonctionner avec ESPeasy. Du coup j’ai essayé Tasmota et je l’ai adopté.

Enfin nous avons commandé des stores, et j’ai demandé une livraison avec moteur classique commandé par fil (et non avec une télécommande propriétaire Somfy). En attendant la livraison et l’installation, j’ai déjà préparé la commande à distance.

Pour chacun il y aura un relais Wifi à 2 canaux avec relais inverseurs à contact sec, avec la ferme intention de les flasher avec Tasmota comme j’ai fait précédemment avec les derniers Sonoff. Et surprise, alors que la photo montrait clairement les petits trous dans le circuit imprimé pour y brancher un câble série, le modèle que j’ai reçu en fait défaut !

Déception ! Du coup je me suis intéressé à piloter Domoticz > IFTTT > eWelink > relais et j’y suis arrivé avec un certain succès. Sauf que… eWelink est payant si on veut l’interfacer, statut VIP 10$/an ; et IFTTT est devenu payant si on veut avoir plus que 3 scripts, statut Pro 2$/mois !

Tout ça pour avoir un relais qui s’actionne avec 5 secondes de retard, voire plus, et être à la merci d’une défaillance de l’accès internet, de IFTTT, et/ou de eWelink. Payer et devoir dépendre des autres, non merci ! C’est l’occasion de rappeler tout le mal que je pensais de l’application eWelink qui demande de se foutre (virtuellement) à poil devant son appareil.

Après d’intéressantes lectures sur internet, notamment de data sheets du PSF-B04 en chinois (identification du chip en montage surélevé), je sors mon fer à souder équipé de sa panne la plus fine, pour souder 4 fils dont deux sur des pattes de circuit de 1 mm de large. Ceci me donne accès à GND (zéro volt), Vcc (+3.3) et les classiques TX et RX. Et hop, ça y est Tasmota est flashé dans l’appareil !

 

Je déclare cet appareil comme un Sonoff 4CH Pro même s’il n’a que 2 sorties.

Au niveau du câblage qui est prévu pour le store électrique, le relais 1 amène le courant ou le coupe, et le relais 2 est utilisé comme inverseur pour activer un moteur ou l’autre. Il est donc impossible de commander à la fois la montée et la descente, et il ne faut pas dépendre d’une fonction “interlock” du relais.

A ce stade, on peut commander les relais au moyen de la télécommande RF433 qui est livrée avec (si on a choisi ce modèle bien sûr), ou bien avec les boutons sur l’appareil, ou bien à partir de la page Web Tasmota à l’adresse IP où il se trouve. C’est peu convivial et uniquement une solution de secours.

On va lui ouvrir l’horizon. Dans Domoticz, on déclare 2 switches on/off virtuels à partir de Setup > Hardware > Virtual Sensors, et pour ces 2 switches, on leur donne un nom à chacun et la commande HTTP qui actionne le switch (ou MQTT pour ceux qui l’ont implémenté).

 

[Edit: avec MQTT configuré sur Tasmota, les On et Off Actions sont superflues]

On peut maintenant créer une ou plusieurs scènes où on va actionner ces switches pour en faire ce que l’on veut.

J’ai commandé des boutons Zigbee (ici ou ici ou autre modèle ici)

et la petite notice en chinois bien sûr, ici la page qui montre comment l’ouvrir pour changer la pile

Appairage:

Ces boutons différencient le simple clic et le double-clic. Celui-ci supporte aussi le triple et quadruple-clic, tandis que d’autres modèles reconnaissent un appui long. Je vais utiliser le simple-clic pour actionner le store (en inversant le sens) et le double-clic pour un arrêt immédiat. J’ai essayé avec des scènes et des scripts Blockly sans y arriver. Finalement un script dzVents de quelques lignes fait le travail à merveille

return {

   on = { devices = { 94 }},        -- idx of button

   execute = function(dz, item )
           dz.log("state of " .. item.name .. " is " .. item.state)
           if item.state == "1 Click" then
            dz.devices(73).toggleSwitch()    -- idx of up/down switch
            dz.devices(72).switchOn()      -- idx of power switch
        elseif item.state == "2 Click" then
            dz.devices(72).switchOff()    -- idx of power switch
        end
   end
}

Un mot d’explication:

Si le bouton idx=94 est activé, le script est exécuté. Si l’état est “1 Click” alors on inverse le switch2 (idx=73) pour monter/descendre et on allume le switch1 (idx=72) qui donne l’alimentation électrique. Lors de l’action “2 Click” (arrêt du store) le switch 1 est éteint.

En outre un timer de 17 secondes avait été mis sur le switch1, à régler quelques secondes de plus que l’ouverture ou la fermeture complète, ainsi on ne laisse jamais le store sous tension en permanence.

A remarquer que l’utilisation directe des boutons sur les relais, ou des télécommandes RF433 n’informent pas Domoticz de cette action. Une commande MQTT telle que ‘domoticz/in’ avec un payload ‘{ “idx” : 72, “nvalue” : 0}’ permet de changer l’état dans Domoticz sans que Domoticz n’envoie en écho (et possiblement en boucle infinie) un ordre d’extinction au relais.

Au niveau de Tasmota, avec les configurations MQTT et Domoticz complétées, plus aucun échange en http n’est encore nécessaire. La réactivité est bien meilleure et fiable dans les deux sens.

 

Installer un webmail Roundcube sur Debian 10

Chers lecteurs bonjour,

Dans un article précédent j’avais proposé l’installation d’un serveur d’envoi de mail, avec liberté de spécifier l’adresse mail de l’expéditeur et signature DKIM.

Cet article-ci est une continuation et présuppose que vous ayez réalisé ce serveur. Néanmoins tout serveur Debian peut faire l’affaire.

A ce stade on avait installé: Postfix, SASL, OpenDKIM.

Pour le Webmail Roundcube, il faut: un serveur de courrier de type IMAP, un serveur d’envoi SMTP, et pour le logiciel à installer: Apache2, PHP, MySQL/MariaDB, Certbot, Python.

Il faut bien se rendre compte que ce serveur ne contiendra à aucun moment les messages e-mail des utilisateurs, mais bien les carnets d’adresses que ceux-ci auraient constitués sur le webmail ainsi que les préférences d’affichage.

A vous de déterminer votre politique de backup ou l’absence de celle-ci.

Dans l’article précédent j’avais appelé le serveur bazooka.example.com.

Vous avez peut-être envie de “vendre” votre webmail avec un nom plus cohérent, par exemple rc.example.com (rc pour Roundcube)

Dans la zone DNS de example.com, vous ajouterez une entrée, soit un CNAME qui redirige rc vers bazooka, soit une entrée A vers l’adresse IP du serveur.

Testez en faisant:

ping rc.example.com

Je vous livre les commandes à exécuter sur le serveur lui-même pour installer des packages supplémentaires, à partir de l’utilisateur root.

apt-get install apache2 mariadb-server mariadb-client
apt-get install php php-common php-curl php-mysql php-mbstring 
apt-get install php-intl php-imagick php-pear php-ldap php-json php-xml

On va créer un utilisateur ‘rc’ sous lequel le webmail sera installé.

adduser rc (répondez aux questions)

Visitez maintenant le site de Roundcube, et identifiez la dernière version stable dans les downloads. Copiez l’adresse du download “Complete” dans votre presse-papiers, on va en avoir besoin.
Lors de la rédaction de cet article, il s’agit de https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz

On va se connecter dans le contexte de l’utilisateur rc, et exécuter une série de commandes:

# su - rc

$ wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz
$ tar xvfz roundcubemail-1.4.3-complete.tar.gz
$ mv roundcubemail-1.4.3 www

(Roundcube est maintenant dans le sous-dossier www. Vous pouvez un peu investiguer ce dossier, et lire le fichier INSTALL)

Terminez la session de l’utilisateur ‘rc’ avec control-D, on revient dans le shell ‘root’.

On va créer un lien symbolique entre l’emplacement du site web par défaut (/var/www/) et le répertoire www de l’utilisateur ‘rc’ (/home/rc/www/).

cd /var/www
ln -s /home/rc/www rc

On va configurer ce nouveau site dans Apache

cd /etc/apache2/
cd sites-available/
cp 000-default.conf rc.conf

On va éditer ce fichier de configuration rc.conf . J’indique juste les lignes qui ne sont pas des commentaires.

<VirtualHost *:80>
ServerName rc.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/rc
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

puis on l’active:

a2ensite rc
systemctl reload apache2

On le teste via l’adresse http://rc.example.com , on doit recevoir ce message d’erreur:

CONFIGURATION ERROR
config.inc.php was not found.
Please read the INSTALL instructions!

Sous debian, on a un éternel problème de permissions dans la configutation standard. Le serveur web tourne sous l’utilisateur www-data. On va réciproquement partager les groupes de ‘rc’ et ‘www-data’ pour diminuer les problèmes de droits d’accès:

adduser www-data rc
adduser rc www-data
service apache2 restart

Il faut créer une base de données ‘rc’, un utilisateur ‘rc’ et des droits d’accès.

mysql
mysql> CREATE DATABASE `rc`;
CREATE USER 'rc' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'rc'@localhost IDENTIFIED BY 'password';
GRANT ALL privileges ON `rc`.* TO 'rc'@localhost;
FLUSH PRIVILEGES;

Tout devrait maintenant être prêt pour procéder à l’installation du webmail. On a:

  • un serveur SMTP
  • un serveur IMAP
  • une base de données

Comme indiqué dans la documentation de Roundcube, on dirige son navigateur vers http://rc.example.com/installer

tout est ok ? >> [Next]

il faut changer les permissions d’accès aux répertoires temp et logs :

chmod g+rwx /var/www/rc/temp /var/www/rc/logs

Je choisis de ne pas utiliser de Spell checker.

Pour la database choisir: mysql, puis host=localhost, database=rc, user=rc, password.

On peut opter pour un préfixe rc1_ ça peut toujours servir si plusieurs instances devaient partager une base de données.

imap:
POUR OVH: ssl://ssl0.ovh.net  (c’est bien un zéro, pas un O)
POUR GMAIL: ssl://imap.gmail.com (Gmail ne le permet pas sans changer plusieurs réglages au préalable sur son compte Gmail)

smtp:
tls://localhost, port 587 , user: (votre utilisateur créé dans l’article précédent)
décocher: [ ] use the current IMAP username

Ensuite on clique sur [Next]

L’installer propose de télécharger le fichier de configutation généré, téléchargez-le donc, et ouvrez-le avec Notepad (bloc-notes)

Cherchez “smtp_server” et ajoutez les lignes indiquées en rouge:

$config['smtp_server'] = 'tls://localhost';

// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default)
$config['smtp_port'] = 587;

$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
), );

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '...';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '...';

Cette modification est rendue nécessaire car le serveur SMTP se présente avec un certificat auto-signé. Sans cette configuration, le client (webmail) échoue lors de la connexion car le certificat n’est pas authentifié par une autorité de certification (CA).

Copiez l’entièreté du fichier de configuration dans votre presse-papiers et recopiez-le sur le serveur comme ceci :

cat > /var/www/rc/config/config.inc.php

puis collez (sous PuttY, c’est un clic droit). Puis faites un retour à la ligne et control-D

Cliquez sur [Next].

La base de données n’est pas initialisée, faites-le en un clic comme proposé.

Testez SMTP en indiquant une adresse d’expéditeur (de préférence configurée dans le chapitre précédent DKIM) et une adresse de destinataire. Le mail doit vous parvenir. Vous pouvez inspecter les en-têtes.

Ou mieux, obtenez une adresse temporaire sur mail-tester.com, envoyez-y un mail et vérifiez votre joli score de 10/10 !

Testez IMAP avec une adresse complète et son mot de passe.

Il nous reste quelques petits détails à régler. Par défaut PHP ne permet que des uploads de 2 mégabytes, c’est bien trop peu pour un webmail. Je propose 40 MB.

Dans le fichier /etc/php/7.3/apache2/php.ini, recherchez ces 2 lignes et augmentez leur valeur:

upload_max_filesize = 40M    #(au lieu de 2M)
post_max_size = 48M          #(au lieu de 8M)

et redémarrez Apache:

service apache2 restart

Maintenant que tout fonctionne, il manque quelque chose d’essentiel: https ?

apt-get install certbot python-certbot-apache
certbot --apache

Cette machine est encore presque vierge. On ne prend pas de risque à laisser Certbot faire automatiquement les modifications.

Après avoir accepté les termes de licence, donnez une adresse mail réelle, puis indiquez le nom du site web à protéger, en donnant son numéro dans la liste proposée. Vous pouvez opter de rediriger la version http vers https, n’hésitez pas à le faire. Ca fonctionne.

Certbot va s’occuper de regénérer automatiquement votre certificat tous les deux à trois mois.

Vous pouvez vérifier que le processus de mise à jour est opérationnel:

certbot renew --dry-run

Happy Webmail !

 

Votre mot de passe est-il sûr ?

Des listes de mots de passe circulent sur internet.

Plusieurs sites proposent ces dictionnaires en téléchargement, par exemple https://crackstation.net/

Pour voir si votre “excellent mot de passe” existe dans cette liste, cela se fait en deux temps.

  1. calculez le hash sha-256 de votre mot de passe. Le hash est une procédé irréversible qui ne permet pas de reconstituer ce qui a été hashé.
  2. présentez ce hash au site en question. S’il vous rend le mot de passe non hashé, c’est qu’il se trouve dans son dictionnaire, et est donc à déconseiller.

Pour calculez le hash d’un fichier, il y a des sites web par dizaines. Par exemple https://xorbin.com/tools/sha256-hash-calculator

Si vous ne voulez pas soumettre votre secret à un site inconnu, utilisez votre linux favori:

# echo -n “p@ssword”|sha256sum
0fd205965ce169b5c023282bb5fa2e239b6716726db5defaa8ceff225be805dc –

Puis vous allez sur crackstation.net et vous introduisez le hash (sans le “-” final)

Il vous restitue instantanément p@ssword car il est dans son dictionnaire.

Si vous avez oublié un mot de passe, demandez-le à Google !

Ce billet s’adresse plutôt aux utilisateurs d’Android et de Chrome.
Les aficionados de la Pomme auront probablement confié leurs précieux mots de passe à cette société-là.

Préambule: il est important que personne ne connaisse votre mot de passe Gmail / Google.

Allez voir ce site: https://passwords.google.com et puis Password Checkup.
(Si vous êtes parano et demi, ne cliquez pas sur ce lien, mais retapez l’adresse dans une autre fenêtre)

Vous devrez retaper votre mot de passe Google, et c’est très bien ainsi, car on va voir bien des choses.

Google va vous énumérer des sites où ce mot de passe a (probablement) été compromis, ceux où vous avez utilisé le même password, et ceux où vous avez un mot de passe “faible”.

En cliquant sur la petite flèche à droite, on peut détailler.Je viens de vous dévoiler que j’ai utilisé le même mot de passe sur tous ces sites.

On peut détailler encore plus. Cliquez sur ces trois petits points

Vous pouvez voir ce mot de passe et même le sélectionner pour le recopier ailleurs.


Postambule: il est important que personne ne connaisse votre mot de passe Gmail / Google.

Tous ces mots de passe stockés là le sont par votre propre volonté. Vous avez demandé à Google de les mémoriser, soit dans votre téléphone, soit dans une autre application Google comme Chrome.

Mais de là à les voir affichés en clair, c’est inattendu. Parmi les mots de passe mémorisés, seuls ceux posant problème peuvent être affichés.

 

 

 

Linux / bash / Raspberry Pi : reboot quotidien

J’ai un Raspberry Pi 3 sur lequel tourne Domoticz. Ca fait deux ou trois fois que je l’ai retrouvé complètement planté.

J’ai décidé de le rebooter au milieu de chaque nuit, vers deux heures du matin. J’y a inclus un fusible pour ne jamais avoir de reboots indésirables, par exemple s’il y a des changements d’heure. Et depuis que je reboote régulièrement je n’ai plus jamais eu de plantage.

Dans /etc/crontab, ajouter la ligne suivante:

2 2 * * * root if [ `cat /proc/uptime|cut -f1 -d.` -gt 86200 ]; then /sbin/shutdown -r +2 ; fi

J’explique: chaque jour à 02:02, sous le user ‘root’ exécuter la commande suivante

# cat /proc/uptime
76861.53 276823.00

renvoie l’uptime en secondes. La seconde valeur est l’idle time (supérieur à l’uptime car il y a 4 processeurs)

Il y a 86400 secondes dans 24 heures. Dans la réponse à la commande ci-dessus, on prend ce qui est devant le point. Si l’uptime mesuré est supérieur à 86200 secondes, alors on reboote le système. Sinon pas d’action.

 

Domotique, IoT, électronique connectée : ici ça dépasse les bornes !

J’ai acheté cette semaine un relais électronique SONOFF , en vente pour le moment pour 4,78€ frais de port compris, chez Banggood. (lien)Pas de notice, il faut lire un QR-code sur la boîte. Il y a deux autres QR-codes pour l’app iPhone et l’app Android.

Le manuel complet se trouve ici (lien lien)

Ca a l’air sympa, voilà enfin un accessoire facile à configurer, et ça fonctionne juste bien comme annoncé.

J’ai ouvert le boîtier pour constater que la qualité de réalisation est bonne. Ce n’est pas protégé contre l’humidité ou la pluie. Pour 5€ livré chez vous, c’est une bonne affaire.

_______________________________________________

Maintenant on va passer aux points négatifs et ils sont si nombreux que je vais m’abstenir d’utiliser ce gadget tel qu’il est.

  1. Il ne peut être piloté que via une application. Abandonnez l’idée d’un simple navigateur internet.
  2. Cette application fonctionne via un site centralisé hébergé sur Amazon AWS.
  3. Si plusieurs personnes doivent télécommander le même appareil, chacune doit installer l’app, créer un compte personnel et accepter une invitation de la part du propriétaire du relais.
  4. L’application testée dans sa version Android réclame les droits suivants pour pouvoir être installée: Device & App history, Location, Photos/Media/Files, Camera, Microphone, WiFI connection information, Device ID and Call History. Je vous invite à voir les captures d’écran qui expliquent mieux en détail les accès demandés.

    Lors de l’installation de l’app j’ai aussi dû créer un compte avec une classique validation de mon adresse e-mail. Je n’ai pas complété mon n° de téléphone qui était pourtant demandé. N’est-ce pas un peu beaucoup pour allumer ma lampe de jardin à distance ?
  5. Ensuite, comme toutes les communications passent par ce serveur centralisé, il, me sera impossible d’allumer ou éteindre cette lampe qui est tout près de moi, s’il n’y a pas d’internet, si le serveur central est arrêté par le vendeur, s’il se fait hacker, etc.

Etant donné l’intrusion grave dans ma vie privée, et la dépendance au bon fonctionnement d’internet et de l’infrastructure centralisée avec laquelle je n’ai aucune relation contractuelle, j’ai désinstallé aussitôt l’application. Le relais est devenu sans aucune utilité, tel qu’il est.

Cet appareil contient un microcontrôleur programmable ESP8266. L’internet regorge de projets pour reprogrammer la mémoire de ce microcontrôleur. Ca promet du plaisir … L’interface USB-Serial TTL est commandé…

Dans un article suivant, j’explique comment programmer le bouton et la LED.

Collection de liens:

Reprogram Sonoff Smart Switch with Web Server

MQTT -> http://www.hivemq.com/blog/how-to-get-started-with-mqtt

Hacking it -> https://wiki.almeroth.com/doku.php?id=projects:sonoff

ESPurna -> https://bitbucket.org/xoseperez/espurna/wiki/Home

Let’s Control It: https://www.youtube.com/watch?v=fN_QKOWvG1s
https://www.letscontrolit.com/wiki/index.php/ESPEasy

Update 10 novembre 2017: pourquoi il ne faut pas acheter un appareil qui est “possédé” par quelqu’un d’autre (et qui peut décider de bloquer son fonctionnement alors qu’il est en parfait état de marche même dans un environnement non relié à internet)
NEST: http://www.zdnet.com/article/nest-to-brick-revolv-smart-hubs-on-sunday-and-theres-nothing-owners-can-do-about-it/
LOGITECH: https://gizmodo.com/logitech-will-be-intentionally-bricking-all-harmony-lin-1820279591
https://arstechnica.com/gadgets/2017/11/logitech-to-shut-down-service-and-support-for-harmony-link-devices-in-2018/

Edit 15/02/2018: Un article à lire sur la “smart house”. Brrrr… bonjour les mouchards.

Edit 19/05/2018: NEST en panne pendant quelques heures. Ce n’est pas la fin du monde, mais ça touche tous les cleints NEST dans le monde. Articles: TheVerge, Gizmodo.