{ "info": { "author": "tintinweb", "author_email": "tintinweb@oststrom.com", "bugtrack_url": null, "classifiers": [], "description": "# \ud83d\udc89 electron-inject\n\nYou find yourself locked out of closed source electron applications with no easy way to enable developer tools? \u21b7 *electron-inject* is here to help \ud83d\udc72\n\n\n*electron-inject* is an application wrapper that utilizes the remote debug console to inject javascript code into electron based applications. For example, this can be pretty handy to enable otherwise unavailable features like the built-in developer console.\n\n![slack](https://cloud.githubusercontent.com/assets/2865694/24376228/70b2c2b0-133b-11e7-893c-c7a0ad262343.gif)\n\n\n# install\n\n $ pip install electron-inject\n \nor \n\n $ python setup.py install\n \n# usage\n\n $ python -m electron_inject --help\n Usage:\n usage:\n electron_inject [options] - \n\n example:\n electron_inject --enable-devtools-hotkeys - /path/to/electron/powered/application [--app-params app-args]\n\n\n Options:\n -h, --help show this help message and exit\n -d, --enable-devtools-hotkeys\n Enable Hotkeys F12 (Toggle Developer Tools) and F5\n (Refresh) [default: False]\n -b, --browser Launch Devtools in default browser. [default: False]\n -t TIMEOUT, --timeout=TIMEOUT\n Try hard to inject for the time specified [default:\n none]\n -r RENDER_SCRIPTS, --render-script=RENDER_SCRIPTS\n Add a script to be injected into each window (render\n thread)\n\n# Showcase\n\nInject hotkeys *F12:toggle devconsole* and *F5:reload* into closed source apps with devconsole disabled.\n\n`--enable-devtools-hotkeys` .. enable developer hotkeys\n`--timeout=xx` .. patch all known remote webContent/windows in a timeframe of `xx` seconds. set this to an arbitrary high value to make sure we're patching all future windows.\n\n## whatsapp\n\n`$ python -m electron_inject -d -t 60 - \\\\PATH\\TO\\Local\\WhatsApp\\app-0.2.2244\\WhatsApp.exe`\n\n![whatsapp gif](https://cloud.githubusercontent.com/assets/2865694/24376256/81d44e88-133b-11e7-961f-060e7b8201ed.gif)\n\nIf this gives you an error try launching it with the alternative browser method:\n\n`$ python -m electron_inject --browser - \\PATH\\TO\\Local\\WhatsApp\\app-0.2.2244\\WhatsApp.exe`\n\n## slack\n\n`$ python -m electron_inject -d -t 60 - \\\\PATH\\TO\\Local\\slack\\app-2.5.2\\slack.exe`\n\n![slack](https://cloud.githubusercontent.com/assets/2865694/24376228/70b2c2b0-133b-11e7-893c-c7a0ad262343.gif)\n\n# Render Scripts\n\nPassing the -r file parameter allows to pass a list of scripts to be injected into the render thread. It does not follow imports, just evaluate the text\n\n`python -m electron_inject -r ./test.js -r ~/test2.js -r /usr/bin/test3.js - /opt/electron-api-demos/Electron\\ API\\ Demos`\n\n# Acknowledgments\n\n- [NathanPB](https://github.com/NathanPB) - #7", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/tintinweb/electron-inject/tarball/v0.6", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tintinweb/electron-inject/", "keywords": "electron,inject,devtools,developer tools", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "electron-inject", "package_url": "https://pypi.org/project/electron-inject/", "platform": "", "project_url": "https://pypi.org/project/electron-inject/", "project_urls": { "Download": "https://github.com/tintinweb/electron-inject/tarball/v0.6", "Homepage": "https://github.com/tintinweb/electron-inject/" }, "release_url": "https://pypi.org/project/electron-inject/0.7/", "requires_dist": null, "requires_python": "", "summary": "An electron application wrapper that utilizes the remote debug console to inject code into electron applications to enable developer tools", "version": "0.7", "yanked": false, "yanked_reason": null }, "last_serial": 12113706, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "fc1c3a67bca08b94663044b5259c4403", "sha256": "8462c7addc2bd7301902b8c4d80cb8c7d89b3a56c68d5838732f38c1af8423e5" }, "downloads": -1, "filename": "electron-inject-0.1.tar.gz", "has_sig": false, "md5_digest": "fc1c3a67bca08b94663044b5259c4403", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3285, "upload_time": "2017-03-27T19:54:04", "upload_time_iso_8601": "2017-03-27T19:54:04.694669Z", "url": "https://files.pythonhosted.org/packages/be/13/c042eee437ec4a8dd64fbf963aaba3e924225db4e0ea0692bdee41fbea51/electron-inject-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2": [ { "comment_text": "", "digests": { "md5": "2f51340549739cb39cecc83226f2024d", "sha256": "0e0819ee5e8c229a9f017d0c61b59084420351ca0c054a9f1e8282bb6da491c3" }, "downloads": -1, "filename": "electron-inject-0.2.tar.gz", "has_sig": false, "md5_digest": "2f51340549739cb39cecc83226f2024d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4072, "upload_time": "2017-03-27T20:35:43", "upload_time_iso_8601": "2017-03-27T20:35:43.716526Z", "url": "https://files.pythonhosted.org/packages/31/ee/e0577fcea75f9c3ed8afeb0b41c1aa72ef1e01c6a0cd58381180b46916db/electron-inject-0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4": [ { "comment_text": "", "digests": { "md5": "55cd5ca134ff734bd2190a2b49f08f24", "sha256": "7844942f1961ef37abff2327e3c47b26fb49997ab6633883ac1bf076f83f885c" }, "downloads": -1, "filename": "electron_inject-0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "55cd5ca134ff734bd2190a2b49f08f24", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5318, "upload_time": "2019-07-06T20:57:16", "upload_time_iso_8601": "2019-07-06T20:57:16.963505Z", "url": "https://files.pythonhosted.org/packages/bb/56/f796975913520f08987fdf839223871cd55fef962e10a7d74d68bf165077/electron_inject-0.4-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8a1ec18471c08649d19898af8453f758", "sha256": "021ed90bd8f8301f98b40c6c6cad12be47e099aca40d1fdd4130f702654e84f1" }, "downloads": -1, "filename": "electron_inject-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8a1ec18471c08649d19898af8453f758", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5317, "upload_time": "2019-07-06T20:57:18", "upload_time_iso_8601": "2019-07-06T20:57:18.365775Z", "url": "https://files.pythonhosted.org/packages/b8/5b/8374b4824bbdc0d894759dffebd26d9e0f6ea772cdaf31b757b4c5123eba/electron_inject-0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.5": [ { "comment_text": "", "digests": { "md5": "9156f31f0ab993422f30faa4c07f3354", "sha256": "dba9cb29440a641d268751a49a0c202573482d685c91e5f037f1f8c6a0271c12" }, "downloads": -1, "filename": "electron_inject-0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "9156f31f0ab993422f30faa4c07f3354", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5344, "upload_time": "2019-10-25T13:34:38", "upload_time_iso_8601": "2019-10-25T13:34:38.078919Z", "url": "https://files.pythonhosted.org/packages/63/85/7a274f7ebf1a791e0631f2a605665a0f5c78d810ae5cce1f123b2ecaf354/electron_inject-0.5-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e2399ffedbfa08c097886d7aaed4e2bf", "sha256": "731f8e6b4c023c71b6ceb7a943da570e6e4750abbb1953c67c0e687bb74e11f5" }, "downloads": -1, "filename": "electron-inject-0.5.tar.gz", "has_sig": false, "md5_digest": "e2399ffedbfa08c097886d7aaed4e2bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4637, "upload_time": "2019-10-25T13:34:39", "upload_time_iso_8601": "2019-10-25T13:34:39.533629Z", "url": "https://files.pythonhosted.org/packages/49/cb/2747422d7ceaa0b10555e41e79d3e4c0e812129a5c3668cc71da1e8f2e19/electron-inject-0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6": [ { "comment_text": "", "digests": { "md5": "d1a116cc25de75ce30e978ca87940e62", "sha256": "6f7c045b828c468d1dd084be07b01fba7ab9c471881a51d8793cc8b67aafc981" }, "downloads": -1, "filename": "electron_inject-0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "d1a116cc25de75ce30e978ca87940e62", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5725, "upload_time": "2020-10-21T12:57:43", "upload_time_iso_8601": "2020-10-21T12:57:43.868560Z", "url": "https://files.pythonhosted.org/packages/fe/53/c43873d53113d9e5f5e9d40f797d4872c4da174bb3dd2921e1c5f1eaa659/electron_inject-0.6-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "94fc055bde08d9c72baef69aa4d3493b", "sha256": "426aee2e3c53847c08e8342dde8a681c4c540f6ed0ca89629ba48b70c758fc67" }, "downloads": -1, "filename": "electron_inject-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "94fc055bde08d9c72baef69aa4d3493b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5726, "upload_time": "2020-10-21T12:57:45", "upload_time_iso_8601": "2020-10-21T12:57:45.330778Z", "url": "https://files.pythonhosted.org/packages/0d/46/931e35b85973c75034849cc7ccc7a3e5639fa54b114141c498ef1144c3db/electron_inject-0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1945d9bc1e8532b94057b6820b97ee20", "sha256": "5a5c3a44c9af8e1024a3bd8b3239370c572b6210610b885a7fb8d03683f04a7f" }, "downloads": -1, "filename": "electron-inject-0.6.tar.gz", "has_sig": false, "md5_digest": "1945d9bc1e8532b94057b6820b97ee20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5056, "upload_time": "2020-10-21T12:57:46", "upload_time_iso_8601": "2020-10-21T12:57:46.690784Z", "url": "https://files.pythonhosted.org/packages/92/42/417ce8a131a6a36040dd61b74010ce2a0fc9fb486db19bf756c0d760bc73/electron-inject-0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7": [ { "comment_text": "", "digests": { "md5": "145a5b1c79f5fb928eadbb1ff77a5671", "sha256": "026eeeb39738020cc8d0de5ed2198dd5763ed7367e9346d626530b6893cc6678" }, "downloads": -1, "filename": "electron-inject-0.7.tar.gz", "has_sig": false, "md5_digest": "145a5b1c79f5fb928eadbb1ff77a5671", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5367, "upload_time": "2021-11-24T14:55:51", "upload_time_iso_8601": "2021-11-24T14:55:51.625993Z", "url": "https://files.pythonhosted.org/packages/f6/7a/5a2ee4995f46fed7da03e8f8dcb4369049413c1e4a846263d05ee92f8aa6/electron-inject-0.7.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "145a5b1c79f5fb928eadbb1ff77a5671", "sha256": "026eeeb39738020cc8d0de5ed2198dd5763ed7367e9346d626530b6893cc6678" }, "downloads": -1, "filename": "electron-inject-0.7.tar.gz", "has_sig": false, "md5_digest": "145a5b1c79f5fb928eadbb1ff77a5671", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5367, "upload_time": "2021-11-24T14:55:51", "upload_time_iso_8601": "2021-11-24T14:55:51.625993Z", "url": "https://files.pythonhosted.org/packages/f6/7a/5a2ee4995f46fed7da03e8f8dcb4369049413c1e4a846263d05ee92f8aa6/electron-inject-0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }