Skip to content

online-auth

Secure online authentication client for Kodachi OS

Version: 9.0.1 | Size: 4.4MB | Author: Warith Al Maawali

License: Proprietary | Website: https://digi77.com


File Information

Property Value
Binary Name online-auth
Version 9.0.1
Build Date REDACTED-BUILD-TIME
Rust Version 1.82.0
File Size 4.4MB
Author Warith Al Maawali
License Proprietary
Category Kodachi Binary
Description Secure online authentication client for Kodachi OS
Git Commit unknown
Metadata Generated 2026-06-23T12:05:04Z
Binary Timestamp Unknown
JSON Data View Raw JSON

SHA256 Checksum

d949c5947707aa89260379453b11203323ec391cca3801d26d14394d0685a567

Features

# Feature
1 Secure authentication with certificate pinning
2 Session management with automatic heartbeat
3 API key synchronization
4 User group and status checking
5 Comprehensive logging and error handling
6 Multi-language architecture integration
7 TLS 1.3 encrypted communications
8 Real-time status monitoring
9 Automatic retry mechanisms

Security Features

Feature Description
Authentication Not provided by cli-core (see online-auth)
Encryption Not provided by cli-core
Input Validation Argument parsing via clap; per-command validation is the consumer's responsibility
Rate Limiting Not provided by cli-core

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
-o, --output-format <FORMAT> Force output format (text
--json-pretty Pretty-print JSON output with indentation
--json-human Enhanced JSON output with improved formatting (like jq)
--fields <FIELD_LIST> Select specific fields to include in output (comma-separated)
--limit <NUMBER> Limit number of results returned
--offset <NUMBER> Skip first N results (for pagination)
-d, --work-dir <PATH> Working directory (defaults to auto-detected base directory)
--port <PORT> Set custom port number (1024-65535)
--log-level <LEVEL> Set log level (error
--verbose Enable verbose output
--quiet Suppress non-essential output
--no-color Disable colored output
--config <FILE> Use custom configuration file
--timeout <SECS> Set operation timeout in seconds (optional; no default applied)
--retry <COUNT> Retry attempts (optional; no default applied)

Commands

API Management

sync-api-key

Manually sync API key with server

Usage:

online-auth sync-api-key [OPTIONS]

Examples:

online-auth sync-api-key
online-auth sync-api-key --json

Authentication

authenticate

Authenticate with the server

Usage:

online-auth authenticate [OPTIONS]

Examples:

online-auth authenticate
online-auth authenticate --json
online-auth authenticate --keep-alive
online-auth authenticate --keep-alive --json
online-auth authenticate --relogin
online-auth authenticate --keep-alive --relogin

check-login

Check if currently logged in

Usage:

online-auth check-login [OPTIONS]

Examples:

online-auth check-login
online-auth check-login --json

logout

End the current session

Usage:

online-auth logout [OPTIONS]

Examples:

online-auth logout
online-auth logout --json

check-if-blocked

Check if user ID is blocked

Usage:

online-auth check-if-blocked [OPTIONS]

Examples:

online-auth check-if-blocked
online-auth check-if-blocked --json

get-ids

Show user and session IDs

Usage:

online-auth get-ids [OPTIONS]

Examples:

online-auth get-ids
online-auth get-ids --json

check-all-status

Show all status information at once

Usage:

online-auth check-all-status [OPTIONS]

Examples:

online-auth check-all-status
online-auth check-all-status --json

Heartbeat

send-heartbeat

Send a single heartbeat

Usage:

online-auth send-heartbeat [OPTIONS]

Examples:

online-auth send-heartbeat
online-auth send-heartbeat --json

send-heartbeat-with-retry

Send heartbeat with retry

Usage:

online-auth send-heartbeat-with-retry [OPTIONS]

Examples:

online-auth send-heartbeat-with-retry
online-auth send-heartbeat-with-retry --json

start-heartbeat

Start automatic heartbeat service

Usage:

online-auth start-heartbeat [OPTIONS]

Examples:

online-auth start-heartbeat
online-auth start-heartbeat --json

stop-heartbeat

Stop automatic heartbeat service

Usage:

online-auth stop-heartbeat [OPTIONS]

Examples:

online-auth stop-heartbeat
online-auth stop-heartbeat --json

check-heartbeat

Check if heartbeat service is running

Usage:

online-auth check-heartbeat [OPTIONS]

Examples:

online-auth check-heartbeat
online-auth check-heartbeat --json

Information

get-card

Get user card URL

Usage:

online-auth get-card [OPTIONS]

Examples:

online-auth get-card
online-auth get-card --json

which-group

Check which user group you belong to (VIP = premium)

Usage:

online-auth which-group [OPTIONS]

Examples:

online-auth which-group
online-auth which-group --json

License

activate-license

Activate a license key for premium features

Usage:

online-auth activate-license [OPTIONS]

Examples:

online-auth activate-license --key "H7KM-P2Q9-R5TW-X3YZ-A4B2"
online-auth activate-license -k "H7KM-P2Q9-R5TW-X3YZ-A4B2" --json

release-license

Release license to allow transfer to another device

Usage:

online-auth release-license [OPTIONS]

Examples:

online-auth release-license
online-auth release-license --json

license-status

Check current license status and details

Usage:

online-auth license-status [OPTIONS]

Examples:

online-auth license-status
online-auth license-status --json

Permission Guard

enable-permission-guard

Enable permission guard daemon to monitor and fix file permissions

Usage:

online-auth enable-permission-guard [OPTIONS]

Examples:

online-auth enable-permission-guard
online-auth enable-permission-guard --json

disable-permission-guard

Disable permission guard daemon

Usage:

online-auth disable-permission-guard [OPTIONS]

Examples:

online-auth disable-permission-guard
online-auth disable-permission-guard --json

permission-guard-status

Check permission guard daemon status

Usage:

online-auth permission-guard-status [OPTIONS]

Examples:

online-auth permission-guard-status
online-auth permission-guard-status --json

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

sudo online-auth authenticate
Expected Output: Authentication successful

Step 2: Authenticate with JSON output

sudo online-auth authenticate --json
Expected Output: JSON response with authentication status

Step 3: Authenticate and enable auto-heartbeat

sudo online-auth authenticate --keep-alive
Expected Output: Authentication successful with heartbeat enabled

Step 4: Authenticate with auto-relogin on disconnection

sudo online-auth authenticate --relogin
Expected Output: Auto-relogin enabled with authentication

Note

Automatically enables heartbeat (--keep-alive) and re-authenticates when session expires

Step 5: Authenticate with explicit heartbeat and auto-relogin

sudo online-auth authenticate --keep-alive --relogin
Expected Output: Authentication with heartbeat and auto-relogin enabled

Note

Both flags can be used together for clarity

Step 6: Check if currently logged in

sudo online-auth check-login
Expected Output: Login status displayed

Step 7: End the current session

sudo online-auth logout
Expected Output: Successfully logged out

Step 8: Check if user ID is blocked

sudo online-auth check-if-blocked
Expected Output: Block status displayed

Step 9: Show all status information

sudo online-auth check-all-status
Expected Output: Complete status information displayed

Scenario 2: User Information

Identity and account information

Step 1: Show user and session IDs

sudo online-auth get-ids
Expected Output: User ID and session ID displayed

Step 2: Get IDs in JSON format

sudo online-auth get-ids --json
Expected Output: JSON with user and session IDs

Step 3: Check user group (VIP = premium)

sudo online-auth which-group
Expected Output: User group displayed

Step 4: Get user card URL

sudo online-auth get-card
Expected Output: User card URL displayed

Scenario 3: Heartbeat Management

Session keepalive and heartbeat operations

Step 1: Send a single heartbeat

sudo online-auth send-heartbeat
Expected Output: Heartbeat sent successfully

Step 2: Send heartbeat with retry logic

sudo online-auth send-heartbeat-with-retry
Expected Output: Heartbeat sent with retry if needed

Step 3: Start automatic heartbeat service

sudo online-auth start-heartbeat
Expected Output: Heartbeat service started

Step 4: Stop automatic heartbeat service

sudo online-auth stop-heartbeat
Expected Output: Heartbeat service stopped

Step 5: Check if heartbeat service is running

sudo online-auth check-heartbeat
Expected Output: Heartbeat service status displayed

Scenario 4: Permission Guard Management

Control permission guard daemon for file permission monitoring

Step 1: Start permission guard daemon to monitor file permissions

sudo online-auth enable-permission-guard
Expected Output: Permission guard daemon enabled successfully

Note

Ensures files maintain correct ownership and prevents root-owned files in user directories

Step 2: Stop permission guard daemon

sudo online-auth disable-permission-guard
Expected Output: Permission guard daemon disabled successfully

Note

Stops automatic permission monitoring and correction

Step 3: Check if permission guard daemon is running

sudo online-auth permission-guard-status
Expected Output: Permission guard daemon is running/not running

Step 4: Enable permission guard with JSON output

sudo online-auth enable-permission-guard --json
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

sudo online-auth permission-guard-status --json
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

sudo online-auth sync-api-key
Expected Output: API key synchronized successfully

Step 2: Sync API key with JSON output

sudo online-auth sync-api-key --json
Expected Output: JSON response with sync status

Scenario 6: Program Information

Version and program details

Step 1: Show version number

online-auth --version
Expected Output: online-auth version 9.0.1

Step 2: Show detailed program information

online-auth --info
Expected Output: Detailed information about online-auth

Step 3: Show help information

online-auth --help
Expected Output: Help text with all commands

Step 4: Show usage examples

online-auth --examples
Expected Output: This examples output

Scenario 7: Workflow Combinations

Complete authentication workflows

Step 1: Authenticate and check group

sudo online-auth authenticate && sudo online-auth which-group
Expected Output: Authentication followed by group info

Note

Useful for setup scripts

Step 2: Auth with heartbeat and get card

sudo online-auth authenticate --keep-alive && sudo online-auth get-card
Expected Output: Authentication with heartbeat, then card URL

Step 3: Check login or authenticate if needed

sudo online-auth check-login || sudo online-auth authenticate
Expected Output: Login status or authentication

Note

Ensures authenticated state

Scenario 8: Troubleshooting

Debug and error resolution

Step 1: Check connection status

sudo online-auth check-login --json
Expected Output: JSON with detailed connection info

Step 2: Refresh API credentials

sudo online-auth sync-api-key
Expected Output: API key refreshed

Note

Use when authentication fails

Step 3: Reset authentication

sudo online-auth logout && sudo online-auth authenticate
Expected Output: Fresh authentication session

Step 4: Restart heartbeat service

sudo online-auth stop-heartbeat && sudo online-auth start-heartbeat
Expected Output: Heartbeat service restarted

Scenario 9: Advanced Options

Global configuration options (provided by cli-core)

Step 1: Set 30 second timeout

sudo online-auth authenticate --timeout 30
Expected Output: Authentication with custom timeout

Note

Global option - applies to network operations

Step 2: Use custom port

sudo online-auth authenticate --port 8080
Expected Output: Note: Port configuration may not apply to all operations

Note

Global option - for services that support custom ports

Step 3: Enable debug logging

sudo online-auth authenticate --log-level debug
Expected Output: Authentication with debug output

Note

Global option - useful for diagnosing issues

Scenario 10: JSON Output

Working with JSON formatted responses

Step 1: Extract status from JSON

sudo online-auth authenticate --json | jq '.status'
Expected Output: "success" or "error"

Step 2: Extract user ID from JSON

sudo online-auth get-ids --json | jq '.data.userId'
Expected Output: User ID value

Step 3: Get all status data as JSON

sudo online-auth check-all-status --json | jq '.data'
Expected Output: Complete status object

Note

Useful for monitoring scripts

Scenario 11: License Management

License activation, status, and transfer operations

Step 1: Activate a license key for premium features

sudo online-auth activate-license --key "H7KM-P2Q9-R5TW-X3YZ-A4B2"
Expected Output: License activated with tier and feature details

Note

Key format: XXXX-XXXX-XXXX-XXXX-XXXX (24 chars with dashes)

Step 2: Activate license with JSON output

sudo online-auth activate-license -k "H7KM-P2Q9-R5TW-X3YZ-A4B2" --json
Expected Output: JSON response with license details, tier, and features

Step 3: Check current license status and details

sudo online-auth license-status
Expected Output: License tier, version, devices used, and expiry info

Step 4: Get license status in JSON format

sudo online-auth license-status --json
Expected Output: JSON formatted license information

Note

Useful for scripting and automation

Step 5: Release license to transfer to another device

sudo online-auth release-license
Expected Output: License released, can be activated on new device

Note

Use when moving to new hardware or reinstalling

Step 6: Release license with JSON confirmation

sudo online-auth release-license --json
Expected Output: JSON confirmation of license release

Environment 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