To content | To menu | To search


Sunday 7 July 2024

Il est libre, FM (2)

Il y a près de dix ans, ça sentait un peu le sapin du côté de Last.fm, et j'avais par précaution installé son équivalent libre, à savoir GNU FM.

Si depuis lors Last.fm est toujours plus ou moins vivant (peu d"évolutions, mais une maintenance en conditions opérationnelle impeccable), on ne peut pas en dire autant de GNU FM : le projet est en officiellement mort depuis 2022 (et officieusement depuis bien plus longtemps).

Et surtout, c'est la dernière des applis m'obligeant à maintenir une instance de PHP 7.4, la tentative de portage vers PHP 8 s'étant avéré un échec cuisant.

Pendant ce temps la fameuse Hacienda censée remplacer tout ça n'en finit pas de commencer à ce construire, j'étais donc coincé.

Et puis au détour d'un des tickets de cette dernière je découvre l'existence de Maloja, bien vivant, en Python moderne et avec une base SQLite. Go !

Au passage j'ai avantageusement remplacé le bricolage qui me servait de script d'import/export entre last.fm et gnu.fm par Multi Scrobbler, une poubelle en NodeJS mais qui reste heureusement confinée dans un conteneur Docker blindé.

Le résultat est à la même adresse qu'avant, à savoir fm.tourmentine.com (en espérant que mon petit NAS tienne la charge, sinon il faudra trouver une autre solution)

Une bonne chose de faite, reste à nettoyer les restes de GNU FM (et, surtout, enfin débrancher PHP 7 \o/)

Billets connexes

Thursday 22 February 2024

Google, je t'aime moi non plus (3)

Plus de 10 ans après le début de ma Dégooglisation où je parlais déjà de téléphone, je viens enfin d'installer /e/OS et j'avoue que se passer d'entrer un identifiant Google au premier démarrage fait quand même bien plaisir. Et en parlant de premier démarrage, ça fait longtemps que j'en ai pas eu un aussi rapide.

Tout fonctionne nickel sur mon dinophone, ça aussi c'est agréable. Je rétrograde de deux versions d'Android (j’utilisais jusqu’à maintenant un LineageOS tombé du camion en Android 13), ça pique un peu mais ça passe.

Par contre j'ai un peu l'impression que Murena souffre du même syndrome que Canonical, à savoir le choix d'un lanceur à l'interface...discutable, imposé par défaut. Ici on a droit à Bliss Launcher qui rappelle les heures les plus sombres d'iOS. Les fanboys apprécieront, moi c'est pas trop mon truc... Trebuchet, le lanceur de LineageOS est présent mais pas sélectionnable et pire, pas installable séparément...puisqu'il est déjà installé. Les forks de Launcher3 (le vénérable lanceur Android) ne sont pas légion, je me suis donc rabattu, faute de mieux, sur Nova Launcher (après Lanceur Simple qui comme son nom l'indique faisait simplement le taf... mais perdait ses widgets, dommage)

L'Advanced Privacy (seul titre non traduit en français, bizarre), la killer-feature d'/e/OS (découvert il y a quelques mois lors d'une conférence de Gaël himself) fait bien plaisir aussi, même si ça fait un peu outil de paranoïaque (en même temps, on l'est jamais assez)

Pour l'instant je joue le jeu, je n'ai installé aucune appli Google (même pas GBoard), on va voir si je peux survivre sans (Google Maps me manque déjà...)

Note: ceci est le 300ème billet \o/ 🎂

Billets connexes

Tuesday 20 February 2024

Accroche-toi au sudo, j'enlève l'accès root

En matière de bonnes pratiques de sécurité, il est fortement conseillé de ne pas abuser des droits root (car "avec un grand pouvoir vient une grande responsabilité"). Si c'est une pratique que j'ai adopté depuis tellement longtemps que s'en est devenu naturel, la puissance du legacy a fait que ce n'est arrivé que progressivement sur l'ensemble de mes machines.

Il y a quelques années QNAP a eu le bon goût d'interdire l'accès admin non-nominatif de porcos par défaut, il a donc fallu créer un nouvel utilisateur et tout adapter, j'en ai également profité pour faire de même pour le conteneur LXD qui me sert à contourner les limitations de mon NAS. Tout mon réseau local était rootless, c'était le bonheur, mais les serveurs de la Tourmentine sont restés tels quels parce que la flemme, avec toutes les opérations lancées en root (y compris via Ansible) et quelques comptes systèmes dédiés aux applis.

Je me suis donc fait violence et après trois jours de taf (la faute à une preprod toujours lente et bancale, bref) j'ai enfin pu activer le fatidique:

PermitRootLogin no

