Privatebin et le partage de fichiers

2025-01-15T14:04:57Z

De récentes mésaventures m'ont fait réaliser que je compte trop sur mon accès SSH à mon serveur. C'est notamment vrai lorsque je veux partager un fichier.

Habituellement, j'ai un petit script qui uploade avec sftp le fichier à partager dans un dossier.

#!/bin/sh
# put a file on a server using sftp.
# It returns an url to the randomized file name
# A pubkey authentication is preferred
test $# -eq 1 || exit

sshcred="user@domain.tld"
url="https://si3t.ch/pub/tmp"
outdir="/var/www/htdocs/si3t.ch/pub/tmp"

# if file has extension
case "${1}" in
    *.*) ext=".${1##*.}" ;;
    *) ext="" ;;
esac

#rdm="$(openssl rand 5 -hex)$(date +%s)"
rdm="$(date +%s)"
out="${rdm}${ext}"

(
printf "put \"%s\" %s\n" "${1}" "${outdir}/${out}"
printf "chmod 666 %s\n" "${outdir}/${out}"
printf "quit"
) | sftp "${sshcred}" > /dev/null 2>&1


printf "%s\n" "${url}/${out}" | xclip -i -selection clipboard
printf "%s\n" "${url}/${out}"
exit 0

Régulièrement, les fichiers qui sont trop vieux sont supprimés. J'ai pour cela une tâche cron qui s'en occupe:

@weekly find /var/www/htdocs/si3t.ch/pub/tmp/ -type f -mtime +8 -delete

Mais je ne peux utiliser cette méthode que si je dispose d'un ordinateur capable de faire du ssh, et à fortiori qui contient ma clé SSH.

Me voilà donc en quête d'un outil à auto-héberger.

Et là c'est la misère, à croire qu'il n'existe plus que docket et nodejs pour développer des trucs.

Rendez-nous les petits CGI propres ou les bouts de PHP pas compliqués!

Par hasard, je suis ensuite tombé sur le Privatebin de mon académie:

=> https://secret.ac-nantes.fr/

Je fais confiance à l'admin de mon serveur, je vais donc héberger Privatebin qui non seulement chiffre les données dans le navigateur (zero-knowledge pour le serveur) et permet de joindre des fichiers.

Après un peu de configuration, j'ai un truc qui me plaît :

La configuration de httpd pour les curieux est tout bête:

# Privatebin
# Interdit de lire les données pastées
location "/tools/secret/data/*" { block }
# seul le index.php est traîté par PHP
location "/tools/secret/" { directory index index.php }
location "/tools/secret/index.php" { fastcgi socket "/run/php-fpm.sock" }

Si vous en avez besoin, c'est par ici:

=> https://si3t.ch/tools/secret/

Je suis curieux de découvrir de nouveaux outils à héberger, si possible de type zero-knowledge.


Une réaction?

Envoyez votre commentaire par mail:

=> mailto:prx@si3t.ch?subject=Privatebin

Ou rejoignez le salon XMPP:

=> fremen@chat.si3t.ch

Proxy Information
Original URL
gemini://si3t.ch/log/2025-01-15-Privatebin.txt
Status Code
Success (20)
Meta
text/plain
Capsule Response Time
496.094125 milliseconds
Gemini-to-HTML Time
0.51563 milliseconds

This content has been proxied by September (ba2dc).