syscon 0.8

System remote control via local network

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in syscon 0.8:

  • added GUI
  • bugfix of major security breach (!)
Read full changelog
send us
an update
GPL (GNU General Public License) 
5.0/5 4
ROOT \ System \ Networking
syscon is a Python module 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 ( For key exchange, I implemented the Diffie-Hellman-Merkle algorithm.

Important Note: If your country doesn't allow strong cryptography (like the USA etc.), you might not be allowed to use this tool with cryptography there. Then you should use version 0.3.1 without encryption of all the data which is sent.



On the client, you just have to start the

If you want to have a "silent" remote control, you should rename the 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]])

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


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 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 version 0.3.0:

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.

Last updated on August 2nd, 2011


#remote control #local network #computer control #network #remote #control #server

Add your review!