30 lines
704 B
Python
30 lines
704 B
Python
|
import asyncio
|
||
|
import websockets
|
||
|
import subprocess
|
||
|
|
||
|
IP = 'localhost'
|
||
|
PORT = 40022
|
||
|
|
||
|
def run_command(cmd):
|
||
|
completedProcess = subprocess.run(cmd, shell=True)
|
||
|
|
||
|
if completedProcess.stdout:
|
||
|
print('Output:')
|
||
|
print(completedProcess.stdout)
|
||
|
|
||
|
if completedProcess.stderr:
|
||
|
print('Error:')
|
||
|
print(completedProcess.stderr)
|
||
|
|
||
|
async def ws_server(websocket, path):
|
||
|
while True:
|
||
|
cmd = await websocket.recv()
|
||
|
print(cmd)
|
||
|
run_command(f'notify-send -t 3000 "Command recieved:\n{cmd}"')
|
||
|
run_command(cmd)
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
start_server = websockets.serve(ws_server, IP, PORT)
|
||
|
|
||
|
asyncio.get_event_loop().run_until_complete(start_server)
|
||
|
asyncio.get_event_loop().run_forever()
|