#!/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 \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 \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 " && 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 }