Skip to content

Standalone mode

Tamás Kőhegyi edited this page Jul 20, 2022 · 1 revision

The proxy can run in standalone mode, however using this mode seems not really useful, since in this case its capabilities (request/response evaluation and manipulation) are not available.

The source need to be compiled by using the following command: ./gradlew build release, and when the compilation finishes, a mitm-java-proxy-<version>.jar file will be generated into the <src>/release folder, and the proxy can be started with the following command: java -jar mitm-java-proxy-<version>.jar

In case HTTPS traffic is used, it is highly recommended to start the proxy with additional parameters as can be seen below:

java -Djdk.tls.namedGroups="secp256r1, secp384r1, ffdhe2048, ffdhe3072" -jar mitm-java-proxy-<version>.jar

Starting the proxy without any config file will cause randomly assigned proxy port - you may detect it from the console log. It is recommended to provide a config file in which the following parameters may be set:

#sample config file content, to be used in standalone mode only

#default port: randomly assigned
proxy.port=9092

#default timeout: 1200000, which means 20 minutes
proxy.timeout=30000

#default Ssl behaviour: false
proxy.keepSslAlive=false

To deep dive into the SSL protocol details, you may add -Djavax.net.debug=all - there will be lots of exceptions, but don't worry.

So, finally, the most sophisticated starting approach is the following:

java -Djdk.tls.namedGroups="secp256r1, secp384r1, ffdhe2048, ffdhe3072" -Djavax.net.debug=all -jar mitm-java-proxy-<version>.jar proxy.configuration.file

where proxy.configuration.file is the text file name that contains the proxy configuration data.