Skip to main content

Python library for managing IoT agents via MQTT — screenshots, commands, file transfers, tunnels, cameras

Project description

remotescout

Python library for managing IoT agents via MQTT. Provides a unified API for remote device management: screenshots, shell commands, file transfers, TCP tunnels, camera feeds, and OTA deployments.

Built for the Remote Scout MCP Server but can be used standalone.

Installation

pip install remotescout

Configuration

Option 1: Environment variables

export RS_MQTT_GLOBAL_PASSWORD="your_global_password"
export RS_MQTT_ROUTER_PASSWORD="your_router_password"

Option 2: settings.json

Create a config/settings.json in your base path:

{
    "mqtt_router_host": "mrouter.ci24.com",
    "mqtt_router_port": 8001,
    "mqtt_router_user": "ci24",
    "mqtt_router_password": "YOUR_PASSWORD",
    "mqtt_global_host": "mgovernor.ci24.com",
    "mqtt_global_port": 1883,
    "mqtt_global_user": "ci24",
    "mqtt_global_password": "YOUR_PASSWORD"
}

Contact the project admin for MQTT broker credentials.

Quick start

from remotescout import RemoteScoutAPI

api = RemoteScoutAPI(base_path="./my_base")
api.initialize()
api.connect()

# Login
api.login("your_username")

# List agents
agents = api.get_agents_by_domain("BLX")
for a in agents:
    print(f"{a.mac} - {a.id} ({a.status.value})")

# Execute command
result = api.execute_command("d83addc8721e", "uptime")
print(result.output)

# Screenshot
img_bytes = api.get_screenshot("d83addc8721e", ratio=3, timeout=10)

Features

Feature Method
Agent discovery get_agents_by_domain(), get_agent()
Shell commands execute_command()
Screenshots get_screenshot()
File browser list_directory(), get_file_bytes()
File transfer download_file()
TCP tunnels open_tunnel(), close_all_tunnels()
Camera feeds discover_cameras(), get_camera_frame()
OTA packages list_packages(), upload_package()
OTP tokens get_otp()

Requirements

  • Python 3.10+
  • Access to the MQTT broker (credentials from admin)
  • User permissions file or governor-validated credentials

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remotescout-1.0.0.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remotescout-1.0.0-py3-none-any.whl (48.8 kB view details)

Uploaded Python 3

File details

Details for the file remotescout-1.0.0.tar.gz.

File metadata

  • Download URL: remotescout-1.0.0.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for remotescout-1.0.0.tar.gz
Algorithm Hash digest
SHA256 725f9d86b609899dde08012986df2b520e2458f89d4c09d1fb24722bdc682932
MD5 6fab4d57c55b286799383105da7b130b
BLAKE2b-256 198d2cca923f4cfa9ba3f572321040dc871d7f95ece1de05023fe251382c6096

See more details on using hashes here.

File details

Details for the file remotescout-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: remotescout-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for remotescout-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fae444d1d27ff4071cc543290db9b8c765da08115a2889b029afc1bccf02687b
MD5 a004d9db1da7c6c4f2efd9ca1d380df5
BLAKE2b-256 d8446e245f3012a46bd873b8581574011a4e358f3bc14dba3064dd01eb193504

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page