Релиз 0.1.36 Nem мессенджера

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

За последние 14 дней я разработал мессенджер, у которого отличительная черта от остальных мессенджеров — это то, что серверную программы вы контролируете сами. Вы можете скачать исходные коды серверной программы и установить на свой сервер. Клиентская часть доступна для linux на flathub — приложение называется Nem.

Чат со сквозным шифрованием. Прежде чем общаться, нужно обменяться ключами. Для этого есть специальная кнопка с иконкой рукопожатия. После того как оба друга обменялись ключами, они могут общаться. Хочу сразу сказать, общаться могут и без шифрования, но программа без ключа не будет отображать текст и отбросить его. Вот как выглядит интерфейс новой версии.

Как видно из интерфейса, есть кнопка отправки файлов, она расположена слева от строки ввода. Отправка файла — медленная операция, это будет заметно, если отправлять файлы, размеры которых исчисляются мегабайтами. Я стараюсь сделать так, чтобы всё помещалось в 4096 байт. Для этого программа клиент делит по частям весь файл. Вместе с файлом передаются несколько других данных, которые нужны для расшифровки файла. То есть, файл, который передаёт программа — шифруется и в зашифрованном виде отправляется в базу данных. Каждый файл может расшифровать только тот собеседник, кому предназначен файл. Из-за того что в каждом пакете json помещается только 1280 байт зашифрованных данных — скорость загрузки кажется медленной.

Сервер уже может выполнять нужную работу, но документация по api ещё не готова полностью. Там даже авторизация прямо в коде прописана к базе данных. Позже в новых версиях будет авторизация либо в файле настроек, либо через терминал.

Отображения текста — это кастомный виджет. Также я реализовал копирование текста из этого виджета.

Приложение написано с использованием таких библиотек как gtk4, json-glib, openssl.

Также хочу сделать приложение для android, но сначала я хочу закончить с серверной частью, чтобы было нормальное документирование api — а это будет когда я точно пойму что все нормально работает. Приложение для android разработать ещё сложнее, потому что у меня мало опыта в разработке для android. Но если будет открытое api, то возможно найдутся желающие, кто могут сделать приложение самостоятельно. Ну а пока буду делать сам. Надо ещё решить как в android сделать так, чтобы можно было выложить в google play приложение и чтобы в это же время мог принимать самоподписанный сертификат. Так как опыта в этом почти нет, но я с этим сталкивался, будет наверное главной проблемой, когда займусь вплотную android разработкой.

Кому то может не понравиться интерфейс программы, но я почти всё делал сам. Иконку приложения сделал сам и интерфейс программы свой. Иконки кнопок скачаны в свободном доступе или же выбраны из linux. Мне нравиться интерфейс, я вижу дизайн этой программы именно таким, как он представлен.

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

https://flathub.org/apps/details/io.github.xverizex.nem_desktop - nem desktop клиент

https://github.com/xverizex/nem-server - серверная программа

Источник: https://habr.com/ru/post/583366/


Интересные статьи

Интересные статьи

Появившиеся в 2006 году сервисы Google по работе с текстовыми документами (Google Docs) и таблицами (Google Sheets), дополненные 6 лет спустя возможностями работы с вирту...
Команда GitLab стремится к повышению производительности и степени удовлетворённости разработчиков. Релиз 13.6 содержит все необходимые ингредиенты, которые помогут вам достичь этого и, ...
.NET Conf — это бесплатное трехдневное виртуальное мероприятие для разработчиков, организованное совместно сообществом .NET и Microsoft. В этом году на .NET Conf 2020 произойдет релиз .NE...
Довольно часто владельцы сайтов просят поставить на свои проекты индикаторы курсов валют и их динамику. Можно воспользоваться готовыми информерами, но они не всегда позволяют должным образом настроить...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.