Skip to main content

# Introduction

XXTLanControl is a LAN control platform for XXTouch devices. It is designed for batch device management, script execution, remote control, scheduling, and centralized file and data handling.

It mainly consists of these parts:

- Backend service: provides the HTTP API and handles device communication, file management, and data storage
- Web console: the browser-based management UI for devices, scripts, remote control, files, KVDB, TableDB, and the picker workspace
- Tray app (optional): available on Windows and macOS for starting or stopping the backend and opening the console quickly
- Device-side Lua module `XXTLanControl.lua`: used by scripts running on devices to call control-center features

## Package Structure​

Package contents differ slightly by platform. The common files are:

### Windows​

Path / File | Description
--- | ---
`XXTLanControl-tray-windows-amd64.exe` | Tray launcher that starts the backend and stays in the system tray.
`bin/XXTLanControl-backend-windows-amd64.exe` | Backend service binary.
`bin/xxtlancontrol-mcpserver.exe` | MCP service binary.
`dist/` | Runtime resource root; web console pages are under `web/`, and bundled resources live next to it.
`start-backend.cmd` | Terminal launcher for troubleshooting.
`XXTLanControl.lua` | Lua module for device-side scripts.

### macOS​

Path / File | Description
--- | ---
`XXTLanControl.app` | Main app bundle; open it to launch both tray and backend.
`XXTLanControl.app/Contents/MacOS/xxtlancontrol-mcpserver` | MCP service binary.
`XXTLanControl.app/Contents/Resources/dist/` | Runtime resource root; web console pages are under `web/`, and bundled resources live next to it.
`start-backend.command` | Terminal launcher for troubleshooting.
`XXTLanControl.lua` | Lua module for device-side scripts.

### Linux​

Path / File | Description
--- | ---
`XXTLanControl-backend-linux-amd64` / `XXTLanControl-backend-linux-arm64` | Backend binaries for different architectures.
`xxtlancontrol-mcpserver` | MCP launcher script that picks the matching MCP binary.
`xxtlancontrol-mcpserver-linux-amd64` / `xxtlancontrol-mcpserver-linux-arm64` | MCP binaries for different architectures.
`dist/` | Runtime resource root; web console pages are under `web/`, and bundled resources live next to it.
`start-backend.sh` | Terminal launcher.
`XXTLanControl.lua` | Lua module for device-side scripts.

## Main Capabilities​

- Device management: scan and import XXTouch devices on the LAN, then manage them by group
- Script execution: upload scripts to devices and start, stop, or pause them at any time
- Remote control: view device screens in real time, send touch or key input, and control multiple devices together
- File management: manage scripts, resources, and reports on the control center, including upload, download, and online editing
- Data management: built-in KVDB and TableDB for shared state and structured business data
- Schedules: support timed, interval, one-time, user-triggered, and KVDB queue-triggered execution with step-based or visual workflows
- Picker workspace: screenshot color picking, selection cropping, bitmap dictionary tools, and script UI editing helpers
- Batch operations: batch authorization, batch XXTouch installation, batch rename, screenshots, lock/unlock, and more

## Requirements​

- XXTouch must be installed on the device, and `Remote Access` must be enabled
- The control center and devices must be on the same LAN, and the firewall must allow the HTTP port (default `46990`)

## First Launch​

- Windows: double-click `XXTLanControl-tray-windows-amd64.exe`; the browser usually opens the console automatically
- macOS: open `XXTLanControl.app`; the browser usually opens the console automatically
- Linux: run `start-backend.sh`, then open `http://127.0.0.1:46990/` manually

For the rest of the product, continue with the usage chapters below.