Organise
This commit is contained in:
157
Client/serversend - mirror - keyboardpress.py
Normal file
157
Client/serversend - mirror - keyboardpress.py
Normal file
@ -0,0 +1,157 @@
|
||||
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()
|
Reference in New Issue
Block a user