Categories
Programming Python

pipenv

Stegano utilise maintenant pipenv, le nouvellement recommandé (à prendre avec des pincettes) outil Python de packaging.

Si vous n’utilisez pas encore pipenv, je vous conseil de lire cette documentation. Et pourquoi pas ce petit billet.

Et si vous êtes un peu perdu avec les outils de packaging Python, j’ai commencé ce petit historique.

Categories
Programming Security

Stegano 0.7

Une nouvelle version de Stegano vient de pointer son nez. La principale nouveauté est le support d’unicode. Donc la possibilité de cacher des caractères avec un encodage UTF-8 (8 bits ou plus). Voici un exemple avec un encodage UTF-32 LE. Cela me donne envie de tester avec une option pour utiliser UTF-32 BE.

La seconde nouveauté, un peu moins importante, est l’introduction des type hints. J’y travail depuis quelques temps. Ce n’est qu’un début. Vous pouvez voir ce que ça donne ici.

Categories
Programming

Déploiement de Newspipe

J’ai récemment fait quelques efforts pour faciliter le déploiement de Newspipe. Vous pouvez utiliser le bouton disponible à cette page pour le déploiement sur Heroku. C’est la méthode la plus facile. Pour les personnes qui ne souhaitent pas utiliser Heroku, l’installation via Vagrant est également simple. Pour le moment, l’instance principale n’accepte plus la création de nouveaux comptes (je paye…). Cette page fournit plus de détails à propos du déploiement.

Python 3.6 sera utilisé par défaut sur une installation Heroku ou Vagrant. Cette version de Python est aussi conseillée pour «l’installation manuelle». Une nouvelle page permet de vérifier la version de Python utilisée.

Categories
Programming Python Steganography

Décret à propos de Python et Stéganô

Trump's decree on Python
Trump’s decree on Python
$ sudo pip3.5 install --upgrade Stegano
$ wget https://blog.cedricbonhomme.org/wp-content/uploads/2017/02/Trump_decree_on_Python.png
$ lsb-set reveal -i Trump_decree_on_Python.png -g eratosthenes

Plus sérieusement, quelques améliorations (et corrections) pour Stéganô sont disponibles. Bien que je ne parle pas tellement de ce projet ici, le changelog est à jour.

Categories
Programming

Newspipe 7.1.3

Newspipe 7.1.3 est disponible. Cette nouvelle version regroupe des modifications plutôt intéressantes.

Le crawler par défaut a été amélioré à différents niveaux. Il prend maintenant en compte un intervalle de rafraîchissement pour chaque flux. Du coup, je n’ai pas encore avancé sur le nouveau crawler alternatif.

Voici un exemple de profil public d’un utilisateur. Cette page liste les flux publics suivis par l’utilisateur en question. Les flux privés ne sont pas visibles (en général il y a un token privé dans l’adresse).

Voici un exemple de page pour un flux public d’un utilisateur.

La capture d’écran ci-dessous montre l’interface d’édition de flux.

newspipe_713_feed_edition

Cette page est souvent utilisée juste après l’ajout d’un nouveau flux. La page principale permet aussi de modifier les données d’un flux.

newspipe_713_main_page

Si vous voulez tester, c’est par ici.

Categories
Programming

Newspipe

pyAggr3g470r, JARR et maintenant Newspipe!

Promis, c’est le dernier changement de nom du projet. Pourquoi ce nouveau changement? Pour différentes raisons. Premièrement, cela fait maintenant quelque temps que je veux utiliser un nom de domaine qui m’appartient (de préférence en .io ou .org). Ceci me permet surtout de ne plus utiliser mon adresse email personnelle pour les notifications (ça fait aussi un peu plus «pro»). Malheureusement jarr.org coûte beaucoup trop chère (plus de 2000 euros lorsque je m’étais renseigné). Seconde raison, j’avais envie pour ce projet d’un nom qui ne contienne pas l’acronyme «RSS». Troisième raison, je voulais avoir un nom différent par rapport au fork principal de JARR. Le nom revient naturellement à ce fork comme c’était une idée du mainteneur. Les deux projets vont pouvoir évoluer de leur côté sans ambiguïté. C’est la combinaison de ces raisons qui fait que j’ai voulu changer de nom. À la limite si le nom de domaine avait été abordable, je n’aurai pas changé.

