{ "info": { "author": "py-am-i", "author_email": "duckpuncherirl@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyRemoteConsole\n\nPyRemoteConsole contains hooks for connecting to running\npython scripts remotely. It contains a pure-python \n\"encryption\" scheme that is used to *obfuscate* \ncommunication between the client and the server.\n\n### Install\n\n pip install PyRemoteConsole\n\n\n### Setup & Usage\n\nThe key file that comes with PyRemoteConsole will work\nbut you should generate a new key by running the \n`obfuscation.py` file. You should see the following \ntext:\n\n Generating key...\n Key generated.\n Validating key for prosperity...\n Key is valid. Encryptor working successfully!\n\nA key should never fail, but it's validated anyway.\n\nEven repeating words and patterns will generate unique\ncipher-text:\n\n hello hello hello hello hello hello hello hello\n \u032c\u012e\u0280\u00c0\n (\u016c\u01ca\u0096\u0262\u02b7Mf\u01f1\u010b\u01da\u03fa-\u00e9\u023c\u02ed\u0315\u023f\u0090\u00ef\u0250\u01c5\u01b9{\u0259\u02ba\u0011\u0299\u0003\u03a6\u0391\u021b\u03fe\u025a\u025b\u035c\u01d9\u02a1\u01bd\u01db\u0165\n\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n \u03a7\u03ec\u02b8\u039f\u03eb\u00ab\u0099\u035a\u01e3\u03f1\u0210\u02e9\u020d\u00023\u035cp\u031a\u013a\u0312b\u0118\u0287\u0245\u034b\u023d\u010f\u024f\u035b\u02ac\u01a5\u018f\u01bc\u028c\u02e2\u034a\u01dd\u0345#\u0207\u0184\u01a9\u0168\u03f6\u01d5\u00b3\u00be\n\nAnything sent and received while using the built-in \nencryption should be considered un-readable, but not \nnecessarily secure.\n\n### Client & Server\n\nIf you have `script_A.py` and want to be able to connect\nto it while it's running you need to include code from\nthe `client.py` file.\n\n```python\nfrom PyRemoteConsole.client import Client, run_command_client\n```\n\n`run_command_client` should be launched in an additional\nthread.\n\n```python\nfrom threading import Thread\nfrom time import sleep\n\nhost = '10.0.0.2'\nport = 12347\nincludes = {'a': 'Some object'}\nt = Thread(target=run_command_client, args=[host, port], kwargs={'includes': includes})\nt.start()\n```\n\nuse the `includes` kwarg to pass whatever objects you want to\nhave access to remotely. i.e. `includes = {'some_obj': 'obj_val'}`\n\n`Client` tracks events that happen in the `run_command_client` \nthread and also allows you to shut down the `run_command_client`\nloop safely.\n\n```python\nClient.restart = True\nClient.shutdown = True\nwhile Client.alive:\n sleep(0.05)\nt.join()\n```\n\nTo connect to the script running the `run_command_client` thread\nyou need to import `run_server` from the `server.py` file.\n\n```python\nfrom PyRemoteConsole.server import run_server\n\nhost = 10.0.0.2\nport = 12347\nrun_server(host, port)\n```\n\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Wykleph/PyRemoteConsole", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "PyRemoteConsole", "package_url": "https://pypi.org/project/PyRemoteConsole/", "platform": "", "project_url": "https://pypi.org/project/PyRemoteConsole/", "project_urls": { "Homepage": "https://github.com/Wykleph/PyRemoteConsole" }, "release_url": "https://pypi.org/project/PyRemoteConsole/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "A pure Python 3 package containing hooks for running remote python consoles to interact with running scripts in real time.", "version": "0.0.2" }, "last_serial": 4326169, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "696b1a3a8d34f90e14a49453b3b7156f", "sha256": "ac7404abb3bcf4d503c0a9b4d9414a35619f5d4092fe318b542ffbfb43ab2417" }, "downloads": -1, "filename": "PyRemoteConsole-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "696b1a3a8d34f90e14a49453b3b7156f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15889, "upload_time": "2018-09-30T22:27:08", "url": "https://files.pythonhosted.org/packages/79/33/7dc75939ccce48b0e8ea4fcf15eb0df84d1ad9e7e9c9df149c9f18839e38/PyRemoteConsole-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8676f2192eccf33ab7d17988d9233a68", "sha256": "819d2ce1d2cdcf5fedf68dd218026f80a8cb4e36bc79d5295c8c47fdce35a6ba" }, "downloads": -1, "filename": "PyRemoteConsole-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8676f2192eccf33ab7d17988d9233a68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12993, "upload_time": "2018-09-30T22:27:09", "url": "https://files.pythonhosted.org/packages/ba/50/713be711edb3eb2d3b88ad7123fab3e06b91562c6fb7ef5d870962f04ea3/PyRemoteConsole-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "7eafa174a3afa568a20fc44802c3fe6a", "sha256": "0251d4b5ce7185f6a0c5f29f7765f1f2ee8da585547c22145b2d751e118f9267" }, "downloads": -1, "filename": "PyRemoteConsole-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7eafa174a3afa568a20fc44802c3fe6a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15934, "upload_time": "2018-09-30T22:36:01", "url": "https://files.pythonhosted.org/packages/67/20/639e5d8bbab7da31662f145a530e1b6eb0bcb26e52c697470514645a6e8e/PyRemoteConsole-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29d1e2281454d670287cc89f67137ea7", "sha256": "8c1331ec9a80013ea1b5a989b159df612a743cd365cdec21d10d295e8d5302da" }, "downloads": -1, "filename": "PyRemoteConsole-0.0.2.tar.gz", "has_sig": false, "md5_digest": "29d1e2281454d670287cc89f67137ea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13085, "upload_time": "2018-09-30T22:36:03", "url": "https://files.pythonhosted.org/packages/40/f9/d765d8f6d3fd84b87469df492296eff8174a546b38c7f6b1a56e12d30345/PyRemoteConsole-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7eafa174a3afa568a20fc44802c3fe6a", "sha256": "0251d4b5ce7185f6a0c5f29f7765f1f2ee8da585547c22145b2d751e118f9267" }, "downloads": -1, "filename": "PyRemoteConsole-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7eafa174a3afa568a20fc44802c3fe6a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15934, "upload_time": "2018-09-30T22:36:01", "url": "https://files.pythonhosted.org/packages/67/20/639e5d8bbab7da31662f145a530e1b6eb0bcb26e52c697470514645a6e8e/PyRemoteConsole-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29d1e2281454d670287cc89f67137ea7", "sha256": "8c1331ec9a80013ea1b5a989b159df612a743cd365cdec21d10d295e8d5302da" }, "downloads": -1, "filename": "PyRemoteConsole-0.0.2.tar.gz", "has_sig": false, "md5_digest": "29d1e2281454d670287cc89f67137ea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13085, "upload_time": "2018-09-30T22:36:03", "url": "https://files.pythonhosted.org/packages/40/f9/d765d8f6d3fd84b87469df492296eff8174a546b38c7f6b1a56e12d30345/PyRemoteConsole-0.0.2.tar.gz" } ] }