d3v-skyman is a lightweight Python daemon for remote service administration over a TCP socket. It accepts encrypted commands from authenticated clients, executes shell commands, and can stop or update the local service process.
The server listens for incoming connections, verifies the client IP against a whitelist, requires authentication with a password, and then allows command execution through two command families:
CLI <command>for running shell commandsAPP stoporAPP updatefor service control actions
The server uses AES-CBC encryption to protect the payloads between the client and daemon, and it can optionally expose a local health check endpoint plus TLS if certificate files are configured.
- d3vskyman.py - main daemon entry point and socket server loop
- modules/cli.py - executes shell commands
- modules/app.py - stops or updates the service
- clients/PHP - sample PHP client implementation
- clients/csharp - sample C# client implementation
- clients/python - sample Python client implementation
- clients/javascript - sample JavaScript client implementation
- example.config.py - example server configuration
- example.loader.sh - example startup script
- Install Python dependencies:
pip3 install -r requirements.txt
- Copy example.config.py to
config.pyand fill in the daemon settings, encryption values, and whitelist. - Start the daemon with:
python3 d3vskyman.py
- Optionally use example.loader.sh to launch it in the background.
- A client opens a socket connection to the daemon.
- The client sends an authentication command such as
AUTH <password>. - After authentication succeeds, the client can send
CLI ...orAPP ...commands. - The daemon decrypts the command, executes it, and returns an encrypted response.
- The client disconnects with
EXIT.
The project now includes dedicated documentation for design and test planning:
- docs/SDD.md - software design document for the main daemon
- docs/TDD.md - test-driven development plan for the Python application
- clients/docs/SDD.md - language-agnostic software design document for client implementations
- clients/docs/TDD.md - language-agnostic test-driven development plan for clients
This project is still a small, purpose-built tool and is best suited to controlled environments. The current implementation is functional but should be hardened before broader production use, especially around authentication, process management, and transport security.