{"id":15417089,"url":"https://github.com/mabezdev/wokwi-server","last_synced_at":"2025-06-21T10:34:22.914Z","repository":{"id":37742220,"uuid":"493741704","full_name":"MabezDev/wokwi-server","owner":"MabezDev","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-07T11:41:00.000Z","size":69,"stargazers_count":63,"open_issues_count":7,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-14T02:45:43.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MabezDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-18T16:27:45.000Z","updated_at":"2024-10-27T14:48:43.000Z","dependencies_parsed_at":"2024-10-21T15:41:04.700Z","dependency_job_id":null,"html_url":"https://github.com/MabezDev/wokwi-server","commit_stats":{"total_commits":31,"total_committers":4,"mean_commits":7.75,"dds":0.4193548387096774,"last_synced_commit":"7b1767bee72682c0b9af3f304558d2b4e6bf3578"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MabezDev%2Fwokwi-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MabezDev%2Fwokwi-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MabezDev%2Fwokwi-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MabezDev%2Fwokwi-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MabezDev","download_url":"https://codeload.github.com/MabezDev/wokwi-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230501172,"owners_count":18236061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T17:14:35.932Z","updated_at":"2024-12-19T21:09:41.240Z","avatar_url":"https://github.com/MabezDev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Wokwi server\n\nA CLI tool for launching a wokwi instance for your project.\n\n[![asciicast](https://asciinema.org/a/496018.svg)](https://asciinema.org/a/496018)\n\n## Installation\n\nDownload the prebuilt executables for you platform from [the releases pages](https://github.com/MabezDev/wokwi-server/releases). Alternatively, if you have Rust installed you can install it via cargo.\n\n```rust\ncargo install wokwi-server --git https://github.com/MabezDev/wokwi-server --locked\n```\n\n## Usage\n\nOnly two arguments are required, the target, specified with `--chip` and the path to your application elf file. Example running the esp-idf blink example on Wokwi:\n\n```sh\nidf.py build # build the application\nwokwi-server --chip esp32 build/blink.elf # running example opened in the browser!\n```\n\n### Simulating your binary on a custom Wokwi project\n\nYou can use the ID of a Wokwi project to simulate your resulting binary on it:\n```sh\nwokwi-server --chip \u003cchip\u003e --id \u003cprojectId\u003e build/blink.elf\n```\n\nThe ID of a Wokwi project can be found in the URL. E.g., the ID of\n[ESP32 Rust Blinky](https://wokwi.com/projects/345932416223806035) is `345932416223806035`.\n\n### As a cargo runner\n\nInside `.cargo/config.toml`, add a `runner` section to your `target` key ([cargo reference](https://doc.rust-lang.org/cargo/reference/config.html)). Example for the esp32:\n\n```toml\nrunner = \"wokwi-server --chip esp32\"\n```\n\nOnce configured, it's possible to launch and run your application in the Wokwi simulator by running `cargo run`.\n\n## GDB support\n\nWokwi exposes a GDB stub which this tool exposes via a TCP connection, see the following vscode configuration as a reference.\n\n```jsonc\n{\n    \"type\": \"gdb\",\n    \"request\": \"attach\",\n    \"name\": \"VsCode: Wokwi Debug\",\n    // change this!\n    \"executable\": \"${workspaceFolder}/target/xtensa-esp32-espidf/debug/esp-fs-tests\",\n    \"target\": \"127.0.0.1:9333\",\n    \"remote\": true,\n    // change this!\n    \"gdbpath\": \"xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb\",\n    \"cwd\": \"${workspaceRoot}\",\n    \"stopAtConnect\": true,\n    \"valuesFormatting\": \"parseText\"\n}\n```\n\n## Troubleshooting\n\nIf Wokwi doesn't progress past \"Connecting to ws://localhost:9012...\" in the browser:\n\n- It is likely that your browser is blocking mixed content (Safari and Orion both do this)\n- You may override your default browser using the `$BROWSER` environment variable.\n  - If using `wokwi-server` as a cargo runner, set this in `.cargo/config.toml`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabezdev%2Fwokwi-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmabezdev%2Fwokwi-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabezdev%2Fwokwi-server/lists"}