Pas mal de scripts à adapter, en particulier les transferts par rsync, toujours un peu acrobatiques sans accès root, mais c'est à peu près tout. Dans certains cas ça simplifie même les choses.

Et non, la récente sortie de Sudo pour Windows n'a rien à voir avec cette décision 😅

Saturday 20 January 2024

FTP not dead

J'ai enfin réparé le mode passif du serveur FTP, le protocole dont même Mozilla ne veut plus tellement il date. Ce n'était pas vraiment un problème vu que tout le contenu était de toute façon, comme la plupart des miroirs, accessible en HTTPS.

J'en ai profité également pour ajouter le support du TLS pour un accès en toute confidentialité (merci, une fois encore, à Let's Encrypt)

Toujours pas d"accès SFTP par contre, un peu trop compliqué à mettre en place sur ma petite infra, à moins de changer de port, mais c'est pas trop l'idée.

Ça reste encore de l'artisanal mais je n'exclus pas de regarder du côté de SFTPGo pour remplacer cette "pile" un peu vieillissante.

Sunday 17 December 2023

C'est qui le plus fort ? le raton laveur ou le cygne ?

Adieu, petite tortue.

Le cygne évidement, car c'est un Cygne fort.

Un tunnel IPsec relie les deux serveurs de la Tourmentine afin que ceux-ci échangent en toute confidentialité. Pour ce faire j'utilisais jusqu'à maintenant le démon racoon, issu du très vénérable projet KAME. En me mettant à la recherche d'une sonde de supervision un peu plus complète je me suis rendu compte que racoon n'était non seulement plus développé depuis près de dix ans, mais qu'en plus son utilisation était déconseillée par les auteurs eux-mêmes (en même temps, avec un site chez SourceForge, bon...)

Je suis donc passé sans trop de difficulté à strongSwan, qui outre le support d'IKEv2 (modernité), a le bon goût de disposer d'une sonde Zabbix correspondant parfaitement à mon besoin. Impossible de le faire fonctionner avec la nouvelle interface vici mais bon, de ce que j'en ai vu, tout le monde utilise encore l'ancienne.

J'aurai pu passer à racoon2 à la place (découvert le jour même de la migration) mais j'avoue que la sonde Zabbix a bien penché dans la balance, j'avais un peu la flemme d'en écrire une from scratch. Et puis strongSwan a l'air beaucoup plus complet, et plus abouti (un seul service à lancer au lieu de deux, par exemple). Il est aussi plus aisé de trouver de la doc et des exemples de configuration.

La migration a été sans embûches, merci l'infra-as-code:

  1. Arrêter l'ancien service
  2. Lancer le playbook Ansible créé préalablement et testé sur ma super preprod
  3. Profiter ;)

Prochaine étape: monter un autre tunnel...mais vers ma box internet, pour me débarrasser des multiples tunnels OpenVPN qui encombrent mon réseau local \o/

Ah oui, et, mettre le wiki à jour aussi.

Billets connexes

Sunday 19 November 2023

Ravalement de façade (3)

Suite à la mise à jour de Dotclear en 2.28.1 (et les quelques sueurs froides qui vont avec), le thème Fallseason fonctionne de nouveau. Comme c'est le "moins pire", je l'ai repassé en mode par défaut.

Pourvu que ça dure.

Billets connexes

Friday 22 September 2023

Doing bank's work...

"Doing bank's work", c'est la description que j'ai donné à un projet qui, comme son nom l'indique, fait ce que devrait faire ma banque: permettre de récupérer les soldes de mes comptes pour faire des jolis graphes, indiquer une tendance, et me prévenir si le montant d'un ou plusieurs comptes passe sous un seuil critique.

J'ai lancé ce projet il y a 5 ans. À l'époque et encore aujourd'hui, il n'y avait pas beaucoup de produits qui permettaient de faire ça, il n'y en avait même qu'un: weboob (qui est devenu woob depuis)

J'ai donc mis en place un petit wrapper autour de woob pour récupérer les soldes, et les envoyer ensuite dans une base InfluxDB pour pouvoir les grapher avec Grafana. Une boucle infinie, une interrogation toutes les heures avec des paramètres d'authentification stockés dans un password-store. Simple. Basique.

