Skip to main content

Remote command delivery and media streaming tool over WebRTC signaling

Project description

darkglitch

Project Description

darkglitch is a small Python proof-of-concept for remote command delivery over a WebSocket signaling channel. It supports a listener mode to register a client and an attacker mode to find online peers and send remote shell commands.

Important Notes

  • This project is educational only.
  • Use it only in authorized test environments.
  • Remote command execution can be dangerous if misused.

Requirements

  • Python 3.10+
  • requirements.txt is provided for dependency installation

Setup

From the project root:

./install.sh

This script will:

  • create a Python virtual environment at ~/Desktop/venv
  • activate that environment
  • install dependencies from requirements.txt
  • add source ~/Desktop/venv/bin/activate to your ~/.bashrc or ~/.zshrc
  • start the listener mode with main.py -l

If you prefer manual setup:

python3 -m venv ~/Desktop/venv
source ~/Desktop/venv/bin/activate
pip install -r requirements.txt

Dependencies

  • websockets
  • aiortc
  • opencv-python
  • Pillow

Project Structure

  • main.py - Entry point and command parser
  • helper.py - CLI help text
  • version.py - Version information
  • core/config.py - Signaling server settings
  • core/client.py - Client identity and username logic
  • command/
    • bash_connect.py - Send remote commands
    • listen.py - Start listener mode
    • online.py - List online peers
    • stream_connect.py - Request remote media stream
  • command_injection/injector.py - Remote command request handling
  • signaling/
    • signal.py - WebSocket signaling client
    • peer.py - WebRTC peer connection logic
  • media/
    • local_media.py - Local camera/microphone handling
    • receiver_media.py - Remote media receiver

Configuration

Edit core/config.py to set:

  • HOST - signaling server URL
  • ROOM - shared room identifier

Example:

HOST = "https://localhost:8000/"
ROOM = "test"

Usage

Show help

python darkglitch.py -h

Show version

python darkglitch.py -v

Start listener mode

python darkglitch.py -l

List online peers

python darkglitch.py -ol

Send a remote command

python darkglitch.py -c <client_id> "whoami"

Replace <client_id> with the target identifier from the online peers list.

Disclaimer

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

darkglitch-1.0.3-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: darkglitch-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 19.7 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.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 56e3fa80c8e3a72a16e196c9533a2bba9a3c4957385d6b323914b53cd48cd2f2
MD5 bc7ca17e1b1be5776719e8c2574f50e1
BLAKE2b-256 851706ede71eab7d196dd1bf1a001c629c026f28aab02990de6c425d5fa580e4

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