Этот репозиторий шаблонов позволяет легко создать защищенную паролем страницу, размещенную на страницах Github. Это может быть полезно для информации или событий, которые не должны быть доступны всем, например, для вашего дня рождения, свадьбы или корпоративного мероприятия.
Для проверки демо воспользуйтесь test
пароля.
Отказ от ответственности : имейте в виду, что я (или зависимости) могли что-то упустить, поэтому не считайте это пуленепробиваемым. Не передавайте банковскую информацию или что-то подобное таким образом.
use this template
.{GITHUB-ACCOUNT-NAME}.github.io/{REPOSITORY-NAME}
).DECRYPTION_PASSPHRASE
и value
для него желаемый пароль (обратите внимание, что конвейер CI завершится сбоем с первой попытки из-за отсутствия пароля).main
ветку, чтобы активировать хостинг с помощью Github Pages.Чтобы настроить сайт:
Вы можете настроить страницу входа
отрегулируйте encrypt_with_assets.yml, то есть шаг «Индекс шифрования», чтобы установить заголовок, инструкции и имя кнопки.
- 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"
Подробности и изменение полного макета см. в StatiCrypt.
Отредактируйте main.html
, который будет показан посетителям после шифрования (хранится зашифрованная версия index.html
).
По умолчанию шифрование ресурсов включено, поскольку активен рабочий процесс encrypt_with_assets.yml
. Обратите внимание: это заменяет только все напрямую связанные изображения, файлы CSS и JavaScript в HTML-документе представлением base64 на месте. Таким образом, ваши относительные ссылки в файлах, вероятно, больше не будут работать, поскольку их расположение изменилось.
Если вы не хотите шифровать активы
exclude
_config.yml
,encrypt_with_assets.yml
в encrypt_with_assets._yml
иencrypt_without_assets._yml
в encrypt_with_assets.yml
Если вы не хотите хранить какие-либо данные (даже) в частном репозитории, вы также можете преобразовать их локально и после этого загружать только index.html
. Для этого выполните следующие действия:
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