pentool 0.2.7__tar.gz → 0.2.8__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.
- {pentool-0.2.7 → pentool-0.2.8}/PKG-INFO +1 -1
- {pentool-0.2.7 → pentool-0.2.8}/pentool/__init__.py +1 -1
- {pentool-0.2.7 → pentool-0.2.8}/pentool/__main__.py +31 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool.egg-info/PKG-INFO +1 -1
- {pentool-0.2.7 → pentool-0.2.8}/pyproject.toml +1 -1
- {pentool-0.2.7 → pentool-0.2.8}/LICENSE +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/README.md +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/base_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/comparer_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/decoder_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/intruder_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/proxy_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/repeater_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/sequencer_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/spider_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/api/target_api.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/cli/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/cli/main.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/cli/project.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/cli/proxy.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/cli/scan.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/config.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/crash_reporter.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/database.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/event_bus.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/events.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/features.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/license.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/logging.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/plugin_manager.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/project.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/storage_interface.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/updater.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/core/utils.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/comparer.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/decoder.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/intruder.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/match_replace.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/proxy.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/repeater.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/sequencer.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/spider.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/target.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/modules/websocket_handler.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/plugins/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/plugins/builtin/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/plugins/example_plugin.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/plugins/example_plugin.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/services/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/services/base_service.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/services/intruder_service.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/services/proxy_service.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/services/repeater_service.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/services/scan_service.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/storage/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/storage/http_storage.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/storage/large_body_handler.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/storage/lru_cache.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/t.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/app.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/constants.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/cert_dialog.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/cert_dialog.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/comment_dialog.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/comment_dialog.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/file_selector.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/file_selector.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/load_from_proxy.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/load_from_proxy.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/match_replace_dialog.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/match_replace_dialog.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/project_dialog.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/project_dialog.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/scope_dialog.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/dialogs/scope_dialog.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/messages.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/mixins/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/mixins/app_mixin.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/mixins/dialog_cancel.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/mixins/request_context_menu.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/project_manager.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/base.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/comparer/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/comparer/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/comparer/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/dashboard/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/dashboard/live_dashboard.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/dashboard/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/dashboard/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/decoder/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/decoder/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/decoder/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/extensions/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/extensions/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/extensions/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/intruder/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/intruder/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/intruder/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/proxy/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/proxy/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/proxy/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/repeater/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/repeater/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/repeater/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/scanner_unavailable.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/sequencer/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/sequencer/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/sequencer/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/settings/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/settings/hotkeys.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/settings/hotkeys.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/settings/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/settings/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/spider/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/spider/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/spider/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/target/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/target/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/target/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/terminal/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/terminal/screen.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/screens/terminal/screen.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/activity_indicator.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/activity_indicator.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/context_menu.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/context_menu.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/filter_bar.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/filter_bar.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/inspector_panel.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/inspector_panel.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/menu.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/menu_bar.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/module_tabs.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/module_tabs.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/nice_checkbox.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/payload_drop_zone.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/payload_drop_zone.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/request_editor.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/request_editor.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/resize_handle.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/resize_handle.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/search_bar.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/search_bar.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/statusbar.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/statusbar.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/toolbar_button.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/tui/widgets/toolbar_button.tcss +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/__init__.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/cert.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/coder.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/copy_as.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/diff.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/http_client.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/parser.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool/utils/terminal_check.py +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool.egg-info/SOURCES.txt +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool.egg-info/dependency_links.txt +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool.egg-info/entry_points.txt +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool.egg-info/requires.txt +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/pentool.egg-info/top_level.txt +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/setup.cfg +0 -0
- {pentool-0.2.7 → pentool-0.2.8}/tests/test_user_workflow.py +0 -0
|
@@ -50,6 +50,37 @@ def main() -> None:
|
|
|
50
50
|
except Exception:
|
|
51
51
|
compatible, warning = True, "" # never block startup over this check itself
|
|
52
52
|
|
|
53
|
+
if not compatible:
|
|
54
|
+
# Try to self-heal BEFORE deciding to exit. check_and_update_pro_
|
|
55
|
+
# package() is normally only reached from inside a running TUI
|
|
56
|
+
# session (on_mount's background worker) or from `pentool
|
|
57
|
+
# update`/`--upgrade` — but a bare `pentool` launch with an
|
|
58
|
+
# incompatible package used to bail out via SystemExit below
|
|
59
|
+
# before ever getting a chance to call it, so a broken install
|
|
60
|
+
# could never repair itself from a plain `pentool` invocation:
|
|
61
|
+
# the user was stuck needing `pentool license activate <key>`
|
|
62
|
+
# even though the exact same license key/machine_id could have
|
|
63
|
+
# fixed it automatically. Attempt one repair pass here first.
|
|
64
|
+
try:
|
|
65
|
+
import asyncio
|
|
66
|
+
|
|
67
|
+
from pentool.core.license import check_and_update_pro_package
|
|
68
|
+
result = asyncio.run(check_and_update_pro_package())
|
|
69
|
+
if result.updated:
|
|
70
|
+
print(
|
|
71
|
+
"[pentool] PRO package was out of sync — "
|
|
72
|
+
"re-downloaded successfully.",
|
|
73
|
+
file=sys.stderr,
|
|
74
|
+
)
|
|
75
|
+
compatible, warning = True, ""
|
|
76
|
+
elif not result.warning:
|
|
77
|
+
# No warning back means check_and_update_pro_package()
|
|
78
|
+
# itself now considers things fine (e.g. it just healed
|
|
79
|
+
# a previously-broken package with a matching build_id).
|
|
80
|
+
compatible, warning = is_pro_package_compatible()
|
|
81
|
+
except Exception:
|
|
82
|
+
pass # fall through to the original warning/exit below
|
|
83
|
+
|
|
53
84
|
if not compatible:
|
|
54
85
|
if unsafe_skip_pro_check:
|
|
55
86
|
print(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|