{"id":18721434,"url":"https://github.com/pagoru/express-middleware-obfuscator","last_synced_at":"2025-04-12T14:30:22.569Z","repository":{"id":85965586,"uuid":"96626916","full_name":"pagoru/express-middleware-obfuscator","owner":"pagoru","description":"Express middleware plugin for obfuscation purposes. ","archived":false,"fork":false,"pushed_at":"2017-07-09T14:32:00.000Z","size":13,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-26T09:02:42.119Z","etag":null,"topics":["express","express-js","express-middleware","expressjs","javascript","middleware","node","node-js","node-module","nodejs","obfuscator"],"latest_commit_sha":null,"homepage":"https://github.com/pagoru/express-middleware-obfuscator","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pagoru.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":"2017-07-08T15:21:24.000Z","updated_at":"2023-07-08T03:11:11.000Z","dependencies_parsed_at":"2023-05-29T09:00:29.543Z","dependency_job_id":null,"html_url":"https://github.com/pagoru/express-middleware-obfuscator","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"e2103962093bde4c2ff6e0f479835d19aa6f454f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pagoru%2Fexpress-middleware-obfuscator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pagoru%2Fexpress-middleware-obfuscator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pagoru%2Fexpress-middleware-obfuscator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pagoru%2Fexpress-middleware-obfuscator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pagoru","download_url":"https://codeload.github.com/pagoru/express-middleware-obfuscator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248270137,"owners_count":21075790,"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":["express","express-js","express-middleware","expressjs","javascript","middleware","node","node-js","node-module","nodejs","obfuscator"],"created_at":"2024-11-07T13:34:34.702Z","updated_at":"2025-04-12T14:30:22.555Z","avatar_url":"https://github.com/pagoru.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Express middleware plugin for obfuscation purposes.\n\n[![npm version](https://badge.fury.io/js/express-middleware-obfuscator.svg)](https://www.npmjs.com/package/express-middleware-obfuscator) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Installation\n\n```sh\nnpm i -S express-middleware-obfuscator\n```\n\n## Usage\n\n```js\nconst express = require('express');\nconst app = express();\n\nconst express_middleware_obfuscator = require(\"express-middleware-obfuscator\");\n\napp.use(express_middleware_obfuscator({\n    src: `${__dirname}/public`,\n    version: 'alpha'\n}));\n\napp.listen(80);\n```\n\n### Example of obfuscation\n\n#### Not obfuscated\n```js\nconst helloMessage = (name = \"undefined\") =\u003e {\n    console.log(\"Hello \" + name)\n};\n\nconst house = {\n    name: \"Casa topo\",\n\n    rooms: 3,\n    bathrooms: 2,\n    meters: 54,\n    wooden_planks_floor: true,\n    sell: () =\u003e {\n        setInterval(() =\u003e {\n            console.error(`${house.name} is now sold.`)\n        }, 3000);\n    },\n    hi: () =\u003e {\n        helloMessage(house.name);\n    }\n};\n\nhouse.sell();\n```\n\n#### Obfuscated\n```js\nvar _0x9f4d=['\\x6c\\x65\\x6e\\x67\\x74\\x68','\\x63\\x6f\\x6e\\x73\\x74\\x72\\x75\\x63\\x74\\x6f\\x72','\\x64\\x65\\x62\\x75\\x67\\x67\\x65\\x72','\\x61\\x70\\x70\\x6c\\x79','\\x72\\x65\\x74\\x75\\x72\\x6e\\x20\\x28\\x66\\x75\\x6e\\x63\\x74\\x69\\x6f\\x6e\\x28\\x29\\x20','\\x7b\\x7d\\x2e\\x63\\x6f\\x6e\\x73\\x74\\x72\\x75\\x63\\x74\\x6f\\x72\\x28\\x22\\x72\\x65\\x74\\x75\\x72\\x6e\\x20\\x74\\x68\\x69\\x73\\x22\\x29\\x28\\x20\\x29','\\x63\\x6f\\x6e\\x73\\x6f\\x6c\\x65','\\x6c\\x6f\\x67','\\x77\\x61\\x72\\x6e','\\x65\\x72\\x72\\x6f\\x72','\\x65\\x78\\x63\\x65\\x70\\x74\\x69\\x6f\\x6e','\\x74\\x72\\x61\\x63\\x65','\\x64\\x65\\x62\\x75\\x67'];(function(_0xd5e86c,_0x132b86){var _0x46e64e=function(_0x17e481){while(--_0x17e481){_0xd5e86c['\\x70\\x75\\x73\\x68'](_0xd5e86c['\\x73\\x68\\x69\\x66\\x74']());}};_0x46e64e(++_0x132b86);}(_0x9f4d,0x9f));var _0xd9f4=function(_0x15d794,_0x48e87b){_0x15d794=_0x15d794-0x0;var _0x4f5e9a=_0x9f4d[_0x15d794];return _0x4f5e9a;};var _0x3dd775=function(){var _0x33ab0e=!![];return function(_0x1ffa62,_0x5722de){var _0x11b3dc=_0x33ab0e?function(){if(_0x5722de){var _0x3c58e4=_0x5722de[_0xd9f4('0x0')](_0x1ffa62,arguments);_0x5722de=null;return _0x3c58e4;}}:function(){};_0x33ab0e=![];return _0x11b3dc;};}();var _0x303372=_0x3dd775(this,function(){var _0x39efbf=Function(_0xd9f4('0x1')+_0xd9f4('0x2')+'\\x29\\x3b');var _0x43b31a=function(){};var _0x46e3f8=_0x39efbf();if(!_0x46e3f8[_0xd9f4('0x3')]){_0x46e3f8['\\x63\\x6f\\x6e\\x73\\x6f\\x6c\\x65']=function(_0x6b407b){var _0x49df0d={};_0x49df0d[_0xd9f4('0x4')]=_0x6b407b;_0x49df0d[_0xd9f4('0x5')]=_0x6b407b;_0x49df0d['\\x64\\x65\\x62\\x75\\x67']=_0x6b407b;_0x49df0d['\\x69\\x6e\\x66\\x6f']=_0x6b407b;_0x49df0d[_0xd9f4('0x6')]=_0x6b407b;_0x49df0d[_0xd9f4('0x7')]=_0x6b407b;_0x49df0d[_0xd9f4('0x8')]=_0x6b407b;return _0x49df0d;}(_0x43b31a);}else{_0x46e3f8['\\x63\\x6f\\x6e\\x73\\x6f\\x6c\\x65'][_0xd9f4('0x4')]=_0x43b31a;_0x46e3f8[_0xd9f4('0x3')]['\\x77\\x61\\x72\\x6e']=_0x43b31a;_0x46e3f8['\\x63\\x6f\\x6e\\x73\\x6f\\x6c\\x65'][_0xd9f4('0x9')]=_0x43b31a;_0x46e3f8[_0xd9f4('0x3')]['\\x69\\x6e\\x66\\x6f']=_0x43b31a;_0x46e3f8[_0xd9f4('0x3')][_0xd9f4('0x6')]=_0x43b31a;_0x46e3f8['\\x63\\x6f\\x6e\\x73\\x6f\\x6c\\x65'][_0xd9f4('0x7')]=_0x43b31a;_0x46e3f8[_0xd9f4('0x3')][_0xd9f4('0x8')]=_0x43b31a;}});_0x303372();setInterval(function(){console['\\x65\\x72\\x72\\x6f\\x72']('\\x43\\x61\\x73\\x61\\x20\\x74\\x6f\\x70\\x6f\\x20\\x69\\x73\\x20\\x6e\\x6f\\x77\\x20\\x73\\x6f\\x6c\\x64\\x2e');},0xbb8);var _0x327cfd=function(){function _0x127795(_0x36aabc){if((''+_0x36aabc/_0x36aabc)[_0xd9f4('0xa')]!==0x1||_0x36aabc%0x14===0x0){(function(){}[_0xd9f4('0xb')](_0xd9f4('0xc'))());}else{(function(){}[_0xd9f4('0xb')](_0xd9f4('0xc'))());}_0x127795(++_0x36aabc);}try{_0x127795(0x0);}catch(_0x10d436){}};_0x327cfd();\n```\n\n## Options\n\n| name | option | description | default |\n|---|---|---|---|\n| src | **string** | public javascript path | - |\n| version | **string** | name of the cache version | Date.now() |\n| console_enabled | **boolean** | if console log is enabled | true |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpagoru%2Fexpress-middleware-obfuscator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpagoru%2Fexpress-middleware-obfuscator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpagoru%2Fexpress-middleware-obfuscator/lists"}