feat: linux compatibility and config auto gen in cli#47
Open
vividDuck wants to merge 1 commit intoMarkBaggett:masterfrom
Open
feat: linux compatibility and config auto gen in cli#47vividDuck wants to merge 1 commit intoMarkBaggett:masterfrom
vividDuck wants to merge 1 commit intoMarkBaggett:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.