Данная статья посвящена моему маленькому скрипту на python, который выполняет роль тревожной кнопки Содержание статьи: 1. Введение (в каких случаях программа может потребоваться) 2. Как это работает (алгоритм работы программы) 3. Возможности программы 4. Установка/Использование 1. Введение Если залипание на форумах не все, чем ты занимаешься в интернете, то периодически бывает, что на чашку чая домой наведывается несколько парней в форме. Они - люди дружелюбные, поэтому, обычно, дело происходит стремительно: не успеешь моргнуть глазом - они уже у тебя в гостях. Больше остального их интересует информация на твоем компьютере (в какие игры играешь, с кем в аське болтаешь). Если у тебя есть что скрывать, то нужно успеть это сделать за доли секунды - пока твое лицо не окажется вжатым в пол чьим-то коленом. Итак, программы типа "Тревожная кнопка" предназначены именно для таких целей - быстрого запуска определенного скрипта / выполнения каких-либо действий (чаще всего шифрование или уничтожение важных данных) Дисклеймер: программа не гарантирует защиты от получения доступа к вашей информации, никто не отменял cold boot, банальное отключение электричества перед визитом к вам в гости, и прочие методы обхода защиты данных. Скрипт не претендует на защиту в последней инстанции, не забывайте про другие средства защиты - шифрование всей системы, использование криптоконтейнеров и банальную физическую безопасность данных. 2. Как это работает Триггер Передо мной стояла задача выбрать такое действие, которое тяжело сделать случайно, но всегда можно сделать быстро. Такое действие, благо, уже нашли до меня и это извлечение флешки из устройства:podumai: Идея ждать извлечения флешки не моя! Моя - только реализация через чтение файла в цикле Алгоритм работы программы: - Скрипт в бесконечном цикле пытается открыть файл, который должен находится на флешке - Когда к вам приходят гости, ваша задача - любой ценой выдернуть флешку из системного блока / usbhub'а (будет лучше, если флешка привязана к руке, но это прямо вообще для параноиков) - При извлечении флешки скрипт не может открыть файл и вызывает функцию (main.usb_out). Вы можете настроить поведение скрипта по извлечении флешки изменив эту функцию 3. Возможности программы С алгоритмом работы разобрались. Что же делает скрипт в случае извлечения флешки? После извлечения флешки скрипт: - Шифрует указанный файл / каталог с помощью сгенерированного либой secrets 256-битным ключом (шифрование происходит с помощью либы pyAesCrypt, соответственно метод шифрования - AES256) - Отправляет вам в телеграмме ключ шифрования - Выключает компьютер 4. Установка/Использование Установка - Скачайте файлы с репозитория любым удобным способом (git clone / архивом) - Установите зависимости (в каталоге программы: pip install -r reqs.txt ) - Готово! Использование 1. Заполняем config.py (один раз!) - откройте файл любым удобным редактором текста - впишите желаемые значения (в комментариях самого файла все расписано, да и названия переменных говорящие) - сохраните изменения 2. Запускаем программу - запуск основной программы: python main.py - запуск дешифровщика: python crypt.py (далее он спросит путь до файла/директории и ключ шифрования) P.s.: Это моя первая статья и первый залитый на гитхаб скрипт, поэтому буду рад любой критике как статьи, так и кода! Скачать Залил только исходники, чтобы все не опасаясь скачивали https://github.com/wackybastard/alarm-button