Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Task #919327

Updated by Сергей Старых over 3 years ago

<pre> 
 - Клиент для андроида можно называть Clipoid 
 - Все экземпляры ClipAngel и клиентов Android всех пользователей используют единую облачную БД Firebase с одним именем и паролем, прошитыми в коде 
 - Имя (идентификатор) канала рассылки клипов генерируется приложением ClipAngel от параметров:  
    - SID пользователя Windows  
    - MAC адреса ethernet контроллера 
    - SenderName    - имя компьютера отправителя 
 - Канал клипов - ветка в БД с именем канала 
    - Recipients - список идентификаторов получателей 
    - SenderName    - имя компьютера отправителя 
    - Data - данные клипа - Base64 строка зашифрованная открытым ключом канала 
    - DataDate - дата отправки данных клипа 
    - DataTimestamp - отметка времени UNIX момента отправки клипа 
 - Функция CreateSendChannel генерирует новый ключ новую пару ключей шифрования и сохраняет его их в файловой системе с NTFS шифрованием 
 - Команда "Подключить получателя клипов"  
    - Если в файловой системе уже существуют настройки другого (старого) имени канала, то запрашивает "Удалить старый канал?". Если ответ - да, то удаляем из БД старый канал. 
    - Если в файловой системе уже существуют настройки текущего имени канала, то запрашивает "Сгенерировать новые ключи шифрования?". Если ответ - да или для текущего имени канала нет настроек в файловой системе, то вызывается UpdateCryptoKeys() 
    - Помещает в канал 
        - Имя компьютера в свойство SenderName канала 
    - Открывает окно с QR кодом для сканирования устройством android. В QR коде будет лежать  
        - имя канала 
        - ключ шифрования 
    - После сканирования клиент android добавляет свой идентификатор PUSH-клиента в свойство Recipients канала и считывает из калана имя компьютера отправителя из свойства SenderName 
 - Команда клипа "Отправить получателям клипов" 
    - Отправляет клип не более 10КБ 
    - Шифрует структуру (простой текст клипа) открытым ключом и помещает в свойство Data канала 
    - Текущую дату помещает в свойство ClipSendDate в настройки приложения и в канал в свойство DataDate 
    - Отправляет всем получателям канала (подветка Recipients канала) push сигнал "Данные канала обновлены" 
 - При установленной дате ClipSendDate - раз в час ClipAngel пытается очистить данные (ключ Data) в канале 
 - Клиент андроид, получив push сигнал "Данные канала обновлены", берет из канала свойство Data и пытается расшифровать его ключом шифрования.  
    - Если расшифровка неуспешна, то показывает уведомление "Канал клипов сменил шифрование. Требуется перепривязка к приложению ClipAngel".  
    - Если расшифровка успешна, то показывает уведомление "От <Компьютер> получен клип созданный 1ч30мин назад (Y получателей): 
 [Текст клипа]".  
 - Сделать в исходниках приложений отдельный класс SecretData со свойствами Login и Password. Не класть в git этот исходник. 
 - Замусоривание облачного хранилища. Если ClipAngel запустили на временно используемом компьютере без автозапуска и подключили к его каналу получателей и отправили большой клип и закрыли программу ранее чем наступит событие очистки клипа (через 60 минут), то данные клипа останутся навсегда. 
 </pre>

Back