Skip to content

ignorantbliss/i3X-Explorer

 
 

Repository files navigation

i3X Explorer

A cross-platform desktop application for browsing and monitoring I3X (Industrial Information Interface eXchange) API servers. Similar to MQTT Explorer but for the I3X protocol.

i3X Explorer

Features

  • Connect to any I3X-compliant server
  • Browse hierarchical data: Namespaces → Object Types → Objects
  • Tree auto-refresh: expanding a branch re-fetches from the server; 30s background poll keeps data current
  • View object details, metadata, and current values
  • Subscribe to objects for real-time updates via SSE
  • Search and filter the object tree
  • Light and dark theme with toggle button (follows OS preference by default)

Installation

Download the latest release for your platform:

Platform Download
macOS (Apple Silicon) i3X Explorer-x.x.x-mac-arm64.dmg
macOS (Intel) i3X Explorer-x.x.x-mac-x64.dmg
Windows (64-bit) i3X Explorer-x.x.x-win-x64.exe
Windows (32-bit) i3X Explorer-x.x.x-win-ia32.exe
Windows (Portable) i3X Explorer-x.x.x-portable.exe
Linux (x64) i3X Explorer-x.x.x-linux-x86_64.AppImage
Linux (ARM64) i3X Explorer-x.x.x-linux-arm64.AppImage

Linux AppImage

chmod +x "i3X Explorer-x.x.x-linux-x86_64.AppImage"
./"i3X Explorer-x.x.x-linux-x86_64.AppImage"

Ubuntu 22.04+ / Debian: AppImages require FUSE 2, which is not installed by default on newer distributions. If the AppImage fails to launch, install the required library:

sudo apt install libfuse2

Optionally, consider using AppImageLauncher to integrate into your Launcher.

Development

Prerequisites

  • Node.js 18+ (recommend using nvm)
  • npm

Setup

# Clone the repository
git clone https://github.com/cesmii/I3X-Explorer.git
cd I3X-Explorer

# Use correct Node version
nvm use 20

# Install dependencies
npm install

# Generate app icons (requires ImageMagick: brew install imagemagick)
./scripts/generate-icons.sh build/icon-1024.png

# Start Electron app in development mode (with hot reload)
npm run dev

Browser-Only Mode

You can also run just the React UI in a browser without Electron, which is useful for quick testing or development:

npx vite

This starts a Vite dev server at http://localhost:5173/ where you can access the full UI in your browser.

Build Commands

Note: The best environment to build for all platforms is a modern macOS.

# Best way to build
./scripts/build-all.sh [mac|win|linux|all]

# Manually Build for current platform
npm run build

# Manually Build Platform-specific
npm run build:mac          # macOS (Intel + Apple Silicon)
npm run build:win          # Windows (x64, x86, portable)
npm run build:linux        # Linux (AppImage x64 + ARM64)
npm run build:all          # All platforms

Build artifacts are output to release/{version}/.

macOS Notarization

To produce notarized macOS builds (required for arm64 downloads to open without a "app is damaged" error), you need an Apple Developer account and a Developer ID Application certificate in your keychain.

  1. Create the certificate — Xcode → Settings → Accounts → your Apple account → Manage Certificates → +Developer ID Application

  2. Create an app-specific password at appleid.apple.com → Sign-In and Security → App-Specific Passwords

  3. Find your Team ID at developer.apple.com/account (top-right, 10 characters)

  4. Create scripts/set-apple-vars.sh (this file is git-ignored):

    export APPLE_ID="you@example.com"
    export APPLE_APP_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx"
    export APPLE_TEAM_ID="XXXXXXXXXX"
  5. Build./scripts/build-all.sh mac will source the file automatically and notarize both Intel and Apple Silicon DMGs.

If set-apple-vars.sh is absent or the env vars are unset, the build completes unsigned with a warning.

Windows SmartScreen Warning

When downloading the Windows installer, SmartScreen may show a warning that the app is unrecognized. This is expected for unsigned builds. To proceed:

  1. Click More info in the SmartScreen dialog
  2. Click Run anyway

This warning appears because the installer is not yet signed with a Windows code signing certificate. It does not indicate the app is harmful.

Updating the Icon

# Requires ImageMagick: brew install imagemagick
./scripts/generate-icons.sh /path/to/your/icon.png

# Then rebuild
npm run build

Usage

  1. Launch i3X Explorer
  2. Enter the server URL (default: https://api.i3x.dev/v0)
  3. Click Connect
  4. Browse the tree to explore namespaces, object types, and objects
  5. Click any object to view its details and current value
  6. Click Subscribe on an object to monitor real-time updates
  7. Use the bottom panel to manage subscriptions and view live values

Tech Stack

  • Electron - Cross-platform desktop framework
  • React - UI library
  • TypeScript - Type-safe JavaScript
  • Vite - Build tool with hot reload
  • Tailwind CSS - Utility-first styling
  • Zustand - Lightweight state management

Related Resources

License

MIT License - see LICENSE for details.

About

i3X Explorer is a Client interface for i3X API Servers

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 79.3%
  • HTML 12.2%
  • Shell 4.2%
  • CSS 2.4%
  • JavaScript 1.9%