#!/system/bin/sh

# THE BEST CHEAT - EBLANIUM.T.ME

parameters=""
pidfile="/tmp/eblanium_rec.pid"

recordeblan() {
    su -c "screenrecord $parameters /sdcard/Eblanium-rec_$RANDOM.mp4 & echo \$! > $pidfile"
    echo "Recording..."
    sleep 1
}

stoprecord() {
    if [ -f "$pidfile" ]; then
        pid=$(cat "$pidfile")
        su -c "kill -9 $pid"
        rm "$pidfile"
        echo "Stopped."
    else
        echo "No record running."
    fi
    sleep 1
}

setbitrate() {
    echo -n "Bitrate (e.g. 8000000): "
    read br
    parameters="$parameters --bit-rate $br"
}

setfps() {
    echo -n "FPS (e.g. 30): "
    read fps
    parameters="$parameters --frame-rate $fps"
}

setres() {
    echo -n "Resolution (e.g. 1280x720): "
    read res
    parameters="$parameters --size $res"
}

main() {
while true; do
clear # best cheat — t.me/EblaniumDLC
echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
echo ' Eblanium overlay screen recorder '
echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
echo ' sub to t.me/EblaniumDLC '
echo ' Select Option(1-4) '
echo ' 1.Record '
echo ' 2.Stop '
echo ' 3.Bitrate '
echo ' 4.Fps '
echo ' 5.Resolution '
echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
read input

if [ "$input" -eq 1 ]; then
    recordeblan
elif [ "$input" -eq 2 ]; then
    stoprecord
elif [ "$input" -eq 3 ]; then
    setbitrate
elif [ "$input" -eq 4 ]; then
    setfps
elif [ "$input" -eq 5 ]; then
    setres
else
    echo "Invalid option"
    sleep 1
fi
done
}

main
