feat: linux compatibility and config auto gen in cli #47
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Linux/Ubuntu CLI Support - Cross-Platform Compatibility
Summary
This PR enables srum-dump to run on Linux/Ubuntu systems while maintaining full Windows functionality. The CLI now works seamlessly on Ubuntu for processing SRUM forensic data without requiring Windows-specific dependencies or GUI libraries.
Problem Statement
Previously, srum-dump was tightly coupled to Windows, making it impossible to use on Linux systems commonly used in DFIR labs:
pywin32(Windows-only).whlfile in requirementstkinterimport causing crashes on headless Linux systemsChanges Made
1. Optional UI Dependencies (
srum_dump.py)tkinterandui_tkimports optional with graceful fallbackUI_AVAILABLEflag to detect GUI capability2. Platform-Aware Imports (
srum_dump.py)copy_lockedimport optional (Windows-only VSS features)ctypesimport optional (Windows admin checks)3. Fixed Config File Logic (
srum_dump.py)4. Cross-Platform File Operations (
ui_tk.py)open_file_with_default_app()functionos.startfile()(Windows),xdg-open(Linux),open(macOS)5. Platform-Conditional Dependencies (
requirements-linux.txt)6. Windows-Specific Feature Guards (
copy_locked.py)WINDOWS_AVAILABLEflagNotImplementedErrormessages on Linuxcopy, Linuxcp)Usage
Linux/Ubuntu (NEW!)
Windows (Unchanged)
Features
✅ Now Works on Linux
dissectandpyesedbenginesTesting
Tested on:
-qflag) on both platformsBreaking Changes
None - All existing Windows functionality preserved. Changes are additive only.
Benefits
Documentation
Consider adding:
LINUX_SETUP. mdwith installation/usage instructions-qflag requirement on LinuxRelated Issues
Closes #[issue_number] - Request for Linux support
Checklist
Note: This enables the core SRUM parsing functionality on Linux. Windows-specific extraction features (VSS, live file access) remain Windows-exclusive, which is appropriate given they rely on Windows APIs.