{"id":16098521,"url":"https://github.com/vladpuz/sandboxie-js","last_synced_at":"2025-10-08T13:35:43.015Z","repository":{"id":65083827,"uuid":"581793183","full_name":"vladpuz/sandboxie-js","owner":"vladpuz","description":"Sandboxie CLI client","archived":false,"fork":false,"pushed_at":"2023-06-18T12:35:29.000Z","size":399,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-14T11:04:19.342Z","etag":null,"topics":["cli","client","sandboxie"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/sandboxie-js","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vladpuz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-12-24T11:01:46.000Z","updated_at":"2024-10-08T17:39:24.000Z","dependencies_parsed_at":"2024-01-21T14:26:55.103Z","dependency_job_id":"9e0506a8-6b2a-49af-8512-e09f07a083ac","html_url":"https://github.com/vladpuz/sandboxie-js","commit_stats":null,"previous_names":["vpuzzyrev/sandboxie-js","vladislav-puzyrev/sandboxie-js","vladpuz/sandboxie-js"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsandboxie-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsandboxie-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsandboxie-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsandboxie-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vladpuz","download_url":"https://codeload.github.com/vladpuz/sandboxie-js/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586218,"owners_count":21128998,"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":["cli","client","sandboxie"],"created_at":"2024-10-09T18:23:49.312Z","updated_at":"2025-10-08T13:35:42.914Z","avatar_url":"https://github.com/vladpuz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sandboxie-js\n\nSandboxie CLI client for automated sandbox management. Internally it works with `Sandboxie.ini` and `Start.exe`.\n\nYou can check out the official documentation here:\n\n- [Sandboxie.ini](https://github.com/sandboxie-plus/sandboxie-docs/blob/main/Content/SandboxieIni.md)\n- [Start.exe](https://github.com/sandboxie-plus/sandboxie-docs/blob/main/Content/StartCommandLine.md)\n\nTypeDoc documentation is available on [wiki](https://github.com/vladislav-puzyrev/proxy-string-parser/wiki).\n\n## Requirements\n\nRunning [Sandboxie](https://github.com/sandboxie-plus/Sandboxie/releases/latest) in the system. Allowed installed\nor portable versions of `Plus` and `Classic`.\n\n## Install\n\n```bash\nnpm install sandboxie-js\n```\n\n## Usage\n\n```javascript\nimport Sandboxie from 'sandboxie-js'\n\n// Sandboxie constructor accepts optional SandboxieOptions object\n// Default values are shown below\nconst sandboxie = new Sandboxie({\n  delay: 2000,\n  classic: false,\n  portable: false,\n  clientPath: this.classic ? 'C:/Program Files/Sandboxie' : 'C:/Program Files/Sandboxie-Plus',\n  configPath: this.portable ? `${this.clientPath}/Sandboxie.ini` : 'C:/Windows/Sandboxie.ini'\n})\n\nconst name = 'TestBox'\nconst names = Array.from(new Array(5), (item, i) =\u003e `TestBox${i + 1}`)\nconst program = ['/hide_window', 'C:/Windows/System32/notepad.exe']\nconst settings = `\nEnabled=y\nBlockNetworkFiles=y\nRecoverFolder=%{374DE290-123F-4565-9164-39C4925E467B}%\nRecoverFolder=%Personal%\nRecoverFolder=%Desktop%\nBorderColor=#00FFFF,ttl\nTemplate=OpenBluetooth\nTemplate=SkipHook\nTemplate=FileCopy\nTemplate=qWave\nTemplate=BlockPorts\nTemplate=LingerPrograms\nTemplate=AutoRecoverIgnore\nConfigLevel=9\n`\n\n// Create sandbox(es)\nawait sandboxie.create(name, settings)\nawait sandboxie.createMany(names.map((name) =\u003e ({ name, settings })))\n\n// List of sandboxes\nconst sandboxes = await sandboxie.sandboxes()\nconsole.log(sandboxes)\n\n// Run the program(s) in the sandbox(es)\nawait sandboxie.start(name, program)\nawait sandboxie.startMany(names.map((name) =\u003e ({ name, program })))\n\n// List of pids\nconst pids = await sandboxie.pids(name)\nconsole.log(pids)\n\n// Stop the program(s) in the sandbox(es)\nawait sandboxie.stop(name)\nawait sandboxie.stopAll()\n\n// Delete sandbox(es)\nawait sandboxie.remove(name)\nawait sandboxie.removeAll()\n\n// Manual reload of Sandboxie.ini\n// Automatically called inside create(Many) and remove(All)\nawait sandboxie.reload()\n```\n\n## Caveats\n\n### Race condition\n\nFor some reason, executing the `remove(All)` and `stop(All)` methods without delay causes Sandboxie errors and crashes,\nso inside these methods `setTimeout` is used with `delay: 2000` by default.\n\nYou can remove the delay by setting the `delay: 0` property, or increase it when errors occur.\n\nThis is most likely due to the fact that `Start.exe` passes the request to the `SbieSvc.exe` service and returns control\nnot waiting for his work to finish.\n\n### Parallelization\n\nDo not execute the `create(Many)` and `remove(All)` methods in parallel using `Promise.all()`. They work\nwith `Sandboxie.ini` and this can lead to an error in writing to the `EBUSY` file at the same time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladpuz%2Fsandboxie-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvladpuz%2Fsandboxie-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladpuz%2Fsandboxie-js/lists"}