Upload files to "Operation Shadow Watcher"

This commit is contained in:
2026-01-31 07:34:02 -05:00
parent 9e634c17e9
commit 536e9f37f0

View File

@@ -0,0 +1,252 @@
import time
import os
import cv2
import random
import re
import sys
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from plyer import notification
from datetime import datetime
from threading import Thread, Lock
useMessCamo = False
# Message Camo
def messCamo(text, yesorno):
if yesorno:
text = text.replace("Created", "Deployed")
text = text.replace("Modified", "In Action")
text = text.replace("Deleted", "Extracted")
text = text.replace("Logging", "SAS")
text = text.replace("Log", "BlackOps")
text = text.replace("Text", "Transmission")
text = text.replace("Client", "FieldAgent")
text = text.replace("MOD", "Command")
text = text.replace("Peer2Peer", "CovertChannel")
text = text.replace("Senso", "Surveillance")
text = text.replace("dll", "Directive")
text = text.replace("Extensions", "Attachments")
text = text.replace("Serilog", "SignalLog")
text = text.replace("AssemblyName", "OperationName")
text = text.replace("Crypto", "Cipher")
text = text.replace("BouncyCastle", "Stronghold")
text = text.replace("Microsoft", "Megacorp")
text = text.replace("Modules", "Units")
text = text.replace("Feedback", "Debriefing")
text = text.replace("Message", "CipherText")
text = text.replace("Common", "StandardIssue")
text = text.replace("Management", "Command")
text = text.replace("Formatters", "Encoders")
text = text.replace("Json", "Jupiter")
text = text.replace("json", "jupiter")
text = text.replace("NetworkFilter", "Barricade")
text = text.replace("deps", "Assets")
text = text.replace("FilterBridge", "Bridgehead")
text = text.replace("Pipelines", "Comms")
text = text.replace("System", "Apparatus")
text = text.replace("Engine", "Propulsion")
text = text.replace("Notifications", "Alerts")
text = text.replace("AzureAD", "AlphaDelta")
text = text.replace("Broker", "Handler")
text = text.replace("Modcache", "Safehouse")
text = text.replace("RemoteScreen", "Oversight")
text = text.replace("DirectX", "DirectiveX")
text = text.replace("Vortice", "Vortex")
text = text.replace("libwebp", "IntelWeb")
text = text.replace("libsharpyuv", "IntelSharp")
text = text.replace("store-journal", "MissionLog")
text = text.replace("store", "Reserve")
text = text.replace("store-journal", "MissionLog")
text = text.replace("Command_Policies", "EngagementRules")
text = text.replace("Sharpgen", "Nitrogen")
text = text.replace("Runtime", "MissionClock")
text = text.replace("Abstractions", "FaultyDebriefing")
text = text.replace("protobuf-net", "Bumper")
text = text.replace("SIPSorceryMedia", "Radio")
text = text.replace("Direct3D11", "Directive-3-Delta-Eleven")
return text
else:
pass
# Unit Determination
def unitdetermine(unitname):
unittype = random.randint(1, 3)
if unittype == 1:
unitname = str(random.randint(21, 23)) + " SAS"
elif unittype == 2:
unitname = "Task Force " + str(random.randint(0, 200)).zfill(3)
else:
unitname = "Overlord"
return unitname
# Replace UUID
def uuidreplace(inpo):
uuid_pattern = re.compile(r'[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}', re.IGNORECASE)
modified_text = uuid_pattern.sub(unitdetermine("testificate"), inpo)
return modified_text
# ---------------- CONFIG ----------------
WATCH_DIR = r"C:\Program Files\Renato Software\Senso.Cloud.Client"
LOG_FILE = "DATETIME.txt"
BATCH_WINDOW = 10 # Seconds between notification flushes
LATEST_COUNT = 3 # How many recent changes to show if no priority items
MAX_PRIORITY_SHOWN = 10 # Max priority items shown per notification
MAX_NOTIFY_LENGTH = 256 # Windows balloon tip max length
# 🔥 Priority keywords (case-insensitive)
PRIORITY_WORDS = ["MOD", "REMOTECONTROL", "PEER2PEER", "REMOTESCREEN"]
# ---------------- STATE ----------------
change_buffer = []
buffer_lock = Lock()
camera_lock = Lock()
# ---------------- CAMERA ----------------
def blink_camera_light(blink_time=0.7):
try:
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
if cap.isOpened():
ret, _ = cap.read()
if ret:
time.sleep(blink_time)
cap.release()
cv2.destroyAllWindows()
except Exception as e:
print(f"Blanche: {e}")
def async_camera_blink():
def _blink():
with camera_lock: # prevents webcam thread flooding
blink_camera_light()
Thread(target=_blink, daemon=True).start()
# ---------------- LOGGING ----------------
def log_change(action, filepath):
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
entry = f"[{timestamp}] {action.upper()}: {filepath}\n"
with open(LOG_FILE, "a", encoding="utf-8") as f:
f.write(entry)
# ---------------- PRIORITY ----------------
def priority_score(entry: str) -> int:
upper = entry.upper()
return sum(1 for word in PRIORITY_WORDS if word in upper)
# ---------------- NOTIFICATION FLUSH ----------------
def flush_notifications():
while True:
time.sleep(BATCH_WINDOW)
with buffer_lock:
if not change_buffer:
continue
scored = [(priority_score(c), i, c) for i, c in enumerate(change_buffer)]
priority_items = [item for item in scored if item[0] > 0]
if priority_items:
# sort by descending priority then original order
priority_items.sort(key=lambda x: (-x[0], x[1]))
shown = [c for _, _, c in priority_items[:MAX_PRIORITY_SHOWN]]
omitted = len(priority_items) > MAX_PRIORITY_SHOWN
else:
shown = change_buffer[-LATEST_COUNT:]
omitted = len(change_buffer) > len(shown)
change_buffer.clear()
message = "\n".join(shown)
if omitted:
message += "\n..."
message = messCamo(message, useMessCamo)
# 🔹 Truncate message safely for Windows balloon notifications
if len(message) > MAX_NOTIFY_LENGTH:
message = message[:MAX_NOTIFY_LENGTH - 3] + "..."
notification.notify(
title="(MY OMG PROGRAM) HI!!!!!!!!!!",
message=message,
timeout=5
)
print("Mike Sierra.")
print(messCamo(message, useMessCamo))
# ---------------- FILE WATCHER ----------------
class ChangeHandler(FileSystemEventHandler):
def on_any_event(self, event):
action = event.event_type.capitalize()
filepath = event.src_path
filename = os.path.basename(filepath)
# Write log immediately
log_change(action, filepath)
# Flash camera immediately (async, safe)
async_camera_blink()
entry = "Radio: " + unitdetermine("test") + f" reports that {filename} is {action}"
with buffer_lock:
change_buffer.append(entry)
log_entry = f"Radio: {unitdetermine('test')} reports that {filename} is {action}"
print(messCamo(uuidreplace(log_entry), useMessCamo))
# ---------------- MAIN ----------------
RED = "\033[31m"
RESET = "\033[0m"
if __name__ == "__main__":
# print(f"👀 Monitoring: {WATCH_DIR}")
# print(f"📝 Logging to: {os.path.abspath(LOG_FILE)}")
# print(f"🔥 Priority words: {', '.join(PRIORITY_WORDS)}")
print(f"👀 MY OMG PROGRAM")
print(f"📝 Press x y and z to do stuff (unfinished)")
print(f"PS not finished nothing will work SO MANY ERRORS")
print(f"lol hiiiiiiiiiiiiiiiiiiiiiiiiiii")
time.sleep(2)
print(RED + messCamo("ERROR: FILE IS NOT AT {WATCH_DIR}", useMessCamo))
print(messCamo("ERROR: MODULE DATETIME WAS NOT FOUND AT {os.path.abspath(LOG_FILE)}", useMessCamo))
print(messCamo("ERROR: MODULES {', '.join(PRIORITY_WORDS)} NOT FOUND", useMessCamo) + RESET)
password = input("WHAT WAS THE PASSWORD?! > ")
if password == "Papa-Seven-Mike-Juliett":
pass
else:
sys.exit(1)
# Ensure log file exists
if not os.path.exists(LOG_FILE):
with open(LOG_FILE, "w", encoding="utf-8") as f:
f.write("=== DATETIME ===\n")
observer = Observer()
observer.schedule(ChangeHandler(), WATCH_DIR, recursive=True)
observer.start()
# Start fixed-interval notification flusher
Thread(target=flush_notifications, daemon=True).start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()