Journal Offpunk 1.7

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
25
15
nov.
2022

Pour ceux d’entre vous qui aiment la ligne de commande et/ou utiliser leur ordinateur déconnecté la majorité du temps, j’ai le plaisir de vous annoncer la sortie d’Offpunk 1.7.

Offpunk est un navigateur web/gemini/gopher en ligne de commande qui a la particularité de fonctionner offline. Il retient les requêtes faites et les met en cache lors d’un "--sync" qui peut être fait manuellement ou dans un cron.

La news Linuxfr pour la 1.0:
https://linuxfr.org/news/offpunk-1-0-un-navigateur-deconnecte-pour-le-smolnet

Depuis la 1.0, le code de rendu a été complètement réécrit, le support des images grandement amélioré (avec Chafa) et le logiciel est devenu très stable. Utiliser Offpunk est pour moi une expérience incroyable. J’ai tellement l’habitude de l’utiliser que je suis perturbé par les couleurs et designs tellement différents des sites web que je lis pourtant journalièrement.

Offpunk a remplacé pour moi le navigateur web 90% du temps, le navigateur gemini, le lecteur RSS, Pocket/wallabag. Il me sert également de zettelkasten pour sauvegarder et annoter les liens/articles. Il me sert donc même de base documentaire!

Le code :
https://git.sr.ht/~lioploum/offpunk

La version 1.7 est également l’occasion pour moi de migrer vers sourcehut, un service que je trouve particulièrement intéressant car l’aspect kikoolol-tiens-vla-3Mo-de-JS-dans-ta-tronche-pour-transformer-ton-commentaire-en-emojis me fatigue (sans compter l’aspect éthique, propriétaire et centralisé de github). J’explique l’histoire du dépôt offpunk et mon choix de sourcehut dans l’annonce de la 1.7 :

https://ploum.be/2022-11-15-offpunk17-sourcehut.html

Si vous ne connaissez pas, je vous invite à tester. Si vous n’êtes pas sur Gemini, référez-vous à la news plus haut et je vous invite également à explorer ce réseau qui me fascine (pour les amateurs de GUI, Lagrange est un très bon navigateur. En ligne de commande, outre Offpunk, je recommande Amfora).

Et si vous connaissez et utilisez offpunk, je suis à la recherche de packagers pour qu’Offpunk soit plus largement diffusé (je vise spécialement Debian, Void et les *BSD dont les utilisateurs sont, je pense, susceptibles de trouver offpunk utile)

https://repology.org/project/offpunk/versions

PS: si j’ai du utiliser Firefox pour poster ce journal, je suis linuxfr à travers le RSS dans Offpunk.

go https://linuxfr.org/journaux

v feeds (commande pour voir les flux, "v" est le raccourci de "view")

2

subscribe

