remote_control_python_script/Client/serversend - mirror - keyboardpress.py

158 lines
5.7 KiB
Python
Raw Normal View History

2020-12-09 11:52:04 +00:00
import socket
import os
import tqdm
import pynput
from pynput.keyboard import Key, Controller
#press
keyboard=Controller()
# device's IP address
SERVER_HOST = "10.4.27.243" #(socket.gethostbyname(socket.gethostname()))
SERVER_PORT = 10001
# receive 4096 bytes each time
BUFFER_SIZE = 128
SEPARATOR = "<SEPARATOR>"
# create the server socket
# TCP socket
s = socket.socket()
# bind the socket to our local address
s.bind((SERVER_HOST, SERVER_PORT))
# enabling our server to accept connections
# 5 here is the number of unaccepted connections that
# the system will allow before refusing new connections
s.listen(5)
print(f"[*] Listening as {SERVER_HOST}:{SERVER_PORT}")
# accept connection if there is any
client_socket, address = s.accept()
# if below code is executed, that means the sender is connected
print(f"[+] {address} is connected.")
# receive the file infos
# receive using client socket, not server socket
received = client_socket.recv(BUFFER_SIZE).decode()
filename, filesize = received.split(SEPARATOR)
# remove absolute path if there is
filename = os.path.basename(filename)
# convert to integer
filesize = int(filesize)
# start receiving the file from the socket
# and writing to the file stream
progress = tqdm.tqdm(range(filesize), f"Receiving {filename}", unit="B", unit_scale=True, unit_divisor=1024)
#with open(filename, "wb") as f:
def pressRrelease_char(char):
keyboard.press(char)
while True:
for _ in progress:
# read 1024 bytes from the socket (receive)
bytes_read = client_socket.recv(BUFFER_SIZE)
if not bytes_read:
# nothing is received
# file transmitting is done take another time
break
# write to the file the bytes we just received
f = open(filename, 'wb')
f.write(bytes_read)
# update the progress bar
progress.update(len(bytes_read))
f.close()
g = open(filename, 'r')
ge = g.read()
print (ge)
try:
if (ge == "Key.enter"):
pressRrelease_char(Key.enter)
elif (ge == "Key.shift"):
pressRrelease_char(Key.shift)
elif (ge == "Key.space"):
pressRrelease_char(Key.space)
elif (ge == "Key.backspace"):
pressRrelease_char(Key.backspace)
elif (ge == "Key.ctrl_r"):
pressRrelease_char(Key.ctrl_r)
elif (ge == "Key.ctrl_l"):
pressRrelease_char(Key.ctrl_l)
elif (ge == "Key.shift_r"):
pressRrelease_char(Key.shift_r)
elif (ge == "Key.alt_l"):
pressRrelease_char(Key.alt_l)
elif (ge == "Key.alt_r"):
pressRrelease_char(Key.alt_r)
elif (ge == "Key.cmd"):
pressRrelease_char(Key.cmd)
elif (ge == "Key.caps_lock"):
pressRrelease_char(Key.caps_lock)
elif (ge == "Key.tab"):
pressRrelease_char(Key.tab)
elif (ge == "Key.f1"):
pressRrelease_char(Key.f1)
elif (ge == "Key.f2"):
pressRrelease_char(Key.f2)
elif (ge == "Key.f3"):
pressRrelease_char(Key.f3)
elif (ge == "Key.f4"):
pressRrelease_char(Key.f4)
elif (ge == "Key.f5"):
pressRrelease_char(Key.f5)
elif (ge == "Key.f6"):
pressRrelease_char(Key.f6)
elif (ge == "Key.f7"):
pressRrelease_char(Key.f7)
elif (ge == "Key.f8"):
pressRrelease_char(Key.f8)
elif (ge == "Key.f9"):
pressRrelease_char(Key.f9)
elif (ge == "Key.f10"):
pressRrelease_char(Key.f10)
elif (ge == "Key.f11"):
pressRrelease_char(Key.f11)
elif (ge == "Key.f12"):
pressRrelease_char(Key.f12)
elif (ge == "Key.esc"):
pressRrelease_char(Key.esc)
elif (ge == "Key.insert"):
pressRrelease_char(Key.insert)
elif (ge == "Key.delete"):
pressRrelease_char(Key.delete)
elif (ge == "Key.end"):
pressRrelease_char(Key.end)
elif (ge == "Key.num_lock"):
pressRrelease_char(Key.num_lock)
elif (ge == "Key.home"):
pressRrelease_char(Key.home)
elif (ge == "Key.page_up"):
pressRrelease_char(Key.page_up)
elif (ge == "Key.page_down"):
pressRrelease_char(Key.page_down)
elif (ge == "Key.pause"):
pressRrelease_char(Key.pause)
elif (ge == "Key.scroll_lock"):
pressRrelease_char(Key.scroll_lock)
elif (ge == "Key.menu"):
pressRrelease_char(Key.menu)
elif (ge == "Key.print_screen"):
pressRrelease_char(Key.print_screen)
elif (ge == "Key.left"):
pressRrelease_char(Key.left)
elif (ge == "Key.up"):
pressRrelease_char(Key.up)
elif (ge == "Key.right"):
pressRrelease_char(Key.right)
elif (ge == "Key.down"):
pressRrelease_char(Key.down)
else:
pressRrelease_char((ge))
except:
print("an error occured with ", ge)
g.close()
# close the client socket
#client_socket.close()
# close the server socket
#s.close()