Improve Installation Documentation for New Users

#387 · closed · 1 comments

View on GitHub ↗

akramoo

### Problem The current installation instructions for the Ghost Framework are minimal and lack detail, making it challenging for new users to set up the project successfully. The README only mentions `pip3 install git+https://github.com/EntySec/Ghost`, but this doesn’t fully explain the process, prerequisites, or potential pitfalls. ### Context I’ve been trying to set up Ghost in a Python 3.7.0 environment (e.g., a Conda env) to explore its Android post-exploitation features. However, I ran into several hurdles: - The dependencies (`adb-shell`, `pex`, `badges`, `colorscript`) need to be installed separately due to Git-hosted sources, but this isn’t mentioned. - ADB setup isn’t documented, which is critical since Ghost relies on it. - The `ghost` CLI didn’t work immediately after a direct `pip install` from Git; I had to clone the repo and install locally with `pip install .`. - There’s no guidance on verifying the installation or troubleshooting common issues. ### Suggestion It would greatly help to have a more detailed installation section in the README or a dedicated `INSTALL.md` file. Here’s what could be included: 1. **Prerequisites**: Mention Python version (≥3.7.0), `git`, `pip`, and ADB installation steps (e.g., `conda install -c conda-forge android-tools` or OS-specific commands). 2. **Step-by-Step Instructions**: - Clone the repo: `git clone https://github.com/EntySec/Ghost.git` - Install dependencies: List commands for `adb-shell` and each Git-hosted package. - Install Ghost: Clarify `pip install .` vs. `pip install git+https://...`. 3. **Verification**: Suggest running `ghost --help` or `python -m ghost.cli` to confirm setup. 4. **Troubleshooting**: Tips for ADB not found, dependency errors, or CLI issues. ### Additional Info - **Environment**: Conda with Python 3.7.0 on [your OS, e.g., Linux/Windows/Mac]. - **Steps I Took**: Cloned the repo, installed dependencies manually, ran `pip install .`, and tested with `ghost` CLI. - **Outcome**: [e.g., "CLI worked after local install, but not with the README’s method."] ### Why This Matters Clear documentation would lower the entry barrier for users unfamiliar with Python packaging or ADB, making Ghost more accessible to its target audience (security researchers, pentesters, etc.). Thanks for maintaining this project—it’s got a lot of potential! Happy to provide more details or assist with drafting the docs if needed.

Comments

enty8080

Hey @akramoo There are several problems with your issue. In context you mentioned that Ghost relies on ADB installation which is not true since it uses `adb-shell` with it's own protocol implementation. There is no need to install additional packages like `android-platform-tools`. Another problem is that all dependencies (`adb-shell`, `badges`, etc.) are specified in `setup.py` file which is executed when you invoke `pip install` and installed automatically by pip. If Ghost Framework is not installed using this single command then you probably have an issue with your virtual environment or python setup. Kind regards, Ivan Nikolskiy