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

AeroToss

Кроссплатформенное приложение для передачи файлов между Android устройствами и компьютерами (Mac/Linux/Windows), а также между самими Android устройствами. Работает как удобный аналог AirDrop.

Возможности

  • Передача файлов в обе стороны: телефон ↔ компьютер, телефон ↔ телефон
  • Автоматическое обнаружение устройств в Wi-Fi сети (mDNS/Bonjour)
  • Автономный режим через Wi-Fi Direct (без роутера)
  • Передача файлов любого размера (стриминг чанками по 64 КБ)
  • Прогресс передачи, скорость, проверка целостности (SHA-256)

Поддерживаемые платформы

Платформа Статус
Android ✅ Поддерживается (Wi-Fi + Wi-Fi Direct)
macOS ✅ Поддерживается (Wi-Fi)
Linux ✅ Поддерживается (Wi-Fi)
Windows ✅ Поддерживается (Wi-Fi)

Стек технологий

  • Язык: Kotlin 2.3.21
  • UI: Compose Multiplatform 1.11.1
  • Обнаружение: mDNS — JMDNS 3.6.3 (desktop) / Android NSD API + Wi-Fi Direct P2P (Android)
  • Передача файлов: Java Socket + DataInputStream/DataOutputStream
  • Сборка: Gradle 8.13 + AGP 8.13.2

Лицензия

GNU General Public License v3.0 (GPLv3)

S
Description
No description provided
Readme 304 KiB
Languages
Kotlin 100%