Installer FlashPaper avec Docker
FlashPaper

Installer FlashPaper avec Docker

Table des matières

GitHub - AndrewPaglusch/FlashPaper: One-time encrypted password/secret sharing
One-time encrypted password/secret sharing. Contribute to AndrewPaglusch/FlashPaper development by creating an account on GitHub.

Envie de communiquer des informations sensibles tout en gardant le contrôle de vos données et en sécurité?

FlashPaper est très simple dans son fonctionnement et son utilisation, le message chiffré s'autodétruit après une seule lecture. Ni plus, ni moins.

⚠️
Il faudra relier l'application à un domaine sans quoi la sécurité n'est pas du tout optimale.

Si vous utilisez l'ip:port pour joindre ce service, vous aurez ce message d'avertissement:

L'interface sobre et épurée de Flashpaper:


L'installation

  1. Créez votre docker-compose.yml dans le dossier ou vous comptez installer FlashPaper:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration. Je me suis permis de traduire ce qu'il était possible de traduire. Si vous voulez le docker-compose original, je le posterai en fin d'article.
version: "3.5"
services:
  flashpaper:
    image: ghcr.io/andrewpaglusch/flashpaper:v2
    container_name: flashpaper
    restart: always
    volumes:
      - './data:/var/www/html/data'
    ports:
      - '8484:80'
    environment:
      SITE_TITLE: "FlashPaper :: Message autodestructif"
      SITE_LOGO: "https://cryptpad.app.belginux.com/api/logo?ver=2024.3.0-1717274950522"
      DISPLAY_LOGO: "true"
      DISPLAY_TITLE: "true"
      RETURN_FULL_URL: "true"
      BASE_URL: "https://mondomaine.com"
      MAX_SECRET_LENGTH: "3000"
      ANNOUNCEMENT: ""
      MESSAGES_ERROR_SECRET_TOO_LONG: "Votre message dépasse la limite de caractères."
      MESSAGES_SUBMIT_SECRET_HEADER: "Créer un message autodestructif"
      MESSAGES_SUBMIT_SECRET_SUBHEADER: "Tapez votre message secret ci-dessous:"
      MESSAGES_SUBMIT_SECRET_BUTTON: "Chiffrer le message"
      MESSAGES_VIEW_CODE_HEADER: "URL autodestructrice"
      MESSAGES_VIEW_CODE_SUBHEADER: "Partagez cette URL par e-mail, chat ou autre service de messagerie. Il s’autodétruira après avoir été visionné une fois."
      MESSAGES_CONFIRM_VIEW_SECRET_HEADER: "Visualiser ce secret?"
      MESSAGES_CONFIRM_VIEW_SECRET_BUTTON: "Afficher le secret"
      MESSAGES_VIEW_SECRET_HEADER: "Message autodestructeur"
      MESSAGES_VIEW_SECRET_SUBHEADER: "Ce message a été détruit"
      PRUNE_ENABLED: "true"
      PRUNE_MIN_DAYS: 1
      PRUNE_MAX_DAYS: 2

Vous devez modifier:

  • BASE_URL: "https://mondomaine.com" => Remplacez https:://mondomaine.com par votre domaine.

Vous pouvez modifier:

  • MAX_SECRET_LENGTH: "3000" => La longueur du message en caractères.
  • SITE_LOGO: "https://cryptpad.app.belginux.com/api/logo?ver=2024.3.0-1717274950522" => Vous pouvez personnaliser le logo en mettant le lien de votre image. Si vous souhaitez garder le logo original...

...supprimer le lien entre les "url_de_l'image" mais conservez les "", ce qui donne:

  • DISPLAY_LOGO: "true" => Sur true, le logo sera affiché, sur false il ne sera pas affiché.
  • DISPLAY_TITLE: "true" => Sur true, le titre sera affiché, sur false il ne sera pas affiché.
  • ANNOUNCEMENT: "" => Indiquez le message souhaité entre les "", cela va créer une annonce, comme ceci, dans le cadre jaune:
  • PRUNE_ENABLED: "true" => Sur true, suppression automatique des anciens secrets de la base de données lors du chargement de la page est activé.
    Sur false, cela désactive la suppression automatique des secrets dans la base de données.
  • PRUNE_MIN_DAYS: 1 => Jours minimum de conservation des secrets.
  • PRUNE_MAX_DAYS: 2 => Jours maximum de conservation des secrets avant suppression.

Et bien entendu tous les textes qui sont dans le docker-compose. Faites comme vous avez envie.

  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8484 par défaut:
https://ip:8484/

ou votre domaine:

https://mondomaine.com

Mode clair | Mode sombre

Il suffit de cliquer sur le bouton:


Utilisation du service

Composez votre message:

Cliquez sur le bouton, que j'ai nommé arbitrairement "Chiffrer le message" et vous arrivez sur une page où vous pourrez copier le lien pour le partager:

Pour la personne qui reçoit le lien:

Quand la personne va cliquer sur Afficher le secret:

Et si on tente à nouveau d'afficher le message:


Modèles

Il existe plusieurs modèles disponibles, repris sous le mot anglophone Template:

  • Credentials =>
  • Crédit Card =>

En voyant le bloc de modèles je m'étais demandé s'il y avait moyen de créer ses modèles. J'ai donc ouvert in ticket sur GitHub et j'ai demandé au dev. Et bien sa réponse était positive et je vous dis comment faire.

Traduire les modèles existants

Vous devez éditer le docker-compose existant et ajouter la ligne

- './flashpaper/templates:/var/www/html/templates'

Ce qui donne:

volumes:
      - './data:/var/www/html/data'
      - './flashpaper/templates:/var/www/html/templates'
    ports:

Et pour terminer:

docker-compose up -d

ou avec docker-compose V2:

docker compose up -d

Ensuite, à partir de la racine du dossier ou est installé FlashPaper:

cd flashpaper/templates/

On va créer les fichiers nécessaires:

sudo touch Accès.txt Carte_de_crédit.txt

Nous allons maintenant éditer Accès.txt:

sudo nano Accès.txt

Et coller ça dedans, vous pouvez l'adapter suivant vos envies:

Nom d'utilisateur:
Mot de passe:
Accès:
Valable jusque:

Nous allons maintenant éditer Carte_de_crédit.txt:

sudo nano Carte_de_crédit.txt

Et coller ça dedans, vous pouvez l'adapter suivant vos envies:

Type de carte (Visa/MasterCard/Discover/AMEX) :
Numéro de la carte :
Date d'expiration de la carte (MM/AA) :
Code de sécurité de la carte :
Nom sur la carte :

Adresse de facturation :
Ville de facturation :
Code postal de facturation :
État de facturation :

Maintenant on revient à la racine du dossier d'installation de FlashPaper:

cd ../..

On tape la commande suivante pour changer le propriétaire et le groupe:

sudo chown -R 100:101 flashpaper/templates

Et pour terminer on va modifier les droits d'accès:

sudo chmod 0660 flashpaper/templates/*.txt

On redémarre le container:

docker restart flashpaper

Je sélectionne le modèle carte de crédit:

Création d'un modèle personnalisé

On va se rendre ici:

cd flashpaper/templates/

Je vais créer un modèle pour la Configuration de sa machine par exemple:

sudo nano Configuration.txt

On va coller ça dedans, ajustez à suivants vos besoins:

RAM:
Processeur:
Carte mère:
Alimentation:
Carte son:
Carte graphique:
HDD:
NVME:
SSD:

On revient à la racine du dossier d'installation:

cd ../..

Et pour terminer on va modifier les droits d'accès:

sudo chmod 0660 flashpaper/templates/*.txt

On redémarre le container:

docker restart flashpaper

Maintenant je peux sélectionner le modèle/template Configuration:


Le docker-compose non modifié en anglais

version: "3.5"
services:
  flashpaper:
    image: ghcr.io/andrewpaglusch/flashpaper:v2
    container_name: flashpaper
    restart: always
    volumes:
      - './data:/var/www/html/data'
    ports:
      - '8080:80'
    environment:
      SITE_TITLE: "FlashPaper :: Self-Destructing Message"
      SITE_LOGO: "img/logo.png"
      DISPLAY_LOGO: "true"
      DISPLAY_TITLE: "false"
      RETURN_FULL_URL: "true"
      BASE_URL: "" # https://mydomain.com/flashpaper
      MAX_SECRET_LENGTH: "3000"
      ANNOUNCEMENT: ""
      MESSAGES_ERROR_SECRET_TOO_LONG: "Input length too long"
      MESSAGES_SUBMIT_SECRET_HEADER: "Create A Self-Destructing Message"
      MESSAGES_SUBMIT_SECRET_SUBHEADER: ""
      MESSAGES_SUBMIT_SECRET_BUTTON: "Encrypt Message"
      MESSAGES_VIEW_CODE_HEADER: "Self-Destructing URL"
      MESSAGES_VIEW_CODE_SUBHEADER: "Share this URL via email, chat, or another messaging service. It will self-destruct after being viewed once."
      MESSAGES_CONFIRM_VIEW_SECRET_HEADER: "View this secret?"
      MESSAGES_CONFIRM_VIEW_SECRET_BUTTON: "View Secret"
      MESSAGES_VIEW_SECRET_HEADER: "Self-Destructing Message"
      MESSAGES_VIEW_SECRET_SUBHEADER: "This message has been destroyed"
      PRUNE_ENABLED: "true"
      PRUNE_MIN_DAYS: 365
      PRUNE_MAX_DAYS: 730     

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.