diff --git a/docs/debug_proxying.md b/docs/debug_proxying.md index a28163c959..f76c24eecb 100644 --- a/docs/debug_proxying.md +++ b/docs/debug_proxying.md @@ -9,13 +9,18 @@ 1) Set `127.0.0.1` as "Host name" and `8080` as "Port number". 1) Click "Apply" and verify that "Proxy status" is "Success" and close the settings window. Screenshot 2023-10-04 at 14 48 47 + 1) Alternatively, set the proxy on the device itself, which the app honours through `DefaultProxyProvider`, and which also works on a physical device: + ``` + adb shell settings put global http_proxy 10.0.2.2:8080 + ``` + Use `adb shell settings delete global http_proxy` to remove it afterwards. On a physical device, replace `10.0.2.2` with the address of the machine running mitmproxy. 1) Install the mitmproxy CA cert (this is needed to see traffic from java/kotlin code, it's not needed for traffic coming from native code e.g. the matrix-rust-sdk). 1) Open the emulator Chrome browser app 1) Go to the url `mitm.it` 1) Follow the instructions to install the CA cert on Android devices. Screenshot 2023-10-04 at 14 51 27 1) Slightly modify the Element X app source code. - 1) Go to the `RustMatrixClientFactory.create()` method. + 1) Go to the `RustMatrixClientFactory.getBaseClientBuilder()` method, which builds every client the app creates, whether it is logging in or restoring a session. 1) Add `.disableSslVerification()` in the `ClientBuilder` method chain. 1) Build and run the Element X app. 1) Enjoy, you will see all the traffic in mitmproxy's web interface.