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
!clipboard-202104031956-5bvr9.png! <pre> - Клиент для андроида - приложение Clipoid - Все экземпляры ClipAngel и клиентов Android client app всех пользователей используют единую облачную БД Firebase с одним именем и паролем, прошитыми в коде - Clipoid !clipboard-202104031956-5bvr9.png! Имя (идентификатор) канала рассылки клипов генерируется приложением 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>