diff --git a/.zshrc2 b/.zshrc2 index 5493eff..d96b54e 100644 --- a/.zshrc2 +++ b/.zshrc2 @@ -108,9 +108,6 @@ esac if [[ -x $(command -v trash) ]]; then alias "rm"="echo use the full path i.e. '/bin/rm'\; consider using trash" fi -sibd() { ssh -p 12022 root@$1${1:+.}ibd.ink } -sob() { ssh -p 24022 root@$1${1:+.}ob.ac.cn } -snasp() { ssh -o ProxyJump="ssh@nasp.ob.ac.cn:36022" dictxiong@$1 } gbes() { git for-each-ref --sort=-committerdate refs/heads refs/remotes --format="%(authordate:format:%y-%m-%d.%a %H:%M %z)|%(color:red)%(objectname:short)|%(color:yellow)%(refname:short)%(color:reset)|%(color:reset)%(authorname): %(color:green)%(subject)" --color=always | column -ts"|" | less -FX } piv-agent() { diff --git a/scripts/ciot b/scripts/ciot deleted file mode 100755 index 9902732..0000000 --- a/scripts/ciot +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# connect to iot services -THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd ) -source "$THIS_DIR/../tools/common.sh" - -# proxy server and port -SERVER=${SERVER:-bj1.ob.ac.cn} -get_server_port() -{ - local tmp - tmp=$(sha256sum <<< "$1" | tr -cd "[:digit:]") - tmp=${tmp:0:4} - echo $((tmp+36000)) -} - -# ssh -SSH_USERNAME=${SSH_USERNAME:-root} -_ssh() -{ - ssh -p $(get_server_port "$1") "$SSH_USERNAME@$SERVER" -} - -# main -print_help() -{ - fmt_info "usage: $0 [options]" - echo "available commands: ssh" -} - -router() -{ - case $1 in - -h|--help) - print_help - ;; - ssh ) - _ssh "$2" - ;; - * ) - print_help - fmt_fatal "unknown command: $1" - ;; - esac -} - -router "${GOT_OPTS[@]}" diff --git a/scripts/diot b/scripts/diot new file mode 100755 index 0000000..e0402ec --- /dev/null +++ b/scripts/diot @@ -0,0 +1,80 @@ +#!/bin/bash +# connect to iot services +THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd ) +source "$THIS_DIR/../tools/common.sh" + +# get target settings +# provides: +SERVER="" +PORT="" +SSH_USERNAME="" +SSH_OPTIONS="" +get_server_meta() +{ + local domain=${1##*.} + local host=${1%.*} + if [[ "$host" == "$domain" ]]; then + domain="" + fi + case $domain in + ibd ) + SERVER=$host.ibd.ink + PORT=12022 + SSH_USERNAME=root + ;; + ob ) + SERVER=$host.ob.ac.cn + PORT=24022 + SSH_USERNAME=root + ;; + nasp ) + SERVER=$host + PORT=22 + SSH_USERNAME=dictxiong + SSH_OPTIONS='-o ProxyJump="ssh@nasp.ob.ac.cn:36022"' + ;; + "" ) + SERVER=bj1.ob.ac.cn + local tmp=$(sha256sum <<< "$host" | tr -cd "[:digit:]") + tmp=${tmp:0:4} + PORT=$((tmp+36000)) + SSH_USERNAME=root + ;; + * ) + fmt_fatal "unknown domain: $domain" + esac +} + +# ssh +_ssh() +{ + get_server_meta "$1" + fmt_note "--> ssh to $SERVER:$PORT" + eval ssh -p $PORT $SSH_OPTIONS $SSH_USERNAME@$SERVER +} + +# main +print_help() +{ + fmt_info "usage: $0 [options]" + echo "available commands: ssh" +} + +router() +{ + test $# -eq 2 || (print_help && fmt_fatal "invalid arguments") + case $1 in + -h|--help) + print_help + ;; + ssh ) + _ssh "$2" + ;; + * ) + print_help + fmt_fatal "unknown command: $1" + ;; + esac +} + +router "${GOT_OPTS[@]}" diff --git a/scripts/dogo b/scripts/dogo index 2c2c6c3..6c8f438 100755 --- a/scripts/dogo +++ b/scripts/dogo @@ -25,6 +25,6 @@ fi if [[ -z "$CONTAINER" ]]; then fmt_fatal "container not found" else - echo "--> ${CONTAINER_META[@]}" + fmt_note "--> ${CONTAINER_META[@]}" $SUDO docker exec -it $CONTAINER sh -c 'export DFS="bash <(curl dfs.beardic.cn) -a"; if [ -x "$(command -v zsh)" ]; then echo "--> zsh"; unset DFS; zsh; elif [ -x "$(command -v bash)" ]; then echo "--> bash"; bash; else echo "--> sh"; sh; fi' fi diff --git a/scripts/doll b/scripts/doll index 2fb7c91..4c18839 100755 --- a/scripts/doll +++ b/scripts/doll @@ -20,6 +20,6 @@ fi if [[ -z "$IMAGE" ]]; then fmt_fatal "image not found" else - echo "--> ${IMAGE_META[@]}" + fmt_note "--> ${IMAGE_META[@]}" $SUDO docker run ${2:+"--name"} $2 -itd $IMAGE sh fi