Ce référentiel de modèles facilite la création d'une page protégée par mot de passe hébergée sur les pages Github. Cela peut être utile pour des informations ou des événements qui ne devraient pas être accessibles à tout le monde, par exemple pour votre anniversaire, votre mariage ou un événement d'entreprise.
Pour vérifier la démo, utilisez le test
de mot de passe .
Avis de non-responsabilité : sachez que moi (ou les dépendances) ai peut-être raté quelque chose, alors ne présumez pas que cela est à l'épreuve des balles. Ne partagez pas d’informations bancaires ou similaires de cette manière.
use this template
{GITHUB-ACCOUNT-NAME}.github.io/{REPOSITORY-NAME}
)DECRYPTION_PASSPHRASE
et définissez la value
sur le mot de passe souhaité (notez que le pipeline CI échouera à la première tentative en raison du mot de passe manquant)main
afin d'activer l'hébergement avec Github PagesPour personnaliser le site Web :
Vous pouvez personnaliser la page de connexion
ajustez le encrypt_with_assets.yml, c'est à dire l'étape "Encrypt index" pour définir le titre, les instructions et le nom du bouton
- name : Encrypt index
run : >
staticrypt index.html -p ${{ secrets.DECRYPTION_PASSPHRASE }} --short
--template "password_template.html"
--template-title "Login"
--template-instructions "This is a test website, use the password 'test' to enter."
--template-button "Open Page"
--template-color-primary "#113e9f"
--template-color-secondary "#e4e4e4"
Pour plus de détails et pour modifier la mise en page complète, voir StatiCrypt
Modifiez le main.html
qui sera montré aux visiteurs après le cryptage (la version cryptée hébergée est index.html
)
Par défaut, le chiffrement des actifs est activé, puisque le workflow encrypt_with_assets.yml
est actif. Notez que cela remplace uniquement toutes les images directement liées, les fichiers CSS et JavaScript dans le document HTML par une représentation base64 sur place. Ainsi, vos liens relatifs dans les fichiers ne fonctionneront probablement plus, puisque leur emplacement a changé.
Si vous ne souhaitez pas chiffrer les actifs
exclude
du _config.yml
,encrypt_with_assets.yml
à encrypt_with_assets._yml
, etencrypt_without_assets._yml
en encrypt_with_assets.yml
Si vous ne souhaitez pas avoir (même) aucune de vos données dans un référentiel privé, vous pouvez également les convertir localement et télécharger le index.html
uniquement par la suite. Pour ce faire, suivez ces étapes :
docker build -t ppw .
docker run -it --rm --name ppw -e PASSWORD=test --mount type=bind,source=${PWD},target=/code ppw
main.html
git update-index --skip-worktree main.html