Skip to content

Commit f565102

Browse files
authored
AlwaysOn Mouse Jiggler
A simple script that jiggles your mouse.
1 parent 8a9a227 commit f565102

File tree

2 files changed

+180
-0
lines changed

2 files changed

+180
-0
lines changed

AlwaysOn(1.00)CLI.py

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import pyautogui
2+
import time
3+
import threading
4+
5+
6+
RED = "\033[31m"
7+
BLUE = "\033[34m"
8+
RESET = "\033[0m"
9+
10+
11+
ascii_art = RED + r"""
12+
█████╗ ██╗ ██╗ ██╗ █████╗ ██╗ ██╗███████╗ ██████╗ ███╗ ██╗
13+
██╔══██╗██║ ██║ ██║██╔══██╗╚██╗ ██╔╝██╔════╝ ██╔═══██╗████╗ ██║
14+
███████║██║ ██║ █╗ ██║███████║ ╚████╔╝ ███████╗ ██║ ██║██╔██╗ ██║
15+
██╔══██║██║ ██║███╗██║██╔══██║ ╚██╔╝ ╚════██║ ██║ ██║██║╚██╗██║
16+
██║ ██║███████╗╚███╔███╔╝██║ ██║ ██║ ███████║ ╚██████╔╝██║ ╚████║
17+
╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═══╝
18+
19+
██╗██╗ ██████╗ ██████╗ ██╗ ███████╗██████╗
20+
██║██║██╔════╝ ██╔════╝ ██║ ██╔════╝██╔══██╗
21+
██║██║██║ ███╗██║ ███╗██║ █████╗ ██████╔╝
22+
██ ██║██║██║ ██║██║ ██║██║ ██╔══╝ ██╔══██╗
23+
╚█████╔╝██║╚██████╔╝╚██████╔╝███████╗███████╗██║ ██║
24+
╚════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
25+
""" + RESET
26+
27+
credit_text = BLUE + "By Joshua M Clatney - Ethical Pentesting Enthusiast" + RESET
28+
version_text = RED + "Version 1.00" + RESET
29+
30+
31+
print(ascii_art)
32+
print(credit_text)
33+
print(version_text)
34+
print("\nInstructions:")
35+
print(" 1. Press Enter to start the mouse jiggler.")
36+
print(" 2. Press Enter again to stop the jiggler.")
37+
print(" 3. Press Enter once more to exit the script.\n")
38+
39+
40+
jiggler_running = False
41+
exit_event = threading.Event()
42+
43+
def jiggler_loop():
44+
45+
global jiggler_running
46+
while not exit_event.is_set():
47+
if jiggler_running:
48+
pyautogui.moveRel(10, 0, duration=0.2) # move right
49+
time.sleep(2)
50+
pyautogui.moveRel(-10, 0, duration=0.2) # move left
51+
time.sleep(2)
52+
else:
53+
time.sleep(0.1)
54+
55+
56+
t = threading.Thread(target=jiggler_loop, daemon=True)
57+
t.start()
58+
59+
try:
60+
61+
input("Press Enter to start the jiggler...")
62+
jiggler_running = True
63+
print("Mouse Jiggler started. It will keep moving your mouse.")
64+
65+
input("Press Enter to stop the jiggler...")
66+
jiggler_running = False
67+
print("Mouse Jiggler stopped.")
68+
69+
70+
input("Press Enter to exit the script...")
71+
print("Exiting script.")
72+
finally:
73+
74+
exit_event.set()
75+
t.join()

