souleyez 3.0.7__py3-none-any.whl → 3.0.9__py3-none-any.whl

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.
souleyez/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "3.0.7"
1
+ __version__ = "3.0.9"
souleyez/docs/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # SoulEyez Documentation
2
2
 
3
- **Version:** 3.0.7
4
- **Last Updated:** January 31, 2026
3
+ **Version:** 3.0.9
4
+ **Last Updated:** February 1, 2026
5
5
  **Organization:** CyberSoul Security
6
6
 
7
7
  Welcome to the SoulEyez documentation! This documentation covers architecture, development, user guides, and operational information for the SoulEyez penetration testing platform.
souleyez/main.py CHANGED
@@ -188,7 +188,7 @@ def _check_privileged_tools():
188
188
 
189
189
 
190
190
  @click.group()
191
- @click.version_option(version="3.0.7")
191
+ @click.version_option(version="3.0.9")
192
192
  def cli():
193
193
  """SoulEyez - AI-Powered Pentesting Platform by CyberSoul Security"""
194
194
  from souleyez.log_config import init_logging
@@ -175,10 +175,10 @@ EXTERNAL_TOOLS = {
175
175
  "command": "chromium-browser",
176
176
  "alt_commands": [
177
177
  "chromium"
178
- ], # Kali uses chromium, Ubuntu uses chromium-browser
178
+ ], # Kali uses chromium, Ubuntu uses Playwright (snap chromium breaks headless on ARM)
179
179
  "install_kali": "sudo apt install chromium",
180
- "install_ubuntu": "sudo apt install chromium-browser",
181
- "install_method": "apt",
180
+ "install_ubuntu": "pip install playwright && playwright install chromium && sudo ln -sf $HOME/.cache/ms-playwright/chromium-*/chrome-linux/chrome /usr/local/bin/chromium",
181
+ "install_method": "kali_only",
182
182
  "description": "Headless browser (required for katana web crawling)",
183
183
  },
184
184
  },
@@ -336,7 +336,6 @@ EXTERNAL_TOOLS = {
336
336
  "install_method": "kali_only",
337
337
  "description": "SMB share enumeration tool",
338
338
  "known_issues": "All versions have pickling bug with impacket. Use netexec instead.",
339
- "optional": True,
340
339
  },