Tout a fonctionné à peu près toutes ces années, au gré des changements de site et d’authentification de ma banque (passage à la double authentification via SMS, puis via l'appli mobile). C'est cette dernière qui a posé de plus en plus de problème, avec un recours au 2FA beaucoup trop régulier pour être automatisable.

Malgré un énième problème j'ai réussi je ne sais pas trop comment à passer entre les gouttes, en réduisant à un appel toutes les 5 minutes j'arrivais à garder une "session" active et à ne revalider le 2FA qu'environ une fois par semaine (jusque là, il était valide 3 mois).

Malheureusement après plusieurs demandes de renouvellement journalières j'ai été faible ("dans le doute, reboot") et j'ai lancé une mise à jour de woob. Grossière erreur: le 2FA ne tient désormais pas plus de 5 minutes.

Pour palier à ça et éviter, pour l'instant, de fermer également ce service (qui ne sera pas le premier...) j'ai changé de fonctionnement: le script n'est plus lancé par une boucle infinie mais par ma nouvelle marotte, à savoir les minuteurs systemd. Après avoir sabré dans le code source de woob pour permettre la demande de validation 2FA même en mode non-interactif (un truc qu'il va falloir pérenniser), le script est lancé maintenant 4 fois par jour, en journée uniquement (la nuit, j'ai autre chose à faire que d'allumer mon tel pour valider une transaction).

On verra à la longue si c'est trop intrusif, une fois par jour devrait suffire pour mon usage, qui est d'avoir un graphe sur le long terme, soit plusieurs années.

En tout cas si vous connaissez une banque proposant une API permettant de faire ce genre de choses (j'ai regardé du côté de l'Open Banking mais ça n'a pas l'air trop ouvert aux particuliers), n'hésitez pas à me le dire, je signe chez eux tout de suite !

Sunday 13 August 2023

Ravalement de façade (2)

Le thème par défaut du site, Fallseason, est tout pété depuis la mise à jour de Dotclear en 2.27. L'occasion de passer sur un thème différent, pour l'instant Wellington. Si cela ne vous convient pas il reste encore tout un tas de thèmes au choix dans la barre ci-contre.

Billets connexes

Tuesday 20 June 2023

Twitter, j'en ai plein les bots

Lassé des décisions arbitraires d'un multi-milliardaire mégalo, j'ai fini par faire une croix sur Twitter, ma source principale de veille. L'ambiance toxique qui règne là-bas commençait de toute façon à me peser, il était temps.

Mais contrairement à Facebook il y a quelques années, je n'ai pas fermé mon compte. Enfin...pas encore. En effet Twitter est difficilement remplaçable en terme d'info, grâce à tous les media et autres journalistes qui ont un compte dessus. Et puis il y a tous ces petits comptes qui fournissent du contenu original, voir exclusif à la plateforme... Tous ceux-là vont me manquer si je coupe totalement Twitter.

Ça tombe bien, car quelques comptes ont des bots répliquant le contenu d'un compte Twitter sur le fédiverse. @cquest par exemple en fournit quelques-uns, par le biais de son service @tootbot. Mais il m'en manquait toujours.

C'est pourquoi il y a quelques mois j'ai mis en place un petit service de ce genre, en me reposant sur Stork (a.k.a. pleroma-bot). Et, jusqu'à la semaine dernière, ça a fonctionné presque sans problème.

Et d'un seul coup d'un seul, la clé d'API, liée à mon compte Twitter et utilisée par pleroma-bot, a arrêté de fonctionner. Il semblerait que la menace de fermer l'accès aux comptes gratuits, annoncée il y a quelques mois, a fini par être mise à exécution. Et tout ça dans le silence le plus total, aucun tweet ni aucun message dans l'interface web n'ayant prévenu ce jour là (pour dire, je ne me suis aperçu de l'arrêt que quelques jours plus tard)

Après avoir hésité à supprimer le service, j'ai fini par trouver une solution de rechange en utilisant les flux RSS fournis par RSS-Bridge et en les donnant à manger à l'excellent Feed2toot. Le résultat est un peu moins bon (l’aperçu des media ne fonctionne pas, peut-être un paramètre que j'ai loupé), mais à l'énorme avantage de ne plus dépendre de ma clé d'API, et donc, de mon compte Twitter. Compte que je vais donc pouvoir fermer sans beaucoup de regrets \o/

Je vous remet la liste des bots disponibles, c'est cadeau: https://kiwi.tourmentine.com/public/twi2fedi. Offre valable dans la limite des stocks disponibles, et surtout dans la limite de la patience de ce cher Elon 😉

Update 27/07: J'ai fini par supprimer le service, c'était plus possible (en attendant de fermer également mon compte là-bas)

Update 23/09: J'ai fini par supprimer mon compte, c'était vraiment plus possible.

Sunday 30 April 2023

La Caste des Méta-Blogs, tome 1: PIP le Trisaïeul

Les sources de la toute première version de ce blog, basé sur un micro-framework perso codé durant mon passage chez feu l'hébergeur i(France) et utilisées entre 2002 et 2009, ont été archivées sur la forge, pour la postérité.

C'était la dernière tâche qui traînait dans ma todo-list, je suis enfin liiiibre \o/

- page 2 of 32 -