Native Android toolkit for LDAP and Microsoft Active Directory administration, exploration and diagnostics.
Important
LDAPADvisor Android is currently in early development and is not yet intended for production Active Directory environments.
LDAPADvisor Android is a native Android application for:
- system administrators
- IT technicians
- network administrators
- Active Directory administrators
- LDAP administrators
Current builds (0.1.2) include working LDAP/LDAPS/StartTLS connectivity, embedded Kerberos SASL GSSAPI bind against AD, AD discovery, directory browsing, selected AD administration actions, diagnostics, advisor findings, and report export. Treat results carefully: the project is still early, and some flows remain limited or unsupported (see docs/implementation-status.md and docs/limitations.md).
- LDAP connection profiles
- LDAP and LDAPS support
- StartTLS support
- Active Directory discovery through DNS SRV
- RootDSE inspection
- LDAP directory browser
- Advanced LDAP search
- Active Directory users
- Active Directory groups
- Active Directory computers
- Organizational Units
- Account unlock
- Account enable/disable
- Password reset over secure LDAP
- Group membership management
- DNS diagnostics
- TCP connectivity diagnostics
- TLS certificate diagnostics
- Global Catalog diagnostics
- Kerberos-related diagnostics
- Diagnostic reports
Kerberos authentication and GSSAPI bind remain unsupported on Android in this app. DNS/TCP Kerberos probes exist inside the diagnostics engine, but the planned “Kerberos-related diagnostics” checkbox stays unchecked until that area is considered complete for operators.
Object creation UI (create user/group/OU) is limited (message screens only) and is not listed as complete above.
- Android 7.0 (API 24) or later
- Native Kotlin application
compileSdk/targetSdk37 (versionName0.1.2)
Currently used in this repository:
- Kotlin
- Jetpack Compose
- Material 3
- Gradle Kotlin DSL
- Android Gradle Plugin
- Gradle Wrapper
- UnboundID LDAP SDK
- MiniDNS (AD DNS SRV discovery)
- AndroidX Room + DataStore
- Android Keystore AES-GCM secret store
- Kotlin Coroutines + Serialization
- Core library desugaring (
java.time) - FileProvider report sharing
- Dependabot (weekly Gradle + GitHub Actions)
Early development (0.1.2)
Core LDAP/AD, diagnostics, advisor, and reporting paths are implemented in-tree. No stable production release is announced. See docs/implementation-status.md.
- Implementation status
- Architecture
- Dependencies
- LDAP
- Active Directory
- Diagnostics
- Security
- Reports
- Limitations
- Testing
- Privacy
- Third-party notices
- Roadmap
./gradlew assembleDebug
./gradlew test
./gradlew lint.\gradlew.bat assembleDebug
.\gradlew.bat test
.\gradlew.bat lint- Android Studio (current stable recommended)
- JDK matching the project Gradle toolchain (see
gradle/gradle-daemon-jvm.properties) - Android SDK with a platform matching the project's
compileSdk(37 in this tree; SDK 36 may be absent locally)
LDAPADvisor handles sensitive operational data, including:
- LDAP credentials
- Active Directory credentials
- directory information
- internal hostnames
- certificates
Never commit real credentials, private certificates, signing keys or production Active Directory information to the repository.
See SECURITY.md, docs/security.md, and PRIVACY.md.
Examples in docs, issues, and tests must use reserved documentation domains only:
corp.example.com
dc01.corp.example.com
user@corp.example.com
DC=corp,DC=example,DC=com
Prefer RFC documentation IP ranges for sample addresses:
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
See CONTRIBUTING.md.
See SECURITY.md.
This project is licensed under the GNU General Public License v3.0.