et voilà, à partir de maintenant, à chaque "offpunk --sync", le flux sera rafraichit et tout nouveau billet trouvé sera ajouté dans mon "tour".

  • # v1.7.1

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    Parce que je suis un très mauvais release-manager, v1.7.1 sorti en urgence pour fixer un crash…

    Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: v1.7.1

      Posté par  . Évalué à 9.

      Le bon release manager, il voit du code, il fait une release, et c'est une bonne release tu vois ?

      Le bon lecteur LinuxFR, il fait un commentaire, et c'est bon commentaire.

      • [^] # Re: v1.7.1

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        Une bonne brosse ça va dans le sens du poil tu vois (:
        Blague à part, merci pour ce journal et ces nouvelles versions.

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # A chien?

    Posté par  (site web personnel) . Évalué à 7.

    Offpunk a chien?

    Désolé, il fallait que je la sorte :-)

  • # On est loin du compte…

    Posté par  . Évalué à 5.

    Welcome to Offpunk!
    Type `help` to get the list of available command.
    - is not a valid URL to go
    ON> go https://www.service-public.fr/
    ERROR4: <class 'requests.exceptions.SSLError'> : HTTPSConnectionPool(host='www.service-public.fr', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:997)')))
    
    HTTPSConnectionPool(host='www.service-public.fr', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:997)')))
    

    C'est pas vraiment offpunk le problème là, évidemment. Dans cURL, ça marche.

    Mais mince quoi, un DH_KEY_TOO_SMALL c'est quoi le principe ? Le site vient d'être refait, il a pas besoin de marcher sous IE6/WinXP ou encore Opera/Wii…

    • [^] # Re: On est loin du compte…

      Posté par  (site web personnel, Mastodon) . Évalué à 7.

      Intéressant, merci pour le rapport de bug!

      C’est bien un problème de leur certificat et il "suffit" d’abaisser le niveau de sécurité du browser en rajoutant dans offpunk.py, après l’import requests:

      import urllib3
      requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL:@SECLEVEL=1'

      Je vais voir pour que ce soit configurable par l’utilisateur.

      Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: On est loin du compte…

      Posté par  (site web personnel, Mastodon) . Évalué à 6.

      Je viens de pusher sur le trunk la possibilité d’accepter les certificates de moindre sécurité:

      set accept_bad_ssl_certificates True

      Pour rendre cette option persistante, il faut ajouter la commande dans .config/offpunk/offpunkrc

      Mes livres CC By-SA : https://ploum.net/livres.html

  • # synchroniser automatiquement un flux

    Posté par  (Mastodon) . Évalué à 5. Dernière modification le 16 novembre 2022 à 15:58.

    Est-il possible avec offpunk d'avoir un workflow de ce type:

    1. Je lui donne à manger n flux rss/atom / ou aggregats/capsules gemini
    2. Je lui demande de synchroniser avec --sync les X liens web les plus récents ou les Y premiers liens de l'aggregat/capsule gemini en cache
    3. Offline je consulte les articles que je veux

    J'ai l'impression que d'après la description je dois manuellement sélectionner les pages que je veux synchroniser, ce qui peut prendre un temps certain.

    • [^] # Re: synchroniser automatiquement un flux

      Posté par  (site web personnel, Mastodon) . Évalué à 7. Dernière modification le 16 novembre 2022 à 16:32.

      Tu décris exactement le principe d’Offpunk.

      Tu ajoutes les liens que tu veux garder/synchroniser dans tes "listes" (bookmarks) avec la commande "add".

      go https://ploum.net
      v feed

      add

      Je vais sur ploum.net, je demande à voir le flux RSS et ensuite je l’ajoute à mes bookmarks.

      Lors du offpunk --sync, cette page sera rafraichie si elle son cache est ancien (option --cache-validity 3600 pour rafraichir toutes les heures).

      Tu peux ensuite consulter offline:

      bm

      (affiche la liste des bookmarks)

      1

      (tu n’as qu’un bookmark)

      Et voilà, le flux est à jour et les liens ont été téléchargé pour consultation offline.

      Les listes ne sont que des fichiers .gmi dans ~/.local/share/offpunk/lists, c’est donc assez simple de rajouter des dizaines ou des centaines d’URL.

      Parce que là, on n’a parlé que d’une liste, celle par défaut et qui s’appelle "bookmarks".

      Mais on fait faire plus fort. On va créer une nouvelle liste appelée "blogs" et ajouter ploum.net dedans.

      list create blogs
      go https://ploum.net
      v feed
      add blogs

      Voilà. La commande "list" permet d’afficher la liste des listes.

      C’est bien mais y’a un problème. j’ai pas envie d’aller vérifier chaque blog pour savoir s’il y’a un truc nouveau. Ça tombe bien, offpunk y pense. Les listes comme "bookmarks" sont normales. Mais on peut avoir des listes auxquelles on s’abonne.

      list subscribe blogs

      Désormais, lors du --sync, si un nouveau lien est trouvé dans un des flux/sites de la liste "blogs", ce nouveau lien est automatiquement ajouté au "tour". Le tour est une liste spéciale qui correspond plus ou moins aux onglets de ton navigateur. C’est une liste FIFO. Tu tapes "t" et tu affiches le prochain site à visiter de la liste.

      À chaque --sync, tu as donc les nouveaux billets que tu veux lire qui sont ajoutés dans ton tour.

      Le tour est aussi pratique à utiliser quand tu vois par exemple que les liens 3, 5,6,7 et 8 ont l’air intéressants :

      t 3 5-8

      et pouf, ils sont dedans. Un peu comme un ctrl+clic sur les liens dans firefox.

      Bon, je t’ai fait la version longue mais il y’a un raccourci.

      go https://ploum.net
      subscribe

      cette commande va automatiquement te proposer un flux RSS (s’il y’en a) et l’ajouter à la liste "subscribed" qui, comme son nom l’indique, sert pour les abonnements.

      Bon, parfois, on veut garder des bookmarks qui ne doivent pas être mis à jour. Typiquement des articles de référence qui risquent d’être effacés et qu’on veut garder en cache. On va les mettre dans une liste "toread".

      list create toread
      list freeze toread

      Les liens ajouté à cette liste ne seront pas mis à jour. (mais s’ils sont également dans une liste normale ou subscribed, alors c’est la mise-à-jour qui prime).

      J’espère que ça répond à ta question. J’ai l’impression qu’offpunk répond tout à fait à ton besoin.

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: synchroniser automatiquement un flux

        Posté par  (Mastodon) . Évalué à 4.

        Parfait, c'est donc exactement le logiciel que je recherchait pour l'utiliser avec mon gpd pocket2 merci à toi pour l'avoir créé!

        • [^] # Re: synchroniser automatiquement un flux

          Posté par  (site web personnel, Mastodon) . Évalué à 3.

          Il a l’air super chouette ce petit engin. Juste un peu peur que le clavier soit trop petit pour moi et mon bépo. Tu fais tourner quoi comme distrib dessus ?

          Perso, j’attends avec impatience https://mntre.com/media/reform_md/2022-06-20-introducing-mnt-pocket-reform.html

          Mes livres CC By-SA : https://ploum.net/livres.html

          • [^] # Re: synchroniser automatiquement un flux

            Posté par  . Évalué à 3.

            J'ai un GPD et effectivement, le clavier laisse à désirer. Le MNT semble un bon remplaçant, oui.
            Je vois qu'en plus il supporte plan9, c'est top ça :D

          • [^] # Re: synchroniser automatiquement un flux

            Posté par  (Mastodon) . Évalué à 4.

            mon gpd tourne sur Fedora 37.

            Honnêtement le clavier est à chier. Certaines touches sont placées bizarrement et le feeling tactile n'est pas très bon. Ce n'est pas un mini laptop pour écrivain, je l'utilise plus comme un outil pour consulter que pour produire si je puis dire. Et la plupart du temps je le prends à deux main et utilise le clavier avec les pouces comme si c'était une console de jeu avec un clavier.

            Je crois que le gpd pocket 2 max a un meilleur clavier en terme de disposition des touches mais je ne l'ai pas testé alors je ne suis pas sûr que la qualité des touches elle-mêmes soit meilleur. Je voulais l'appareil le plus petit possible pour tenir dans la poche d'un pantalon ou la sacoche de guidon de mon vélo et me connecter à distance aux infra de mon boulot en cas d'alerte. C'était le seul cahier des charges.

  • # Installation sur MacOS ?

    Posté par  . Évalué à 1.

    ce petit outil me serait fort utile dans ma quête du minimalisme.
    Comment donc ça s'installe sur un Mac OS ?

    Quand je fais un wget du .py et que je lance offpunkg -> go https://linuxfr.org, j'obtiens ça:

    Install python3-requests to handle http requests natively

    (du coup, il m'ouvre le big navigateur).

    Je ne sais pas comment installer ce machin concrètement.

    • [^] # Re: Installation sur MacOS ?

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Tu peux récupérer ce fichier https://notabug.org/ploum/offpunk/src/master/requirements.txt ou https://git.sr.ht/~lioploum/offpunk/tree/master/requirements.txt et lancer pip
      Plus d'infos : https://notabug.org/ploum/offpunk/#dependencies ou https://git.sr.ht/~lioploum/offpunk#dependencies

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: Installation sur MacOS ?

        Posté par  . Évalué à 1.

        J'ai bien pris ce fichier et fait -r.

        A priori la dépendance est installée mais il continue de prétendre le contraire.

        • [^] # Re: Installation sur MacOS ?

          Posté par  (site web personnel, Mastodon) . Évalué à 5.

          MacOS est un système absolument infâme pour gérer les installations/dépendances. J’espère qu’un jour une âme motivée fera une version macport/homebrew/autre trucs maqueux pour aider les pauvres utilisateurs de ce système inutilisable (j’ai eu un mac pour le boulot pendant 2-3 ans, j’en fais encore des cauchemars).

          — Oui mais y’a des belles icônes avec des jolies couleurs

          PS: du coup, désolé, je ne peux pas t’aider sur le coup. Aucune idée de comment on installe des librairies python sur un Mac. Je peux juste te dire qu’il n’y a rien de très spécial, que requests et bs4 sont des librairies hyper courantes. Readability est peut-être un truc un peu obscur.

          Mes livres CC By-SA : https://ploum.net/livres.html

        • [^] # Re: Installation sur MacOS ?

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          As-tu la bonne version de Python ? Il me semble qu'il y avait la 2.7 et la 3.5 mais sur une machine que j'ai utilisée récemment il semble qu'il n'y avait que la 3.7 après les dernières mises à jour.
          Fais-toi un venv pour que ce soit plus propre/clair. Avec ce langage c'est un peu la croix quand les paquets systèmes s'en mêlent et vous font la misère (vécu sous Linux, et j'imagine que ce doit être pire comme prise de tête sous Mac)

          “It is seldom that liberty of any kind is lost all at once.” ― David Hume

          • [^] # Re: Installation sur MacOS ?

            Posté par  (site web personnel, Mastodon) . Évalué à 3.

            si offpunk se lance, la commande "version" permet de voir les dépendances installées ou manquantes.

            Mes livres CC By-SA : https://ploum.net/livres.html

            • [^] # Re: Installation sur MacOS ?

              Posté par  . Évalué à 1.

              Hello,

              il fut un temps où il s'est lancé mais maintenant, ce n'est plus la même mayonnaise :

              To render images inline, you need either chafa or timg.
              Before Chafa 1.10, you also need python-pil
              Traceback (most recent call last):
              File "/Users/xma/bin/offpunk.py", line 175, in <module>
              from readability import Document
              ImportError: cannot import name 'Document' from 'readability' (/Users/xma/Library/Python/3.10/lib/python/site-packages/readability/__init__.py)

              Je ne suis pas un spécialiste de Python mais ça resemble à un problème de dépendance

  • # Sr Ht

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    OT: que penses-tu des nouveaux termes de service ?

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

    • [^] # Re: Sr Ht

      Posté par  (site web personnel, Mastodon) . Évalué à 7.

      Tu parles sur l’interdiction des projets blockchain?

      J’avoue que c’est un truc qui m’a un peu choqué parce que ça amalgame les projets honnêtes et les scams. Je suppose que c’est lié à l’apparition d’une série de projets "scammy" sur sourcehut. J’ai dit publiquement sur la mailing-list que ça me dérangeait.

      Après, Drew parait souvent obtus mais il n’est pas fermé à la discussion et j’ai confiance que sur sourcehut, j’aurais toujours en face de moi un humain pour discuter et que si il y’a un problème, cet humain me laissera le temps de migrer mes ressources.

      Je peux pas en dire autant de beaucoup d’hébergeurs…

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: Sr Ht

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        Oui, sorry, je n'avais pas lu le billet jusqu'au bout (j'ai vu après coup que tu avais évoqué le sujet.) Comme tu dis, au moins la couleur annoncée est claire et on a le temps de se retourner si on n'est pas en phase. Après, je pense qu'il n'y a pas d'amalgame mais juste que ne sachant comment lutter contre ce qui est mal pour lui, il préfère couper tout court aux sujets qui y mènent (bêtement pas de projet scammy pas de scams)

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.