Ulmaridae is an Android wrapper application that supports multiple monitoring agents, designed to run monitoring agents on Android devices, even without root privileges.
- Nezha Agent - Modified Nezha monitoring agent
- Komari Agent - Modified Komari monitoring agent
-
Download and install the latest APK from the releases page
-
Open the app on your Android device
-
Choose your monitoring agent:
- Nezha Agent: For Nezha monitoring dashboard
- Komari Agent: For Komari monitoring system
-
Configure your chosen agent by tapping "Configure":
For Nezha Agent:
- Server URL: Your Nezha server URL (e.g.,
your-server.com:443) - Agent Secret: The secret key for your agent (found in Nezha dashboard)
- UUID: Unique identifier for the agent (optional, can be auto-generated)
For Komari Agent:
- Endpoint: Your Komari server endpoint
- Token: Your Komari authentication token
⚠️ Important: If you plan to enable WebSSH for this agent, please read the Security Warning first. - Server URL: Your Nezha server URL (e.g.,
-
Grant the necessary permissions when prompted:
- Root access (if available)
- Foreground service permission
- Battery optimization exemption
-
Toggle the "Enable Agent" switch to start the monitoring agent
IMPORTANT: If you enable the WebSSH feature in your Nezha dashboard for this agent, please be aware of the following security risks:
- Direct Device Access: WebSSH provides terminal access to your Android device
- Privilege Escalation: On rooted devices, WebSSH may have elevated system access
- Network Exposure: WebSSH opens a remote shell accessible through your Nezha server
- Data Security: Sensitive device data and files may be accessible through the shell
Recommendations:
- Only enable WebSSH if you absolutely need remote terminal access
- Ensure your Nezha server is properly secured with strong authentication
- Use WebSSH only on trusted networks
- Regularly monitor WebSSH access logs
- Consider disabling WebSSH when not actively needed
With Root Access:
- Agent runs with elevated privileges
- Better system monitoring capabilities
- More accurate hardware information
- Can monitor system-level metrics
Without Root Access:
- Agent runs with standard app permissions
- Limited but functional monitoring (app-level metrics)
- Basic system information available
- Network and storage monitoring works
- Android Studio or Android SDK
- Java 17 or higher
- Gradle 8.11.0+
# Clone the repository
git clone https://github.com/nichbar/Ulmaridae.git
cd Ulmaridae
# Download agent binaries for ARM or ARM64 architecture
# For Nezha Agent:
./download-agent.sh nezha arm64
# For Komari Agent:
./download-agent.sh komari arm64
# Or download both agents:
./download-agent.sh nezha arm64
./download-agent.sh komari arm64
# Build debug APK (includes bundled agent binaries)
./gradlew assembleDebug
# Build release APK (requires signing config)
./gradlew assembleRelease- Fork the repository
- Create a feature branch
- Make your changes
- Test on real Android devices
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Nezha Project - The original monitoring service
- Nezha Agent - Nezha agent
- Komari Agent - Komari monitoring agent
- Android Open Source Project - For the Android framework
- Material Design - For the UI components
For issues and questions:
- Check the troubleshooting section above
- Review logs by enabling in-memory logging in the app
- Open an issue on the repository