{"id":18726004,"url":"https://github.com/badisi/xbw","last_synced_at":"2026-03-16T02:36:08.280Z","repository":{"id":57401068,"uuid":"47938388","full_name":"Badisi/xbw","owner":"Badisi","description":"🎮 NodeJS module utility which provides helpful functions to read and/or verify xbox360 backup iso file","archived":false,"fork":false,"pushed_at":"2025-03-03T10:58:24.000Z","size":15317,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T14:19:25.811Z","etag":null,"topics":["abgx","abgx360","iso","nodejs","v8","xbox360","xbw","xkey","xkeybrew"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/Badisi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2015-12-13T22:07:15.000Z","updated_at":"2025-03-03T10:58:27.000Z","dependencies_parsed_at":"2024-01-15T22:00:48.985Z","dependency_job_id":"d4111227-ec7c-4189-bec4-02af48a0e6b8","html_url":"https://github.com/Badisi/xbw","commit_stats":{"total_commits":32,"total_committers":2,"mean_commits":16.0,"dds":0.09375,"last_synced_commit":"3842e2392e53e35ac4354bdf092240103c64aece"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Badisi%2Fxbw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Badisi%2Fxbw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Badisi%2Fxbw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Badisi%2Fxbw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Badisi","download_url":"https://codeload.github.com/Badisi/xbw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248595944,"owners_count":21130599,"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":["abgx","abgx360","iso","nodejs","v8","xbox360","xbw","xkey","xkeybrew"],"created_at":"2024-11-07T14:12:50.674Z","updated_at":"2026-03-16T02:36:08.235Z","avatar_url":"https://github.com/Badisi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    @badisi/xbw\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ci\u003e🎮 NodeJS module utility which provides helpful functions to read and/or verify xbox360 backup iso files.\u003c/i\u003e\u003cbr/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.npmjs.com/package/@badisi/xbw\"\u003e\n        \u003cimg src=\"https://img.shields.io/npm/v/@badisi/xbw.svg?color=blue\u0026logo=npm\" alt=\"npm version\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://npmcharts.com/compare/@badisi/xbw?minimal=true\"\u003e\n        \u003cimg src=\"https://img.shields.io/npm/dw/@badisi/xbw.svg?color=7986CB\u0026logo=npm\" alt=\"npm donwloads\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/Badisi/xbw/blob/main/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/license-custom-ff69b4\" alt=\"license\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/darwin-x64-green\" alt=\"build darwin-x64 status\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/linux-x64-green\" alt=\"build linux-x64 status\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/win32-x64-green\" alt=\"build win32-x64 status\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/win32-ia32-green\" alt=\"build win32-ia32 status\" /\u003e\n\u003c/p\u003e\n\n\u003chr/\u003e\n\n## Installation\n\n**xbw** is pre-built for `node \u003e= 12` and `electron` on latest ****macos****, ****linux**** and ****windows****.\n\n```sh\nnpm install -g @badisi/xbw\n```\n\n```sh\nyarn global add @badisi/xbw\n```\n\n## Usage\n\n```\n$ xbw --help\n\n  Usage:\n    $ xbw \u003ccommand\u003e \u003cfile|folder...\u003e [--help] [options]\n\n  Global Commands:\n    verify .... Verify backup iso files integrity against abgx360\n    info ...... Extract information from backup iso files\n\n  Examples:\n    $ xbw info .\n    $ xbw info backup1.iso backup2.iso path/to/backups/folder/\n    $ xbw verify backup.iso --corrupt --af3 --patchgarbage --patchitanyway\n    $ xbw verify backup1.iso backup2.iso path/to/backups/folder\n    $ xbw verify backup.iso --html \u003e output-file.html\n```\n\n## API\n\nThis package can also be installed locally and used as an API.\n\n```js\nconst { getIsosInfo, verifyWithAbgx360 } = require('@badisi/xbw');\n```\n\n---------------------------------------\n\n* [getIsosInfo](#getIsosInfo)\n* [verifyWithAbgx360](#verifyWithAbgx360)\n\n---------------------------------------\n\n\u003ca name=\"getIsosInfo\"\u003e\u003c/a\u003e\n\n### getIsosInfo(isoPaths: string[]): IsoInfo[]\n\nExtract information from backup iso files\n\n__Arguments__\n\n* `isoPaths` - An array of absolute paths to iso files.\n\n__Return__\n\nAn array of `IsoInfo` objects that have the following properties:\n\n* `file: string` - A string representing the path to the iso backup.\n* `titleId: string` - A string representing the title id.\n* `mediaId: string` - A string representing the media id.\n* `discCount: number` - An integer representing the number of disc.\n* `discNumber: number` - An integer representing the disc number.\n* `regions: Region[]` - An array representing the regions.\n* `isValid: boolean` - A boolean representing whether the file is a valid iso backup or not.\n\n__Example__\n\n```js\nconst { getIsosInfo } = require('@badisi/xbw');\n\nconst isosInfo = getIsosInfo([\n    '/Users/User/backups/Game.iso',\n    '/test.iso'\n]);\n\nconsole.log(isosInfo);\n// =\u003e [{\n//        file: '/Users/User/backups/Game.iso',\n//        titleId: '12345678',\n//        mediaId: 'A1B2C3D4',\n//        discCount: 2,\n//        discNumber: 1,\n//        regions: [\n//           'PAL'\n//           'NTSC_U'\n//        ],\n//        isValid: true\n//    }, {\n//        file: '/test.iso',\n//        isValid: false\n//    }]\n```\n\n---------------------------------------\n\n\u003ca name=\"verifyWithAbgx360\"\u003e\u003c/a\u003e\n\n### verifyWithAbgx360(isoPaths: string[], options?: AbgxOptions, onProgress?: (progress: string) =\u003e void): Promise\u003cAbgxFile[]\u003e\n\nVerify backup iso files integrity against abgx360\n\n__Arguments__\n\n* `isoPaths` - An array of absolute paths to iso files.\n* `options` - *(Optional)* An object of abgx360 options.\n* `onProgress` - *(Optional)* A callback which is called for every processed output.\n\n__Return__\n\nAn array of `AbgxFile` objects that have the following properties:\n\n* `file: string` - A string representing the path to the iso backup.\n* `status: AbgxStatus` - Possible values are: VERIFIED = 0, ERROR = -1, DATA_ERROR = -2 and STEALTH_ERROR = -3.\n\n__Example__\n\n```js\nconst { verifyWithAbgx360 } = require('@badisi/xbw');\n\nconst files = [\n    '/Users/User/backups/Game.iso',\n    '/test.iso'\n];\n\nconst abgxOptions = {\n    corrupt: true,\n    af3: true,\n    patchgarbage: true,\n    patchitanyway: true,\n    html: true\n};\n\nverifiedWithAbgx360(files, options, console.log)\n    .then(results =\u003e console.log(results))\n    .catch(error =\u003e console.error(error));\n// =\u003e [{\n//        file: '/Users/User/backups/Game.iso',\n//        status: 0\n//    }, {\n//        file: '/test.iso',\n//        status: -1\n//    }]\n```\n\nCredit\n------\n\n* [Seacrest](http://abgx360.xecuter.com/)\n\n\nLicense\n-------\n\nCopyright © 2013 [Badisi](https://github.com/Badisi)\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to use, copy, publish and/or distribute the Software,\nbut with restriction including the rights to modify, merge, sublicense\nand/or sell copies of the Software, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadisi%2Fxbw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbadisi%2Fxbw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadisi%2Fxbw/lists"}