python_remote_access/Controller/controller-keymouse.py
2021-04-19 14:46:23 +01:00

74 lines
1.8 KiB
Python

import socket
import os
from multiprocessing import Process
from tkinter import *
from pynput import keyboard
from pynput.mouse import Button, Controller
from pynput import mouse
# ipFile = open("IP.txt")
# IP = ipFile.read()
# ipFile.close()
import threading # https://docs.python.org/3/library/threading.html
import queue #
# window = Tk()
# label = Label(window, text= 'What is the IP')
# entry = Entry(window, width=200)
# entry.insert(END, IP)
# label.pack()
# entry.pack()
MOUSE = Controller()
dataToSend = ""
SEPARATOR = "<SEPARATOR>"
BUFFER_SIZE = 128 # send 4096 bytes each time step
host = "123.123.123.123"
# the ip address or hostname of the server, the receiver
# the port, let's use 5001
port = 5001
# create the client socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print(f"[+] Connecting to {host}:{port}")
s.connect((host, port))
print("[+] Connected.")
# -----------------------------------------------------------
def on_press(key):
dataToSend = "KP"
dataToSend = dataToSend + (('{}'.format(key)).replace("'", ""))
dataToSendBytes = dataToSend.encode()
s.sendall(dataToSendBytes)
def on_release(key):
dataToSend = "KR"
dataToSend = dataToSend + (('{}'.format(key)).replace("'", ""))
dataToSendBytes = dataToSend.encode()
s.sendall(dataToSendBytes)
def on_click(x, y, button, pressed):
if button == Button.left:
dataToSend = ("ML")
else:
dataToSend = ("MR")
dataToSend = dataToSend + str(x) + "," + str(y)
dataToSendBytes = dataToSend.encode()
s.sendall(dataToSendBytes)
def mouseThread():
with mouse.Listener(on_click=on_click) as mouseListener:
mouseListener.join()
threading.Thread(target=mouseThread).start()
with keyboard.Listener(on_press=on_press, on_release=on_release) as keyListener:
keyListener.join()