Files
KeepAliveE5/local/run
github-actions[bot] 5ef35d1f2a reset
2024-10-24 18:07:20 +08:00

122 lines
4.0 KiB
Bash

#!/usr/bin/env bash
change_source() {
cat <<'EOF' >/etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb https://launchpad.proxy.ustclug.org/deadsnakes/ppa/ubuntu jammy main
# deb-src https://launchpad.proxy.ustclug.org/deadsnakes/ppa/ubuntu jammy main
EOF
cat <<'EOF' >/etc/pip.conf
[global]
index-url = https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
format = columns
[install]
trusted-host = mirrors.tuna.tsinghua.edu.cn
EOF
mkdir -p /usr/etc/
cat <<'EOF' >/usr/etc/npmrc
registry=https://registry.npmmirror.com
EOF
# https://askubuntu.com/questions/1459005/cant-add-a-public-key-to-ubuntu-22-04
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BA6932366A755776
gpg --export BA6932366A755776 | tee /etc/apt/trusted.gpg.d/launchpad.proxy.ustclug.org.gpg
}
register() {
(
cd /KeepAliveE5 || exit 1
bash wrapper.sh pull
bash wrapper.sh check_env
bash wrapper.sh register
)
}
invoke() {
dev="$1"
(
cd /KeepAliveE5 || exit 1
bash wrapper.sh pull
bash wrapper.sh has_valid_cfg || {
echo "Config files are not valid, please run Register App action."
exit 1
}
if [ ! "$dev" ]; then
sum=$(cksum <<<"$PASSWD" | cut -f1 -d' ')
m=$(date "+%-m")
d=$(date "+%-d")
h=$(date "+%-H")
[ $(((d + m + sum) % 6)) = 1 ] && exit 0
[ $(((h + d + sum) & 1)) = 1 ] && exit 0
fi
bash wrapper.sh invoke
env TZ=Asia/Shanghai date "+%Y-%m-%d %H:%M:%S"
)
}
add_job() {
jobs="$(crontab -l 2>/dev/null)"
if ! echo "$jobs" | grep -q invoke; then
{
if ! echo "$jobs" | grep -q DOCKER; then
# cat /proc/1/environ |
# sed -r 's/=/="/g' |
# sed -z 's/\n/\\n/g' |
# sed -r 's/\x0/"\n/g'
python3 -c 'import os, json; [print("{0}={1}".format(k, json.dumps(v))) for k, v in os.environ.items() if k in ("PATH", "USER", "PASSWD", "DOCKER", "HOSTNAME", "TZ", "HOME")]'
echo
fi
[ "$jobs" ] && echo "$jobs"
# https://snippets.aktagon.com/snippets/945-how-to-get-cron-to-log-to-stdout-under-docker-and-kubernetes
echo "7 1,5,10,14,17,22 * * * run invoke 1>/proc/1/fd/1 2>/proc/1/fd/2"
echo
} | crontab -
fi
}
view_config() {
(
cd /KeepAliveE5 || exit 1
poetry run python crypto.py d || eixt 1
awk '1' config/*
poetry run python crypto.py e || eixt 1
)
}
case $1 in
change_source | register | invoke | add_job | view_config)
act="$1"
shift
$act "$@"
;;
*)
echo "Not supported"
exit 1
;;
esac