Documentation

Everything you need
to get started

Guides, references, and manuals to help you get the most out of Xaccel IoT.

๐Ÿ”
Guides & Manuals

Start here

๐Ÿ“–
๐Ÿ‘ค For Customers

Customer Guide

Everything you need to use Xaccel IoT โ€” adding devices, web console, monitoring, alerts, batch jobs, billing, and more. Written for end users.

๐Ÿš€
โšก Quick Start

Getting Started

Connect your first device in under 5 minutes. Step-by-step walkthrough from account creation to your first SSH session.

๐Ÿค–
๐Ÿ”ง Technical

Device Agent

Install, configure, and manage the Xaccel IoT agent on your devices. Covers all Linux distributions and installation methods.

๐Ÿ”Œ
๐Ÿ› ๏ธ Developer

API Reference

Full REST API documentation for integrating Xaccel IoT into your own applications, dashboards, or automation workflows.

๐Ÿ› ๏ธ
โ“ Help

Troubleshooting

Common issues and how to fix them. Device not connecting? Console failing? Payment issues? Find answers here.

๐Ÿ“ฑ๐Ÿ–ฅ๏ธ

Android GUI Access

๐ŸŽฎ Remote Control

See and control your Android device screen remotely using scrcpy over Xaccel IoT tunnels. No root required for basic access.

๐Ÿ“ฑ

Install as App

๐Ÿ“ฒ Android & iOS

Add Xaccel IoT to your home screen. Works like a native app โ€” no app store required. Supports offline mode and push notifications.

๐Ÿ’ฌ
๐Ÿ†˜ Support

Contact Support

Can't find what you need? Our support team is here to help. Reach out by email and we'll get back to you within 1 business day.

Quick Start

Connect your first device

From zero to connected in under 5 minutes.

1

Create your account

Sign up at xaccel.net/signup. Choose a plan (all include a 14-day free trial) and create your account. No credit card required.

Create Account โ†’
2

Register your device

In the portal, go to Devices โ†’ Add Device. Give it a name and click Create. Copy the device token that appears โ€” you'll need it in the next step.

3

Install the agent

SSH into your device and run this one-line command (replace the token with yours):

curl -s 'https://remoteiot.xaccel.net/api/install/install.sh?key=YOUR_SETUP_KEY&name=MyDevice' | sudo bash
โœ“

You're connected!

Within 30 seconds, your device appears as โ— Online in the portal. Click it to open the console, view metrics, or set up alerts.

Device Agent

Installing the agent

Supported platforms

๐Ÿ“
Raspberry Pi OS
๐Ÿง
Ubuntu 18+
๐ŸŒ€
Debian 10+
๐Ÿ”ด
RHEL / CentOS
๐Ÿค–
Android (Termux)
๐Ÿณ
Docker / Container
โš™๏ธ
Armbian / OpenWrt
๐Ÿญ
Industrial Linux

One-line install (recommended)

# Get your Setup Key from Portal โ†’ Settings โ†’ Setup Key
# Replace YOUR_SETUP_KEY and MyDevice with your values
curl -s 'https://remoteiot.xaccel.net/api/install/install.sh?key=YOUR_SETUP_KEY&name=MyDevice' | sudo bash
 
# The ?name= parameter sets the device name in your portal
# Example: ?key=ABC123&name=RaspberryPi-Kitchen

๐Ÿ’ก Naming your device: The ?name= parameter sets the device name shown in your portal. Use a descriptive name like RaspberryPi-Greenhouse or Ubuntu-Server-01. You can also rename devices later from the portal.

Android install (via Termux) โ€” Dedicated Installer

โœ… Use the dedicated Android installer โ€” it handles all Termux differences automatically: no sudo, uses pkg instead of apt, sets up auto-start via Termux:Boot, and creates handy start/stop/logs scripts.

# Step 1 โ€” Install Termux from F-Droid (NOT the Play Store version)
# https://f-droid.org/packages/com.termux/
# Step 2 โ€” Run the dedicated Android installer (one command does everything)
curl -s 'https://remoteiot.xaccel.net/api/install/android.sh?key=YOUR_SETUP_KEY&name=MyAndroid' | bash
 
