This commit is contained in:
darkclip 2026-01-28 16:45:32 +08:00
parent a3e82b4950
commit 01d28d3cdc
Signed by: hl
GPG Key ID: A948B2AA5A5D3BDB

99
init.sh
View File

@ -3,13 +3,13 @@ set -e
OS_ARCH=$(dpkg --print-architecture) || (echo "Not Debian Based Distro" && exit 1)
OS_CODE=$(source /etc/os-release && echo "$VERSION_CODENAME")
OS_VERSION=""
OS_BRANCH=""
case $OS_CODE in
bullseye) OS_VERSION="11" ;;
bookworm) OS_VERSION="12" ;;
trixie) OS_VERSION="13" ;;
bookworm) OS_BRANCH="debian" ;;
trixie) OS_BRANCH="debian" ;;
noble) OS_BRANCH="ubuntu" ;;
esac
if [ -z $OS_VERSION ]; then
if [ -z $OS_BRANCH ]; then
echo "Unsupported Debian Code: $OS_CODE" && exit 1
fi
DISTRO_PVE=$($(command -v pvesh &>/dev/null) && echo 1 || echo 0)
@ -20,25 +20,28 @@ AWD=$(dirname "$SCRIPT")
choose_sites(){
case $MIRROR_SOURCE in
1)
MIRROR_URL=https://mirrors.cernet.edu.cn/debian/
SEC_URL=https://mirrors.cernet.edu.cn/debian-security
DOCKER_URL=https://mirrors.cernet.edu.cn/docker-ce/linux/debian
DOCKER_PGP=https://mirrors.cernet.edu.cn/docker-ce/linux/debian/gpg
DEBIAN_URL=https://mirrors.cernet.edu.cn/debian
DEBIAN_SEC_URL=https://mirrors.cernet.edu.cn/debian-security
DOCKER_DEBIAN_URL=https://mirrors.cernet.edu.cn/docker-ce/linux/debian
PVE_URL=https://mirrors.cernet.edu.cn/proxmox/debian/pve
UBUNTU_URL=https://mirrors.cernet.edu.cn/ubuntu
DOCKER_UBUNTU_URL=https://mirrors.cernet.edu.cn/docker-ce/linux/ubuntu
;;
2)
MIRROR_URL=https://mirrors.aliyun.com/debian/
SEC_URL=https://mirrors.aliyun.com/debian-security
DOCKER_URL=https://mirrors.aliyun.com/docker-ce/linux/debian
DOCKER_PGP=https://mirrors.aliyun.com/docker-ce/linux/debian/gpg
DEBIAN_URL=https://mirrors.aliyun.com/debian
DEBIAN_SEC_URL=https://mirrors.aliyun.com/debian-security
DOCKER_DEBIAN_URL=https://mirrors.aliyun.com/docker-ce/linux/debian
PVE_URL=https://mirrors.cernet.edu.cn/proxmox/debian/pve
UBUNTU_URL=https://mirrors.aliyun.com/ubuntu
DOCKER_UBUNTU_URL=https://mirrors.aliyun.com/docker-ce/linux/ubuntu
;;
*)
MIRROR_URL=https://deb.debian.org/debian/
SEC_URL=https://security.debian.org/debian-security
DOCKER_URL=https://download.docker.com/linux/debian
DOCKER_PGP=https://download.docker.com/linux/debian/gpg
DEBIAN_URL=https://deb.debian.org/debian
DEBIAN_SEC_URL=https://security.debian.org/debian-security
DOCKER_DEBIAN_URL=https://download.docker.com/linux/debian
PVE_URL=http://download.proxmox.com/debian/pve
UBUNTU_URL=https://archive.ubuntu.com/ubuntu
DOCKER_UBUNTU_URL=https://download.docker.com/linux/ubuntu
;;
esac
}
@ -49,22 +52,42 @@ set_pkg_source(){
rm /etc/apt/sources.list || true
rm /etc/apt/sources.list.d/* || true
echo -e "Enabled: yes
if [[ $OS_BRANCH == "debian" ]]; then
echo -e "Enabled: yes
Types: deb
URIs: $MIRROR_URL
URIs: $DEBIAN_URL
Suites: $OS_CODE $OS_CODE-updates $OS_CODE-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Architectures: $OS_ARCH
Types: deb
URIs: $SEC_URL
URIs: $DEBIAN_SEC_URL
Suites: $OS_CODE-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Architectures: $OS_ARCH
" | tee /etc/apt/sources.list.d/debian.sources
elif [[ $OS_BRANCH == "ubuntu" ]]; then
echo -e "Enabled: yes
Types: deb
URIs: $UBUNTU_URL
Suites: $OS_CODE $OS_CODE-updates $OS_CODE-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Architectures: $OS_ARCH
Types: deb
URIs: $UBUNTU_URL
Suites: $OS_CODE-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Architectures: $OS_ARCH
" | tee /etc/apt/sources.list.d/ubuntu.sources
fi
if ((DISTRO_PVE)); then
echo -e "Types: deb
URIs: $PVE_URL
@ -73,36 +96,50 @@ Components: pve-no-subscription
Signed-By: /etc/apt/trusted.gpg.d/proxmox-release-$OS_CODE.gpg
" | tee /etc/apt/sources.list.d/pve-no-subscription.sources
else
echo -e "Types: deb
URIs: $DOCKER_URL
if [[ $OS_BRANCH == "debian" ]]; then
echo -e "Types: deb
URIs: $DOCKER_DEBIAN_URL
Suites: $OS_CODE
Components: stable
Signed-By: /etc/apt/trusted.gpg.d/docker.gpg
Architectures: $OS_ARCH
" | tee /etc/apt/sources.list.d/docker.sources
curl -fsSL $DOCKER_PGP $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/docker.gpg > /dev/null
curl -fsSL $DOCKER_DEBIAN_URL/gpg $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/docker.gpg > /dev/null
#For docker-ctop
echo -e "Types: deb
#For docker-ctop
echo -e "Types: deb
URIs: http://packages.azlux.fr/debian
Suites: $OS_CODE
Components: main
Signed-By: /etc/apt/trusted.gpg.d/azlux-archive-keyring.gpg
Architectures: $OS_ARCH
" | tee /etc/apt/sources.list.d/azlux.sources
curl -fsSL "https://azlux.fr/repo.gpg.key" $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/azlux-archive-keyring.gpg > /dev/null
curl -fsSL "https://azlux.fr/repo.gpg.key" $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/azlux-archive-keyring.gpg > /dev/null
echo -e "Types: deb
echo -e "Types: deb
URIs: https://packagecloud.io/crowdsec/crowdsec/any/
Suites: any
Components: main
Signed-By: /etc/apt/trusted.gpg.d/crowdsec-archive-keyring.gpg
Architectures: $OS_ARCH
" | tee /etc/apt/sources.list.d/crowdsec.sources
curl -fsSL "https://packagecloud.io/crowdsec/crowdsec/gpgkey" $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/crowdsec-archive-keyring.gpg > /dev/null
curl -fsSL "https://packagecloud.io/crowdsec/crowdsec/gpgkey" $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/crowdsec-archive-keyring.gpg > /dev/null
elif [[ $OS_BRANCH == "ubuntu" ]]; then
echo -e "Types: deb
URIs: $DOCKER_UBUNTU_URL
Suites: $OS_CODE
Components: stable
Signed-By: /etc/apt/trusted.gpg.d/docker.gpg
Architectures: $OS_ARCH
" | tee /etc/apt/sources.list.d/docker.sources
curl -fsSL $DOCKER_UBUNTU_URL/gpg $SET_PROXY | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/docker.gpg > /dev/null
fi
fi
}