Update README

Signed-off-by: denis0001-dev <denis0001.dev@ya.ru>
This commit is contained in:
2026-07-13 15:43:55 +03:00
Unverified
parent 09ac7035fc
commit bf27b69af0
2 changed files with 242 additions and 0 deletions
+121
View File
@@ -0,0 +1,121 @@
Read in other languages: [Русский](./README.md)
# FromChat
FromChat is a 100% free and open-source messenger. This repository contains the cross-platform client for Android and iOS.
[📥 Download](https://github.com/fromchat-messenger/app/releases/latest) • [💬 Telegram Channel](https://t.me/fromchat_ch) • [🖥️ Server](https://github.com/fromchat-messenger/backend)
## ✨ Features
- **Voice and video calls** — high-quality communication via LiveKit
- **Screen sharing** — share your screen during calls
- **Group chat** — community of all server users
- **Direct messages** — uses legal encryption scheme. Server-side E2EE mode planned.
- **Device management** — control active sessions
- **Dark mode by default** — stylish and easy on the eyes
- **Open source** — full transparency
## 📊 Client Comparison
⚠️ **iOS is temporarily not supported.** iOS development requires a lot of time and due to Apple's restrictions it is much more complex than Android. Therefore it will be released later.
This table shows which features are implemented in the official clients.
| Feature | Android | Web | iOS |
| --- | --- | --- | --- |
| **Messaging and profiles** | ✅ | ✅ | ✅ |
| **Voice/video calls** | ✅ | ❌ | ❌ |
| **Screen sharing** | ✅ | ❌ | ❌ |
| **Message reactions** | ❌ | ✅ | ❌ |
| **Rich attachment support** | ✅ | ❌ | ❌ |
---
## 🏗️ Tech Stack
- **Kotlin** — a programming language focused on safety and performance
- **Compose Multiplatform** — declarative UI framework for cross-platform development
- **Material Design 3** — modern user interface components
- **Ktor Client** — asynchronous HTTP client for network requests
- **LiveKit** — infrastructure for video calls and conferences
- **SQLDelight** — type-safe SQL queries for local data storage
- **Firebase Messaging** — push notifications
- **Coil** — image loading and caching
## 📥 Build and Development (Android Studio)
### Requirements
- Latest version of Android Studio
- Components updated to the latest versions
### Quick Start
1. **Clone the repository:**
```bash
git clone https://github.com/fromchat-messenger/app.git
cd app
```
2. **Generate keys (Debug & Release):**
1. Set variables (replace `CHANGEME` with your secure passwords):
```bash
DEBUG_STORE_PASS=CHANGEME
DEBUG_KEY_PASS=CHANGEME
RELEASE_STORE_PASS=CHANGEME
RELEASE_KEY_PASS=CHANGEME
```
2. Run commands:
```bash
mkdir -p app/android/keys
keytool -genkey -v -keystore app/android/keys/debug.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias key0 -storepass $DEBUG_STORE_PASS -keypass $DEBUG_KEY_PASS \
-dname "CN=Debug, O=FromChat, C=RU"
keytool -genkey -v -keystore app/android/keys/release.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias key0 -storepass $RELEASE_STORE_PASS -keypass $RELEASE_KEY_PASS \
-dname "CN=Release, O=FromChat, C=RU"
cat > app/android/keystore.properties << EOF
releaseStorePassword=$RELEASE_STORE_PASS
releaseKeyPassword=$RELEASE_KEY_PASS
debugStorePassword=$DEBUG_STORE_PASS
debugKeyPassword=$DEBUG_KEY_PASS
EOF
```
3. **Open in Android Studio:**
- Select: `File → Open → app/`
- Android Studio automatically loads all dependencies and syncs Gradle
4. **Run:**
- Click `Run → Run 'Android'` (Shift+F10)
- Select an emulator or connected device
### Project Structure
```
android/
├── app/ # Client code
│ ├── android/ # Android app module
│ └── shared/ # Shared Compose code (Android + iOS)
│ ├── commonMain/ # Cross-platform code
│ ├── androidMain/ # Android-specific code
│ └── iosMain/ # iOS-specific code (not ready yet)
├── utils/ # Module with useful stuff that can be used in other projects
│ ├── android/ # Android library module
│ └── shared/
└── gradle/libs.versions.toml # Dependency management
```
## 🤝 Contribute
If you want to support the project development, just send a Pull Request. I'm sure you already know that, I'm too lazy to write it all out.
## 📄 License
This project is licensed under the GNU Affero General Public License v3.0. For details, see the [LICENSE](./LICENSE) file.
+121
View File
@@ -0,0 +1,121 @@
Читать на других языках: [English](./README.en.md)
# FromChat
FromChat — 100% бесплатный и открытый мессенджер. В этом репозитории содержится кроссплатформенный клиент для Android и iOS.
[📥 Скачать](https://github.com/fromchat-messenger/app/releases/latest) • [💬 Telegram-канал](https://t.me/fromchat_ch) • [🖥️ Сервер](https://github.com/fromchat-messenger/backend)
## ✨ Возможности
- **Голосовые и видеозвонки** — высокое качество связи через LiveKit
- **Совместное использование экрана** — демонстрация экрана при вызовах
- **Общий чат** — сообщество всех пользователей на сервере
- **Личные сообщения** — используется легальная схема шифрования. Планируется режим E2EE на сервере.
- **Управление устройствами** — контроль активных сеансов
- **Тёмный режим по умолчанию** — стильный и приятный для глаз вид
- **Открытый исходный код** — полная прозрачность
## 📊 Сравнение клиентов
⚠️ **iOS временно не поддерживается.** Разработка iOS-части требует много времени и из-за ограничений Apple это гораздо сложнее, чем на Android. Поэтому она выйдет позже.
В этой таблице показано, какие возможности реализованы в официальных клиентах.
| Возможность | Android | Web | iOS |
| ----------------------------------- | ------- | --- | --- |
| **Обмен сообщениями и профили** | ✅ | ✅ | ✅ |
| **Голосовые/видеозвонки** | ✅ | ❌ | ❌ |
| **Совместное использование экрана** | ✅ | ❌ | ❌ |
| **Реакции на сообщения** | ❌ | ✅ | ❌ |
| **Расширенная поддержка вложений** | ✅ | ❌ | ❌ |
---
## 🏗️ Технологический стек
- **Kotlin** — язык программирования, ориентированный на безопасность и производительность
- **Compose Multiplatform** — объявленный UI фреймворк для кроссплатформенной разработки
- **Material Design 3** — современные компоненты пользовательского интерфейса
- **Ktor Client** — асинхронный HTTP клиент для сетевых запросов
- **LiveKit** — инфраструктура для видеозвонков и конференций
- **SQLDelight** — тип-безопасные SQL запросы для локального хранилища данных
- **Firebase Messaging** — push-уведомления
- **Coil** — загрузка и кэширование изображений
## 📥 Сборка и разработка (Android Studio)
### Требования
- Последняя версия Android Studio
- Компоненты, обновленные до последних версий
### Быстрый старт
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/fromchat-messenger/app.git
cd app
```
2. **Сгенерируйте ключи (Debug & Release):**
1. Установите переменные (замените `CHANGEME` на ваши надежные пароли):
```bash
DEBUG_STORE_PASS=CHANGEME
DEBUG_KEY_PASS=CHANGEME
RELEASE_STORE_PASS=CHANGEME
RELEASE_KEY_PASS=CHANGEME
```
2. Выполните команды:
```bash
mkdir -p app/android/keys
keytool -genkey -v -keystore app/android/keys/debug.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias key0 -storepass $DEBUG_STORE_PASS -keypass $DEBUG_KEY_PASS \
-dname "CN=Debug, O=FromChat, C=RU"
keytool -genkey -v -keystore app/android/keys/release.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias key0 -storepass $RELEASE_STORE_PASS -keypass $RELEASE_KEY_PASS \
-dname "CN=Release, O=FromChat, C=RU"
cat > app/android/keystore.properties << EOF
releaseStorePassword=$RELEASE_STORE_PASS
releaseKeyPassword=$RELEASE_KEY_PASS
debugStorePassword=$DEBUG_STORE_PASS
debugKeyPassword=$DEBUG_KEY_PASS
EOF
```
3. **Откройте в Android Studio:**
- Выберите: `File → Open → app/`
- Android Studio автоматически загружает все зависимости и синхронизирует Gradle
4. **Запустите:**
- Нажмите `Run → Run 'Android'` (Shift+F10)
- Выберите эмулятор или подключённое устройство
### Структура проекта
```
android/
├── app/ # Код клиента
│ ├── android/ # Модуль Android-приложения
│ └── shared/ # Общий код Compose (Android + iOS)
│ ├── commonMain/ # Кроссплатформенный код
│ ├── androidMain/ # Android-специфичный код
│ └── iosMain/ # iOS-специфичный код (еще не готово)
├── utils/ # Модуль всяких полезных штук, которые можно использовать в другом проекте
│ ├── android/ # Модуль Android-библиотеки
│ └── shared/
└── gradle/libs.versions.toml # Управление зависимостями
```
## 🤝 Внести вклад
Если вам хочется поддержать разработку проекта, просто кидайте Pull Request, я уверен, что вы это уже знаете, мне лень это расписывать.
## 📄 Лицензия
Этот проект лицензирован в соответствии с лицензией GNU Affero General Public License v3.0. Подробности см. в файле [LICENSE](./LICENSE).