Skip to main content

System remote control via local network

Project description

syscon is a python package providing remote control tools for other computers in the network. At the moment, syscon is still a beta version, since I hope to be able to add some new functions.

It uses the Advanced Encryption Standard (AES) to encrypt the data traffic. In order to do this, I have integrated the Python AES code of Josh Davis (http://www.josh-davis.org/pythonAES). For key exchange, I implemented the Diffie-Hellman-Merkle algorithm.

Important Note: If your country doesn’t allow strong cryptography, you might not be allowed to use this tool with cryptography there. Then you should use syscon-nc without encryption of all the data which is sent.

Syntax

Client

On the client, you just have to start the client.py

If you want to have a “silent” remote control, you should rename the client.py to client.pyw

controlling Computer

On the controlling computer, usage is as follows:

import syscon.control

con = syscon.control.Connection("XYZ")
# This defines con as a connection with the Computer in the network which
# has the name XYZ over port 51000. If you want to use another port, use
# the second parameter, e.g. for port 9999:
# con = syscon.control.Connection("XYZ", 9999)
# In case you do this, you must start the client.pyw
# on the remote machine with the port number as parameter

# Now send orders with con.send (next section)
# Usage of con.send: con.send(command[, second_param[, third_param]])

con.close()
# This immediately stops the connection and closes the client.py or client.pyw
# on the other computer. You could also use con.send("stopcontrol")

Screenshots

Also, there is a function to make screenshots of the monitor of the remote computer. The Python Imaging Library (PIL) is needed to be installed on the client computer. syscon uses version 1.1.7 of this package. It is available to download here. You have to start the pyscreen.py on the controlling computer. You will be asked which port you want to use (56000 is recommended) and where to save the screenshots.

If you use port 56000, you just need to call the screenshot function of the connection object to make a screenshot. Otherwise, you need to use the following code:

...
# con is the connection object
con.send("screenshot", "54321")

where the second parameter (note it’s a string) specifies the port number.

Orders to remote computer

There are the following orders in this version:

  1. execpy: This command needs a second parameter. The code from the second parameter is executed with “exec” on the remote machine.

  2. executefile: Starts the program specified in the second parameter.

  3. download: Downloads the file from the url in the third parameter to the local path (on the remote computer) in the second parameter.

  4. shutdown: Sends a shutdown signal to the remote computer (note: works only with Windows NT to Windows 7)

  5. logoff: Sends a logoff signal to the remote computer (note: works also only with Windows NT to Windows 7)

  6. stopcontrol: Stops the remote control immediately. Same as con.close()

  7. screenshot: Makes a screenshot of the remote machine monitor. Usage: see above.

  8. returnvalue: Returns the return value of the expression in the second parameter

If you have found any bugs, please write an e-mail or report the bug on the Launchpad project page. I will try to work out a solution.

Changelog

0.4 - The connection (except from the screenshot function, where the data volume would be to big) is now encrypted with AES

0.3.1 - Bugfixes (Working on linux systems, Usage without PIL)

0.3.0 - Initial release

Note: The documentation below is only for the beta of the next version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

syscon-0.4.zip (21.5 kB view details)

Uploaded Source

syscon-0.4.tar.gz (13.4 kB view details)

Uploaded Source

File details

Details for the file syscon-0.4.zip.

File metadata

  • Download URL: syscon-0.4.zip
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for syscon-0.4.zip
Algorithm Hash digest
SHA256 2129be89fd40c3cebe2be1fbba9e48ed18860c93b817b8ed6fe90e1048860685
MD5 17ac99ba77e67b89fa6d8240cbe80432
BLAKE2b-256 b48dc5728d93c9547a683bd71d9c165a8da0365ba609c89be97acaee723ff465

See more details on using hashes here.

File details

Details for the file syscon-0.4.tar.gz.

File metadata

  • Download URL: syscon-0.4.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for syscon-0.4.tar.gz
Algorithm Hash digest
SHA256 bd12cc67b439e202e0cae6cc192a0a0c8a4e9ebe328c05b01baf22286f332515
MD5 2842bb38f6c297f71d129d5994c7c8d4
BLAKE2b-256 7858ade5b19a18c4294b2398a1bb113591e74662a1a21e915e2264978633c9ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page