SmallTalk - это минималистичное приложение для видеосвязи, упакованное в один исполняемый файл. Позволяет быстро создавать видеозвонки без регистрации и сложных настроек.
- 🚀 Single Binary - все упаковано в один исполняемый файл
- 🎥 WebRTC - прямая P2P видеосвязь между участниками
- 🌐 Кроссплатформенность - работает на Linux, macOS, Windows
- 📱 Адаптивный интерфейс - поддержка мобильных устройств
- 🔒 Приватность - никаких аккаунтов, данные не сохраняются
- ⚡ Быстрый запуск - готов к работе за секунды
- 🌍 Публичные туннели - автоматическое создание ngrok туннелей для доступа из интернета
-
Перейдите в раздел Releases
-
Скачайте файл для вашей платформы:
smalltalk-linux-amd64- для Linuxsmalltalk-darwin-amd64- для macOS (Intel)smalltalk-darwin-arm64- для macOS (Apple Silicon)smalltalk-windows-amd64.exe- для Windows
-
Запустите:
# Linux/macOS
chmod +x smalltalk-*
./smalltalk-linux-amd64
# Windows
smalltalk-windows-amd64.exe- Откройте в браузере: http://localhost:8080
brew tap komly/smalltalk
brew install smalltalk
smalltalkДля создания публичных туннелей и доступа из интернета:
- Установите ngrok:
# Автоматическая установка
./install-ngrok.sh
# Или вручную с https://ngrok.com/download- Настройте токен авторизации:
# Получите токен на https://ngrok.com после регистрации
ngrok config add-authtoken YOUR_TOKEN- Запустите приложение:
./smalltalkПриложение автоматически создаст публичный туннель и покажет ссылку в интерфейсе!
# Клонируем репозиторий
git clone https://github.com/komly/smalltalk.git
cd smalltalk
# Устанавливаем зависимости
go mod download
# Собираем для текущей платформы
make build-local
# Или собираем для всех платформ
make build
# Запускаем
./bin/smalltalk- Откройте http://localhost:8080
- Нажмите "Создать комнату"
- Поделитесь ссылкой с собеседником
- Дождитесь подключения
- Получите ссылку от создателя комнаты
- На главной странице нажмите "Подключиться по ссылке"
- Вставьте ссылку и нажмите "Подключиться"
- 📹 Камера - включить/выключить видео
- 🎤 Микрофон - включить/выключить звук
- 📞 Завершить - закончить звонок
- 📋 Копировать ссылку - скопировать ссылку на комнату
# Запуск на порту 8080 (по умолчанию)
./smalltalk
# Запуск на другом порту
PORT=3000 ./smalltalk# Запуск в фоне
nohup ./smalltalk > smalltalk.log 2>&1 &
# Или с systemd
sudo cp smalltalk /usr/local/bin/
sudo cp smalltalk.service /etc/systemd/system/
sudo systemctl enable smalltalk
sudo systemctl start smalltalk# Сборка образа
docker build -t smalltalk .
# Запуск
docker run -p 8080:8080 smalltalk
# Или с docker-compose
docker-compose up -dПриложение настраивается через переменные окружения:
PORT- порт для веб-сервера (по умолчанию: 8080)HOST- адрес для привязки (по умолчанию: все интерфейсы)ENVIRONMENT- установитеproductionдля отключения ngrok туннелей
┌─────────────────┐ WebSocket ┌─────────────────┐
│ Участник A │◄─────────────────┤ Участник B │
└─────────────────┘ └─────────────────┘
│ │
│ WebRTC P2P │
└───────────────────────────────────┘
│
┌───────────────┐
│ SmallTalk │
│ Server │
│ (Signaling) │
└───────────────┘
- WebSocket - для обмена signaling сообщениями
- WebRTC - для прямой P2P передачи видео/аудио
- STUN серверы - для NAT traversal (Google STUN)
# Установка зависимостей
make deps
# Запуск в режиме разработки
make run
# Тестирование
make test
# Очистка
make clean- Backend: Go, Gorilla WebSocket, Gorilla Mux
- Frontend: Vanilla JavaScript, WebRTC API
- Сборка: Go embed для статических файлов
MIT License - см. файл LICENSE
- Fork проекта
- Создайте feature ветку (
git checkout -b feature/amazing-feature) - Commit изменения (
git commit -m 'Add amazing feature') - Push в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Если у вас есть вопросы или проблемы:
- Проверьте Issues
- Создайте новый Issue с описанием проблемы
- Приложите логи и информацию о системе