341
340
  "netexec": {
342
341
  "command": "nxc",
@@ -360,7 +359,7 @@ EXTERNAL_TOOLS = {
360
359
  "install_method": "kali_only",
361
360
  "description": "Decrypt Group Policy Preferences (GPP) passwords",
362
361
  "note": "On Ubuntu, pycryptodome provides Python fallback for GPP decryption",
363
- "optional": True,
362
+ "check_ubuntu": "python3 -c 'import Crypto'",
364
363
  },
365
364
  "bloodhound": {
366
365
  "command": "bloodhound-python",
@@ -529,14 +528,28 @@ def check_all_tools() -> Dict[str, Dict[str, bool]]:
529
528
  }
530
529
  """
531
530
  results = {}
531
+ distro = detect_distro()
532
532
 
533
533
  for category, tools in EXTERNAL_TOOLS.items():
534
534
  results[category] = {}
535
535
  for tool_name, tool_info in tools.items():
536
- alt_commands = tool_info.get("alt_commands")
537
- results[category][tool_name] = check_tool(
538
- tool_info["command"], alt_commands
539
- )
536
+ # Check for custom Ubuntu detection command
537
+ if distro == "ubuntu" and "check_ubuntu" in tool_info:
538
+ try:
539
+ subprocess.run(
540
+ tool_info["check_ubuntu"],
541
+ shell=True,
542
+ check=True,
543
+ capture_output=True,
544
+ )
545
+ results[category][tool_name] = True
546
+ except subprocess.CalledProcessError:
547
+ results[category][tool_name] = False
548
+ else:
549
+ alt_commands = tool_info.get("alt_commands")
550
+ results[category][tool_name] = check_tool(
551
+ tool_info["command"], alt_commands
552
+ )
540
553
 
541
554
  return results
542
555
 
@@ -642,6 +655,22 @@ def check_tool_version(tool_info: dict) -> Dict[str, any]:
642
655
  "actual_command": None,
643
656
  }
644
657
 
658
+ # Check for custom Ubuntu detection command
659
+ distro = detect_distro()
660
+ if distro == "ubuntu" and "check_ubuntu" in tool_info:
661
+ try:
662
+ subprocess.run(
663
+ tool_info["check_ubuntu"],
664
+ shell=True,
665
+ check=True,
666
+ capture_output=True,
667
+ )
668
+ result["installed"] = True
669
+ result["actual_command"] = tool_info["check_ubuntu"]
670
+ return result
671
+ except subprocess.CalledProcessError:
672
+ return result
673
+
645
674
  # Find which command is actually installed (primary or alt)
646
675
  actual_cmd = find_tool_command(command, alt_commands)
647
676
  if not actual_cmd:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: souleyez
3
- Version: 3.0.7
3
+ Version: 3.0.9
4
4
  Summary: AI-Powered Penetration Testing Platform with 40+ integrated tools
5
5
  Author-email: CyberSoul Security <contact@cybersoulsecurity.com>
6
6
  Maintainer-email: CyberSoul Security <contact@cybersoulsecurity.com>
@@ -1,10 +1,10 @@
1
- souleyez/__init__.py,sha256=tP42eveLWP9Mgm4I435dKZC463zDP4G3Rq_XJ9XMJAg,22
1
+ souleyez/__init__.py,sha256=b7f_Jk61orPy8IHcbLq3V_QwsqzdIv4siu0tsrTXDgQ,22
2
2
  souleyez/config.py,sha256=8wEKoj2dVJq21mVKMCiG0MvMfEbRcx8o_AgVy_lCwz0,11716
3
3
  souleyez/devtools.py,sha256=flQiAcPtAuF36lKQY2tMG90RI7DJy1ifXuYuhVL6ALI,3602
4
4
  souleyez/feature_flags.py,sha256=74mxloHPti-0o2AxsoG0QjSYRzKMQud3cQJ3ntHUn_0,4612
5
5
  souleyez/history.py,sha256=45nuUCuKAeLON4Syncd4l6RgfnESvYGYVy4d4MvQK_A,3113
6
6
  souleyez/log_config.py,sha256=T4B1cuYBAxrsrWb-EaEBgb7WuYhke02gploRGh9hX_A,6155
7
- souleyez/main.py,sha256=69k-RegLN0GckfL6nS715dHgVXlzrL9gBYanG4rnDAo,144063
7
+ souleyez/main.py,sha256=TK6QJKScU7I7QjtiDVrs0eg5lnM67LS9NYQZIzu1Ffo,144063
8
8
  souleyez/scanner.py,sha256=XsyKi1viJyB5MazQZ0uJung-v9syj8rVB5gJyVgkWaw,3164
9
9
  souleyez/security.py,sha256=9BGRJLtTQbQvQH2ptjh67ThykF-BYKicUeMx3wyrevE,2770
10
10
  souleyez/ui.py,sha256=OsXY97BCWnvkHuqvwMKrWXuq1MQxv8RmIe7re7NcURo,35959
@@ -114,7 +114,7 @@ souleyez/detection/__init__.py,sha256=E1icPy0w9ByTnG0uiLflEMRqfOLXCnrMjTQnfiSOJw
114
114
  souleyez/detection/attack_signatures.py,sha256=E2PiUX8J5bKO4IuL2QDwSG2vmYKAM25O3OOlwUaRajg,7068
115
115
  souleyez/detection/mitre_mappings.py,sha256=xdCBL9tupP8pj1Mf2EaiqmaZOAILLedQp8cec0mb5K4,20866
116
116
  souleyez/detection/validator.py,sha256=2x_6lMKEvk8GCYCv3gxONErhUtCurDqIXZ6dV7NJep0,15818
117
- souleyez/docs/README.md,sha256=xUgj5nuL8nVdSCZFmx6HuSE5CT2y-5etsMDhLWkuzo4,7188
117
+ souleyez/docs/README.md,sha256=vekXPtDhD6l7CcAT_L7KUgitgKSQpEt2mCuEvYUt40Y,7188
118
118
  souleyez/docs/api-reference/cli-commands.md,sha256=u1SITpcP8oA4yzrukdHTlA4WKP9AV3zGHa52iI0vje8,12913
119
119
  souleyez/docs/api-reference/engagement-api.md,sha256=nd-EvQMtiJrobg2bzFEADp853HP1Uhb9dmgok0_-neE,11672
120
120
  souleyez/docs/api-reference/integration-guide.md,sha256=c96uX79ukHyYotLa54wZ20Kx-EUZnrKegTeGkfLD-pw,16285
@@ -436,10 +436,10 @@ souleyez/ui/tutorial_state.py,sha256=0Fx-r8_4XjmsCQaj2q5iS-tf-BlFhYzRnxG1PeILPJs
436
436
  souleyez/ui/wazuh_vulns_view.py,sha256=oIUWnfihxYgyf_s0qan8ulAq_TxIlaE3I_kbXb0wMA8,22927
437
437
  souleyez/ui/wordlist_browser.py,sha256=nsj1jj5Qc8zfGmiw9vMn-nXlGShGBAZfxQOfx_WI8Qo,21187
438
438
  souleyez/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
- souleyez/utils/tool_checker.py,sha256=J2PZiekQE4XhPOzpkMKza5nUwHukUG0iy8bL4Lcv17U,35639
440
- souleyez-3.0.7.dist-info/licenses/LICENSE,sha256=J7vDD5QMF4w2oSDm35eBgosATE70ah1M40u9W4EpTZs,1090
441
- souleyez-3.0.7.dist-info/METADATA,sha256=12_-y72OOGvTZGTSQooduHLCJAqMvSGwA28svabLC9U,10438
442
- souleyez-3.0.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
443
- souleyez-3.0.7.dist-info/entry_points.txt,sha256=bN5W1dhjDZJl3TKclMjRpfQvGPmyrJLwwDuCj_X39HE,48
444
- souleyez-3.0.7.dist-info/top_level.txt,sha256=afAMzS9p4lcdBNxhGo6jl3ipQE9HUvvNIPOdjtPjr_Q,9
445
- souleyez-3.0.7.dist-info/RECORD,,
439
+ souleyez/utils/tool_checker.py,sha256=qupqP5Jl9K7DsB96k4p8Zu7l_kqVZFQMZ4SC_M7JOkY,36923
440
+ souleyez-3.0.9.dist-info/licenses/LICENSE,sha256=J7vDD5QMF4w2oSDm35eBgosATE70ah1M40u9W4EpTZs,1090
441
+ souleyez-3.0.9.dist-info/METADATA,sha256=XWKcxz1cNDsY7udDDLcdWrU-ei-0BiYLoN0NGOwCrps,10438
442
+ souleyez-3.0.9.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
443
+ souleyez-3.0.9.dist-info/entry_points.txt,sha256=bN5W1dhjDZJl3TKclMjRpfQvGPmyrJLwwDuCj_X39HE,48
444
+ souleyez-3.0.9.dist-info/top_level.txt,sha256=afAMzS9p4lcdBNxhGo6jl3ipQE9HUvvNIPOdjtPjr_Q,9
445
+ souleyez-3.0.9.dist-info/RECORD,,