# That's it! The installer will:
# โœ“ Install Node.js via pkg
# โœ“ Download and configure the agent
# โœ“ Start the agent immediately
# โœ“ Set up auto-start via Termux:Boot
# โœ“ Create start/stop/logs helper scripts
# After install โ€” manage the agent with these helpers:
~/xaccel-agent/start.sh
# Start the agent
~/xaccel-agent/stop.sh
# Stop the agent
~/xaccel-agent/logs.sh
# View live logs
 
# Uninstall:
rm -rf ~/xaccel-agent ~/.termux/boot/xaccel-agent.sh

๐Ÿ’ก Auto-start on reboot: Install Termux:Boot from F-Droid โ€” the installer already sets it up. Also go to Android Settings โ†’ Battery โ†’ Termux โ†’ disable battery optimization to keep the agent running in the background.

Manual / CLI install (alternative)

# Run agent directly with CLI flags (no config.json needed)
node agent.js --key YOUR_SETUP_KEY --name MyDevice --server https://remoteiot.xaccel.net
 
# Available flags:
--key Setup key from portal Settings (required)
--name Device name shown in portal (default: hostname)
--server Portal server URL
--interval Metrics interval (default: 30)
 
# Or use environment variables:
SETUP_KEY=YOUR_SETUP_KEY DEVICE_NAME=MyDevice node agent.js
 
# Show all options:
node agent.js --help

๐Ÿ’ก Note: CLI flags override config.json and environment variables. The --token flag is also accepted as an alias for --key for compatibility.

Agent management commands

# Check agent status
systemctl status xaccel-agent
 
# Start / stop / restart
systemctl start xaccel-agent
systemctl stop xaccel-agent
systemctl restart xaccel-agent
 
# View agent logs
journalctl -u xaccel-agent -f
 
# Check agent version
cat /opt/xaccel-agent/package.json | grep version

Agent configuration

The agent configuration is stored at /opt/xaccel-agent/config.json:

{
"token": "tok_your_device_token_here",
"server": "wss://remoteiot.xaccel.net",
"reconnectInterval": 5000,
"metricsInterval": 30000
}
API Reference

REST API overview

All API endpoints require a Bearer token in the Authorization header.

Authorization: Bearer <your-jwt-token>
GET /api/devices List all devices
POST /api/devices Create a device
GET /api/devices/:id/metrics Get device metrics
POST /api/jobs Run a batch job
GET /api/billing/overview Get billing status
POST /api/auth/login Authenticate user

Full API documentation is available in the portal under Settings โ†’ API.

Troubleshooting

Common issues

Device shows Offline after installing the agent
+

Check the agent status and logs on the device:

systemctl status xaccel-agent
journalctl -u xaccel-agent -n 50

Common causes: incorrect token, device can't reach the portal URL on port 443, or Node.js not installed. Re-run the install command to fix most issues.

Web console says "Connection failed"
+
Verify the device is online first. Then check that SSH is running on the device (systemctl status ssh) and that your username/password or SSH key is correct. The console connects to the device's local SSH daemon.
Agent installed but device never appeared in portal
+

Check the agent logs for connection errors:

journalctl -u xaccel-agent -n 100

Look for "Invalid token" or "Cannot connect" errors. If the token is wrong, regenerate it in the portal (Devices โ†’ your device โ†’ Settings โ†’ Regenerate Token) and reinstall.

How do I update the agent to the latest version?
+
Re-run the install command on the device โ€” it will update in place without losing your configuration. The agent version is shown in the portal on the device Overview tab.
I can't log in to the portal
+
Use the "Forgot Password" link on the login page to receive a reset email. If you don't receive it, check your spam folder. If you're a team member (not the account owner), ask your Tenant Admin to reset your password from Settings โ†’ Users.

Still stuck? We're here to help.

Contact Support โ†’
📱🖥

