Commit Graph

5 Commits

Author SHA1 Message Date
grendervill 49d0936c38 AeroToss: кнопка обновления + исправление mDNS обнаружения
- Добавлена кнопка 'Обновить' (rescan) на главный экран
- Исправлен сервисный тип: _aerotoss._tcp. (без .local.) для совместимости
- JMDNS слушает оба варианта типа: _aerotoss._tcp. и _aerotoss._tcp
- Android NSD: гибкое сопоставление типа сервиса (contains aerotoss)
- Добавлено логирование в JmdnsDiscovery для отладки
- AeroTossManager.rescan() без параметров (берёт порт из transfer)
2026-08-19 19:13:31 +03:00
grendervill cfd314ffa2 AeroToss v1.0.0: аудит безопасности, багфиксы, подпись APK
Безопасность:
- Сервер bind на loopback (127.0.0.1) вместо 0.0.0.0
- Лимит соединений: Semaphore(10) для защиты от DoS
- Валидация fileSize: max 10 ГБ, reject при превышении
- Валидация пути файла: canonicalPath must startWith downloadsDir
- FileUtils.resolveUniqueFile: max counter 1000
- FileUtils.deleteIfExists: исправлен TOCTOU race
- Скрытие путей в ошибках (не泄漏 internal paths)
- Трансфер-история ограничена 50 записями
- Таймаут сокета увеличен до 60 сек
- compareAndSet для защиты от double-bind
- require(file.exists()) в sendFile

Сборка:
- Android: APK подписан debug keystore (self-signed)
- Android: конвертирован из library в application
- macOS: AeroToss.app (113 МБ) + JAR (28 МБ)
- LICENSE: GPLv3

Тесты: все 71+ проходят
2026-08-19 18:45:09 +03:00
grendervill 5434ab314c AeroToss v0.5.0: финальный аудит, багфиксы, тесты, релиз
- Исправлен cleanup файлов (catch-блок удаляет реальный файл)
- Null safety для NsdManager (as? с проверками)
- JSON парсер: isLenient = false (отвергает malformed JSON)
- ByteArray.toInt(): добавлена require(size >= 4)
- Исправлен typo в SendScreen
- TransferEdgeCaseTest: 8 новых тестов edge cases
- Собран macOS arm64 JAR (28 МБ)
- Итого 73+ тестов, все проходят
2026-08-19 17:50:39 +03:00
grendervill afc526d6e8 AeroToss v0.4.0: полная реализация M1-M4
- KMP проект: Kotlin 2.3.21, Compose 1.11.1, Gradle 8.13, AGP 8.13.2
- Обнаружение устройств: mDNS (JMDNS/Android NSD) + Wi-Fi Direct P2P
- Передача файлов: Java Socket, стриминг чанками, SHA-256 checksum
- UI: HomeScreen, SendScreen, ReceiveScreen, навигация
- Защита: санитизация имён файлов (path traversal)
- 65+ тестов (WireProtocol, Transfer, FileUtils, Wi-Fi Direct)
2026-08-19 17:19:47 +03:00
grendervill 3c56115f47 Инициализация репозитория 2026-08-19 13:33:25 +03:00