19 个仓库
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 is a macOS desktop application designed for managing the state, environment, and visual appearance of the Xcode Simulator. It serves as a toolkit for simulator control, visual debugging, screen capture, and environment testing. The project provides specialized utilities for triggering deep links and sending push notifications to verify application responses. It includes a visual debugger for extracting colors from simulated screens and a capture tool for recording videos and taking screenshots with optional hardware bezel overlays. The application covers a broad range of simulati
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 is a suite of utilities for Webpack projects designed for bundle analysis, tree-shaking audits, build error debugging, and network performance simulation. It provides a browser-based dashboard to visualize asset distributions and monitor the total size of bundles and chunks. The project includes a network performance simulator that estimates how assets load across various connection types and speeds. It also features a tree-shaking analysis tool that measures the ratio of shakeable to non-shakeable module imports to identify opportunities for bundle size reduction. Additional capabili
Estimates asset loading speeds across twelve different network connection types to resolve performance bottlenecks.
idb 是一套用于控制和自动化 iOS 模拟器及物理设备的工具。它由命令行界面、模拟器控制器和一个桥接器组成,该桥接器提供对内部系统接口的访问,以自动化通常仅限于图形用户界面的功能。 该项目包括一个远程目标管理器,能够使用配套的主机进程跨不同机器或数据中心控制 iOS 设备和模拟器。该系统将命令行界面与管理实际设备连接的进程分离开来。 该工具集为设备测试和模拟器自动化提供了细粒度的原语,允许对 iOS 仿真环境和物理硬件进行程序化交互。
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 是一个 iOS 设备自动化驱动程序和服务器,能够以编程方式控制物理设备和模拟器上的应用程序。它作为一个桥梁,通过网络接口公开 Apple XCUITest 功能,将 WebDriver 命令转换为原生 iOS 操作,用于移动 UI 测试。 该系统实现了一个使用 JSON Wire Protocol 接收指令并返回结果的 WebDriver 服务器。它将这些网络请求转换为本地命令,以管理应用程序生命周期、执行屏幕手势并验证特定用户界面视图的存在。 该项目涵盖了广泛的自动化功能,包括端到端测试工作流、通过滚动和点击进行的 UI 验证,以及用于监控连接硬件状况的设备状态检查。
Interfaces with the macOS simulator process to manage application lifecycles and device state transitions.
python-miio 是一个 Miio 协议的 Python 库和硬件驱动程序实现,旨在控制和管理小米智能家电。它提供了必要的软件接口,将高级命令转换为网络数据包以进行设备通信。 该项目包括一个专门的网络设备模拟器,用于模拟硬件响应,以便在没有物理设备的情况下测试协议实现。它还具有一个命令行界面,用于发送命令、查询设备状态以及执行用于安全身份验证的令牌检索。 功能领域涵盖用于识别设备型号和 IP 地址的 IoT 网络发现,以及通过解析网络数据包捕获进行的协议分析。该库支持设备功能内省,以检索有关可用传感器和可配置设置的元数据。
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 是一个基于流的编程框架和 Python 可视化脚本编辑器。它提供了一个基于节点的图形界面,用于通过连接离散的功能节点来设计和执行逻辑,从而构建可执行的数据流水线。 该系统作为一个可扩展的可视化逻辑工具,允许开发自定义 Python 节点并集成交互式 GUI 小部件以扩展脚本能力。它包含一个支持可视化编辑和无头执行的节点图引擎,使脚本能够在没有图形用户界面的情况下运行。 该平台涵盖了可视化脚本设计和基于流的逻辑,具有用于流图像渲染和基于触控笔注释的工具。其能力扩展到通过命令行界面进行的实时状态操作,以及用于自动变量数据同步的观察者机制。
Includes an integrated command-line interface for real-time manipulation of scripts and flow structures.
NuttX 是一个符合 POSIX 标准的实时操作系统,专为从 8 位到 64 位架构的微控制器而设计。它提供了一个具有实时任务调度器和 POSIX 嵌入式内核的确定性执行环境,以确保跨不同硬件目标的可移植代码执行。 该项目通过全面的硬件抽象层脱颖而出,该层为各种半导体芯片组提供了 I2C、SPI、CAN 和 USB 的标准化驱动程序。它还具有支持 TCP、UDP、IPv4 和 IPv6 的嵌入式网络栈,以及 Modbus 和 DroneCAN 等工业协议。 该系统涵盖了广泛的功能,包括具有按需分页的高级内存管理、安全加密操作,以及用于管理不同存储类型的虚拟文件系统。它进一步集成了用于图形用户界面、音频合成以及执行多种脚本语言和 WebAssembly 工作负载的高级接口。 该环境使用 Make 或 CMake 构建,以针对特定的板卡配置和半导体芯片组。
Provides a standardized framework for character, block, and specialized drivers to interact with hardware through a consistent high-level API.
MvvmCross 是一个 .NET MVVM 框架,旨在通过将业务逻辑与原生用户界面分离来构建跨平台应用。它充当导航引擎和 UI 数据绑定库,能够将逻辑封装在可在不同操作系统间复用的视图模型(View Models)中。 该框架提供了原生硬件抽象层和依赖注入容器,用于解耦组件并为访问设备功能提供统一接口。它协调原生屏幕之间的类型安全转换,并通过属性更改通知管理共享逻辑类与原生 UI 组件之间的数据同步。 该项目涵盖了广泛的功能,包括应用生命周期管理、URI 深度链接和控制反转(IoC)服务注册。它还包含用于国际化、通过弱引用事件聚合器进行发布-订阅消息传递的工具,以及针对传感器、地理位置和生物识别认证的硬件集成功能。
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.