Termcourse : lire et poster sur les instances Discourse depuis le terminal

Ceci est une application Terminal (TUI) et juste pour le plaisir… et un peu expérimentale à ce stade !

:information_source: Résumé Une interface utilisateur en terminal pour parcourir et publier sur les forums Discourse avec des listes de sujets, des vues complètes de sujets, des réponses, des mentions “j’aime”, la recherche et un compositeur intégré.
:hammer_and_wrench: Lien du dépôt GitHub - merefield/termcourse: A terminal based client to access Discourse instances, supporting API keys, username/password (and with MFA token)
:open_book: Guide d’installation README.md dans le dépôt (section Démarrage rapide)
:heart: Parrainage Veuillez envisager de devenir un sponsor continu de mon travail open source (Sponsor @merefield on GitHub Sponsors · GitHub) à un niveau qui convient à vos ressources et à celles de votre organisation, afin de garantir que ce projet reçoive la maintenance qu’il mérite et continue de fonctionner pour votre site à l’avenir.

Vous appréciez termcourse ? Veuillez lui donner une :star: sur GitHub

Aperçu

termcourse est un client basé sur le terminal pour Discourse. Il se comporte comme une session de navigateur légère avec une connexion basée sur des cookies (nom d’utilisateur/e-mail + mot de passe) et prend en charge l’authentification multifacteur (MFA) via TOTP/codes de secours. Il existe également une solution de secours par clé API pour les sites verrouillés ou uniquement avec SSO.

Fonctionnalités

  • Parcourir les listes Derniers/Populaires/Nouveaux/Non lus/Meilleurs.
  • Afficher les sujets complets avec des messages défilables et une barre de position/progression.
  • Répondre aux sujets ou à des messages spécifiques.
  • Aimer/ne plus aimer les messages avec des indicateurs visuels.
  • Rechercher des messages et sauter directement au contexte.
  • Créer de nouveaux sujets et sélectionner une catégorie.
  • Compositeur en ligne avec mouvement du curseur, sauts de ligne et compte de caractères en direct.
  • Substitutions d’emoji pour les jetons :emoji: courants et les émoticônes de style :slight_smile:

Démarrage rapide

git clone https://github.com/merefield/termcourse
cd termcourse
bundle install

Nom d’utilisateur/mot de passe (recommandé)

DISCOURSE_USERNAME="vous@example.com" DISCOURSE_PASSWORD=“votre_mot_de_passe” 
bundle exec bin/termcourse --login https://votre.domaine.discourse

Solution de secours par clé API

DISCOURSE_API_KEY=“votre_clé” DISCOURSE_API_USERNAME=“votre_nom_utilisateur” 
bundle exec bin/termcourse https://votre.domaine.discourse

Notes d’authentification

  • La connexion par nom d’utilisateur/mot de passe utilise une session normale de type navigateur.
  • MFA pris en charge pour TOTP et les codes de secours.
  • Les clés API sont prises en charge comme solution de secours.

Sécurité

  • Les informations d’identification ne sont pas stockées ; les cookies sont uniquement en mémoire.
  • --login évite les mots de passe dans l’historique du shell.
  • La journalisation est opt-in et désactivée par défaut.
10 « J'aime »