AlwaysOn(1.00)GUI.pyw

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
import tkinter as tk
2+
from tkinter import font
3+
import threading
4+
import time
5+
import pyautogui
6+
7+
jiggler_running = False
8+
exit_event = threading.Event()
9+
10+
def jiggler_loop():
11+
global jiggler_running
12+
while not exit_event.is_set():
13+
if jiggler_running:
14+
pyautogui.moveRel(10, 0, duration=0.2) # move right
15+
time.sleep(2)
16+
pyautogui.moveRel(-10, 0, duration=0.2) # move left
17+
time.sleep(2)
18+
else:
19+
time.sleep(0.1)
20+
21+
jiggler_thread = threading.Thread(target=jiggler_loop, daemon=True)
22+
jiggler_thread.start()
23+
24+
def start_jiggler():
25+
global jiggler_running
26+
jiggler_running = True
27+
status_label.config(text="Status: Mouse Jiggler started. It is moving your mouse.")
28+
29+
def stop_jiggler():
30+
global jiggler_running
31+
jiggler_running = False
32+
status_label.config(text="Status: Mouse Jiggler stopped.")
33+
34+
def exit_program():
35+
exit_event.set()
36+
jiggler_thread.join(timeout=3)
37+
root.destroy()
38+
39+
def on_closing():
40+
exit_program()
41+
42+
43+
root = tk.Tk()
44+
root.title("AlwaysOn Mouse Jiggler v1.00")
45+
root.protocol("WM_DELETE_WINDOW", on_closing)
46+
47+
48+
frame = tk.Frame(root)
49+
frame.pack(padx=10, pady=10)
50+
51+
52+
ascii_art = r"""
53+
█████╗ ██╗ ██╗ ██╗ █████╗ ██╗ ██╗███████╗ ██████╗ ███╗ ██╗
54+
██╔══██╗██║ ██║ ██║██╔══██╗╚██╗ ██╔╝██╔════╝ ██╔═══██╗████╗ ██║
55+
███████║██║ ██║ █╗ ██║███████║ ╚████╔╝ ███████╗ ██║ ██║██╔██╗ ██║
56+
██╔══██║██║ ██║███╗██║██╔══██║ ╚██╔╝ ╚════██║ ██║ ██║██║╚██╗██║
57+
██║ ██║███████╗╚███╔███╔╝██║ ██║ ██║ ███████║ ╚██████╔╝██║ ╚████║
58+
╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═══╝
59+
60+
██╗██╗ ██████╗ ██████╗ ██╗ ███████╗██████╗
61+
██║██║██╔════╝ ██╔════╝ ██║ ██╔════╝██╔══██╗
62+
██║██║██║ ███╗██║ ███╗██║ █████╗ ██████╔╝
63+
██ ██║██║██║ ██║██║ ██║██║ ██╔══╝ ██╔══██╗
64+
╚█████╔╝██║╚██████╔╝╚██████╔╝███████╗███████╗██║ ██║
65+
╚════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
66+
"""
67+
68+
credit_text = "By Joshua M Clatney - Ethical Pentesting Enthusiast"
69+
version_text = "Version 1.00"
70+
instructions_text = (
71+
"Instructions:\n"
72+
" 1. Click 'Start Jiggler' to start the mouse jiggler.\n"
73+
" 2. Click 'Stop Jiggler' to stop the jiggler.\n"
74+
" 3. Click 'Exit' to exit the program.\n"
75+
)
76+
77+
monospace_font = font.Font(family="Courier", size=10)
78+
ascii_label = tk.Label(frame, text=ascii_art, font=monospace_font, justify="left")
79+
ascii_label.pack()
80+
81+
credit_label = tk.Label(frame, text=credit_text, fg="blue", font=("Helvetica", 12))
82+
credit_label.pack(pady=(10, 0))
83+
84+
version_label = tk.Label(frame, text=version_text, fg="red", font=("Helvetica", 12))
85+
version_label.pack()
86+
87+
instructions_label = tk.Label(frame, text=instructions_text, justify="left")
88+
instructions_label.pack(pady=(10, 20))
89+
90+
buttons_frame = tk.Frame(root)
91+
buttons_frame.pack(pady=10)
92+
93+
start_button = tk.Button(buttons_frame, text="Start Jiggler", command=start_jiggler, width=15)
94+
start_button.grid(row=0, column=0, padx=5)
95+
96+
stop_button = tk.Button(buttons_frame, text="Stop Jiggler", command=stop_jiggler, width=15)
97+
stop_button.grid(row=0, column=1, padx=5)
98+
99+
exit_button = tk.Button(buttons_frame, text="Exit", command=exit_program, width=15)
100+
exit_button.grid(row=0, column=2, padx=5)
101+
102+
status_label = tk.Label(root, text="Status: Idle", font=("Helvetica", 12))
103+
status_label.pack(pady=10)
104+
105+
root.mainloop()

0 commit comments

Comments
 (0)