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)
This commit is contained in:
2026-08-19 17:19:47 +03:00
parent 3c56115f47
commit afc526d6e8
47 changed files with 3709 additions and 1 deletions
@@ -0,0 +1,30 @@
package com.aerotoss
import androidx.compose.runtime.*
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
import com.aerotoss.core.AeroTossManager
import com.aerotoss.discovery.JmdnsDiscovery
import com.aerotoss.transfer.DesktopFileTransferManager
import com.aerotoss.ui.App
fun main() = application {
val transferManager = remember { DesktopFileTransferManager() }
val discoveryManager = remember { JmdnsDiscovery() }
val manager = remember { AeroTossManager(discoveryManager, transferManager) }
LaunchedEffect(Unit) {
val port = transferManager.startServer(0)
manager.start(port)
}
Window(
onCloseRequest = {
manager.dispose()
exitApplication()
},
title = "AeroToss"
) {
App(manager)
}
}