PyRemoteConsole
PyRemoteConsole contains hooks for connecting to running python scripts remotely. It contains a pure-python "encryption" scheme that is used to obfuscate communication between the client and the server.
Install
pip install PyRemoteConsole
Setup & Usage
The key file that comes with PyRemoteConsole will work
but you should generate a new key by running the
obfuscation.py file. You should see the following
text:
Generating key...
Key generated.
Validating key for prosperity...
Key is valid. Encryptor working successfully!
A key should never fail, but it's validated anyway.
Even repeating words and patterns will generate unique cipher-text:
hello hello hello hello hello hello hello hello
̬ĮʀÀ
(ŬNJɢʷMfDZċǚϺ-éȼ˭̕ȿïɐDžƹ{əʺʙΦΑțϾɚɛ͜ǙʡƽǛť
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ΧϬʸΟϫ«͚ǣϱȐ˩ȍ3͜p̚ĺ̒bĘʇɅ͋Ƚďɏ͛ʬƥƏƼʌˢ͊ǝͅ#ȇƄƩŨ϶Ǖ³¾
Anything sent and received while using the built-in encryption should be considered un-readable, but not necessarily secure.
Client & Server
If you have script_A.py and want to be able to connect
to it while it's running you need to include code from
the client.py file.
from PyRemoteConsole.client import Client, run_command_client
run_command_client should be launched in an additional
thread.
from threading import Thread
from time import sleep
host = '10.0.0.2'
port = 12347
includes = {'a': 'Some object'}
t = Thread(target=run_command_client, args=[host, port], kwargs={'includes': includes})
t.start()
use the includes kwarg to pass whatever objects you want to
have access to remotely. i.e. includes = {'some_obj': 'obj_val'}
Client tracks events that happen in the run_command_client
thread and also allows you to shut down the run_command_client
loop safely.
Client.restart = True
Client.shutdown = True
while Client.alive:
sleep(0.05)
t.join()
To connect to the script running the run_command_client thread
you need to import run_server from the server.py file.
from PyRemoteConsole.server import run_server
host = 10.0.0.2
port = 12347
run_server(host, port)
Metadata
Release files for PyRemoteConsole 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| PyRemoteConsole-0.0.2.tar.gz | 13.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| PyRemoteConsole-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.0 kB
Release files / PyRemoteConsole-0.0.2.tar.gz
| Download URL | PyRemoteConsole-0.0.2.tar.gz |
|---|---|
| Size | 13.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c1331ec9a80013ea1b5a989b159df612a743cd365cdec21d10d295e8d5302da
|
|
BLAKE2b-256 checksum How to use checksums |
40f9d765d8f6d3fd84b87469df492296eff8174a546b38c7f6b1a56e12d30345
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2
|
Release files / PyRemoteConsole-0.0.2-py3-none-any.whl
| Download URL | PyRemoteConsole-0.0.2-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0251d4b5ce7185f6a0c5f29f7765f1f2ee8da585547c22145b2d751e118f9267
|
|
BLAKE2b-256 checksum How to use checksums |
6720639e5d8bbab7da31662f145a530e1b6eb0bcb26e52c697470514645a6e8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2
|
Security for PyRemoteConsole 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.