Informatique

Nouveautés dans Murph v1.7

Murph est un framework open-source pour construire des CMS. Il est développé à l'aide de Symfony et permet de gérer des sites web avec plusieurs noms de domaines et en plusieurs langues.

Depuis la version v1.0 publiée fin janvier 2022, pas mal de mises à jour sont arrivées. Certains sont visibles dans l'interface d'administration, d'autres sont ancrées dans le moteur du CMS. En voici quelques-unes :

  • Un outils d'analyse web a été ajouté et permet, sur demande, d'activer un outil pour compter les pages vues, les référants et le type de périphérique (mobile ou desktop)
  • Le gestionnaire de fichiers permet d'uploader un répertoire complet. On peut choisir chosir la manière d'afficher les fichiers selon leur nom ou la date de mise à jour
  • Un gestionnaire de redirection a été ajouté et permet de créer des règles fines
  • Le template par défaut a été réécrit et contient le nécessaire pour lancer un nouveau développement
  • node-sass est remplacé par sass et il est nécessaire d'avoir une version de NodeJS >= 16
  • Les assets de Murph ont été déplacés dans le core ce qui permet de faciliter la mise à jour du CMS

Conjoitement à tout ça, des dépendances ont été mises à jour ou remplacées et des bugs ont été corrigés !

Murph


Tinternet & Cie au sujet du contrôle parental sur France Culture

https://peertube.fr/w/hDrjJSAT6xd82uAyz2uddg


Journal de 8h de France Culture, 22/02/2022

Je suis intervenu au nom de l'association Tinternet & Cie au du projet de loi pour imposer aux fabriquant de matériels connectés l'installation d'un contrôle parental.

Si le contrôle parental est un outil plébiscité par l'association, les parents doivent être conscients des usages et doivent les comprendre pour mieux agir.

Lien permanent


Administrer son serveur Matrix

Au moment où j'écris cet article, j'administre 2 serveurs Matrix Synpase. Pour rappel, Matrix est un protocole de messagertie instantannée très interopérable. Le projet Matrix Synpase est un serveur écrit en python qui implémente ce protocole. Matrix Synpase fournit une API qui va communiquer avec nos clients de messageries favoris comme Element.

Afin d'administrer ces serveurs, j'avais besoin d'une interface web qui peut me permettre de réguler les accès. Synapse-Admin a complétement répondu à mon besoin. Cette interface n'est composées que de fichiers statics et se greffe sur les API des serveurs.

Avant d'installer Synapse-Admin, il faut s'assurer d'être administreur sur le serveur Matrix. Si vous travaillez avec SQLite, il suffira de faire comme suit mais la requête SQL sera la même si vous utilisez PostgreSQL.

# su - matrix-synapse -s /bin/bash
$ sqlite3 /var/lib/matrix-synapse/homeserver.db
sqlite> UPDATE users SET admin = 1 WHERE name = '@identifiant:example.com';
sqlite> .exit

Ensuite, vous avez juste à récupérer l'archive de Synapse-Admin depuis Github et de la rendre accessible derrière un serveur HTTP local ou en ligne.

Synapse-Admin UI

Une fois identifié⋅e, vous pourrez administrer l'ensemble des comptes du serveurs, avoir une visibilité sur les salons créés et les médias. Bien sur, il n'est pas possible d'accéder aux données qui restent totalement chiffrées même pour l'administrateur.

Synapse-Admin UI


Installer un proxy SMTP transparent

Il y a quelques temps. j'expliquais que des applications métiers qui envoient du mail n'arrivaient plus à ouvrir de connexion vers les serveurs SMTP de Microsoft : Microsoft 365 - Problème de connexion aux serveurs SMTP.
La solution de contournement avait été de placer en liste verte la plage IP des serveurs qui hébergent ces applications.

