Skip to content

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

12d9711f7056612b5b9442fa18ab568ac83c8a5d4f885ae064124f7b686130b4

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:

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