roku wget password

This commit is contained in:
2023-06-08 14:09:08 +01:00
parent dbec281a4e
commit 6ec1c0b009
4 changed files with 227 additions and 301 deletions

View File

@@ -1,13 +1,15 @@
#!/bin/bash
source _roku_shared.sh
###############################################################################
#
# Helper functions
#
__set_server_ip()
__set_master_ip()
{
SERVER_IP=$(ip route get "${ROKU_DEV_TARGET}" | sed -n "s/.* src \([\.0-9]*\) .*/\1/p")
MASTER_IP=$(ip route get "${ROKU_DEV_TARGET}" | sed -n "s/.* src \([\.0-9]*\) .*/\1/p")
}
__netcat()
@@ -33,7 +35,7 @@ __device_cmd()
_roku_device_platform()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__device_cmd "echo \$ROKU_PLATFORM" | tail -1
__device_cmd "echo \$ROKU_PLATFORM" | tail -1 | tr -d '\r\n'
}
@@ -50,16 +52,35 @@ _roku_telnet()
_roku_flash()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__set_server_ip
__device_cmd ". /nvram/san; export SERVER_IP=$SERVER_IP; rokuflash $1"
__set_master_ip
__device_cmd ". /nvram/san; export MASTER_IP=$MASTER_IP; rokuflash $1"
}
# Side loaded applications:
# 8085 dev_ui_console
# 8086 dev_background_console
# 8087 dev_screensaver_console
# 8088 dev_getcontent_console
# 8089 dev_voice_adapter_console
#
# Server loaded applications:
# 8885 ui_console
# 8886 background_console (including NDK)
# 8887 screensaver_console
# 8888 getcontent_console (eg, for 54383, DFP Ad Service)
# 8889 voice_adapter_console
_roku_log()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__device_cmd "setconsole /dev/pts/0"
}
_roku_loglog()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__netcat $1
}
_roku_reboot()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
@@ -69,8 +90,8 @@ _roku_reboot()
_roku_san_update()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__set_server_ip
__device_cmd "wget -O /nvram/san http://${SERVER_IP}/roku/san/san"
__set_master_ip
__device_cmd "wget -O /nvram/san http://${MASTER_IP}/roku/san/san; source /nvram/san; setup_san"
}
###############################################################################
@@ -80,12 +101,12 @@ _roku_san_update()
_roku_audcap()
{
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__set_server_ip
__set_master_ip
__app_cmd "audcap record start 00"
echo -n "Press Enter to stop capture."
read
__app_cmd "audcap record stop"
__device_cmd "tftp -p -r $1.pcm -l /tmp/audcap_audio.pcm $SERVER_IP"
__device_cmd "tftp -p -r $1.pcm -l /tmp/audcap_audio.pcm $MASTER_IP"
sox -t raw -r 48000 -b 16 -c 2 -e signed-integer $1.pcm $1.wav
}
@@ -93,24 +114,28 @@ _roku_audcap()
#
# Debug app
#
_roku_debug_attach()
_roku_gdb_attach()
{
PLATFORM=lockhart
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
__device_cmd "/tmp/tools/gdbserver :5555 --attach \$(pgrep Application)"
__device_cmd "/nvram/tools/gdbserver :5555 --attach \$(pgrep Application)"
}
_roku_debug()
_roku_gdb()
{
PLATFORM=lockhart
echo $ROKU_DEV_PLATFORM >> test.txt
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
# __device_cmd "/tmp/tools/gdbserver :5555 --attach \$(pgrep Application)" &
# sleep 2
gdb-multiarch \
-ex "set non-stop off" \
-ex "target remote $ROKU_DEBUG_TARGET:5555" \
-ex "set solib-absolute-prefix $PWD/port/realtek/stark/$ROKU_DEV_TARGET/dist/rootfs" \
-ex "set sysroot $PWD/port/realtek/stark/$ROKU_DEV_TARGET/dist/rootfs"
-ex "set pagination off" \
-ex "set solib-absolute-prefix $PWD/port/realtek/stark/$ROKU_DEV_PLATFORM/dist/rootfs" \
-ex "set sysroot $PWD/port/realtek/stark/$ROKU_DEV_PLATFORM/dist/rootfs" \
-ex "set substitute-path . $PWD" \
-ex "target remote $ROKU_DEV_TARGET:5555"
# -ex "set solib-absolute-prefix $PWD/port/realtek/stark/$ROKU_DEV_PLATFORM/dist/rootfs" \
# -ex "set sysroot $PWD/port/realtek/stark/$ROKU_DEV_PLATFORM/dist/rootfs"
}
###############################################################################
@@ -188,31 +213,26 @@ _roku_wget()
[ -z "$1" ] && echo "usage: roku_wget <url>" && return 0
if [ -z "$ROKU_CORP_PASSWORD" ]; then
local USER_PASSWORD="--ask-password"
echo "NOTE: run 'roku wget pass' to set password."
else
local USER_PASSWORD="--password=$ROKU_CORP_PASSWORD"
fi
wget --no-check-certificate --user=vkhachatryan $USER_PASSWORD $1
wget --no-check-certificate --user=vkhachatryan $USER_PASSWORD "$@"
}
# _roku_wget_pass() sets corp password. It is defined in the
# _roku_shaed.sh as it need to set env on the shell level.
###############################################################################
#
# Dispatch commands.
#
help()
_roku_help()
{
echo "Command is not recognised."
}
FUNC=help
if [ "$(type -t _roku_$1)" == "function" ]; then
FUNC=_roku_$1
shift
elif [ "$(type -t _roku_$1_$2)" == "function" ]; then
FUNC=_roku_$1_$2
shift
shift
fi
$FUNC "$@"
_ROKU_DEFAULT_DISPATCH_FUNC=_roku_help
_roku_dispatch "$@"