Skip to content
Sergievsky Nikita edited this page Mar 26, 2022 · 10 revisions

Документация

Содержание:


Концепт

Есть некий клиент, локальная папка и чаты ВКонтакте. Программа загружает зашифрованную папку в чат, тем самым, появляется, так называемый, релиз. Все релизы хранятся в специальном чате или же архиве, как я их назвал. Таких архивов может быть сколько угодно. Одним архивом могут пользоваться несколько человек, если они используют мой клиент и идентичные пароли.

Принцип работы

Работает следующим принципом: программа архивирует директорию в которой находится локальная копия диска чтобы хранить все файлы в одном контейнере. Далее он шифруется с помощью написаннного мною модуля, затем удаляется расширение (из-за ограничений Вконтакта). Контейнер загружается в "Вконтакте файлы" как личный документ и отправляется в выбранный до этого диалог (архив).

Разработку я начал с создания четкого алгоритма работы программы.

  • Регистрация

    Пользователь вводит новый пароль для конфига и шифрования данных, далее вводит токен, который он получил по инструкции. Затем программа получает все беседы пользователя и выводит их в интерфейс, чтобы выбрать какие чаты будут использоваться для архивов. Регистрация окончена.

  • Работа программы

    При входе ввводится пароль от конфига и открывается выбор зарезервированных чатов. Теперь появляется выбор из двух главных функций:

    • Создание релиза
      1. Локальная папка облака добавляется в архив
      2. Архив шифруется с помощью написанного мною модуля
      3. Зашифрованный релиз отправляется в чат с пользователським комментарием.
      4. И в конце обновляется интерфейс.
    • Смена релиза
      1. Скачивается зашифрованный релиз
      2. Релиз дешифруется
      3. Происходит локальная очистка старого релиза
      4. И релиз распаковывается в локальную папку

Безопасность

Я считаю, что безопасность облака находится на почти идеальном уровне. Вконтакте не может расшифровать ваш контейнер, а значит ваши данные нельзя скомпрометировать. Но были и некоторые упущения: я обнаружил, что для расшифровки конфигурационного файла и контейнера используются идентичные пароли, что обязательно будет исправлено мной в будущих версиях. Главное не допустить рассекречивание файла натроек ибо в нём хранится ваш токен.

Как запустить

  • Нужно получить токен ВКонтакте API. Есть много способов, лично я рекомендую этот сайт. Для того, чтобы получить здесь токен необходимо Настройки => Права (снять все) => Документы ==> Сообщения ==>Получить. Далее Разрешить и скопировать из адресной строки вашего браузера часть которая начинается на access_token=... и до &. Это ваш токен.
  • python program.py
  • Далее все понятно

Совместимость

Сейчас доступен на Linux и Windows. В планах реализовать Android клиент.