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>