A pure Python 3 package containing hooks for running remote python consoles to interact with running scripts in real time.
Project description
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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file PyRemoteConsole-0.0.2.tar.gz
.
File metadata
- Download URL: PyRemoteConsole-0.0.2.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c1331ec9a80013ea1b5a989b159df612a743cd365cdec21d10d295e8d5302da |
|
MD5 | 29d1e2281454d670287cc89f67137ea7 |
|
BLAKE2b-256 | 40f9d765d8f6d3fd84b87469df492296eff8174a546b38c7f6b1a56e12d30345 |
File details
Details for the file PyRemoteConsole-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: PyRemoteConsole-0.0.2-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0251d4b5ce7185f6a0c5f29f7765f1f2ee8da585547c22145b2d751e118f9267 |
|
MD5 | 7eafa174a3afa568a20fc44802c3fe6a |
|
BLAKE2b-256 | 6720639e5d8bbab7da31662f145a530e1b6eb0bcb26e52c697470514645a6e8e |