Metadata-Version: 2.1
Name: grievios
Version: 0.1.0
Summary: 
Author: Hannes Hauer
Author-email: grievios@hanneshauer.eu
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: appium-python-client (>=2.10.1,<3.0.0)
Requires-Dist: fastapi (>=0.95.2,<0.96.0)
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
Requires-Dist: networkx (>=3.1,<4.0)
Requires-Dist: sqlalchemy (>=2.0.15,<3.0.0)
Requires-Dist: uvicorn[standard] (>=0.22.0,<0.23.0)
Description-Content-Type: text/markdown

# GRIEviOS

## Usage
### Requirements

- Python 3.10+
- [Appium v2](https://appium.io/docs/en/2.0/quickstart/install/)
- [Appium XCUITest Driver](https://appium.github.io/appium-xcuitest-driver/4.30/setup/)
- [Appium Real Device Setup](https://appium.github.io/appium-xcuitest-driver/4.30/real-device-config/)
- [ideviceinstaller](https://github.com/libimobiledevice/ideviceinstaller) for App installation on devices
- Optional: [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice) for `idevice_id` and `ideviceinfo`. Used for discovery of connected iOS devices.
- Optional: [tcpdump](https://www.tcpdump.org) for use of the TcpDump-Analyzer.
- Optional: [mitmproxy](https://mitmproxy.org) for use of the MitmDump-Analyzer. Requires a jailbroken device and disabled TLS certificate verification for effective use.

### Installation
The GRIEviOS webinterface is available at http://localhost:8000.

#### pipx
[pipx](https://pypa.github.io/pipx/) can be used to install GRIEviOS and its dependencies in an isolated environment:
```bash
# Install in isolated pipx environment
pipx install grievios
# Run server
grievios
```

#### Poetry
[Poetry](https://python-poetry.org) is recommended to install and run GRIEviOS and its dependencies when using the source code:
```bash
# Install dependencies
poetry install
# Run using Poetry environment
poetry run grievios
```

### Configuration

By default, GRIEviOS stores its database and logs in `$HOME/.grievios`.
This path can be configured using the environment variable `GRIEVIOS_DIR`.


### Usage
#### Application Files
GRIEviOS checks for .ipa iOS Application Archive files in the directory `$GRIEVIOS_DIR/IPAs`.

#### Logs and Analyzer files
GRIEviOS logs and files generated by analyzers are stored in `$GRIEVIOS_DIR/logs/exploration-<exploration-id>`.



