19 repositorios
Simulation of device hardware properties and environment states to test application behavior.
Distinct from GPS Location Simulation: Broader than GPS simulation; includes overriding metadata and mirroring terminal states
Explore 19 awesome GitHub repositories matching operating systems & systems programming · Device State Simulation. Refine with filters or upvote what's useful.
DoraemonKit is a mobile frontend development toolset designed to optimize the lifecycle of web and hybrid mobile applications. It functions as a comprehensive suite of productivity tools, providing specialized utilities for mobile UI inspection, web view debugging, and on-device performance monitoring. The toolset distinguishes itself through several targeted simulation and interception capabilities. It includes a network traffic interceptor for mocking API responses without modifying source code, a device state simulator for overriding GPS coordinates, and a mobile web debugging bridge that
Simulates device states by overriding GPS coordinates and manipulating application metadata.
This is a virtualization tool designed to run macOS guest operating systems, such as Catalina, Mojave, and High Sierra, inside VirtualBox on Windows, Linux, or Mac hardware. It provides a system for deploying these operating systems on x86 CPUs using official installation files. The project includes specialized utilities to manage EFI and NVRAM settings, enabling the emulation of device serial numbers and board identifiers to allow connectivity for cloud services and messaging. It also features a configurator for adjusting CPUID profiles and display resolutions to ensure hardware compatibilit
A feature in the virtualization tool to set device names, serial numbers, and board IDs in EFI and NVRAM for cloud and messaging access.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
MAME evaluates expressions to set device state variables or write values directly to memory.
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
Enables the creation of virtual representations of hardware and data models to test device behavior.
size-limit is a set of specialized tools for measuring JavaScript bundle sizes and enforcing performance budgets within continuous integration pipelines. It functions as a bundle size monitor and budget enforcer that can reject pull requests when JavaScript bundles exceed predefined size thresholds. The project distinguishes itself by providing a browser-based execution profiler that calculates the time required to compile and execute JavaScript on simulated low-end hardware. It also includes a tree-shaking validator that analyzes partial import bundle sizes to verify that unused code is corr
Measures the actual time it takes for a browser to compile and execute JavaScript on limited hardware.
ToaruOS is an independent operating system built from the ground up without external dependencies. It features a custom x86-64 kernel that supports symmetric multiprocessing and paging, paired with a graphical windowing system and a dedicated bytecode interpreter for application logic. The system distinguishes itself by integrating an embedded Python environment for system-level development and a custom graphical interface that handles its own window composition and text rendering. It includes a compatibility layer for third-party application support and a system package manager for handling
Coordinates hardware resources through a modular layer of virtual devices to abstract different physical architectures.
ControlRoom es una aplicación de escritorio para macOS diseñada para gestionar el estado, el entorno y la apariencia visual del Simulador de Xcode. Sirve como un toolkit para el control del simulador, depuración visual, captura de pantalla y pruebas de entorno. El proyecto proporciona utilidades especializadas para activar enlaces profundos y enviar notificaciones push para verificar las respuestas de la aplicación. Incluye un depurador visual para extraer colores de pantallas simuladas y una herramienta de captura para grabar videos y tomar capturas de pantalla con superposiciones opcionales de bisel de hardware. La aplicación cubre una amplia gama de capacidades de simulación, incluyendo la modificación de fechas del sistema, estados de red, ubicaciones GPS y ajustes de apariencia de accesibilidad. También gestiona el ciclo de vida del simulador, permitiendo la instalación y eliminación de software y el ajuste de modos claro y oscuro o idiomas del sistema.
Manages the lifecycle and visual configuration of Xcode Simulator instances and Apple device settings.
Simulates constrained CPU, memory, and network conditions to test app behavior under limited resources.
VisBug is an in-browser design tool that lets you inspect, edit, and manipulate live webpage elements directly, without touching source code. It functions as a browser design inspector, providing visual controls and keyboard shortcuts for real-time style inspection, element manipulation, and device simulation. The tool offers design-tool-inspired interactions for navigating the DOM as grouped layers, enabling direct selection and editing of nested components. It includes capabilities for drag-and-drop image replacement, live style inspection with computed properties and accessibility informat
Applies latency, media queries, orientation, and screen size constraints to test responsive behavior on any live page.
Jarvis es una suite de utilidades para proyectos Webpack diseñada para el análisis de bundles, auditorías de tree-shaking, depuración de errores de compilación y simulación de rendimiento de red. Proporciona un panel de control basado en navegador para visualizar distribuciones de activos y monitorear el tamaño total de bundles y chunks. El proyecto incluye un simulador de rendimiento de red que estima cómo se cargan los activos a través de varios tipos de conexión y velocidades. Cuenta además con una herramienta de análisis de tree-shaking que mide la proporción de importaciones de módulos que se pueden eliminar frente a las que no, para identificar oportunidades de reducción del tamaño del bundle. Las capacidades adicionales cubren la resolución de problemas de errores de compilación formateando errores de compilación sin procesar para facilitar la lectura y proporcionando enlaces integrados a motores de búsqueda externos. El conjunto de herramientas también analiza activos estáticos para calcular distribuciones de chunks y evaluar tipos de importación de módulos.
Estimates asset loading speeds across twelve different network connection types to resolve performance bottlenecks.
idb es un conjunto de herramientas para controlar y automatizar simuladores de iOS y dispositivos físicos. Consiste en una interfaz de línea de comandos, un controlador de simulador y un puente que proporciona acceso a interfaces internas del sistema para automatizar funciones normalmente restringidas a la interfaz gráfica de usuario. El proyecto incluye un gestor de objetivos remotos que permite el control de dispositivos iOS y simuladores a través de diferentes máquinas o centros de datos utilizando un proceso host complementario. Este sistema separa la interfaz de línea de comandos del proceso que gestiona la conexión real del dispositivo. El conjunto de herramientas proporciona primitivas granulares para pruebas de dispositivos y automatización de simuladores, permitiendo la interacción programática de entornos de simulación de iOS y hardware físico.
Maintains a local representation of target device status to coordinate asynchronous automation tasks.
XcodeBuildMCP is a Model Context Protocol server and development tool bridge that provides AI agents with the ability to control xcodebuild, manage simulators, and automate the compilation and execution of Apple platform applications. It functions as a persistent daemon that proxies native IDE build and debug capabilities to external clients and agents. The project distinguishes itself by using the Model Context Protocol to expose build and device management tools through a standardized interface. It implements specialized skill priming and instruction configuration to ensure AI agents can in
Boots, installs, launches, logs, and records video on iOS simulators and physical Apple devices over USB or Wi-Fi.
WebDriverAgent is an iOS device automation driver and server that enables the programmatic control of applications on physical devices and simulators. It functions as a bridge that exposes Apple XCUITest capabilities via a network interface, translating WebDriver commands into native iOS actions for mobile UI testing. The system implements a WebDriver server that uses the JSON Wire Protocol to receive instructions and return results. It translates these network requests into local commands to manage application lifecycles, perform screen gestures, and verify the presence of specific user inte
Interfaces with the macOS simulator process to manage application lifecycles and device state transitions.
python-miio es una biblioteca de Python y una implementación de controlador de hardware del protocolo Miio, diseñada para controlar y gestionar electrodomésticos inteligentes de Xiaomi. Proporciona las interfaces de software necesarias para traducir comandos de alto nivel en paquetes de red para la comunicación con el dispositivo. El proyecto incluye un simulador de dispositivos de red especializado para emular respuestas de hardware y probar implementaciones de protocolos sin dispositivos físicos. También cuenta con una interfaz de línea de comandos para enviar comandos, consultar el estado del dispositivo y realizar la recuperación de tokens para una autenticación segura. Las áreas de capacidad cubren el descubrimiento de redes IoT para identificar modelos de dispositivos y direcciones IP, así como el análisis de protocolos mediante el análisis de capturas de paquetes de red. La biblioteca admite la introspección de características del dispositivo para recuperar metadatos sobre sensores disponibles y configuraciones ajustables.
Mocks device endpoints and hardware responses to test code logic and connectivity without physical hardware.
v4l2loopback is a Linux kernel video driver that creates virtual video devices to route video streams between applications. It functions as a software-defined video source, simulating physical hardware to provide a standard video input for applications that require a capture device. The project enables video stream routing by piping data from one process to another using the Video4Linux2 standard. It includes mechanisms for device capability masking and conditional reporting to bypass strict hardware detection requirements in external software. The driver provides tools for virtual camera si
Tracks device configuration and existence through kernel parameters and sysfs to allow real-time device creation.
Ryven es un framework de programación basado en flujo y editor de scripting visual para Python. Proporciona una interfaz gráfica basada en nodos para diseñar y ejecutar lógica conectando nodos funcionales discretos para construir pipelines de datos ejecutables. El sistema funciona como una herramienta de lógica visual extensible, permitiendo el desarrollo de nodos de Python personalizados y la integración de widgets GUI interactivos para expandir las capacidades de scripting. Incluye un motor de grafos de nodos que admite tanto la edición visual como la ejecución headless, permitiendo que los scripts se ejecuten sin una interfaz gráfica de usuario. La plataforma cubre el diseño de scripts visuales y la lógica basada en flujo, con herramientas para el renderizado de imágenes de flujo y anotaciones basadas en stylus. Sus capacidades se extienden a la manipulación del estado en tiempo real a través de una interfaz de línea de comandos y un mecanismo de observador para la sincronización automática de datos de variables.
Includes an integrated command-line interface for real-time manipulation of scripts and flow structures.
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
Provides a standardized framework for character, block, and specialized drivers to interact with hardware through a consistent high-level API.
MvvmCross es un framework .NET MVVM diseñado para construir aplicaciones multiplataforma separando la lógica de negocio de las interfaces de usuario nativas. Funciona como un motor de navegación y una librería de enlace de datos de UI, permitiendo la encapsulación de la lógica dentro de view models que se reutilizan en diferentes sistemas operativos. El framework proporciona una capa de abstracción de hardware nativa y un contenedor de inyección de dependencias para desacoplar componentes y proporcionar una interfaz consistente para acceder a las características del dispositivo. Coordina transiciones seguras de tipo entre pantallas nativas y gestiona la sincronización de datos entre clases de lógica compartida y componentes de UI nativos a través de notificaciones de cambio de propiedad. El proyecto cubre una amplia gama de capacidades, incluyendo la gestión del ciclo de vida de la aplicación, deeplinking de URI y registro de servicios de inversión de control. También incluye utilidades para la internacionalización, mensajería pub-sub a través de un agregador de eventos de referencia débil e integración de hardware para sensores, geolocalización y autenticación biométrica.
Implements a hardware abstraction layer to provide a consistent interface for device features like cameras and sensors.
Domoticz is a home automation platform and multi-protocol IoT orchestrator designed for controlling smart home devices and automating routines. It functions as an event-driven automation engine and a centralized system for managing connected sensors and hardware across Linux, Windows, and Raspberry Pi. The system acts as a Zigbee and Z-Wave controller and an MQTT IoT gateway, bridging disparate hardware ecosystems through a flexible plugin system. This allows for the unification of various communication standards into a single management interface. The platform covers broad capabilities incl
Represents physical hardware as virtual objects with consistent properties to decouple device logic from the user interface.