hmichael@tronyxworld.be:~$

Alternatives à Pastebin

Le site pastebin vu le jour début des années 2000.

Nombreux sont les développeurs/admins/bidouilleurs et passionnés qui connaissent et utilisent leur service.

Ce fut le premier à nous permettre de s’envoyer des bouts de code/scripts/logs d’erreurs ou du simple texte à une époque où envoyer un log de 30 lignes dans un canal IRC/post forum était très complexe (on avait pas d’écran 27” à l’époque…).

Le principe est simple, on copie/colle le segment de texte que l’on souhaite partager et le site nous retourne un lien raccourci que l’on peut ensuite diffuser où bon nous semble.

Mais le service pastebin a son lot de problèmes dont la confidentialité, les pubs et un un matraquage de son offre “pro” incitant les utilisateurs à payer pour continuer à l’utiliser.

En 2020 l’usage d’un tel service peut sembler désuet face à git/gitlab.

Mais on a pas toujours le besoin ni l’envie de créer un repo git pour partager les logs d’erreurs d’un services ou quelques lignes de code de ce que l’on est en train de développer.

Les alternatives

PrivateBin

Si on souhaite héberger soi-même son “Pastebin like” il existe le projet PrivateBin.

Pour ceux qui disposent d’un serveur web supportant le php vous pourrez simplement le déployer en suivant la documentation.

Si vous préférez les containers Docker, il y’en a également un de disponible sur DockerHub.

Seul point noir de la solution, pas de client officiel solide disponible depuis notre terminal.

Tous sont des applications tierce, voici un listing pour tester par vous même :

Pour ceux et celles qui n’ont pas de VPS à leur disposition il existe des alternatives en passant par les services offert par nos distributions.

Fpaste

Dans la famille RedHat/CentOS & Fedora il existe l’outil fpaste.

  • Utilisable depuis votre terminal.
  • Il envoie le contenu sur paste.centos.org.
  • Plus de 200 langages disponible pour avoir une coloration syntaxique de votre texte/code.
  • Il ne demande pas de dépendances particulières à l’installation.
  • Le service de paste est gratuit et sans pub.

Installation fpaste

Rien de plus simple :

sudo dnf install fpaste -y

Utilisation fpaste

  • Lister les langages disponible pour avoir la coloration syntaxique :
fpaste -l list
  • Si on cherche un langage particulier :
fpaste -l list | grep -i "bash"
  • Envoyer le contenu de mon .vimrc :
fpaste -l vim -t "Titre" -a "Votre pseudo" ~/.vimrc
  • -l : Format du fichier envoyé pour adapter la coloration syntaxique.
  • -t : Permet d’indiquer un titre à notre envoi.
  • -a : Permet d’indiquer le pseudo de la personne qui envoi.

On peut également jouer du pipe | pour enchainer les commandes et faire recracher un bout de log.

Je suggère l’utilisation d’alias pour vous faciliter la vie et gagner un temps précieux.

Voici quelques exemples que j’utilise depuis mon serveur :

alias pastebash="fpaste -l bash -a 'hmichael'"
alias pastecss="fpaste -l css -a 'hmichael'"
alias pastephp="fpaste -l php -a 'hmichael'"
alias pastepy="fpaste -l python -a 'hmichael'"
alias pastenginx="fpaste -l nginx -a 'hmichael'"

Pastebinit

Dans la famille Debian/Ubuntu/Mint c’est l’outil pastebinit que je recommande.

A quelques différences près c’est la même utilisation que fpaste.

Installation pastebinit

Pour l’installer :

sudo apt install pastebinit -y

Utilisation pastebinit

Contrairement à fpaste l’outil pastebinit ne possède pas d’équivalent de l’option -l permettant de lister les langages pour avoir la coloration syntaxique il faudra se rendre sur le site pour voir les noms si vous utilisez des langages peu courant.

Pour Ubuntu : Paste Ubuntu

Pour Debian : Paste Debian

  • Lister les services sur lesquels on peut envoyer son code :
pastebinit -l
  • Envoyer le contenu d’un script shell :
pastebinit -i /home/hmichael/script.sh -f 'bash' -b paste.ubuntu.com -t 'mon super script' -P
  • -i : Sert à préciser le chemin du fichier que l’on souhaite envoyer.
  • -f : Le format du fichier. bash, markdown, php, nginx, apacheconf, docker, … La liste est longue et impossible de tous les citer mais on les retient très vite par coeur.
  • -b : Nous permet de préciser sur quel site on souhaite faire notre envoi.
  • -t : Indiquer un titre à notre envoi.
  • -P : Faire un envoi privé si possible. Cela signifie qu’il ne sera pas référence sur la page des derniers envoi seul vous avez le lien. (Inutile sur le paste de Ubuntu mais à faire sur celui de Debian)

Le paste de Ubuntu offre bien plus de choix que celui de Debian je recommande donc de l’utiliser si vous voulez un maximum de choix de langage et la coloration lié.

Encore une fois les alias seront vos amis, voici quelques exemples :

alias pastenginx="pastebinit -f 'nginx' -b paste.ubuntu.com -i"
alias pastebash="pastebinit -f 'bash' -b paste.ubuntu.com -i"
alias pastedocker="pastebinit -f 'docker' -b paste.ubuntu.com -i"
alias pastemd="pastebinit -f 'markdown' -b paste.ubuntu.com -i"

Si vous ne souhaitez pas chaque fois préciser sur quel site vous faites votre envoi il est possible de créer un fichier de configuration.

# On crée un fichier xml dans le répertoire de notre utilisateur
touch ~/.pastebinit.xml

# On ajoute ceci dedans
<pastebinit>
    <pastebin>http://paste.ubuntu.com</pastebin>
    <author>VOTRE NOM</author>
</pastebinit>

Si vous n’envoyez que des scripts en bash par exemple, il est possible de le préciser en ajoutant <format>bash</format> dans ce fichier de configuration.

Si vous êtes sous Archlinux ou Gentoo il existe l’outil wgetpaste.

Merci de m’avoir lu et à la prochaine !