#!/bin/bash -e
######################################################################
# Charles Proxy startup script
#
# Find Charles lib directory
if [ -z "$CHARLES_LIB"]; then
CHARLES_LIB="$(dirname "$(readlink -f "$0")")"/../lib
if [ ! -f "$CHARLES_LIB/charles.jar" ]; then
CHARLES_LIB="/usr/lib/charles-proxy"
fi
if [ ! -f "$CHARLES_LIB/charles.jar" ]; then
CHARLES_LIB="/usr/share/java/charles"
fi
fi
if [ ! -f "$CHARLES_LIB/charles.jar" ]; then
echo >&2 "Charles lib directory not found. Expected it in $CHARLES_LIB."
exit 1
fi
# Check if we have the included JDK
if [ -d "$CHARLES_LIB/jdk" ]; then
export JAVA_HOME="$CHARLES_LIB/jdk"
fi
# Find Java binary
if [ -z "$JAVA_HOME" ]; then
hash java 2>^- || { echo >&2 "Charles couldn't start: java not found. Please install java to use Charles."; exit 1; }
JAVA=java
else
JAVA="$JAVA_HOME/bin/java"
fi
# HiDPI
if [ -x /usr/bin/gsettings ]; then
GDK_SCALE=$(/usr/bin/gsettings get org.gnome.desktop.interface scaling-factor | awk '{print $2}')
export GDK_SCALE
fi
# Launch Charles
$JAVA -Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$CHARLES_LIB" -jar $CHARLES_LIB/charles.jar $*