Remote Android GUI Access

See and control your Android device screen remotely using Xaccel IoT tunnels + scrcpy. No root required.

How it works

📱
Android Device
ADB over TCP port 5555
🌐
Xaccel IoT Tunnel
Encrypted port forward
💻
Your Computer
scrcpy shows Android screen
🔓
Method 1 - No Root Required
scrcpy + ADB over Xaccel tunnel

Works on any Android 5.0+ with Developer Mode enabled. No root needed.

Step 1 - Enable ADB on Android

  1. Settings - About Phone - tap Build Number 7 times
  2. Settings - Developer Options - enable USB Debugging
  3. In Termux, enable ADB over TCP:
setprop service.adb.tcp.port 5555
stop adbd && start adbd

Step 2 - Create Xaccel IoT Tunnel

Portal - Android device - Tunnels - Add Tunnel:

Remote Port: 5555 (ADB on Android)
Local Port: 5555 (on your computer)
Protocol: TCP

Step 3 - Connect with scrcpy

# Install scrcpy on your computer (one time)
brew install scrcpy
# On Windows:
winget install Genymobile.scrcpy
# Connect via tunnel (after tunnel is active in portal)
adb connect localhost:5555
scrcpy
💡 scrcpy features: view screen, control with mouse/keyboard, copy-paste, file transfer, screen recording, and more.
🔒
Method 2 - Rooted Android
VNC server over Xaccel tunnel

Requires rooted Android. Gives full GUI access via any VNC viewer.

Step 1 - Install VNC Server on Android

In Termux (rooted):

pkg install tigervnc
vncserver :1 -geometry 1280x720 -depth 24

Step 2 - Create Xaccel IoT Tunnel

Remote Port: 5901 (VNC display :1)
Local Port: 5901
Protocol: TCP

Step 3 - Connect with VNC Viewer

Use any VNC client (RealVNC, TigerVNC, etc.):

# Connect to:
localhost:5901
💡 Tip: Use XFCE4 as the desktop environment in Termux for a lightweight, fast Android desktop experience.

Comparison

Feature scrcpy (No Root) VNC (Rooted)
Root required ✓ No ✗ Yes
See Android screen
Control with mouse/keyboard
Transfer files ✓ drag and drop ✓ via portal
Record screen
Performance Excellent (H.264) Good
๐Ÿ“ฑ

Install Xaccel IoT on Your Phone

Add Xaccel IoT to your home screen for instant access โ€” works like a native app, no app store needed.

๐Ÿค–

Android (Chrome)

  1. Open Chrome on your Android device
  2. Navigate to your Xaccel IoT URL
  3. Tap the โ‹ฎ menu (top right)
  4. Tap "Add to Home screen"
  5. Tap "Add" to confirm

๐Ÿ’ก Tip: A banner may appear automatically at the bottom of the screen โ€” just tap "Install"!

๐ŸŽ

iPhone / iPad (Safari)

  1. Open Safari on your iPhone or iPad
  2. Navigate to your Xaccel IoT URL
  3. Tap the Share button (box with arrow)
  4. Scroll down and tap "Add to Home Screen"
  5. Tap "Add" to confirm

๐Ÿ’ก Note: Use Safari on iOS โ€” Chrome on iPhone does not support PWA install.

๐Ÿ–ฅ๏ธ

Desktop (Chrome / Edge)

  1. Open Chrome or Edge
  2. Navigate to your Xaccel IoT URL
  3. Look for the install icon in the address bar (โŠ•)
  4. Click "Install Xaccel IoT"
  5. App opens in its own window โ€” pin to taskbar!

๐Ÿ’ก Works offline: The app caches pages so you can browse even without internet.

What you get with the installed app

โšก
Instant Launch
Opens in under 1 second from your home screen
๐Ÿ“ด
Works Offline
Browse cached pages without an internet connection
๐Ÿ””
Push Alerts
Get device alerts directly on your phone
๐Ÿ”’
Secure
Same 256-bit TLS encryption as the web portal