(trial) riot devel: separate preset to config dir riot.d

This commit is contained in:
xiongdian.me 2023-12-06 19:17:19 +08:00
parent fbb4a6ff76
commit 76af9fa434
6 changed files with 36 additions and 41 deletions

View File

@ -4,6 +4,7 @@ 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"
# check if port number valid
check_port() {
@ -29,14 +30,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 +42,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() {

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