{"id":22034281,"url":"https://github.com/relative/synchrony","last_synced_at":"2025-05-15T04:00:17.326Z","repository":{"id":39093645,"uuid":"325090893","full_name":"relative/synchrony","owner":"relative","description":"javascript-obfuscator cleaner \u0026 deobfuscator","archived":false,"fork":false,"pushed_at":"2023-12-27T11:02:50.000Z","size":713,"stargazers_count":1001,"open_issues_count":40,"forks_count":130,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-11T03:33:33.556Z","etag":null,"topics":["demangle","deobfuscator","javascript","javascript-deobfuscator","javascript-obfuscator","unmangle"],"latest_commit_sha":null,"homepage":"https://deobfuscate.relative.im/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/relative.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2020-12-28T18:48:47.000Z","updated_at":"2025-05-09T17:36:35.000Z","dependencies_parsed_at":"2023-12-18T23:20:24.804Z","dependency_job_id":"f18f7ac3-d862-4fed-b382-6c6daa452d14","html_url":"https://github.com/relative/synchrony","commit_stats":{"total_commits":123,"total_committers":4,"mean_commits":30.75,"dds":"0.16260162601626016","last_synced_commit":"4a470f5fc0c3478e4e7ff174c6bdbac1c26e7422"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relative%2Fsynchrony","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relative%2Fsynchrony/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relative%2Fsynchrony/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relative%2Fsynchrony/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/relative","download_url":"https://codeload.github.com/relative/synchrony/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514643,"owners_count":21920339,"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":["demangle","deobfuscator","javascript","javascript-deobfuscator","javascript-obfuscator","unmangle"],"created_at":"2024-11-30T09:07:46.163Z","updated_at":"2025-05-15T04:00:17.257Z","avatar_url":"https://github.com/relative.png","language":"TypeScript","readme":"# synchrony\n\n![rip javascript-obfuscator](/.github/hm.png)\n\njavascript cleaner \u0026 deobfuscator (primarily [javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator)/[obfuscator.io](https://obfuscator.io))\n\nAPI reference is available at \u003chttps://relative.github.io/synchrony\u003e\n\n## Usage note\n\nArtifacts produced by old versions of javascript-obfuscator will likely not deobfuscate correctly, please **DO NOT** open an issue. Try previous versions of synchrony or another deobfuscator.\n\nThere is no user configuration as of yet, the string decoder works automatically\n\n## Usage\n\nUse the latest version at \u003chttps://deobfuscate.relative.im\u003e or install from NPM\n\n```shell\n# 1. Install deobfuscator globally using yarn/npm\nnpm install --global deobfuscator # alternatively, yarn global add deobfuscator, pnpm install --global deobfuscator\n\n# 1.1. Or Install from Git\n# npm install --global relative/synchrony#master # alternatively, yarn global add relative/synchrony#master, pnpm install --global relative/synchrony#master\n\n# 2. Get an obfuscated file\ncurl https://gist.github.com/relative/79e392bced4b9bed8fd076f834e06dee/raw/obfuscated.js -o ./obfuscated.js\n\n# 3. Run deobfuscator\nsynchrony deobfuscate ./obfuscated.js\n\n# 4. Check the reuslts of your debofuscation at script.cleaned.js\ncat ./obfuscated.cleaned.js\n```\n\n## Transformer errors\n\nTransformer errors will show errors in your terminal output like\n\n```\nCaught an error while attempting to run AST visitor!\nnode = Node {...}\nerr = ...\n```\n\nCopy the entire terminal output (or redirect it to a file). Then open a new issue with the terminal output and the\nobfuscated file and any config you may have used.\n\n**Please do not include screenshots or partial output from the deobfuscator.**\n\nIf you can reproduce the error with a smaller input file and a javascript-obfuscator config, please provide them in your issue.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelative%2Fsynchrony","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelative%2Fsynchrony","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelative%2Fsynchrony/lists"}