Deux mois et demi sont passés et ça ne fonctionne plus. Évidemment, toujours pas d'explication du pourquoi du comment. Je travaille avec Microsoft depuis 5 ans et je ne m'y suis toujours pas habitué 🤬

Après quelques heures de tests et de bidouilles, j'ai décidé d'installer un proxy qui fera l'intermédiaire entre les applications bloquées et Microsoft. Pour ne pas avoir à gérer d'avantages d'accès, ce proxy sera totalement transparent.

Il n'existe (à priori) pas beaucoup de logiciels qui font ça et s'ils le font, ils ne sont plus maintenus. On retrouve beaucoup d'articles sur Nginx et Haproxy mais ils ne conviennent pas. Nginx n'est pas un proxy SMTP transparent et mes tests avec Haproxy ont échoués.
J'ai réussi à dénicher tuck1s/go-smtpproxy. Bien qu'il n'est pas reçu de mise à jour depuis 2 ans, il ne fait qu'utiliser une librairie qui elle a un développement actif : emersion/go-smtp.

Contexte / Prérequis :

  • Le serveur tourne avec Debian 11
  • Nom de domaine du proxy : relais-smtp.exemple.com
  • Il y a un certificat SSL généré par Let's Encrypt
  • Le serveur va écouter sur le port 587 avec la couche STARTTLS

Pour compiler le projet, il suffit d'installer Go, récupérer les sources et lancer le build. À l'issue du build, le binaire proxy sera généré dans le répertoire go/src/github.com/tuck1s/go-smtpproxy.

apt update
apt install golang
go get github.com/emersion/go-smtp-proxy
go get gopkg.in/natefinch/lumberjack.v2
go get github.com/tuck1s/go-smtpproxy
cd go/src/github.com/tuck1s/go-smtpproxy
./build.sh

Il ne reste plus qu'à lancer le proxy :

./proxy
  -certfile /etc/letsencrypt/live/relais-smtp.exemple.com/fullchain.pem \
  -privkeyfile /etc/letsencrypt/live/relais-smtp.exemple.com/privkey.pem \
  -in_hostport 0.0.0.0:587 \
  -insecure_skip_verify \
  -out_hostport smtp.office365.com:587 \
  -verbose

Coté application, le serveur SMTP change de smtp.office365.com à relais-smtp.exemple.com. Si on envoie un mail, le proxy va afficher du log et on pourra s'assurer que ça fonctionne. Il faut également améliorer tout ça avec un compte utilisateur dédié au proxy, gérer son démarrage avec un service Systemd/SysvInit/OpenRC/Whatever, etc.

On verra combien de temps ça dure 🧐


Jouer à Motus dans Matrix

Je reconnais que ce titre peut générer un gros mind fuck mais laissez moi vous expliquer !

Depuis quelques temps, je joue quotidiennement à Sutom, une copie du jeu vieux jeu télévisé Motus. Le principe du jeu est simple : nous devons découvrir un mot avec comme indices sa taille et la première lettre qui le compose. On peut faire maximum 6 propositions qui permettent de découvrir les lettres. Une lettre découverte sera affichée dans un carré rouge, une lettre découverte mais mal placée sera dans un rond jaune. Les autres lettres resteront en bleu. Seuls des mots du dictionnaire peuvent être proposés.

Sutom est addictif...mais pas tant que ça car il n'y a qu'un seul mot à découvrir par jour !

Cela m'a donné un bon prétexte pour monter un nouveau projet : écrire un bot avec lequel je pourrai jouer via Matrix, ma messagerie instantanée. Le bot se connecte avec un compte utilisateur créé pour l'occasion puis accepte les invitations à rejoindre une conversation. Le bot va ensuite lire les messages qu'on envoit et va réagir quand c'est nécessaire. Ainsi on peut lancer ou relancer une partie et tester des mots. À chaque proposition, on retrouve un affichage comme dans Motus 🥸

Le code source du projet est dispo ici, c'est vraiment sans prétention !

Motus sur Matrix