online-auth
Secure online authentication client for Kodachi OS
Version: 9.0.1 | Size: 3.7MB | Author: Warith Al Maawali
License: Proprietary | Website: https://digi77.com
File Information
| Property | Value |
|---|---|
| Binary Name | online-auth |
| Version | 9.0.1 |
| Build Date | 2026-03-23T08:25:57.542615377Z |
| Rust Version | 1.82.0 |
| File Size | 3.7MB |
| JSON Data | View Raw JSON |
SHA256 Checksum
Features
| Feature | Description |
|---|---|
| Feature | Secure authentication with certificate pinning |
| Feature | Session management with automatic heartbeat |
| Feature | API key synchronization |
| Feature | User group and status checking |
| Feature | Comprehensive logging and error handling |
| Feature | Multi-language architecture integration |
| Feature | TLS 1.3 encrypted communications |
| Feature | Real-time status monitoring |
| Feature | Automatic retry mechanisms |
Security Features
| Feature | Description |
|---|---|
| Authentication | Secure authentication with certificate pinning |
| Encryption | TLS 1.3 for all network communications |
| Inputvalidation | All inputs are validated and sanitized |
| Ratelimiting | Built-in rate limiting for network operations |
System Requirements
| Requirement | Value |
|---|---|
| OS | Linux (Debian-based) |
| Privileges | root/sudo for system operations |
| Dependencies | OpenSSL, libcurl |
Global Options
| Flag | Description |
|---|---|
-h, --help |
Print help information |
-v, --version |
Print version information |
-n, --info |
Display detailed information |
-e, --examples |
Show usage examples |
--json |
Output in JSON format |
--json-pretty |
Pretty-print JSON output with indentation |
--json-human |
Enhanced JSON output with improved formatting (like jq) |
--verbose |
Enable verbose output |
--quiet |
Suppress non-essential output |
--no-color |
Disable colored output |
--config <FILE> |
Use custom configuration file |
--timeout <SECS> |
Set timeout (default: 30) |
--retry <COUNT> |
Retry attempts (default: 3) |
Commands
API Management
sync-api-key
Manually sync API key with server
Usage:
Examples:
Authentication
authenticate
Authenticate with the server
Usage:
Examples:
check-login
Check if currently logged in
Usage:
Examples:
logout
End the current session
Usage:
Examples:
check-if-blocked
Check if user ID is blocked
Usage:
Examples:
get-ids
Show user and session IDs
Usage:
Examples:
check-all-status
Show all status information at once
Usage:
Examples:
Heartbeat
send-heartbeat
Send a single heartbeat
Usage:
Examples:
send-heartbeat-with-retry
Send heartbeat with retry
Usage:
Examples:
start-heartbeat
Start automatic heartbeat service
Usage:
Examples:
stop-heartbeat
Stop automatic heartbeat service
Usage:
Examples:
check-heartbeat
Check if heartbeat service is running
Usage:
Examples:
Information
get-card
Get user card URL
Usage:
Examples:
which-group
Check which user group you belong to (VIP = premium)
Usage:
Examples:
License
activate-license
Activate a license key for premium features
Usage:
Examples:
release-license
Release license to allow transfer to another device
Usage:
Examples:
license-status
Check current license status and details
Usage:
Examples:
Permission Guard
enable-permission-guard
Enable permission guard daemon to monitor and fix file permissions
Usage:
Examples:
disable-permission-guard
Disable permission guard daemon
Usage:
Examples:
permission-guard-status
Check permission guard daemon status
Usage:
Examples:
Operational Scenarios
Scenario-oriented workflows generated from the binary's built-in -e --json examples.
Scenario 1: Authentication Management
Basic authentication operations
Step 1: Authenticate with the server
Expected Output: Authentication successfulStep 2: Authenticate with JSON output
Expected Output: JSON response with authentication statusStep 3: Authenticate and enable auto-heartbeat
Expected Output: Authentication successful with heartbeat enabledStep 4: Authenticate with auto-relogin on disconnection
Expected Output: Auto-relogin enabled with authenticationNote
Automatically enables heartbeat (--keep-alive) and re-authenticates when session expires
Step 5: Authenticate with explicit heartbeat and auto-relogin
Expected Output: Authentication with heartbeat and auto-relogin enabledNote
Both flags can be used together for clarity
Step 6: Check if currently logged in
Expected Output: Login status displayedStep 7: End the current session
Expected Output: Successfully logged outStep 8: Check if user ID is blocked
Expected Output: Block status displayedStep 9: Show all status information
Expected Output: Complete status information displayedScenario 2: User Information
Identity and account information
Step 1: Show user and session IDs
Expected Output: User ID and session ID displayedStep 2: Get IDs in JSON format
Expected Output: JSON with user and session IDsStep 3: Check user group (VIP = premium)
Expected Output: User group displayedStep 4: Get user card URL
Expected Output: User card URL displayedScenario 3: Heartbeat Management
Session keepalive and heartbeat operations
Step 1: Send a single heartbeat
Expected Output: Heartbeat sent successfullyStep 2: Send heartbeat with retry logic
Expected Output: Heartbeat sent with retry if neededStep 3: Start automatic heartbeat service
Expected Output: Heartbeat service startedStep 4: Stop automatic heartbeat service
Expected Output: Heartbeat service stoppedStep 5: Check if heartbeat service is running
Expected Output: Heartbeat service status displayedScenario 4: Permission Guard Management
Control permission guard daemon for file permission monitoring
Step 1: Start permission guard daemon to monitor file permissions
Expected Output: Permission guard daemon enabled successfullyNote
Ensures files maintain correct ownership and prevents root-owned files in user directories
Step 2: Stop permission guard daemon
Expected Output: Permission guard daemon disabled successfullyNote
Stops automatic permission monitoring and correction
Step 3: Check if permission guard daemon is running
Expected Output: Permission guard daemon is running/not runningStep 4: Enable permission guard with JSON output
Expected Output: {"status": "success", "message": "Permission guard daemon enabled", "is_running": true}Note
Useful for automation scripts and monitoring
Step 5: Get permission guard status in JSON format
Expected Output: {"status": "success", "message": "Permission guard daemon is running", "is_running": true}Scenario 5: API Management
API key synchronization and management
Step 1: Manually sync API key with server
Expected Output: API key synchronized successfullyStep 2: Sync API key with JSON output
Expected Output: JSON response with sync statusScenario 6: Program Information
Version and program details
Step 1: Show version number
Expected Output: online-auth version 9.0.1Step 2: Show detailed program information
Expected Output: Detailed information about online-authStep 3: Show help information
Expected Output: Help text with all commandsStep 4: Show usage examples
Expected Output: This examples outputScenario 7: Workflow Combinations
Complete authentication workflows
Step 1: Authenticate and check group
Expected Output: Authentication followed by group infoNote
Useful for setup scripts
Step 2: Auth with heartbeat and get card
Expected Output: Authentication with heartbeat, then card URLStep 3: Check login or authenticate if needed
Expected Output: Login status or authenticationNote
Ensures authenticated state
Scenario 8: Troubleshooting
Debug and error resolution
Step 1: Check connection status
Expected Output: JSON with detailed connection infoStep 2: Refresh API credentials
Expected Output: API key refreshedNote
Use when authentication fails
Step 3: Reset authentication
Expected Output: Fresh authentication sessionStep 4: Restart heartbeat service
Expected Output: Heartbeat service restartedScenario 9: Advanced Options
Global configuration options (provided by cli-core)
Step 1: Set 30 second timeout
Expected Output: Authentication with custom timeoutNote
Global option - applies to network operations
Step 2: Use custom port
Expected Output: Note: Port configuration may not apply to all operationsNote
Global option - for services that support custom ports
Step 3: Enable debug logging
Expected Output: Authentication with debug outputNote
Global option - useful for diagnosing issues
Scenario 10: JSON Output
Working with JSON formatted responses
Step 1: Extract status from JSON
Expected Output: "success" or "error"Step 2: Extract user ID from JSON
Expected Output: User ID valueStep 3: Get all status data as JSON
Expected Output: Complete status objectNote
Useful for monitoring scripts
Scenario 11: License Management
License activation, status, and transfer operations
Step 1: Activate a license key for premium features
Expected Output: License activated with tier and feature detailsNote
Key format: XXXX-XXXX-XXXX-XXXX-XXXX (24 chars with dashes)
Step 2: Activate license with JSON output
Expected Output: JSON response with license details, tier, and featuresStep 3: Check current license status and details
Expected Output: License tier, version, devices used, and expiry infoStep 4: Get license status in JSON format
Expected Output: JSON formatted license informationNote
Useful for scripting and automation
Step 5: Release license to transfer to another device
Expected Output: License released, can be activated on new deviceNote
Use when moving to new hardware or reinstalling
Step 6: Release license with JSON confirmation
Expected Output: JSON confirmation of license releaseEnvironment Variables
| Variable | Description | Default | Values |
|---|---|---|---|
RUST_LOG |
Set logging level | info | error |
NO_COLOR |
Disable all colored output when set | unset | 1 |
Exit Codes
| Code | Description |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Permission denied |
| 4 | Network error |
| 5 | File not found |