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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
725f9d86b609899dde08012986df2b520e2458f89d4c09d1fb24722bdc682932
|
|
| MD5 |
6fab4d57c55b286799383105da7b130b
|
|
| BLAKE2b-256 |
198d2cca923f4cfa9ba3f572321040dc871d7f95ece1de05023fe251382c6096
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fae444d1d27ff4071cc543290db9b8c765da08115a2889b029afc1bccf02687b
|
|
| MD5 |
a004d9db1da7c6c4f2efd9ca1d380df5
|
|
| BLAKE2b-256 |
d8446e245f3012a46bd873b8581574011a4e358f3bc14dba3064dd01eb193504
|