132 lines
2.7 KiB
Bash
132 lines
2.7 KiB
Bash
#!/bin/sh
|
|
|
|
# I have my automake
|
|
export ACLOCAL_PATH=/usr/share/aclocal
|
|
|
|
export ROKU_NFS_ROOT=$HOME/roku/nfs
|
|
export ROKU_NFS_IP=192.168.0.64
|
|
export EXPORTROOT=${ROKU_NFS_ROOT}
|
|
|
|
###############################################################################
|
|
#
|
|
# Work with device.
|
|
#
|
|
export DEVPASSWORD=aaaa
|
|
|
|
install_auth_token()
|
|
{
|
|
[ ! -f "$1" ] && echo "usage: install_auth_toke <auth token file> \n ROKU_DEV_TARGET=${ROKU_DEV_TARGET}" && return 0
|
|
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
|
|
curl --data-binary @$1 http://${ROKU_DEV_TARGET}:8060/token/install
|
|
}
|
|
|
|
sideload()
|
|
{
|
|
[ ! -f "$1" ] && echo "usage: sideload <file> \n ${ROKU_DEV_TARGET}=${ROKU_DEV_TARGET}" && return 0
|
|
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
|
|
curl --anyauth --user "rokudev:${DEVPASSWORD}" -F "mysubmit=Install_Netflix" -F "archive=@$1" http://${ROKU_DEV_TARGET}/plugin_install
|
|
}
|
|
|
|
__netcat()
|
|
{
|
|
netcat -t $ROKU_DEV_TARGET 23
|
|
}
|
|
|
|
__set_server_ip()
|
|
{
|
|
SERVER_IP=$(ip route get "${ROKU_DEV_TARGET}" | sed -n "s/.* src \([\.0-9]*\) .*/\1/p")
|
|
}
|
|
|
|
device_cmd()
|
|
{
|
|
echo "$1; exit" | __netcat
|
|
}
|
|
|
|
rokuflash()
|
|
{
|
|
[ -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"
|
|
}
|
|
|
|
rokureboot()
|
|
{
|
|
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
|
|
device_cmd "reboot"
|
|
}
|
|
|
|
rokutelnet()
|
|
{
|
|
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
|
|
telnet "$ROKU_DEV_TARGET" $1
|
|
}
|
|
|
|
update_san()
|
|
{
|
|
[ -z "$ROKU_DEV_TARGET" ] && echo "ROKU_DEV_TARGET must be defined" && return 0
|
|
}
|
|
|
|
###############################################################################
|
|
#
|
|
# Logging
|
|
#
|
|
LOGDIR="${HOME}/roku/logs"
|
|
|
|
|
|
dcapture()
|
|
{
|
|
nc minicom "$@" -C $LOGDIR/.log.$(date +%Y-%m-%d--%H-%M-%S)
|
|
}
|
|
|
|
|
|
dfile()
|
|
{
|
|
local Nth="-1"
|
|
if [ $# -gt 0 ]; then
|
|
Nth="$1"
|
|
fi
|
|
|
|
echo $(ls -tr -1 ${LOGDIR}/minicom.log.* | tail ${Nth} | head -1)
|
|
}
|
|
|
|
dless()
|
|
{
|
|
less $(lfile "$@")
|
|
}
|
|
|
|
dcat()
|
|
{
|
|
cat $(lfile "$@")
|
|
}
|
|
|
|
dgrep()
|
|
{
|
|
lcat | grep -a --color "$@"
|
|
}
|
|
|
|
dtail()
|
|
{
|
|
if [ $# -gt 0 ]; then
|
|
tail -f $(lfile) | grep "$@"
|
|
else
|
|
tail -f $(lfile)
|
|
fi
|
|
}
|
|
|
|
###############################################################################
|
|
#
|
|
# Misc
|
|
#
|
|
|
|
rokuget()
|
|
{
|
|
[ -z "$1" ] && echo "usage: rokuget <url>" && return 0
|
|
if [ -z "$ROKU_CORP_PASSWORD" ]; then
|
|
local USER_PASSWORD="--ask-password"
|
|
else
|
|
local USER_PASSWORD="--password=$ROKU_CORP_PASSWORD"
|
|
fi
|
|
wget --no-check-certificate --user=vkhachatryan $USER_PASSWORD $1
|
|
}
|
|
|