Compare commits

...

3 Commits

Author SHA1 Message Date
xiongdian.me
2fa248fdb0 riot: support extra options and extra -o options 2023-12-06 19:32:24 +08:00
xiongdian.me
76af9fa434 (trial) riot devel: separate preset to config dir riot.d 2023-12-06 19:17:19 +08:00
xiongdian.me
fbb4a6ff76 zshrc: not alias rm to trash 2023-12-06 18:00:06 +08:00
7 changed files with 47 additions and 45 deletions

View File

@ -112,9 +112,6 @@ alias "cbds"='curl https://www.baidu.com'
alias "gdebug"='git add -A; git commit --allow-empty -m "bug fix ($(date))"'
alias "ls"='ls --color=tty'
alias "l"='ls -lAGh --time-style="+%y-%m-%d %H:%M"'
if [[ -x $(command -v trash) ]]; then
alias "rm"="echo use the full path i.e. '/bin/rm'\; consider using trash"
fi
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 }
sagt() { eval "$($DOTFILES/tools/sagent.sh $@)" }

View File

@ -4,6 +4,8 @@ THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd )
source "$THIS_DIR/../tools/common.sh"
RIOT_TRUST_CLIENT=${RIOT_TRUST_CLIENT:-${DFS_TRUST:-0}}
RIOT_TRUST_SERVER=${RIOT_TRUST_SERVER:-0}
RIOT_CONFIG_DIR="$THIS_DIR/riot.d"
RIOT_EXTRA_OPTIONS=""
# check if port number valid
check_port() {
@ -29,14 +31,6 @@ get_server_meta() {
RET_JUMP_SERVER="" # optional
# body
local remote="$1"
# shortcuts
if [[ "$remote" == "i" ]]; then
remote="sir0.ibd"
elif [[ "$remote" == "x" ]]; then
remote="bj1.ibd"
elif [[ "$remote" == "j" ]]; then
remote="sir0.ibd:36122"
fi
# if in the form user@...
if [[ "$remote" == *@* ]]; then
RET_USERNAME=${remote%%@*}
@ -49,45 +43,27 @@ get_server_meta() {
remote=${remote%:*}
check_port $RET_PORT || fmt_fatal invalid port number \"$RET_PORT\"
fi
# presets -- match remote
local remote_config="$RIOT_CONFIG_DIR/$remote.remote"
if [[ -f "$remote_config" ]]; then
source "$remote_config"
fi
# presets -- match domain
RET_HOSTNAME=${remote}
local domain=${remote##*.}
local host=${remote%.*}
# if there's no dot
if [[ "$host" == "$domain" && "$host" != "["*"]" ]]; then
domain="ibd"
domain="default"
fi
local root_domain_config="$RIOT_CONFIG_DIR/.domain"
if [[ -f "$root_domain_config" ]]; then
source "$root_domain_config"
fi
local domain_config="$RIOT_CONFIG_DIR/$domain.domain"
if [[ -n "$$domain" && -f "$domain_config" ]]; then
source "$domain_config"
fi
case $domain in
i|ibd )
RET_HOSTNAME=$host.ibd.ink
RET_PORT=${RET_PORT:-12022}
RET_USERNAME=${RET_USERNAME:-root}
RET_TRUST_SERVER=1
;;
nasp )
RET_HOSTNAME=$host
RET_PORT=${RET_PORT:-12022}
RET_USERNAME=${RET_USERNAME:-dictxiong}
RET_JUMP_SERVER="ssh@nasp.ob.ac.cn:36022"
RET_TRUST_SERVER=1
;;
x|ssh )
RET_HOSTNAME=ssh.beardic.cn
local tmp=$(sha256sum <<< "$host" | tr -cd "[:digit:]")
tmp=${tmp:0:4}
RET_PORT=$((10#$tmp+36000))
RET_USERNAME=root
RET_TRUST_SERVER=1
;;
box[0-9] )
RET_HOSTNAME=$host
RET_PORT=${RET_PORT:-12022}
RET_USERNAME=${RET_USERNAME:-root}
RET_JUMP_SERVER="root@$domain.ibd.ink:12022"
RET_TRUST_SERVER=1
;;
* )
RET_HOSTNAME="$remote"
esac
}
parse_remote() {
@ -149,7 +125,7 @@ prepare_ssh_cmd() {
else
local port_param='-p'
fi
echo "$ssh_bin ${PORT:+$port_param} $PORT $SSH_OPTIONS $SCP_SRC $USERNAME${USERNAME:+@}$SERVER $SCP_DST ${@:2}"
echo "$ssh_bin ${PORT:+$port_param} $PORT $SSH_OPTIONS $RIOT_EXTRA_OPTIONS $SCP_SRC $USERNAME${USERNAME:+@}$SERVER $SCP_DST ${@:2}"
}
# ssh
@ -213,6 +189,15 @@ router() {
exit
fi
while [[ "$1" == -* ]]; do
RIOT_EXTRA_OPTIONS="$RIOT_EXTRA_OPTIONS $1"
if [[ "$1" == "-o" ]]; then
RIOT_EXTRA_OPTIONS="$RIOT_EXTRA_OPTIONS $2"
shift
fi
shift
done
IFS=',' read -ra remotes <<< "$1"
for remote in "${remotes[@]}"; do
if [[ -z "$remote" ]]; then

View File

@ -0,0 +1 @@
./i.domain

4
scripts/riot.d/i.domain Normal file
View File

@ -0,0 +1,4 @@
RET_HOSTNAME=$host.ibd.ink
RET_PORT=${RET_PORT:-12022}
RET_USERNAME=${RET_USERNAME:-root}
RET_TRUST_SERVER=1

4
scripts/riot.d/j.remote Normal file
View File

@ -0,0 +1,4 @@
remote=sir0.ibd.ink
RET_PORT=${RET_PORT:-36122}
RET_USERNAME=${RET_USERNAME:-root}
RET_TRUST_SERVER=1

View File

@ -0,0 +1,5 @@
RET_HOSTNAME=$host
RET_PORT=${RET_PORT:-12022}
RET_USERNAME=${RET_USERNAME:-dictxiong}
RET_JUMP_SERVER="ssh@nasp.ob.ac.cn:36022"
RET_TRUST_SERVER=1

6
scripts/riot.d/x.domain Normal file
View File

@ -0,0 +1,6 @@
RET_HOSTNAME=ssh.beardic.cn
local tmp=$(sha256sum <<< "$host" | tr -cd "[:digit:]")
tmp=${tmp:0:4}
RET_PORT=$((10#$tmp+36000))
RET_USERNAME=root
RET_TRUST_SERVER=1