online-info-switch
Online information hub for Kodachi OS - RSS feeds, paste services, freshness proofs, and connectivity status
File Information
| Property | Value |
|---|---|
| Binary Name | online-info-switch |
| Version | 9.8.4 (build 320) |
| Build Date | Not disclosed |
| Rust Version | 1.82.0 |
| File Size | 10.5MB |
| Author | Warith Al Maawali |
| License | Proprietary |
| Category | Kodachi Binary |
| Description | Online information hub for Kodachi OS - RSS feeds, paste services, freshness proofs, and connectivity status |
| Git Commit | unknown |
| Metadata Generated | 2026-08-10T13:22:41Z |
| Binary Timestamp | Unknown |
| JSON Data | View Raw JSON |
SHA256 Checksum
0d4918e207a30d9d18c41aebb2657c9f8055a1a57b978e587a3f7189991b83db
Features
| # | Feature |
|---|---|
| 1 | Online/offline status checking via health-control |
| 2 | RSS feed aggregation from security news sources |
| 3 | Public paste service integration |
| 4 | Proof of freshness with current news and blockchain data |
| 5 | Crypto and precious metals prices, Bitcoin balance lookups |
| 6 | Kodachi cloud, knet and Tor exit checks |
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) |
--json-pretty |
Pretty-print JSON output with indentation |
--json-human |
Enhanced JSON output with improved formatting (like jq) |
--json-filter <FIELD1,FIELD2> |
Return only specified JSON fields (comma-separated) |
--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|warn|info|debug) |
--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) |
Commands
Connectivity
status
Show current online/offline status
Usage:
online-info-switch status
Options:
--json: Emit the status as compact JSON (global flag)-t, --timeout <SECONDS>: Global request timeout
Examples:
online-info-switch status
online-info-switch status --json
online-info-switch status --json-pretty
Kodachi Cloud
releases
Check Kodachi release information
Usage:
online-info-switch releases [EDITION]
Options:
[EDITION]: Edition to report on: binary_pack, terminal or desktop. Omit for all of them
Examples:
online-info-switch releases
online-info-switch releases binary_pack
online-info-switch releases desktop
online-info-switch releases --json-pretty
cloud-stats
Fetch Kodachi cloud infrastructure statistics
Usage:
online-info-switch cloud-stats
Options:
-t, --timeout <SECONDS>: Request timeout. The stats endpoint can be slow--json: Emit the statistics as compact JSON (global flag)
Examples:
online-info-switch cloud-stats
online-info-switch cloud-stats --timeout 120
online-info-switch cloud-stats --json-pretty
knet-status
Check Kodachi network connection status
Usage:
online-info-switch knet-status
Options:
-t, --timeout <SECONDS>: Request timeout for the knet lookup--json: Emit the knet state as compact JSON (global flag)
Examples:
online-info-switch knet-status
online-info-switch knet-status --json
online-info-switch knet-status --timeout 60
vps-tor-check
Check VPS Tor exit IP through SOCKS5 proxy
Usage:
online-info-switch vps-tor-check [OPTIONS]
Options:
--socks-host <HOST>: SOCKS5 proxy host. Supplying it disables port auto-detection--socks-port <PORT>: SOCKS5 proxy port. When neither flag is given, ports 9050, 9150 and the Kodachi pool 10000 to 10019 are probed and the first listener wins
Examples:
online-info-switch vps-tor-check
online-info-switch vps-tor-check --socks-port 9150
online-info-switch vps-tor-check --socks-host 192.168.1.100 --socks-port 9051
online-info-switch vps-tor-check --json-pretty
Markets
price
Check cryptocurrency and precious metals prices
Usage:
online-info-switch price <COIN>
Options:
<COIN>: Symbol to price: btc, eth, xmr, azero, near, gold, silver, xau, xag, or all
Examples:
online-info-switch price btc
online-info-switch price xmr
online-info-switch price gold
online-info-switch price all
online-info-switch price all --json
balance
Check Bitcoin wallet balance
Usage:
online-info-switch balance <ADDRESS>
Options:
<ADDRESS>: Bitcoin address (legacy or bc1 Segwit). It is sent to public blockchain explorers, which see it and your exit IP
Examples:
online-info-switch balance 34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo
online-info-switch balance bc1ql49ydapnjafl5t2cp9zqpjwe6pdgmxy98859v2 --json
News and Freshness
rss
Fetch RSS feeds from security news sources
Usage:
online-info-switch rss [OPTIONS]
Options:
-s, --sources <SOURCES>: Comma separated list of RSS sources to fetch. Conflicts with --random-r, --random: Fetch from a single randomly chosen source. Conflicts with --sources-m, --max-items <COUNT>: Maximum number of items to display
Examples:
online-info-switch rss
online-info-switch rss --max-items 5
online-info-switch rss --random
online-info-switch rss --sources "darkreading,wired"
online-info-switch rss --json-pretty
freshness
Show proof of system freshness
Usage:
online-info-switch freshness
Options:
--json: Emit the freshness proof as compact JSON (global flag)-t, --timeout <SECONDS>: Global request timeout for the news and blockchain fetches
Examples:
online-info-switch freshness
online-info-switch freshness --json
online-info-switch freshness --json-pretty
Sharing
paste
Upload content to public paste services
Usage:
online-info-switch paste [TEXT] [OPTIONS]
Options:
[TEXT]: Content to paste. Read from stdin when omitted. Conflicts with --file-f, --file <PATH>: Read the content from a file instead. Conflicts with TEXT-s, --services <SERVICES>: Comma separated services: paste.rs, dpaste.com, catbox.moe, termbin.com--expire <DAYS>: Expiration in days. Accepted and parsed, but no backend service currently applies it--allow-termbin-plaintext: Opt in to termbin.com. WARNING: plaintext TCP on port 9999, bypasses Tor and any proxy, exposes your real IP
Examples:
echo "Hello World" | online-info-switch paste
online-info-switch paste "Sample content"
online-info-switch paste --file /path/to/file.txt
online-info-switch paste "test" --services "paste.rs"
online-info-switch paste "test" --services "termbin.com" --allow-termbin-plaintext
online-info-switch paste "test" --json-pretty
Operational Scenarios
Scenario-oriented workflows generated from the binary's built-in -e --json examples.
Scenario 1: Quick Start
The four things this tool is reached for most. Every command needs network access, and none of them need root.
Step 1: Check whether the machine currently has working internet access
online-info-switch status
Note
Delegates the connectivity probe to health-control.
Step 2: Read the five most recent security headlines
online-info-switch rss --max-items 5
Step 3: Prove the system clock and its view of the world are current
online-info-switch freshness
Note
Useful after a suspend or a clock reset, and as evidence that a snapshot was taken today.
Step 4: Read one market price as JSON, for scripting
online-info-switch price btc --json
Scenario 2: Output Formats
Every command takes the same global output flags. --json is the one to script against.
Step 1: Compact single line JSON, meant for pipes and workflow steps
online-info-switch status --json
Step 2: Indented JSON, for reading by eye
online-info-switch status --json-pretty
Step 3: Colorized, human oriented rendering of the JSON
online-info-switch status --json-human
Note
Colors are dropped automatically when the output is not a terminal.
Step 4: Raise the global request timeout for a slow endpoint
online-info-switch cloud-stats --timeout 120
Note
--timeout (-t) is a global flag, in seconds. Without it, cloud-stats uses 60s and knet-status uses 30s.
Scenario 3: RSS Feed Operations
Pull security headlines from the configured feeds. Feeds are fetched over the current routing, so they travel through Tor or the VPN when those are active.
Step 1: Fetch the newest items from every configured source
online-info-switch rss
Note
A source that is unreachable is skipped rather than failing the whole command.
Step 2: Fetch from one randomly chosen source instead of all of them
online-info-switch rss --random
Note
--random and --sources are mutually exclusive.
Step 3: Fetch only from the named sources
online-info-switch rss --sources "darkreading,wired"
Note
Comma separated. Short form: -s.
Step 4: Cap how many items come back
online-info-switch rss --max-items 5
Note
Defaults to 10. Short form: -m.
Step 5: Get the feed items as structured JSON
online-info-switch rss --json-pretty
Scenario 4: Paste Service Operations
Upload text to public paste services (paste.rs, dpaste.com and catbox.moe, all over HTTPS). Anything pasted becomes PUBLIC at a URL anyone can open, so never paste keys, credentials, or logs containing your IP. This command requires an authenticated session.
Step 1: Paste from stdin to the default HTTPS services
echo "Hello World" | online-info-switch paste
Note
Requires authentication: run `online-auth authenticate` first, otherwise the command returns "Authentication required" and exits non-zero.
Step 2: Paste a literal string
online-info-switch paste "Sample content"
Note
The pasted content is public and unencrypted. Treat every paste as permanent.
Step 3: Paste the contents of a file
online-info-switch paste --file /path/to/file.txt
Note
Short form: -f. --file and the inline TEXT argument are mutually exclusive.
Step 4: Send to a single named service
online-info-switch paste "test" --services "paste.rs"
Note
Short form: -s, default "all". Known services: paste.rs, dpaste.com, catbox.moe and termbin.com.
Step 5: Send to several named services at once
online-info-switch paste "test" --services "dpaste.com,catbox.moe,paste.rs"
Step 6: Send to termbin.com, which needs an explicit opt-in
online-info-switch paste "test" --services "termbin.com" --allow-termbin-plaintext
Note
WARNING: termbin.com uses unencrypted TCP on port 9999, which bypasses Tor and any proxy and exposes your real IP address. Without --allow-termbin-plaintext the service is skipped. Only use it on a trusted network when anonymity does not matter.
Step 7: Get the per-service results as JSON
online-info-switch paste "test" --json-pretty
Note
When no service succeeds the result is success:false and the exit code is non-zero, so it can be tested in a workflow.
Scenario 5: Freshness Proof Operations
Combine the current time, the latest headlines and current blockchain data into evidence that the system's view of the world is up to date.
Step 1: Print a human readable freshness proof
online-info-switch freshness
Note
Needs network access: it fetches live news and blockchain data, so it fails offline.
Step 2: Get the freshness proof as compact JSON for archiving
online-info-switch freshness --json
Step 3: Get the same proof, indented for reading
online-info-switch freshness --json-pretty
Scenario 6: Cryptocurrency and Metals
Live prices for crypto and precious metals, plus Bitcoin balance lookups. Prices come from public APIs, so these commands need network access and can be rate limited.
Step 1: Check one cryptocurrency price
online-info-switch price btc
Note
Accepted symbols: btc, eth, xmr, azero, near, gold, silver, xau, xag and all.
Step 2: Check the Monero price
online-info-switch price xmr
Step 3: Check a precious metal spot price
online-info-switch price gold
Note
gold and silver are aliases for the xau and xag symbols; both spellings work.
Step 4: Fetch every supported crypto and metal in one call
online-info-switch price all
Note
Crypto and metals are fetched in parallel. A provider that fails is left out of the result rather than failing the command.
Step 5: Fetch every price as JSON, for a dashboard or a workflow step
online-info-switch price all --json
Step 6: Look up the balance of a legacy Bitcoin address
online-info-switch balance 34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo
Note
The address is sent to public blockchain explorers, which see both it and your exit IP. Do not look up an address you want kept private over a clearnet route.
Step 7: Look up a Segwit (bc1) address balance as JSON
online-info-switch balance bc1ql49ydapnjafl5t2cp9zqpjwe6pdgmxy98859v2 --json
Scenario 7: Release Information
Query the official Kodachi release API for the current version of each edition.
Step 1: Show the release info for every edition
online-info-switch releases
Step 2: Show one edition only
online-info-switch releases binary_pack
Note
Editions: binary_pack, terminal, desktop.
Step 3: Check the Desktop ISO release
online-info-switch releases desktop
Step 4: Get all release metadata as JSON, to compare against the installed version
online-info-switch releases --json-pretty
Scenario 8: Cloud Infrastructure and Tor Exit
Check the Kodachi cloud backend, the knet connection and the Tor exit IP. These reach the Kodachi servers, so they need network access.
Step 1: Fetch Kodachi cloud infrastructure statistics
online-info-switch cloud-stats
Note
The stats endpoint can be slow, so the default timeout here is 60 seconds. Raise it with --timeout if it trips.
Step 2: Fetch the stats as JSON with a longer timeout
online-info-switch cloud-stats --timeout 120 --json-pretty
Step 3: Check whether this machine is on the Kodachi network
online-info-switch knet-status
Note
Default timeout is 30 seconds, overridable with --timeout.
Step 4: Get the knet state as JSON, for the dashboard or a workflow condition
online-info-switch knet-status --json
Step 5: Check the exit IP through the local Tor SOCKS5 proxy
online-info-switch vps-tor-check
Note
With neither flag given, the SOCKS port is auto-detected: ports 9050, 9150 and the Kodachi multi-instance pool 10000 to 10019 are probed in parallel and the first listener wins. Requires a running Tor.
Step 6: Check the Tor exit through a specific remote SOCKS5 proxy
online-info-switch vps-tor-check --socks-host 192.168.1.100 --socks-port 9051
Note
Passing EITHER flag disables auto-detection: the supplied values are used verbatim, and the one you leave out falls back to 127.0.0.1 or 9050.
Step 7: Get the exit check as JSON for a workflow
online-info-switch vps-tor-check --json-pretty
Environment Variables
| Variable | Description | Default | Values |
|---|---|---|---|
NO_COLOR |
Disable all colored output when set | unset | 1|true|yes (any value disables color) |
Exit Codes
| Code | Description |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Permission denied |
| 4 | Network error |
| 5 | File not found |