iotsploit-cli 0.0.6__tar.gz → 0.0.7__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.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: iotsploit-cli
3
- Version: 0.0.6
3
+ Version: 0.0.7
4
4
  Summary: IoTSploit CLI shell (console + command modules) - IoT security testing interactive interface
5
5
  License: GPL-3.0-or-later
6
6
  Keywords: iot,security,testing,pentest,cli,shell
@@ -17,14 +17,15 @@ Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
20
21
  Classifier: Topic :: Security
21
22
  Classifier: Topic :: System :: Hardware
22
23
  Requires-Dist: cmd2 (>=2.4,<3.0)
23
- Requires-Dist: iotsploit-core (>=0.0.6,<0.0.7)
24
- Requires-Dist: iotsploit-django (>=0.0.6,<0.0.7)
25
- Requires-Dist: iotsploit-drivers (>=0.0.6,<0.0.7)
26
- Requires-Dist: iotsploit-exploits (>=0.0.6,<0.0.7)
27
- Requires-Dist: iotsploit-mcp (>=0.0.6,<0.0.7)
24
+ Requires-Dist: iotsploit-core
25
+ Requires-Dist: iotsploit-django
26
+ Requires-Dist: iotsploit-drivers
27
+ Requires-Dist: iotsploit-exploits
28
+ Requires-Dist: iotsploit-mcp
28
29
  Requires-Dist: pwntools (>=4.12,<5.0)
29
30
  Project-URL: Documentation, https://www.iotsploit.org/
30
31
  Project-URL: Homepage, https://www.iotsploit.org/
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "iotsploit-cli"
3
- version = "0.0.6"
3
+ version = "0.0.7"
4
4
  description = "IoTSploit CLI shell (console + command modules) - IoT security testing interactive interface"
5
5
  authors = ["IoTSploit Team <support@iotsploit.org>"]
6
6
  readme = "README.md"
@@ -29,11 +29,11 @@ iotsploit = "iotsploit_cli.console:main"
29
29
 
30
30
  [tool.poetry.dependencies]
31
31
  python = ">=3.10,<4.0"
32
- iotsploit-core = "^0.0.6"
33
- iotsploit-django = "^0.0.6"
34
- iotsploit-drivers = "^0.0.6"
35
- iotsploit-exploits = "^0.0.6"
36
- iotsploit-mcp = "^0.0.6"
32
+ iotsploit-core = "*"
33
+ iotsploit-django = "*"
34
+ iotsploit-drivers = "*"
35
+ iotsploit-exploits = "*"
36
+ iotsploit-mcp = "*"
37
37
  cmd2 = "^2.4"
38
38
  pwntools = "^4.12"
39
39
 
@@ -66,13 +66,13 @@ class DjangoCommands(BaseCommands):
66
66
 
67
67
  @cmd2.with_category('Django Commands')
68
68
  def do_runserver(self, arg):
69
- 'Start Django development server, Daphne WebSocket server, MCP WebSocket bridge, and Celery worker in the background'
69
+ 'Start Django development server, Daphne WebSocket server, MCP HTTP server, and Celery worker in the background'
70
70
  if self.django_server_process or self.daphne_server_process:
71
71
  self.poutput("Servers are already running.")
72
72
  return
73
73
 
74
74
  try:
75
- logger.info("Attempting to start Django, Daphne, MCP WebSocket bridge, and Celery servers in background...")
75
+ logger.info("Attempting to start Django, Daphne, MCP HTTP server, and Celery servers in background...")
76
76
 
77
77
  # Preflight: check Redis and fail fast if unavailable
78
78
  redis_ok, redis_msg = self._check_redis_available()
@@ -97,11 +97,11 @@ class DjangoCommands(BaseCommands):
97
97
  sys.executable,
98
98
  '-m',
99
99
  'iotsploit_mcp.cli',
100
- 'ws',
100
+ 'http',
101
101
  '--host',
102
- '0.0.0.0',
102
+ '127.0.0.1',
103
103
  '--port',
104
- '9998',
104
+ '9900',
105
105
  ]
106
106
  celery_cmd = [
107
107
  sys.executable,
@@ -115,7 +115,7 @@ class DjangoCommands(BaseCommands):
115
115
 
116
116
  logger.info(f"Running Django command: {' '.join(django_cmd)}")
117
117
  logger.info(f"Running Daphne command: {' '.join(daphne_cmd)}")
118
- logger.info(f"Running MCP WebSocket Bridge command: {' '.join(mcp_bridge_cmd)}")
118
+ logger.info(f"Running MCP HTTP server command: {' '.join(mcp_bridge_cmd)}")
119
119
  logger.info(f"Running Celery command: {' '.join(celery_cmd)}")
120
120
 
121
121
  # Start the processes with direct output to stdout/stderr
@@ -133,8 +133,8 @@ class DjangoCommands(BaseCommands):
133
133
  universal_newlines=True
134
134
  )
135
135
 
136
- # Start the WebSocket bridge in its own process group so that we can
137
- # later terminate the entire group (bridge + sat_fastmcp child)
136
+ # Start the MCP HTTP server in its own process group so that we can
137
+ # later terminate the entire group
138
138
  # Set up environment variables for MCP bridge (Django API URL)
139
139
  mcp_env = os.environ.copy()
140
140
  mcp_env.setdefault('IOTSPLOIT_DJANGO_API_BASE_URL', 'http://127.0.0.1:8888')
@@ -159,7 +159,7 @@ class DjangoCommands(BaseCommands):
159
159
  logger.info("Services running on:")
160
160
  logger.info(" - Django HTTP API: http://localhost:8888")
161
161
  logger.info(" - Daphne WebSocket: ws://localhost:9999")
162
- logger.info(" - MCP WebSocket Bridge: ws://localhost:9998")
162
+ logger.info(" - MCP HTTP (Streamable HTTP): http://127.0.0.1:9900/mcp")
163
163
  logger.info(" - Celery Worker: background task processing")
164
164
 
165
165
  # Wait for HTTP server to be available and initialize devices
@@ -197,7 +197,7 @@ class DjangoCommands(BaseCommands):
197
197
 
198
198
  @cmd2.with_category('Django Commands')
199
199
  def do_stop_server(self, arg):
200
- 'Stop Django development server, Daphne WebSocket server, MCP WebSocket bridge, and Celery worker'
200
+ 'Stop Django development server, Daphne WebSocket server, MCP HTTP server, and Celery worker'
201
201
  try:
202
202
  # Cleanup devices using HTTP endpoint (GET method)
203
203
  # Only attempt HTTP cleanup if the Django server process is still alive
File without changes