Voici donc la nouvelle adresse: https://www.newspipe.org. Cette instance est plus réactive et la base de données pourra stocker bien plus d’information. J’ai même utilisé un certificat Let’s Encrypt afin de satisfaire le plus grand nombre. En général je préfère CAcert.
Bref, n’hésitez pas à tester!

Sinon, j’ai récemment revu le déploiement via Vagrant. Évidemment, vous pouvez aussi simplement installer Newspipe sur votre système avec le script install.sh qui fonctionne maintenant plutôt bien (./install.sh sqlite ou ./install.sh postgresql).

Si vous voulez des informations sur ce qui a changé, c’est ici. Le projet devient un chouia plus sociale avec cette page (à activer dans votre profil). Il sera aussi bientôt possible de s’abonner aux nouvelles (non privées) d’un utilisateur.
Dans un second temps, j’aimerai avoir un nouveau crawler qui pourra être distribué. L’actuel est simplement exécuté avec une règle cron.

Juste pour terminer: Gandi + Heroku + Let’s Encrypt = ❤ Après avoir acquis le nom de domaine, tout peut se faire en quelques minutes via la ligne de commande.

P.S.: n’oubliez pas d’activer 2FA sur votre compte Gandi.

Categories
Programming

Quelques nouvelles de JARR

Cela fait un petit bout de temps que je ne donne pas de nouvelles de JARR (Just Another RSS Reader). Il faut avouer qu’il évolue bien plus lentement. Je suis toujours sur mon problème de notes privées pour les articles. Il faut que je trouve le temps pour terminer ceci, j’y tiens. D’un autre côté les fonctionnalités actuelles de JARR me suffisent.
Mais passons aux choses nouvelles.

Première nouveauté: une page liste les flux les plus populaires ajoutés récemment par les utilisateurs. Elle utilise le bookmarklet afin de permettre aux utilisateurs de s’abonner rapidement à un des ces flux. Je suis assez content de cette page.

Seconde nouveauté: une page de profil. Par défaut la page n’existe pas, l’utilisateur doit d’abord accepter d’avoir un profil public. Je trouve cette fonctionnalité un peu moins intéressante. Je vais la conserver pour le moment. Elle n’évoluera certainement pas.

Categories
Programming

Installation de Python

J’installe régulièrement Python sur mon système. Afin d’avoir une nouvelle version ou plus souvent parce que je veux tester une librairie qui nécessite une re-compilation avec un paramètre spécifique (dernièrement theano). Et de temps à autre je tombe sur un nouveau problème après l’installation. Alors voilà, maintenant avec ce gist j’ai un petit script d’installation fonctionnel écrit dans le marbre (plutôt le cloud, plus volatil). Je pense qu’il sera mis à jour de temps en temps.

Si vous avez des suggestions…

Categories
Steganography

Stéganô 0.6

wall

$ sudo pip3.5 install --upgrade Stegano
$ wget --no-check-certificate https://blog.cedricbonhomme.org/wp-content/uploads/2016/08/wall.png
$ echo -e `lsb-set reveal -i wall.png -g eratosthenes`
Categories
Steganography

Avancées du projet Stéganô

Stéganô, le module Python de stéganographie, a beaucoup évolué ces derniers jours. J’ai principalement été motivé par quelques commentaires de personnes. Cela faisait aussi quelque temps que je voulais mieux structurer le code.

L’organisation du module est entièrement revue. Le découpage en sous-modules en fonction des différentes techniques est plus logique.
Les performances sont meilleures lors de l’utilisation de la technique LSB.
Il est maintenant possible de donner directement une fonction (pour générer les ensembles de pixels) aux fonctions lsb.hide() et lsb.reveal().
L’ensemble des changements est détaillé dans les notes de versions.

Le tutoriel a aussi été amélioré et est plus clair. Voici un bon exemple. Les nouveaux tests unitaires permettent également de mieux comprendre l’usage du module.

Si vous avez des commentaires ou idées, n’hésitez pas !