Using Docker

Using Docker simplifies having all the required dependencies and tools (including most recent versions of libimobiledevice) readily installed. Note that this requires a Linux host, as Docker for Windows and Mac doesn't support passing through USB devices.

Install Docker following the official documentation.

Once installed, you can clone MVT's repository and build its Docker image:

git clone https://github.com/mvt-project/mvt.git
cd mvt
docker build -t mvt .

Test if the image was created successfully:

docker run -it mvt

If a prompt is spawned successfully, you can close it with exit.

If you wish to use MVT to test an Android device you will need to enable the container's access to the host's USB devices. You can do so by enabling the --privileged flag and mounting the USB bus device as a volume:

docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb mvt

Please note: the --privileged parameter is generally regarded as a security risk. If you want to learn more about this check out this explainer on container escapes as it gives access to the whole system.

Recent versions of Docker provide a --device parameter allowing to specify a precise USB device without enabling --privileged:

docker run -it --device=/dev/<your_usb_port> mvt