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.
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:
execpy: This command needs a second parameter. The code from the second parameter is executed with “exec” on the remote machine.
executefile: Starts the program specified in the second parameter.
download: Downloads the file from the url in the third parameter to the local path (on the remote computer) in the second parameter.
shutdown: Sends a shutdown signal to the remote computer (note: works only with Windows NT to Windows 7)
logoff: Sends a logoff signal to the remote computer (note: works also only with Windows NT to Windows 7)
stopcontrol: Stops the remote control immediately. Same as con.close()
screenshot: Makes a screenshot of the remote machine monitor. Usage: see above.
returnvalue: Returns the return value of the expression in the second parameter
If you have found any bugs or have an idea to improve this tool, write an e-mail. This is a beta version, so please report any bugs you found. I will try to work out a solution.
Changelog
0.3.1 - Bugfixes (Working on linux systems, Usage without PIL)
0.3.0 - Initial release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.