global-launcher
Global launcher for Kodachi dashboard binaries with execution folder containment
Version: 9.8.4 (build 319) | Size: 1.9MB | Author: Warith Al Maawali
License: Proprietary | Website: https://digi77.com
File Information
| Property | Value |
|---|---|
| Binary Name | global-launcher |
| Version | 9.8.4 (build 319) |
| Build Date | REDACTED-BUILD-TIME |
| Rust Version | rustc 1.96.0 (ac68faa20 2026-05-25) |
| File Size | 1.9MB |
| Author | Warith Al Maawali |
| License | Proprietary |
| Category | Kodachi Binary |
| Description | Global launcher for Kodachi dashboard binaries with execution folder containment |
| Git Commit | d739424 |
| Metadata Generated | 2026-06-28T11:16:28Z |
| Binary Timestamp | Unknown |
| JSON Data | View Raw JSON |
SHA256 Checksum
3425017691638e22d84a49a8b89a10666764ef789a33bd3680dc0d5eaa36996a
Features
| # | Feature |
|---|---|
| 1 | Dynamic binary discovery and deployment |
| 2 | Execution folder containment for security |
| 3 | Symlink-based global access |
| 4 | Comprehensive error handling and logging |
| 5 | Support for both Rust and Gambas binaries |
| 6 | Deployment verification and rollback |
| 7 | JSON and text output formats |
| 8 | Zero hardcoded paths - fully dynamic |
Security Features
| Feature | Description |
|---|---|
| Authentication | Uses OS filesystem permissions; symlink ownership verified by comparing symlink target to current executable path |
| Encryption | No encryption; configuration is statically embedded in the binary to prevent tampering via external config files |
| Input Validation | All binary names and paths are validated against security rules |
| Rate Limiting | Configurable timeouts prevent resource exhaustion |
System Requirements
| Requirement | Value |
|---|---|
| OS | Linux (Debian-based, specifically Kodachi OS) |
| Privileges | root/sudo for global deployment |
| Dependencies | cli-core library, logs-hook service, symlink support in filesystem |
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 human-readable formatting (like jq) |
--verbose |
Enable verbose output |
--quiet |
Suppress non-essential output |
--no-color |
Disable colored output |
--timeout <SECS> |
Set timeout (default: 900) |
--user-override <USERNAME> |
Reserved for future use; accepted but not currently applied to path/user resolution |
Commands
Management Commands
deploy
Deploy global symlinks for all dashboard binaries
Usage:
global-launcher deploy [OPTIONS]
Options:
--force: Force deployment even if binaries exist--no-verify: Skip verification after deployment--save-hashes: Save SHA256 hash report to results directory
Examples:
sudo ./global-launcher deploy
sudo ./global-launcher deploy --json
sudo ./global-launcher deploy --force
verify
Verify deployed symlinks are working
Usage:
global-launcher verify [OPTIONS]
Options:
--detailed: Show detailed verification info--save-hashes: Save SHA256 hash report to results directory
Examples:
./global-launcher verify
./global-launcher verify --json
./global-launcher verify --detailed
cleanup
Remove all deployed symlinks
Usage:
global-launcher cleanup [OPTIONS]
Options:
--yes: Accepted for scripting compatibility; cleanup runs non-interactively by default and does not prompt for confirmation (only removes launcher-owned symlinks)
Examples:
sudo ./global-launcher cleanup
sudo ./global-launcher cleanup --yes
sudo ./global-launcher cleanup --json
Operational Scenarios
Scenario-oriented workflows generated from the binary's built-in -e --json examples.
Scenario 1: Deployment Operations
Deploying and managing global binary access
Step 1: Deploy global access for all dashboard binaries
sudo ./global-launcher deploy
Note
Requires sudo for writing to /usr/local/bin
Step 2: Deploy with JSON terminal output
sudo ./global-launcher deploy --json
Step 3: Deploy and save SHA256 hash report to results directory
sudo ./global-launcher deploy --save-hashes
Note
Includes source binary and launcher hashes for integrity verification
Step 4: Force deployment, replacing existing symlinks
sudo ./global-launcher deploy --force
Scenario 2: Verification Operations
Verifying deployed symlinks work correctly
Step 1: Verify all deployed symlinks
./global-launcher verify
Step 2: Verify and save hash report to results directory
./global-launcher verify --save-hashes
Note
Includes source binary hashes and launcher hash for integrity checks
Step 3: Detailed verification with JSON terminal output
./global-launcher verify --detailed --json
Note
Each binary includes source_binary_hash and launcher_hash fields
Scenario 3: Hash Integrity Verification
SHA256 hash verification for binary integrity and update detection
Step 1: Save SHA256 hash report for all deployed binaries
./global-launcher verify --save-hashes
Note
Includes source binary hashes and launcher hash for integrity verification
Step 2: Deploy binaries and save hash report
sudo ./global-launcher deploy --save-hashes
Note
Hash report useful for tracking binary versions and detecting tampering
Step 3: View saved hash report
cat hooks/results/verification-hashes.json
Note
Compare hashes between deployments to detect binary changes
Step 4: Save hash report and extract specific hashes from JSON output
./global-launcher verify --save-hashes --json | jq '.data.verified_symlinks[0] | {name, source_binary_hash, launcher_hash}'
Note
Combine --save-hashes with --json for both file storage and terminal output
Scenario 4: Using Global Binaries
Once deployed, binaries work from anywhere
Step 1: Run health-control from any directory
health-control security-status
Note
Works from any location after deployment
Step 2: Run ip-fetch with JSON output globally
ip-fetch --json
Step 3: List DNS servers from anywhere
dns-switch list
Scenario 5: Cleanup Operations
Removing global binary access
Step 1: Remove all deployed symlinks
sudo ./global-launcher cleanup
Note
Requires sudo for removing from /usr/local/bin
Step 2: Auto-confirm cleanup with JSON terminal output
sudo ./global-launcher cleanup --yes --json
Environment Variables
| Variable | Description | Default | Values |
|---|---|---|---|
RUST_LOG |
Set logging level | info | error|warn|info|debug|trace |
NO_COLOR |
Disable colored output when set | unset | 1|true|yes (any value disables color) |
KODACHI_BASE_DIR |
Override hooks directory location | auto-detected | /path/to/hooks |
Exit Codes
| Code | Description |
|---|---|
| 0 | Success |
| 1 | General error |
| 10 | Security violation |
| 2 | Invalid arguments |
| 3 | Permission denied |
| 4 | Binary not found |
| 5 | Directory not found |
| 6 | Timeout |
| 7 | Deployment error |
| 8 | Execution error |
| 9 | Validation error |