Skip to content

Conversation

@davidtkeane
Copy link

Description:
markdown## Problem
SkeletonKey currently only works on Linux systems due to hardcoded /home/ paths in mods/bits.py. macOS users encounter FileNotFoundError when trying to run the tool.

Solution

This PR adds cross-platform path detection that supports:

  • macOS: /Users/{username}/.SkeletonKey
  • Linux: /home/{username}/.SkeletonKey (existing behavior)
  • Windows: C:\Users\{username}\.SkeletonKey

Changes Made

  1. Cross-platform path detection in mods/bits.py
  2. Virtual environment wrapper script (key.sh) for modern Python environments

Testing

  • Tested on macOS (M3 MacBook Pro)
  • Verified backward compatibility with existing path structure
  • All cipher functions working correctly

Impact

This fix enables SkeletonKey to work on macOS and Windows systems, significantly expanding the tool's compatibility and user base.

Fixes the path detection issue that prevents macOS users from running SkeletonKey.

- Replace hardcoded Linux paths with cross-platform detection
- Add support for macOS (/Users/) and Windows (C:\Users\) paths
- Maintain backward compatibility with existing Linux installations
- Fixes issue where SkeletonKey fails to run on macOS systems

This resolves path errors when running SkeletonKey on macOS where
the user directory structure differs from Linux systems.
- Add key.sh wrapper script for virtual environment support
- Automatically activates Python virtual environment before running SkeletonKey
- Provides error checking for missing directories and virtual environments
- Useful for systems with externally managed Python environments (modern macOS/Linux)

This wrapper ensures SkeletonKey dependencies are properly isolated and loaded.
@davidtkeane davidtkeane mentioned this pull request Jul 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant