Свой мессенджер для Android

Android cookie

Все вокруг пользуются Telegram, Вайбером и WhatsApp-ом, установлено в телефоне приложение и всё ок. А потом мессенджер блокируют, как бывает в тоталитарных странах. Или отваливается интернет из-за поломки на магистрали. Либо нужно обеспечить безопасность переписки. Вы же не думаете всерьёз, что владелец мессенджера платит зарплату разработчикам, покупает серверы и оплачивает услуги датацентров, потому что ему приятно оказывать вам услуги бесплатно?


Почему интернет-мессенджеры бесплатны?


WEB

Если вы явно не платите деньги за пользование чем-либо, это значит, что вы платите своими данными. И данными всех, кого вы знаете или контактируете по работе и в личной жизни.

Технически, когда вы устанавливаете приложение на свой Android-смартфон, вы регистрируетесь на сервере мессенджера по личному номеру телефона. Это небезопасно, но даёт разработчику ваш социальный граф. По вашей телефонной книжке серверы автоматически определяют, у кого уже установлен данный чат. Эту идею первым применил Ян Кум, разработчик WhatsApp. Не важно, как у вас записаны контакты, "Вася ванная", "Доставка пицца" или "Конотопская ведьма" — хватит только номеров телефонов. Они уникальны, потому что у каждой страны свой международный телефонный код. И приложение получает к ним полный доступ. Не зря Facebook в своё время купил WhatsApp. Как раз ради социального графа, чтобы улучшить свои алгоритмы для показа рекламы.

Viber

Наверняка вы сталкивались с сообщениями в чате типа: "Виталий Петренко теперь использует номер телефона XXXX". Как мессенджер понял это? Человек, возможно, выбросил SIM-карту и купил новую, чтобы спрятаться от бывшей жены или злого шефа. Или переехал в другую страну, потому что телефонный код поменялся, и мы даже можем точно узнать, в какую. Но не получилось, как раз благодаря социальным графам, потому что мессенджер сопоставил их в автоматическом режиме.


Можно ли сделать свой мессенджер, со своим сервером?


Phone

Может показаться, что положение монопольно и безвыходно. Однако это не так. Вы можете запустить свой собственный мессенджер, без привязки к номеру телефона, со своим сервером. И он будет работать точно так же, как и, например, Телеграм или Вайбер. Но в нём будут только ваши сотрудники и больше никого. Никакой рекламы. История переписки на вашем сервере. Полная автономность и контроль.

Да ещё и бесплатно или за вменяемые деньги. Звучит не очень правдоподобно, верно? :)


Как запустить свой мессенджер за 15 минут?


Сначала скачать бесплатный дистрибутив корпоративного мессенджера MyChat.

Установить сервер, к которому вы будете подключаться. Сервер мессенджера работает на Windows, подойдёт практически любой компьютер, даже маломощный. Можно Windows Server, можно десктоп, не принципиально.

Запускаем MyChat Server, затем качаем приложение MyChat для Android из Google.Play или Huawei AppGallery, в зависимости от того, кто производитель вашего смартфона.

Указываем IP адрес вашего сервера в приложении и регистрируем нового пользователя. Номер телефона не нужен. Если у вас уже есть Windows-приложение и вы в нём работаете, то проще всего отсканировать QR-код, чтобы войти в чат сразу, без ввода адреса сервера и своего логина с паролем.

Если windows-приложение не используется, можно отсканировать QR-код из лобби сервера в браузере, там будет готовый адрес сервера, но пользователя надо будет создать самому:

MyChat lobby

Чтобы можно было подключаться не только по WiFi внутри локальной сети, но и через интернет, нужно иметь внешний статический IP адрес для сервера и настроить проброс портов (port mapping) на вашем роутере. Внешний IP предоставляет ваш интернет-провайдер.

Либо арендовать VDS на Windows и запустить MyChat Server там. Хватит пары ядер, 1-2 гигагерц и пары гигабайт памяти.


Сколько это стоит?


До 20 подключений онлайн это не стоит ничего. Если у вас больше людей, то нужно будет купить лицензию, но она стоит вполне адекватных денег. В конце концов, это ваша личная безопасность и независимость от любых публичных интернет-сервисов.

Служба поддержки