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