Bash скрипт для проверки публичных репозиториев Github и уведомления о них

Время чтения - 1 мин, 46 сек.
12 окт 2022
Дата
Bash
Bash

GitHub – ведущая компания по разработке программного обеспечения и контролю версий с помощью Git.

Он позволяет нам создавать как публичные репозитории, так и частные.

Оба варианта имеют свои преимущества.

Частные репозитории защищены аутентификацией, в то время как публичные репозитории доступны всем.

Иногда мы или наши команды создаем репозитории с публичным доступом, которые могут содержать конфиденциальные данные.

Хорошей идеей будет настроить скрипт, который будет уведомлять нас о репозиториях, оставленных в открытом доступе.

В этом руководстве мы покажем shell скрипт, который проверяет наличие всех публичных репозиториев под учетной записью GitHub и отправляет уведомление по электронной почте.

Скрипт может быть запланирован в crontab для автоматизации этого процесса.

Предварительные условия

Этот скрипт использует утилиты командной строки Curl и SendEmail.

Поэтому убедитесь, что вы установили оба пакета в своей системе.

sudo apt install c

Команда curl используется для вызова API GitHub, а SendEmail – для отправки электронной почты через SMTP-сервер.

Создание shell скрипта

Вы можете просто скопировать этот скрипт и записать его в файл в вашей системе.

Создайте скрипт в вашей системе и отредактируйте его в вашем любимом текстовом редакторе:

nano check-git
Shell script
Shell script

Полный текст для копирования находится здесь!

Обновите идентификатор “GITHUB_USER” на имя пользователя GitHub или организации.

Также обновите данные SMTP для получения уведомлений по электронной почте.

Нажмите “CTRL + O”, чтобы записать изменения, а затем “CTRL + X”, чтобы выйти из редактора.

Затем сделайте скрипт исполняемым с помощью следующей команды.

chmod +x check-github-public-repos.sh

Теперь ваш скрипт готов к запуску.

Вы можете просто выполнить свой скрипт прямо на терминале.

Чтобы вывести результаты на экране, вы можете раскомментировать последнюю строку.

При успешном выполнении, если скрипт нашел какой-либо публичный репозиторий в вашем аккаунте GitHub, вы получите уведомление по электронной почте на свой в почтовый ящик.

Планирование работы скрипта с помощью Crontab

Вы можете запланировать выполнение этого скрипта на день, неделю или два раза в неделю.

Следующий пример crontab будет запускать этот скрипт ежедневно в 12:00 утра.

## Check GitHub public repositories
0 0 * * * bash check-github-public-repos.sh

Заключение

Очень важно сохранять нашу тяжелую работу в безопасности.

Этот скрипт предупредит вас о публичных репозиториях в вашем аккаунте GitHub.

Вы можете изменить скрипт в соответствии с вашими требованиями.

Вы также можете внести свои улучшения в комментарии.

Максим Невзоров
Автор

843
Почему несколько VPN-расширений не могут работать одновременно на Manifest V3
Программирование
В Manifest V3 (MV3) введены существенные изменения, которые влияют на работу расширений, включая VPN-расширения. Основная причина, по которой несколько VPN-расширений не могут работать одновременно, связана с ограничениями, введенными в MV3, а также с особенностями работы сетевых запросов в Chrome.
Декабрь 2024
182
Что надо знать про Cookie файлы с флагом HttpOnly
Программирование
Несмотря на то, что файлы cookie HttpOnly не могут быть прочитаны с помощью JavaScript, все же можно перезаписать файлы cookie HttpOnly с помощью JavaScript.
Январь 2024
710
Как настроить удаленный доступ к базе данных MySQL 8 на Linux Ubunty
Программирование
Настройка VPS или VDS дело не совсем простое. Поэтому записываю этот мануал чтобы вы поняли как настроить удаленный доступ к базе данных Mysql версии 8.
Январь 2024
896
DDoS атака с помощью Torshammer
Программирование
Проведение DDoS-атак на веб-сайты является уголовным преступлением, запрещенным законом во всем мире. Но в качестве образовательных целей мы рассмотрим процесс атаки.
Октябрь 2022
486
Записать данные в сессию php
Программирование
Записать данные в сессию на php так же легко, как записать данные в файл или cookie, однако надо знать как создавать сессионные переменные и присваивать им значение.
Сентябрь 2019
1231