Kotlin Multiplatform networking toolkit for WiFi analysis, diagnostics, and optimization
NetKit is a comprehensive Kotlin Multiplatform library suite for WiFi network analysis, diagnostics, and optimization. Originally developed as the core networking engine for the WiFi Intelligence Android application, NetKit has been extracted and open-sourced to benefit the broader networking and wireless community.
- Zero Android Dependencies: Pure Kotlin code that runs on any JVM platform
- Comprehensive WiFi Analysis: RF modeling, signal analysis, channel optimization
- Network Diagnostics: Advanced troubleshooting and performance analysis
- Security Analysis: WPA/WPA2/WPA3 security auditing and recommendations
- Intelligent Recommendations: ML-based network optimization suggestions
- Export Tools: Generate reports in multiple formats
- High Test Coverage: ~90% code coverage with comprehensive test suites
- Full Documentation: Dokka-generated API documentation
NetKit is organized into seven focused modules:
Foundation module containing data models, RF analysis, and IE parsing.
- WiFi data models (AP, ScanResult, Channel, etc.)
- RF propagation and signal modeling
- Information Element (IE) parser
- Network topology mapping
- Zero external dependencies
Network diagnostics and troubleshooting tools.
- Connection quality analysis
- Performance metrics
- Issue detection and categorization
- Diagnostic report generation
Channel and configuration optimization.
- Channel selection algorithms
- Interference analysis
- Band steering recommendations
- Power optimization
Network analytics and trend analysis.
- Historical data processing
- Statistical analysis
- Trend detection
- Performance benchmarking
Security analysis and recommendations.
- WPA/WPA2/WPA3 analysis
- Security posture assessment
- Vulnerability detection
- Encryption recommendations
ML-based intelligent recommendations.
- Network optimization suggestions
- Anomaly detection
- Predictive analysis
- Context-aware recommendations
Report generation and data export.
- Multiple export formats
- Customizable report templates
- Data serialization
- Visualization support
dependencies {
// Core module (required)
implementation("io.lamco.netkit:core:1.0.1")
// Optional feature modules
implementation("io.lamco.netkit:diagnostics:1.0.1")
implementation("io.lamco.netkit:wifi-optimizer:1.0.1")
implementation("io.lamco.netkit:analytics:1.0.1")
implementation("io.lamco.netkit:security:1.0.1")
implementation("io.lamco.netkit:intelligence:1.0.1")
implementation("io.lamco.netkit:export:1.0.1")
}dependencies {
implementation 'io.lamco.netkit:core:1.0.1'
implementation 'io.lamco.netkit:diagnostics:1.0.1'
// ... other modules as needed
}<dependency>
<groupId>io.lamco.netkit</groupId>
<artifactId>core</artifactId>
<version>1.0.1</version>
</dependency>import io.lamco.netkit.model.network.*
import io.lamco.netkit.model.security.*
import io.lamco.netkit.rf.*
import io.lamco.netkit.diagnostics.*
// Create access point from scan data
val accessPoint = AccessPoint(
bssid = "00:11:22:33:44:55",
ssid = "MyNetwork",
frequency = 2437,
rssi = -65,
securityTypes = listOf(SecurityType.WPA3_PERSONAL)
)
// Analyze RF environment
val channelAnalyzer = ChannelAnalyzer()
val analysis = channelAnalyzer.analyzeChannel(accessPoint.channel)
// Run network diagnostics
val diagnosticEngine = DiagnosticEngine()
val issues = diagnosticEngine.analyzeSignalQuality(accessPoint)
// Get optimization recommendations
val optimizer = ChannelOptimizer()
val recommendations = optimizer.findOptimalChannel(listOf(accessPoint))API documentation is generated using Dokka and can be built locally:
./gradlew dokkaHtmlAll
# Documentation output: build/dokka/html/index.htmlEach module contains inline KDoc documentation describing public APIs and usage patterns.
# Clone the repository
git clone https://github.com/lamco-admin/netkit-kotlin.git
cd netkit-kotlin
# Build all modules
./gradlew buildAll
# Run tests
./gradlew testAll
# Generate documentation
./gradlew dokkaHtmlAll- Kotlin 2.2.21 or higher
- JDK 11 or higher
- Gradle 8.x (wrapper included)
NetKit follows Semantic Versioning.
Current version: 1.0.1
NetKit is licensed under the Apache License 2.0.
Copyright 2025 Lamco Development
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Contributions are welcome! Please open an issue to discuss proposed changes before submitting pull requests.
NetKit was extracted from the WiFi Intelligence Android application, currently in closed beta testing. Special thanks to all beta testers who helped refine these libraries.
- WiFi Intelligence - Android app powered by NetKit
Version: 1.0.1