Compare commits

..

13 Commits

Author SHA1 Message Date
Super Manito
fec7c28054 更新文档 2025-11-02 03:43:42 +08:00
Super Manito
1ddf1fb708 Docker 脚本新增适配 Kylin Server 操作系统 2025-11-02 02:37:25 +08:00
Super Manito
c84ed20dfa 更新文档 2025-11-01 02:13:19 +08:00
Super Manito
655c8cdabe 优化 2025-11-01 02:00:21 +08:00
Super Manito
cbda99f56e 更新文档 2025-10-26 11:40:49 +08:00
Super Manito
f667facae7 更新文档 2025-10-24 17:51:12 +08:00
Super Manito
51be34be62 Docker 脚本指定镜像仓库命令选项新增支持指定多个地址 2025-10-23 05:35:17 +08:00
Super Manito
06bc87f75e bug fix 2025-10-22 15:09:33 +08:00
Super Manito
e26bd0d3f2 优化 2025-10-20 08:17:07 +08:00
Super Manito
cab4cd8977 更新文档 2025-10-20 01:23:57 +08:00
Super Manito
535cc8f751 优化 2025-10-20 01:23:16 +08:00
Super Manito
e81a8fda94 更新文档 2025-10-16 02:17:52 +08:00
Super Manito
cae539f6b7 新增部分软件源 2025-10-14 15:32:16 +08:00
55 changed files with 2111 additions and 1140 deletions

33
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,33 @@
# 参与共建
这篇指南会指导你如何为 LinuxMirrors 贡献自己的一份力量,请你在提 issue 或者 pull request 之前花几分钟来阅读一遍这篇指南。
## 行为准则
我们有一份 [行为准则](https://github.com/SuperManito/LinuxMirrors/blob/main/CODE_OF_CONDUCT.md),希望所有的贡献者都能遵守,请花时间阅读一遍全文以确保你能明白哪些是可以做的,哪些是不可以做的。
## 透明的开发
我们所有的工作都会放在 [GitHub](https://github.com/SuperManito/LinuxMirrors) 上。不管是核心团队的成员还是外部贡献者的 pull request 都需要经过同样流程的 review。
## Pull Request
请确保你的代码符合我们的编码规范,并且通过了所有的测试。提交前请务必在本地客户端进行测试,确保脚本的功能和性能符合预期,不会出现任何致命性的错误。
---
# Contributing to LinuxMirrors
The following is a set of guidelines for contributing to LinuxMirrors. Please spend several minutes reading these guidelines before you create an issue or pull request.
## Code of Conduct
We have adopted a [Code of Conduct](https://github.com/SuperManito/LinuxMirrors/blob/main/CODE_OF_CONDUCT.md) that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
## Open Development
All work on LinuxMirrors happens directly on [GitHub](https://github.com/SuperManito/LinuxMirrors). Both core team members and external contributors send pull requests which go through the same review process.
## Pull Request
Please ensure that your code complies with our coding standards and passes all tests. Before submitting, be sure to test it on your local client to ensure that the script's functionality and performance meet expectations and that there are no fatal errors.

View File

@@ -1,3 +1,7 @@
2025-11-02
* Adapted for Kylin Server to docker script [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
2025-10-12 2025-10-12
* Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c) * Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)

View File

@@ -1,3 +1,7 @@
2025-11-02
* Docker 脚本新增适配 Kylin Server 操作系统 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
2025-10-12 2025-10-12
* 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c) * 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)

View File

@@ -1,3 +1,7 @@
2025-11-02
* Docker 腳本新增適配 Kylin Server 作業系統 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
2025-10-12 2025-10-12
* 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c) * 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
## Author: SuperManito ## Author: SuperManito
## Modified: 2025-10-12 ## Modified: 2025-11-02
## License: MIT ## License: MIT
## GitHub: https://github.com/SuperManito/LinuxMirrors ## GitHub: https://github.com/SuperManito/LinuxMirrors
## Website: https://linuxmirrors.cn ## Website: https://linuxmirrors.cn
@@ -17,6 +17,8 @@ mirror_list_default=(
"mirrors.aliyun.com" "mirrors.aliyun.com"
"mirrors.tencent.com" "mirrors.tencent.com"
"mirrors.huaweicloud.com" "mirrors.huaweicloud.com"
"mirrors.cmecloud.cn"
"mirrors.ctyun.cn"
"mirrors.163.com" "mirrors.163.com"
"mirrors.volces.com" "mirrors.volces.com"
"mirrors.tuna.tsinghua.edu.cn" "mirrors.tuna.tsinghua.edu.cn"
@@ -75,6 +77,7 @@ mirror_list_abroad=(
"mirror.ossplanet.net" "mirror.ossplanet.net"
"linux.cs.nctu.edu.tw" "linux.cs.nctu.edu.tw"
"ftp.tku.edu.tw" "ftp.tku.edu.tw"
"mirror.twds.com.tw"
"mirror.anigil.com" "mirror.anigil.com"
"ftp.udx.icscoe.jp/Linux" "ftp.udx.icscoe.jp/Linux"
"ftp.jaist.ac.jp/pub/Linux" "ftp.jaist.ac.jp/pub/Linux"
@@ -143,6 +146,7 @@ mirror_list_extranet=(
"mirrors.aliyun.com" "mirrors.aliyun.com"
"mirrors.tencent.com" "mirrors.tencent.com"
"mirrors.huaweicloud.com" "mirrors.huaweicloud.com"
"mirrors.ctyun.cn"
"mirrors.volces.com" "mirrors.volces.com"
) )
# 软件源内网地址列表 # 软件源内网地址列表
@@ -150,6 +154,7 @@ mirror_list_intranet=(
"mirrors.cloud.aliyuncs.com" "mirrors.cloud.aliyuncs.com"
"mirrors.tencentyun.com" "mirrors.tencentyun.com"
"mirrors.myhuaweicloud.com" "mirrors.myhuaweicloud.com"
"internal.mirrors.ctyun.cn"
"mirrors.ivolces.com" "mirrors.ivolces.com"
) )
@@ -158,12 +163,12 @@ SPONSOR_ADS=(
"1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m" "1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m"
"多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m" "多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m"
"毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m" "毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m"
"林枫云 · 专注独立IP高频VPSR9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
"不死鸟CDN · 香港日本高防CDN免实名/免备案轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m" "不死鸟CDN · 香港日本高防CDN免实名/免备案轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m"
"青叶云 · 香港1T高防自助防火墙无视CC大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m" "青叶云 · 香港1T高防自助防火墙无视CC大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m"
"莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m" "莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m"
"云悠YUNYOO · 全球高性价比云服务器低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m" "云悠YUNYOO · 全球高性价比云服务器低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m"
"速拓云 · 国内高防云28元/月香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m" "速拓云 · 国内高防云28元/月香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m"
"林枫云 · 专注独立IP高频VPSR9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
"语鹿云盾 · 专业CDN加速、防御亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m" "语鹿云盾 · 专业CDN加速、防御亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m"
"不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m" "不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m"
"HKGserver · 全球家宽双ISP住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m" "HKGserver · 全球家宽双ISP住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m"
@@ -193,6 +198,8 @@ SYSTEM_OPENCLOUDOS_STREAM="OpenCloudOS Stream"
SYSTEM_TENCENTOS="TencentOS" SYSTEM_TENCENTOS="TencentOS"
SYSTEM_OPENEULER="openEuler" SYSTEM_OPENEULER="openEuler"
SYSTEM_ANOLISOS="Anolis" SYSTEM_ANOLISOS="Anolis"
SYSTEM_KYLIN_DESKTOP="Kylin Desktop"
SYSTEM_KYLIN_SERVER="Kylin Server"
SYSTEM_OPENKYLIN="openKylin" SYSTEM_OPENKYLIN="openKylin"
SYSTEM_OPENSUSE="openSUSE" SYSTEM_OPENSUSE="openSUSE"
SYSTEM_ARCH="Arch" SYSTEM_ARCH="Arch"
@@ -218,7 +225,8 @@ File_ArchLinuxRelease=/etc/arch-release
File_ManjaroRelease=/etc/manjaro-release File_ManjaroRelease=/etc/manjaro-release
File_AlpineRelease=/etc/alpine-release File_AlpineRelease=/etc/alpine-release
File_GentooRelease=/etc/gentoo-release File_GentooRelease=/etc/gentoo-release
File_openKylinVersion=/etc/kylin-version/kylin-system-version.conf File_KylinRelease=/etc/kylin-release
File_kylinVersion=/etc/kylin-version/kylin-system-version.conf
File_ProxmoxVersion=/etc/pve/.version File_ProxmoxVersion=/etc/pve/.version
## 定义软件源相关文件或目录 ## 定义软件源相关文件或目录
@@ -754,7 +762,7 @@ function collect_system_info() {
SYSTEM_FACTIONS="${SYSTEM_OPENCLOUDOS}" # 自 9.0 版本起不再基于红帽 SYSTEM_FACTIONS="${SYSTEM_OPENCLOUDOS}" # 自 9.0 版本起不再基于红帽
elif [ -s "${File_AnolisOSRelease}" ]; then elif [ -s "${File_AnolisOSRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽 SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
elif [ -s "${File_openKylinVersion}" ]; then elif [ -s "${File_kylinVersion}" ] && [[ "${SYSTEM_ID}" == *"openkylin"* ]]; then
SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}" SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}"
elif [ -f "${File_ArchLinuxRelease}" ]; then elif [ -f "${File_ArchLinuxRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_ARCH}" SYSTEM_FACTIONS="${SYSTEM_ARCH}"
@@ -1083,7 +1091,7 @@ function check_command_options() {
function choose_display_language() { function choose_display_language() {
local result local result
if command_exists tput; then if command_exists tput; then
local lang_key_labels=() local -a lang_key_labels=()
local language_text local language_text
for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do
language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}" language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}"
@@ -1131,22 +1139,21 @@ function choose_mirrors() {
local text=$1 local text=$1
echo "${#text}" echo "${#text}"
} }
local -a list_arr=()
local list_arr=()
local list_arr_sum="$(eval echo \${#$1[@]})" local list_arr_sum="$(eval echo \${#$1[@]})"
for ((i = 0; i < $list_arr_sum; i++)); do for ((i = 0; i < $list_arr_sum; i++)); do
list_arr[$i]="$(eval echo \${$1[i]})" list_arr[$i]="$(eval echo \${$1[i]})"
done done
local name_width=${2:-"30"} local name_width=${2:-"30"}
local __labels=() local -a list_labels=()
if [[ "${3}" ]]; then if [[ "${3}" ]]; then
eval "__labels=(\"\${${3}[@]}\")" eval "list_labels=(\"\${${3}[@]}\")"
fi fi
if command_exists printf; then if command_exists printf; then
local tmp_uchar_1 tmp_uchar_2 tmp_uchar_3 tmp_uchar_4 tmp_default_length tmp_length tmp_unicode_length tmp_spaces_nums tmp_max_length local tmp_uchar_1 tmp_uchar_2 tmp_uchar_3 tmp_uchar_4 tmp_default_length tmp_length tmp_unicode_length tmp_spaces_nums tmp_max_length
for ((i = 0; i < ${#list_arr[@]}; i++)); do for ((i = 0; i < ${#list_arr[@]}; i++)); do
if [[ "${__labels[$i]}" ]]; then if [[ "${list_labels[$i]}" ]]; then
tmp_name="${__labels[$i]}" tmp_name="${list_labels[$i]}"
else else
tmp_name="${list_arr[i]}" tmp_name="${list_arr[i]}"
fi fi
@@ -1171,8 +1178,8 @@ function choose_mirrors() {
done done
else else
for ((i = 0; i < ${#list_arr[@]}; i++)); do for ((i = 0; i < ${#list_arr[@]}; i++)); do
if [[ "${__labels[$i]}" ]]; then if [[ "${list_labels[$i]}" ]]; then
tmp_name="${__labels[$i]}" tmp_name="${list_labels[$i]}"
else else
tmp_name="${list_arr[i]}" tmp_name="${list_arr[i]}"
fi fi
@@ -1243,7 +1250,7 @@ function choose_mirrors() {
mirror_list_label_msg_prefix="mirrors.default" mirror_list_label_msg_prefix="mirrors.default"
mirror_list_print_length=32 mirror_list_print_length=32
fi fi
local mirror_list_labels=() local -a mirror_list_labels=()
local mirror_list_length=$(eval "echo \${#${mirror_list_name}[@]}") local mirror_list_length=$(eval "echo \${#${mirror_list_name}[@]}")
local label_msg_index label_msg_content local label_msg_index label_msg_content
for ((i = 0; i < ${mirror_list_length}; i++)); do for ((i = 0; i < ${mirror_list_length}; i++)); do
@@ -1606,7 +1613,7 @@ function remove_original_mirrors() {
mkdir -p "${Dir_YumRepos}" mkdir -p "${Dir_YumRepos}"
return return
fi fi
local repo_patterns=() local -a repo_patterns=()
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then
repo_patterns=( repo_patterns=(
"fedora.repo" "fedora.repo"
@@ -1844,7 +1851,7 @@ function change_mirrors_main() {
print_diff print_diff
fi fi
## 更新软件源 ## 更新软件源
local commands=() local -a commands=()
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
commands+=("apt-get update") commands+=("apt-get update")
@@ -1967,7 +1974,7 @@ function upgrade_software() {
esac esac
fi fi
fi fi
local commands=() local -a commands=()
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
commands+=("apt-get upgrade -y") commands+=("apt-get upgrade -y")
@@ -2243,13 +2250,11 @@ $(gen_deb_unsrc "${source_host}" "${SYSTEM_VERSION_CODENAME}" "${repository_sect
write_source_file write_source_file
## 底层系统软件源 ## 底层系统软件源
local base_system_branch base_system_codename local base_system_branch base_system_codename
if [[ "${SYSTEM_VERSION_ID}" == 6 ]]; then if [[ "${SYSTEM_NAME}" == *"LMDE"* ]]; then
# Debian 版LMDE # Debian 版LMDE
base_system_branch="debian" base_system_branch="debian"
grep -q "DEBIAN_CODENAME" $File_LinuxRelease base_system_codename="$(get_os_release_value DEBIAN_CODENAME)"
if [ $? -eq 0 ]; then if [[ -z "${base_system_codename}" ]]; then
base_system_codename="$(get_os_release_value DEBIAN_CODENAME)"
else
base_system_codename="bookworm" base_system_codename="bookworm"
fi fi
repository_sections="main contrib non-free non-free-firmware" repository_sections="main contrib non-free non-free-firmware"
@@ -2266,20 +2271,10 @@ $(gen_deb_security "${source_security_host}" "${base_system_codename}" "${reposi
else else
base_system_branch="ubuntu-ports" base_system_branch="ubuntu-ports"
fi fi
case "${SYSTEM_VERSION_ID_MAJOR}" in base_system_codename="$(get_os_release_value UBUNTU_CODENAME)"
22) if [[ -z "${base_system_codename}" ]]; then
base_system_codename="noble" base_system_codename="noble"
;; fi
21)
base_system_codename="jammy"
;;
20)
base_system_codename="focal"
;;
19)
base_system_codename="bionic"
;;
esac
repository_sections="main restricted universe multiverse" repository_sections="main restricted universe multiverse"
source_host="${SOURCE_BASE_SYSTEM:-"${SOURCE}"}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}" source_host="${SOURCE_BASE_SYSTEM:-"${SOURCE}"}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}"
source_security_host="${SOURCE_SECURITY:-${SOURCE_BASE_SYSTEM:-${SOURCE}}}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}" source_security_host="${SOURCE_SECURITY:-${SOURCE_BASE_SYSTEM:-${SOURCE}}}/${SOURCE_BASE_SYSTEM_BRANCH:-"${base_system_branch}"}"
@@ -2800,7 +2795,7 @@ function change_mirrors_openSUSE() {
## 修改源 ## 修改源
cd $Dir_ZYppRepos cd $Dir_ZYppRepos
local opensuse_repo_files=() local -a opensuse_repo_files=()
case "${SYSTEM_ID}" in case "${SYSTEM_ID}" in
opensuse-leap) opensuse-leap)
case "${SYSTEM_VERSION_ID_MAJOR}" in case "${SYSTEM_VERSION_ID_MAJOR}" in
@@ -3078,8 +3073,8 @@ function get_package_manager() {
function interactive_select_list() { function interactive_select_list() {
_SELECT_RESULT="" _SELECT_RESULT=""
eval "local __values=(\"\${${1}[@]}\")" eval "local -a __values=(\"\${${1}[@]}\")"
local __labels=() local -a __labels=()
local message="${2}" local message="${2}"
local selected=0 local selected=0
local start=0 local start=0
@@ -3313,7 +3308,7 @@ function animate_exec() {
exit 130 exit 130
} }
function make_temp_file() { function make_temp_file() {
local temp_dirs=("." "/tmp") local -a temp_dirs=("." "/tmp")
local tmp_file="" local tmp_file=""
for dir in "${temp_dirs[@]}"; do for dir in "${temp_dirs[@]}"; do
[[ ! -d "${dir}" || ! -w "${dir}" ]] && continue [[ ! -d "${dir}" || ! -w "${dir}" ]] && continue
@@ -7853,18 +7848,20 @@ function msg_pack_zh_hans() {
['mirrors.default.0']='阿里云' ['mirrors.default.0']='阿里云'
['mirrors.default.1']='腾讯云' ['mirrors.default.1']='腾讯云'
['mirrors.default.2']='华为云' ['mirrors.default.2']='华为云'
['mirrors.default.3']='网易' ['mirrors.default.3']='移动云'
['mirrors.default.4']='火山引擎' ['mirrors.default.4']='天翼云'
['mirrors.default.5']='清华大学' ['mirrors.default.5']='网易'
['mirrors.default.6']='北京大学' ['mirrors.default.6']='火山引擎'
['mirrors.default.7']='浙江大学' ['mirrors.default.7']='清华大学'
['mirrors.default.8']='京大学' ['mirrors.default.8']='京大学'
['mirrors.default.9']='兰州大学' ['mirrors.default.9']='浙江大学'
['mirrors.default.10']='上海交通大学' ['mirrors.default.10']='南京大学'
['mirrors.default.11']='重庆邮电大学' ['mirrors.default.11']='兰州大学'
['mirrors.default.12']='中国科学技术大学' ['mirrors.default.12']='上海交通大学'
['mirrors.default.13']='中国科学院软件研究所' ['mirrors.default.13']='重庆邮电大学'
['mirrors.default.14']='官方源' ['mirrors.default.14']='中国科学技术大学'
['mirrors.default.15']='中国科学院软件研究所'
['mirrors.default.16']='官方源'
['mirrors.edu.0']='北京大学' ['mirrors.edu.0']='北京大学'
['mirrors.edu.1']='北京交通大学' ['mirrors.edu.1']='北京交通大学'
['mirrors.edu.2']='北京外国语大学' ['mirrors.edu.2']='北京外国语大学'
@@ -7905,65 +7902,66 @@ function msg_pack_zh_hans() {
['mirrors.abroad.6']='亚洲 · OSS Planet · 台湾' ['mirrors.abroad.6']='亚洲 · OSS Planet · 台湾'
['mirrors.abroad.7']='亚洲 · 国立阳明交通大学 · 台湾' ['mirrors.abroad.7']='亚洲 · 国立阳明交通大学 · 台湾'
['mirrors.abroad.8']='亚洲 · 淡江大学 · 台湾' ['mirrors.abroad.8']='亚洲 · 淡江大学 · 台湾'
['mirrors.abroad.9']='亚洲 · AniGil Linux Archive · 韩国' ['mirrors.abroad.9']='亚洲 · Taiwan Digital Streaming · 台湾'
['mirrors.abroad.10']='亚洲 · 工业网络安全中心(ICSCoE) · 日本' ['mirrors.abroad.10']='亚洲 · AniGil Linux Archive · 韩国'
['mirrors.abroad.11']='亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本' ['mirrors.abroad.11']='亚洲 · 工业网络安全中心(ICSCoE) · 日本'
['mirrors.abroad.12']='亚洲 · 山形大学 · 日本' ['mirrors.abroad.12']='亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本'
['mirrors.abroad.13']='亚洲 · xTom · 日本' ['mirrors.abroad.13']='亚洲 · 山形大学 · 日本'
['mirrors.abroad.14']='亚洲 · GB Network Solutions · 马来西亚' ['mirrors.abroad.14']='亚洲 · xTom · 日本'
['mirrors.abroad.15']='亚洲 · 孔敬大学 · 泰国' ['mirrors.abroad.15']='亚洲 · GB Network Solutions · 马来西亚'
['mirrors.abroad.16']='洲 · Vorboss Ltd · 国' ['mirrors.abroad.16']='洲 · 孔敬大学 · 国'
['mirrors.abroad.17']='欧洲 · QuickHost · 英国' ['mirrors.abroad.17']='欧洲 · Vorboss Ltd · 英国'
['mirrors.abroad.18']='欧洲 · dogado · 国' ['mirrors.abroad.18']='欧洲 · QuickHost · 国'
['mirrors.abroad.19']='欧洲 · xTom · 德国' ['mirrors.abroad.19']='欧洲 · dogado · 德国'
['mirrors.abroad.20']='欧洲 · 亚琛工业大学(RWTH Aachen) · 德国' ['mirrors.abroad.20']='欧洲 · xTom · 德国'
['mirrors.abroad.21']='欧洲 · 德累斯顿大学(AG DSN) · 德国' ['mirrors.abroad.21']='欧洲 · 亚琛工业大学(RWTH Aachen) · 德国'
['mirrors.abroad.22']='欧洲 · CCIN2P3 · 国' ['mirrors.abroad.22']='欧洲 · 德累斯顿大学(AG DSN) · 国'
['mirrors.abroad.23']='欧洲 · Ircam · 法国' ['mirrors.abroad.23']='欧洲 · CCIN2P3 · 法国'
['mirrors.abroad.24']='欧洲 · Crans · 法国' ['mirrors.abroad.24']='欧洲 · Ircam · 法国'
['mirrors.abroad.25']='欧洲 · CRIHAN · 法国' ['mirrors.abroad.25']='欧洲 · Crans · 法国'
['mirrors.abroad.26']='欧洲 · xTom · 荷兰' ['mirrors.abroad.26']='欧洲 · CRIHAN · 法国'
['mirrors.abroad.27']='欧洲 · DataPacket · 荷兰' ['mirrors.abroad.27']='欧洲 · xTom · 荷兰'
['mirrors.abroad.28']='欧洲 · Linux Kernel · 荷兰' ['mirrors.abroad.28']='欧洲 · DataPacket · 荷兰'
['mirrors.abroad.29']='欧洲 · xTom · 爱沙尼亚' ['mirrors.abroad.29']='欧洲 · Linux Kernel · 荷兰'
['mirrors.abroad.30']='欧洲 · netsite · 丹麦' ['mirrors.abroad.30']='欧洲 · xTom · 爱沙尼亚'
['mirrors.abroad.31']='欧洲 · Dotsrc · 丹麦' ['mirrors.abroad.31']='欧洲 · netsite · 丹麦'
['mirrors.abroad.32']='欧洲 · Academic Computer Club · 瑞典' ['mirrors.abroad.32']='欧洲 · Dotsrc · 丹麦'
['mirrors.abroad.33']='欧洲 · Lysator · 瑞典' ['mirrors.abroad.33']='欧洲 · Academic Computer Club · 瑞典'
['mirrors.abroad.34']='欧洲 · Yandex · 俄罗斯' ['mirrors.abroad.34']='欧洲 · Lysator · 瑞典'
['mirrors.abroad.35']='欧洲 · ia64 · 俄罗斯' ['mirrors.abroad.35']='欧洲 · Yandex · 俄罗斯'
['mirrors.abroad.36']='欧洲 · Truenetwork · 俄罗斯' ['mirrors.abroad.36']='欧洲 · ia64 · 俄罗斯'
['mirrors.abroad.37']='欧洲 · Belgian Research Network · 比利时' ['mirrors.abroad.37']='欧洲 · Truenetwork · 俄罗斯'
['mirrors.abroad.38']='欧洲 · 克里特大学计算机中心 · 希腊' ['mirrors.abroad.38']='欧洲 · Belgian Research Network · 比利时'
['mirrors.abroad.39']='欧洲 · 马萨里克大学信息学院 · 捷克' ['mirrors.abroad.39']='欧洲 · 克里特大学计算机中心 · 希腊'
['mirrors.abroad.40']='欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克' ['mirrors.abroad.40']='欧洲 · 马萨里克大学信息学院 · 捷克'
['mirrors.abroad.41']='欧洲 · Vodafone · 捷克' ['mirrors.abroad.41']='欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克'
['mirrors.abroad.42']='欧洲 · CZ.NIC · 捷克' ['mirrors.abroad.42']='欧洲 · Vodafone · 捷克'
['mirrors.abroad.43']='欧洲 · 苏黎世联邦理工学院 · 瑞士' ['mirrors.abroad.43']='欧洲 · CZ.NIC · 捷克'
['mirrors.abroad.44']='北美 · Linux Kernel · 美国' ['mirrors.abroad.44']='欧洲 · 苏黎世联邦理工学院 · 瑞士'
['mirrors.abroad.45']='北美 · 麻省理工学院(MIT) · 美国' ['mirrors.abroad.45']='北美 · Linux Kernel · 美国'
['mirrors.abroad.46']='北美 · 普林斯顿大学数学系 · 美国' ['mirrors.abroad.46']='北美 · 麻省理工学院(MIT) · 美国'
['mirrors.abroad.47']='北美 · 俄勒冈州立大学开源实验室 · 美国' ['mirrors.abroad.47']='北美 · 普林斯顿大学数学系 · 美国'
['mirrors.abroad.48']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美国' ['mirrors.abroad.48']='北美 · 俄勒冈州立大学开源实验室 · 美国'
['mirrors.abroad.49']='北美 · xTom · 美国' ['mirrors.abroad.49']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美国'
['mirrors.abroad.50']='北美 · Steadfast · 美国' ['mirrors.abroad.50']='北美 · xTom · 美国'
['mirrors.abroad.51']='北美 · 不列颠哥伦比亚大学 · 加拿大' ['mirrors.abroad.51']='北美 · Steadfast · 美国'
['mirrors.abroad.52']='北美 · GoCodeIT · 加拿大' ['mirrors.abroad.52']='北美 · 不列颠哥伦比亚大学 · 加拿大'
['mirrors.abroad.53']='北美 · Switch · 加拿大' ['mirrors.abroad.53']='北美 · GoCodeIT · 加拿大'
['mirrors.abroad.54']='美 · PoP-SC · 巴西' ['mirrors.abroad.54']='美 · Switch · 加拿大'
['mirrors.abroad.55']='南美 · 蓬塔格罗萨州立大学 · 巴西' ['mirrors.abroad.55']='南美 · PoP-SC · 巴西'
['mirrors.abroad.56']='南美 · UFSCar · 巴西' ['mirrors.abroad.56']='南美 · 蓬塔格罗萨州立大学 · 巴西'
['mirrors.abroad.57']='南美 · Sysarmy Community · 阿根廷' ['mirrors.abroad.57']='南美 · UFSCar · 巴西'
['mirrors.abroad.58']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚' ['mirrors.abroad.58']='南美 · Sysarmy Community · 阿根廷'
['mirrors.abroad.59']='大洋 · AARNet · 澳大利亚' ['mirrors.abroad.59']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚'
['mirrors.abroad.60']='大洋 · DataMossa · 澳大利亚' ['mirrors.abroad.60']='大洋 · AARNet · 澳大利亚'
['mirrors.abroad.61']='大洋 · Amaze · 澳大利亚' ['mirrors.abroad.61']='大洋 · DataMossa · 澳大利亚'
['mirrors.abroad.62']='大洋 · xTom · 澳大利亚' ['mirrors.abroad.62']='大洋 · Amaze · 澳大利亚'
['mirrors.abroad.63']='大洋 · Over the Wire · 澳大利亚' ['mirrors.abroad.63']='大洋 · xTom · 澳大利亚'
['mirrors.abroad.64']='大洋 · Free Software Mirror Group · 新西兰' ['mirrors.abroad.64']='大洋 · Over the Wire · 澳大利亚'
['mirrors.abroad.65']='非洲 · Liquid Telecom · 肯尼亚' ['mirrors.abroad.65']='大洋 · Free Software Mirror Group · 新西兰'
['mirrors.abroad.66']='非洲 · Dimension Data · 南非' ['mirrors.abroad.66']='非洲 · Liquid Telecom · 肯尼亚'
['mirrors.abroad.67']='官方源' ['mirrors.abroad.67']='非洲 · Dimension Data · 南非'
['mirrors.abroad.68']='官方源'
) )
} }
@@ -8082,18 +8080,20 @@ function msg_pack_zh_hant() {
['mirrors.default.0']='阿里雲' ['mirrors.default.0']='阿里雲'
['mirrors.default.1']='騰訊雲' ['mirrors.default.1']='騰訊雲'
['mirrors.default.2']='華為雲' ['mirrors.default.2']='華為雲'
['mirrors.default.3']='網易' ['mirrors.default.3']='移動雲'
['mirrors.default.4']='火山引擎' ['mirrors.default.4']='天翼雲'
['mirrors.default.5']='清華大學' ['mirrors.default.5']='網易'
['mirrors.default.6']='北京大學' ['mirrors.default.6']='火山引擎'
['mirrors.default.7']='浙江大學' ['mirrors.default.7']='清華大學'
['mirrors.default.8']='京大學' ['mirrors.default.8']='京大學'
['mirrors.default.9']='蘭州大學' ['mirrors.default.9']='浙江大學'
['mirrors.default.10']='上海交通大學' ['mirrors.default.10']='南京大學'
['mirrors.default.11']='重慶郵電大學' ['mirrors.default.11']='蘭州大學'
['mirrors.default.12']='中國科學技術大學' ['mirrors.default.12']='上海交通大學'
['mirrors.default.13']='中國科學院軟件研究所' ['mirrors.default.13']='重慶郵電大學'
['mirrors.default.14']='官方源' ['mirrors.default.14']='中國科學技術大學'
['mirrors.default.15']='中國科學院軟件研究所'
['mirrors.default.16']='官方源'
['mirrors.edu.0']='北京大學' ['mirrors.edu.0']='北京大學'
['mirrors.edu.1']='北京交通大學' ['mirrors.edu.1']='北京交通大學'
['mirrors.edu.2']='北京外國語大學' ['mirrors.edu.2']='北京外國語大學'
@@ -8134,65 +8134,66 @@ function msg_pack_zh_hant() {
['mirrors.abroad.6']='亞洲 · OSS Planet · 臺灣' ['mirrors.abroad.6']='亞洲 · OSS Planet · 臺灣'
['mirrors.abroad.7']='亞洲 · 國立陽明交通大學 · 臺灣' ['mirrors.abroad.7']='亞洲 · 國立陽明交通大學 · 臺灣'
['mirrors.abroad.8']='亞洲 · 淡江大學 · 臺灣' ['mirrors.abroad.8']='亞洲 · 淡江大學 · 臺灣'
['mirrors.abroad.9']='亞洲 · AniGil Linux Archive · 韓國' ['mirrors.abroad.9']='亞洲 · Taiwan Digital Streaming · 臺灣'
['mirrors.abroad.10']='亞洲 · 工業網路安全中心(ICSCoE) · 日本' ['mirrors.abroad.10']='亞洲 · AniGil Linux Archive · 韓國'
['mirrors.abroad.11']='亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本' ['mirrors.abroad.11']='亞洲 · 工業網路安全中心(ICSCoE) · 日本'
['mirrors.abroad.12']='亞洲 · 山形大學 · 日本' ['mirrors.abroad.12']='亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本'
['mirrors.abroad.13']='亞洲 · xTom · 日本' ['mirrors.abroad.13']='亞洲 · 山形大學 · 日本'
['mirrors.abroad.14']='亞洲 · GB Network Solutions · 馬來西亞' ['mirrors.abroad.14']='亞洲 · xTom · 日本'
['mirrors.abroad.15']='亞洲 · 孔敬大學 · 泰國' ['mirrors.abroad.15']='亞洲 · GB Network Solutions · 馬來西亞'
['mirrors.abroad.16']='洲 · Vorboss Ltd · 國' ['mirrors.abroad.16']='洲 · 孔敬大學 · 國'
['mirrors.abroad.17']='歐洲 · QuickHost · 英國' ['mirrors.abroad.17']='歐洲 · Vorboss Ltd · 英國'
['mirrors.abroad.18']='歐洲 · dogado · 國' ['mirrors.abroad.18']='歐洲 · QuickHost · 國'
['mirrors.abroad.19']='歐洲 · xTom · 德國' ['mirrors.abroad.19']='歐洲 · dogado · 德國'
['mirrors.abroad.20']='歐洲 · 亞琛工業大學(RWTH Aachen) · 德國' ['mirrors.abroad.20']='歐洲 · xTom · 德國'
['mirrors.abroad.21']='歐洲 · 德勒斯登大學(AG DSN) · 德國' ['mirrors.abroad.21']='歐洲 · 亞琛工業大學(RWTH Aachen) · 德國'
['mirrors.abroad.22']='歐洲 · CCIN2P3 · 國' ['mirrors.abroad.22']='歐洲 · 德勒斯登大學(AG DSN) · 國'
['mirrors.abroad.23']='歐洲 · Ircam · 法國' ['mirrors.abroad.23']='歐洲 · CCIN2P3 · 法國'
['mirrors.abroad.24']='歐洲 · Crans · 法國' ['mirrors.abroad.24']='歐洲 · Ircam · 法國'
['mirrors.abroad.25']='歐洲 · CRIHAN · 法國' ['mirrors.abroad.25']='歐洲 · Crans · 法國'
['mirrors.abroad.26']='歐洲 · xTom · 荷蘭' ['mirrors.abroad.26']='歐洲 · CRIHAN · 法國'
['mirrors.abroad.27']='歐洲 · DataPacket · 荷蘭' ['mirrors.abroad.27']='歐洲 · xTom · 荷蘭'
['mirrors.abroad.28']='歐洲 · Linux Kernel · 荷蘭' ['mirrors.abroad.28']='歐洲 · DataPacket · 荷蘭'
['mirrors.abroad.29']='歐洲 · xTom · 愛沙尼亞' ['mirrors.abroad.29']='歐洲 · Linux Kernel · 荷蘭'
['mirrors.abroad.30']='歐洲 · netsite · 丹麥' ['mirrors.abroad.30']='歐洲 · xTom · 愛沙尼亞'
['mirrors.abroad.31']='歐洲 · Dotsrc · 丹麥' ['mirrors.abroad.31']='歐洲 · netsite · 丹麥'
['mirrors.abroad.32']='歐洲 · Academic Computer Club · 瑞典' ['mirrors.abroad.32']='歐洲 · Dotsrc · 丹麥'
['mirrors.abroad.33']='歐洲 · Lysator · 瑞典' ['mirrors.abroad.33']='歐洲 · Academic Computer Club · 瑞典'
['mirrors.abroad.34']='歐洲 · Yandex · 俄羅斯' ['mirrors.abroad.34']='歐洲 · Lysator · 瑞典'
['mirrors.abroad.35']='歐洲 · ia64 · 俄羅斯' ['mirrors.abroad.35']='歐洲 · Yandex · 俄羅斯'
['mirrors.abroad.36']='歐洲 · Truenetwork · 俄羅斯' ['mirrors.abroad.36']='歐洲 · ia64 · 俄羅斯'
['mirrors.abroad.37']='歐洲 · Belgian Research Network · 比利時' ['mirrors.abroad.37']='歐洲 · Truenetwork · 俄羅斯'
['mirrors.abroad.38']='歐洲 · 克里特大學計算機中心 · 希臘' ['mirrors.abroad.38']='歐洲 · Belgian Research Network · 比利時'
['mirrors.abroad.39']='歐洲 · 馬薩里克大學信息學院 · 捷克' ['mirrors.abroad.39']='歐洲 · 克里特大學計算機中心 · 希臘'
['mirrors.abroad.40']='歐洲 · 捷克理工大學學生會俱樂部(Silicon Hill) · 捷克' ['mirrors.abroad.40']='歐洲 · 馬薩里克大學信息學院 · 捷克'
['mirrors.abroad.41']='歐洲 · Vodafone · 捷克' ['mirrors.abroad.41']='歐洲 · 捷克理工大學學生會俱樂部(Silicon Hill) · 捷克'
['mirrors.abroad.42']='歐洲 · CZ.NIC · 捷克' ['mirrors.abroad.42']='歐洲 · Vodafone · 捷克'
['mirrors.abroad.43']='歐洲 · 蘇黎世聯邦理工學院 · 瑞士' ['mirrors.abroad.43']='歐洲 · CZ.NIC · 捷克'
['mirrors.abroad.44']='北美 · Linux Kernel · 美國' ['mirrors.abroad.44']='歐洲 · 蘇黎世聯邦理工學院 · 瑞士'
['mirrors.abroad.45']='北美 · 麻省理工學院(MIT) · 美國' ['mirrors.abroad.45']='北美 · Linux Kernel · 美國'
['mirrors.abroad.46']='北美 · 普林斯頓大學數學系 · 美國' ['mirrors.abroad.46']='北美 · 麻省理工學院(MIT) · 美國'
['mirrors.abroad.47']='北美 · 俄勒岡州立大學開源實驗室 · 美國' ['mirrors.abroad.47']='北美 · 普林斯頓大學數學系 · 美國'
['mirrors.abroad.48']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美國' ['mirrors.abroad.48']='北美 · 俄勒岡州立大學開源實驗室 · 美國'
['mirrors.abroad.49']='北美 · xTom · 美國' ['mirrors.abroad.49']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美國'
['mirrors.abroad.50']='北美 · Steadfast · 美國' ['mirrors.abroad.50']='北美 · xTom · 美國'
['mirrors.abroad.51']='北美 · 不列顛哥倫比亞大學 · 加拿大' ['mirrors.abroad.51']='北美 · Steadfast · 美國'
['mirrors.abroad.52']='北美 · GoCodeIT · 加拿大' ['mirrors.abroad.52']='北美 · 不列顛哥倫比亞大學 · 加拿大'
['mirrors.abroad.53']='北美 · Switch · 加拿大' ['mirrors.abroad.53']='北美 · GoCodeIT · 加拿大'
['mirrors.abroad.54']='美 · PoP-SC · 巴西' ['mirrors.abroad.54']='美 · Switch · 加拿大'
['mirrors.abroad.55']='南美 · 蓬塔格羅薩州立大學 · 巴西' ['mirrors.abroad.55']='南美 · PoP-SC · 巴西'
['mirrors.abroad.56']='南美 · UFSCar · 巴西' ['mirrors.abroad.56']='南美 · 蓬塔格羅薩州立大學 · 巴西'
['mirrors.abroad.57']='南美 · Sysarmy Community · 阿根廷' ['mirrors.abroad.57']='南美 · UFSCar · 巴西'
['mirrors.abroad.58']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亞' ['mirrors.abroad.58']='南美 · Sysarmy Community · 阿根廷'
['mirrors.abroad.59']='大洋 · AARNet · 澳大利亞' ['mirrors.abroad.59']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亞'
['mirrors.abroad.60']='大洋 · DataMossa · 澳大利亞' ['mirrors.abroad.60']='大洋 · AARNet · 澳大利亞'
['mirrors.abroad.61']='大洋 · Amaze · 澳大利亞' ['mirrors.abroad.61']='大洋 · DataMossa · 澳大利亞'
['mirrors.abroad.62']='大洋 · xTom · 澳大利亞' ['mirrors.abroad.62']='大洋 · Amaze · 澳大利亞'
['mirrors.abroad.63']='大洋 · Over the Wire · 澳大利亞' ['mirrors.abroad.63']='大洋 · xTom · 澳大利亞'
['mirrors.abroad.64']='大洋 · Free Software Mirror Group · 紐西蘭' ['mirrors.abroad.64']='大洋 · Over the Wire · 澳大利亞'
['mirrors.abroad.65']='非洲 · Liquid Telecom · 肯亞' ['mirrors.abroad.65']='大洋 · Free Software Mirror Group · 紐西蘭'
['mirrors.abroad.66']='非洲 · Dimension Data · 南非' ['mirrors.abroad.66']='非洲 · Liquid Telecom · 肯亞'
['mirrors.abroad.67']='官方源' ['mirrors.abroad.67']='非洲 · Dimension Data · 南非'
['mirrors.abroad.68']='官方源'
) )
SPONSOR_ADS[0]="1Panel · 新一代的 Linux 伺服器維運管理面板 ➜ \033[3mhttps://1panel.cn\033[0m" SPONSOR_ADS[0]="1Panel · 新一代的 Linux 伺服器維運管理面板 ➜ \033[3mhttps://1panel.cn\033[0m"
} }
@@ -8311,18 +8312,20 @@ Issue Report {}'
['mirrors.default.0']='Alibaba Cloud' ['mirrors.default.0']='Alibaba Cloud'
['mirrors.default.1']='Tencent Cloud' ['mirrors.default.1']='Tencent Cloud'
['mirrors.default.2']='Huawei Cloud' ['mirrors.default.2']='Huawei Cloud'
['mirrors.default.3']='NetEase' ['mirrors.default.3']='China Mobile Cloud'
['mirrors.default.4']='Volcengine' ['mirrors.default.4']='China Telecom Cloud'
['mirrors.default.5']='Tsinghua University' ['mirrors.default.5']='NetEase'
['mirrors.default.6']='Peking University' ['mirrors.default.6']='Volcengine'
['mirrors.default.7']='Zhejiang University' ['mirrors.default.7']='Tsinghua University'
['mirrors.default.8']='Nanjing University' ['mirrors.default.8']='Peking University'
['mirrors.default.9']='Lanzhou University' ['mirrors.default.9']='Zhejiang University'
['mirrors.default.10']='Shanghai Jiao Tong University' ['mirrors.default.10']='Nanjing University'
['mirrors.default.11']='CQUPT' ['mirrors.default.11']='Lanzhou University'
['mirrors.default.12']='USTC' ['mirrors.default.12']='Shanghai Jiao Tong University'
['mirrors.default.13']='ISCAS' ['mirrors.default.13']='Chongqing University of Posts and Telecommunications'
['mirrors.default.14']='Official Source' ['mirrors.default.14']='University of Science and Technology of China'
['mirrors.default.15']='Institute of Software, Chinese Academy of Sciences'
['mirrors.default.16']='Official Source'
['mirrors.edu.0']='Peking University' ['mirrors.edu.0']='Peking University'
['mirrors.edu.1']='Beijing Jiaotong University' ['mirrors.edu.1']='Beijing Jiaotong University'
['mirrors.edu.2']='Beijing Foreign Studies University' ['mirrors.edu.2']='Beijing Foreign Studies University'
@@ -8363,65 +8366,66 @@ Issue Report {}'
['mirrors.abroad.6']='AS · OSS Planet · Taiwan' ['mirrors.abroad.6']='AS · OSS Planet · Taiwan'
['mirrors.abroad.7']='AS · National Yang Ming Chiao Tung University · Taiwan' ['mirrors.abroad.7']='AS · National Yang Ming Chiao Tung University · Taiwan'
['mirrors.abroad.8']='AS · Tamkang University · Taiwan' ['mirrors.abroad.8']='AS · Tamkang University · Taiwan'
['mirrors.abroad.9']='AS · AniGil Linux Archive · Korea' ['mirrors.abroad.9']='AS · Taiwan Digital Streaming · Taiwan'
['mirrors.abroad.10']='AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan' ['mirrors.abroad.10']='AS · AniGil Linux Archive · Korea'
['mirrors.abroad.11']='AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan' ['mirrors.abroad.11']='AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan'
['mirrors.abroad.12']='AS · Yamagata University · Japan' ['mirrors.abroad.12']='AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan'
['mirrors.abroad.13']='AS · xTom · Japan' ['mirrors.abroad.13']='AS · Yamagata University · Japan'
['mirrors.abroad.14']='AS · GB Network Solutions · Malaysia' ['mirrors.abroad.14']='AS · xTom · Japan'
['mirrors.abroad.15']='AS · Khon Kaen University · Thailand' ['mirrors.abroad.15']='AS · GB Network Solutions · Malaysia'
['mirrors.abroad.16']='EU · Vorboss Ltd · United Kiongdom' ['mirrors.abroad.16']='AS · Khon Kaen University · Thailand'
['mirrors.abroad.17']='EU · QuickHost · United Kiongdom' ['mirrors.abroad.17']='EU · Vorboss Ltd · United Kiongdom'
['mirrors.abroad.18']='EU · dogado · Germany' ['mirrors.abroad.18']='EU · QuickHost · United Kiongdom'
['mirrors.abroad.19']='EU · xTom · Germany' ['mirrors.abroad.19']='EU · dogado · Germany'
['mirrors.abroad.20']='EU · RWTH Aachen University · Germany' ['mirrors.abroad.20']='EU · xTom · Germany'
['mirrors.abroad.21']='EU · Dresden University (AG DSN) · Germany' ['mirrors.abroad.21']='EU · RWTH Aachen University · Germany'
['mirrors.abroad.22']='EU · CCIN2P3 · France' ['mirrors.abroad.22']='EU · Dresden University (AG DSN) · Germany'
['mirrors.abroad.23']='EU · Ircam · France' ['mirrors.abroad.23']='EU · CCIN2P3 · France'
['mirrors.abroad.24']='EU · Crans · France' ['mirrors.abroad.24']='EU · Ircam · France'
['mirrors.abroad.25']='EU · CRIHAN · France' ['mirrors.abroad.25']='EU · Crans · France'
['mirrors.abroad.26']='EU · xTom · Netherlands' ['mirrors.abroad.26']='EU · CRIHAN · France'
['mirrors.abroad.27']='EU · DataPacket · Netherlands' ['mirrors.abroad.27']='EU · xTom · Netherlands'
['mirrors.abroad.28']='EU · Linux Kernel · Netherlands' ['mirrors.abroad.28']='EU · DataPacket · Netherlands'
['mirrors.abroad.29']='EU · xTom · Estonia' ['mirrors.abroad.29']='EU · Linux Kernel · Netherlands'
['mirrors.abroad.30']='EU · netsite · Denmark' ['mirrors.abroad.30']='EU · xTom · Estonia'
['mirrors.abroad.31']='EU · Dotsrc · Denmark' ['mirrors.abroad.31']='EU · netsite · Denmark'
['mirrors.abroad.32']='EU · Academic Computer Club · Sweden' ['mirrors.abroad.32']='EU · Dotsrc · Denmark'
['mirrors.abroad.33']='EU · Lysator · Sweden' ['mirrors.abroad.33']='EU · Academic Computer Club · Sweden'
['mirrors.abroad.34']='EU · Yandex · Russia' ['mirrors.abroad.34']='EU · Lysator · Sweden'
['mirrors.abroad.35']='EU · ia64 · Russia' ['mirrors.abroad.35']='EU · Yandex · Russia'
['mirrors.abroad.36']='EU · Truenetwork · Russia' ['mirrors.abroad.36']='EU · ia64 · Russia'
['mirrors.abroad.37']='EU · Belgian Research Network · Belgium' ['mirrors.abroad.37']='EU · Truenetwork · Russia'
['mirrors.abroad.38']='EU · University of Crete Computer Center · Greece' ['mirrors.abroad.38']='EU · Belgian Research Network · Belgium'
['mirrors.abroad.39']='EU · Masaryk University Faculty of Informatics · Czech' ['mirrors.abroad.39']='EU · University of Crete Computer Center · Greece'
['mirrors.abroad.40']='EU · Czech Technical University Student Club (Silicon Hill) · Czech' ['mirrors.abroad.40']='EU · Masaryk University Faculty of Informatics · Czech'
['mirrors.abroad.41']='EU · Vodafone · Czech' ['mirrors.abroad.41']='EU · Czech Technical University Student Club (Silicon Hill) · Czech'
['mirrors.abroad.42']='EU · CZ.NIC · Czech' ['mirrors.abroad.42']='EU · Vodafone · Czech'
['mirrors.abroad.43']='EU · ETH Zurich · Switzerland' ['mirrors.abroad.43']='EU · CZ.NIC · Czech'
['mirrors.abroad.44']='NA · Linux Kernel · United States' ['mirrors.abroad.44']='EU · ETH Zurich · Switzerland'
['mirrors.abroad.45']='NA · MIT · United States' ['mirrors.abroad.45']='NA · Linux Kernel · United States'
['mirrors.abroad.46']='NA · Princeton University Department of Mathematics · United States' ['mirrors.abroad.46']='NA · MIT · United States'
['mirrors.abroad.47']='NA · Oregon State University Open Source Lab · United States' ['mirrors.abroad.47']='NA · Princeton University Department of Mathematics · United States'
['mirrors.abroad.48']='NA · Fremont Cabal Internet Exchange(FCIX) · United States' ['mirrors.abroad.48']='NA · Oregon State University Open Source Lab · United States'
['mirrors.abroad.49']='NA · xTom · United States' ['mirrors.abroad.49']='NA · Fremont Cabal Internet Exchange(FCIX) · United States'
['mirrors.abroad.50']='NA · Steadfast · United States' ['mirrors.abroad.50']='NA · xTom · United States'
['mirrors.abroad.51']='NA · University of British Columbia · Canada' ['mirrors.abroad.51']='NA · Steadfast · United States'
['mirrors.abroad.52']='NA · GoCodeIT · Canada' ['mirrors.abroad.52']='NA · University of British Columbia · Canada'
['mirrors.abroad.53']='NA · Switch · Canada' ['mirrors.abroad.53']='NA · GoCodeIT · Canada'
['mirrors.abroad.54']='SA · PoP-SC · Brazil' ['mirrors.abroad.54']='NA · Switch · Canada'
['mirrors.abroad.55']='SA · State University of Ponta Grossa · Brazil' ['mirrors.abroad.55']='SA · PoP-SC · Brazil'
['mirrors.abroad.56']='SA · UFSCar · Brazil' ['mirrors.abroad.56']='SA · State University of Ponta Grossa · Brazil'
['mirrors.abroad.57']='SA · Sysarmy Community · Argentina' ['mirrors.abroad.57']='SA · UFSCar · Brazil'
['mirrors.abroad.58']='OC · Fremont Cabal Internet Exchange(FCIX) · Australia' ['mirrors.abroad.58']='SA · Sysarmy Community · Argentina'
['mirrors.abroad.59']='OC · AARNet · Australia' ['mirrors.abroad.59']='OC · Fremont Cabal Internet Exchange(FCIX) · Australia'
['mirrors.abroad.60']='OC · DataMossa · Australia' ['mirrors.abroad.60']='OC · AARNet · Australia'
['mirrors.abroad.61']='OC · Amaze · Australia' ['mirrors.abroad.61']='OC · DataMossa · Australia'
['mirrors.abroad.62']='OC · xTom · Australia' ['mirrors.abroad.62']='OC · Amaze · Australia'
['mirrors.abroad.63']='OC · Over the Wire · Australia' ['mirrors.abroad.63']='OC · xTom · Australia'
['mirrors.abroad.64']='OC · Free Software Mirror Group · New Zealand' ['mirrors.abroad.64']='OC · Over the Wire · Australia'
['mirrors.abroad.65']='AF · Liquid Telecom · Kenya' ['mirrors.abroad.65']='OC · Free Software Mirror Group · New Zealand'
['mirrors.abroad.66']='AF · Dimension Data · South Africa' ['mirrors.abroad.66']='AF · Liquid Telecom · Kenya'
['mirrors.abroad.67']='Official Source' ['mirrors.abroad.67']='AF · Dimension Data · South Africa'
['mirrors.abroad.68']='Official Source'
) )
SPONSOR_ADS=( SPONSOR_ADS=(
"1Panel · Top-Rated Web-based Linux Server Management Tool ➜ \033[3mhttps://1panel.cn\033[0m" "1Panel · Top-Rated Web-based Linux Server Management Tool ➜ \033[3mhttps://1panel.cn\033[0m"

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
## Author: SuperManito ## Author: SuperManito
## Modified: 2025-10-12 ## Modified: 2025-11-02
## License: MIT ## License: MIT
## GitHub: https://github.com/SuperManito/LinuxMirrors ## GitHub: https://github.com/SuperManito/LinuxMirrors
## Website: https://linuxmirrors.cn ## Website: https://linuxmirrors.cn
@@ -10,6 +10,7 @@ mirror_list_docker_ce=(
"mirrors.aliyun.com/docker-ce" "mirrors.aliyun.com/docker-ce"
"mirrors.tencent.com/docker-ce" "mirrors.tencent.com/docker-ce"
"mirrors.huaweicloud.com/docker-ce" "mirrors.huaweicloud.com/docker-ce"
"mirrors.cmecloud.cn/docker-ce"
"mirrors.163.com/docker-ce" "mirrors.163.com/docker-ce"
"mirrors.volces.com/docker" "mirrors.volces.com/docker"
"mirror.azure.cn/docker-ce" "mirror.azure.cn/docker-ce"
@@ -80,12 +81,12 @@ SPONSOR_ADS=(
"1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m" "1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m"
"多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m" "多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m"
"毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m" "毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m"
"林枫云 · 专注独立IP高频VPSR9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
"不死鸟CDN · 香港日本高防CDN免实名/免备案轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m" "不死鸟CDN · 香港日本高防CDN免实名/免备案轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m"
"青叶云 · 香港1T高防自助防火墙无视CC大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m" "青叶云 · 香港1T高防自助防火墙无视CC大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m"
"莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m" "莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m"
"云悠YUNYOO · 全球高性价比云服务器低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m" "云悠YUNYOO · 全球高性价比云服务器低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m"
"速拓云 · 国内高防云28元/月香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m" "速拓云 · 国内高防云28元/月香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m"
"林枫云 · 专注独立IP高频VPSR9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
"语鹿云盾 · 专业CDN加速、防御亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m" "语鹿云盾 · 专业CDN加速、防御亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m"
"不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m" "不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m"
"HKGserver · 全球家宽双ISP住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m" "HKGserver · 全球家宽双ISP住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m"
@@ -115,9 +116,12 @@ SYSTEM_OPENCLOUDOS_STREAM="OpenCloudOS Stream"
SYSTEM_TENCENTOS="TencentOS" SYSTEM_TENCENTOS="TencentOS"
SYSTEM_OPENEULER="openEuler" SYSTEM_OPENEULER="openEuler"
SYSTEM_ANOLISOS="Anolis" SYSTEM_ANOLISOS="Anolis"
SYSTEM_KYLIN_DESKTOP="Kylin Desktop"
SYSTEM_KYLIN_SERVER="Kylin Server"
SYSTEM_OPENKYLIN="openKylin" SYSTEM_OPENKYLIN="openKylin"
SYSTEM_OPENSUSE="openSUSE" SYSTEM_OPENSUSE="openSUSE"
SYSTEM_ARCH="Arch" SYSTEM_ARCH="Arch"
SYSTEM_MANJARO="Manjaro"
SYSTEM_ALPINE="Alpine" SYSTEM_ALPINE="Alpine"
SYSTEM_GENTOO="Gentoo" SYSTEM_GENTOO="Gentoo"
SYSTEM_NIXOS="NixOS" SYSTEM_NIXOS="NixOS"
@@ -139,7 +143,9 @@ File_ArchLinuxRelease=/etc/arch-release
File_ManjaroRelease=/etc/manjaro-release File_ManjaroRelease=/etc/manjaro-release
File_AlpineRelease=/etc/alpine-release File_AlpineRelease=/etc/alpine-release
File_GentooRelease=/etc/gentoo-release File_GentooRelease=/etc/gentoo-release
File_openKylinVersion=/etc/kylin-version/kylin-system-version.conf File_KylinRelease=/etc/kylin-release
File_kylinVersion=/etc/kylin-version/kylin-system-version.conf
File_ProxmoxVersion=/etc/pve/.version
## 定义软件源相关文件或目录 ## 定义软件源相关文件或目录
File_AptSourceList=/etc/apt/sources.list File_AptSourceList=/etc/apt/sources.list
@@ -422,7 +428,11 @@ function handle_command_options() {
function run_start() { function run_start() {
if [ -z "${CLEAN_SCREEN}" ]; then if [ -z "${CLEAN_SCREEN}" ]; then
[[ -z "${SOURCE}" || -z "${SOURCE_REGISTRY}" ]] && clear if [[ "${ONLY_REGISTRY}" == "true" ]]; then
[[ -z "${SOURCE_REGISTRY}" ]] && clear
else
[[ -z "${SOURCE}" || -z "${SOURCE_REGISTRY}" ]] && clear
fi
elif [ "${CLEAN_SCREEN}" == "true" ]; then elif [ "${CLEAN_SCREEN}" == "true" ]; then
clear clear
fi fi
@@ -515,6 +525,9 @@ function collect_system_info() {
## 判定当前系统派系 ## 判定当前系统派系
if [ -s "${File_DebianVersion}" ]; then if [ -s "${File_DebianVersion}" ]; then
SYSTEM_FACTIONS="${SYSTEM_DEBIAN}" SYSTEM_FACTIONS="${SYSTEM_DEBIAN}"
if [ -s "${File_kylinVersion}" ]; then
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "Kylin Desktop" "apt-get install -y docker\nsystemctl enable --now docker"
fi
elif [ -s "${File_RedHatRelease}" ]; then elif [ -s "${File_RedHatRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_REDHAT}" SYSTEM_FACTIONS="${SYSTEM_REDHAT}"
elif [ -s "${File_openEulerRelease}" ] || [ -s "${File_HuaweiCloudEulerOSRelease}" ]; then elif [ -s "${File_openEulerRelease}" ] || [ -s "${File_HuaweiCloudEulerOSRelease}" ]; then
@@ -525,8 +538,12 @@ function collect_system_info() {
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽 SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
elif [ -s "${File_TencentOSServerRelease}" ]; then elif [ -s "${File_TencentOSServerRelease}" ]; then
SYSTEM_FACTIONS="${SYSTEM_TENCENTOS}" # 自 4 版本起不再基于红帽 SYSTEM_FACTIONS="${SYSTEM_TENCENTOS}" # 自 4 版本起不再基于红帽
elif [ -s "${File_openKylinVersion}" ]; then elif [ -s "${File_kylinVersion}" ] || [ -s "${File_KylinRelease}" ]; then
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "openKylin" "apt-get install -y docker\nsystemctl enable --now docker" if [[ "${SYSTEM_ID}" == *"openkylin"* ]]; then
SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}"
else
SYSTEM_FACTIONS="${SYSTEM_KYLIN_SERVER}"
fi
elif [ -f "${File_ArchLinuxRelease}" ]; then elif [ -f "${File_ArchLinuxRelease}" ]; then
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "Arch Linux" "pacman -S docker\nsystemctl enable --now docker" [[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "Arch Linux" "pacman -S docker\nsystemctl enable --now docker"
elif [ -f "${File_GentooRelease}" ]; then elif [ -f "${File_GentooRelease}" ]; then
@@ -540,7 +557,7 @@ function collect_system_info() {
fi fi
## 判定系统类型、版本、版本号 ## 判定系统类型、版本、版本号
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
if command_exists lsb_release; then if command_exists lsb_release; then
SYSTEM_JUDGMENT="$(lsb_release -is)" SYSTEM_JUDGMENT="$(lsb_release -is)"
SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}" SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}"
@@ -611,7 +628,8 @@ function collect_system_info() {
## 定义软件源仓库名称 ## 定义软件源仓库名称
if [[ -z "${SOURCE_BRANCH}" ]]; then if [[ -z "${SOURCE_BRANCH}" ]]; then
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
local debian_codename_latest="trixie"
case "${SYSTEM_JUDGMENT}" in case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}")
SOURCE_BRANCH="debian" SOURCE_BRANCH="debian"
@@ -619,36 +637,66 @@ function collect_system_info() {
"${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}") "${SYSTEM_UBUNTU}" | "${SYSTEM_ZORIN}")
SOURCE_BRANCH="ubuntu" SOURCE_BRANCH="ubuntu"
;; ;;
"${SYSTEM_KALI}")
SOURCE_BRANCH="debian"
SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
;;
"${SYSTEM_LINUX_MINT}")
if [[ "${SYSTEM_NAME}" == *"LMDE"* ]]; then
SOURCE_BRANCH="debian"
SOURCE_BRANCH_CODENAME="$(get_os_release_value DEBIAN_CODENAME)"
else
SOURCE_BRANCH="ubuntu"
SOURCE_BRANCH_CODENAME="$(get_os_release_value UBUNTU_CODENAME)"
fi
if [[ -z "${SOURCE_BRANCH_CODENAME}" ]]; then
SOURCE_BRANCH="debian"
SOURCE_BRANCH_CODENAME="bookworm"
fi
;;
"${SYSTEM_RASPBERRY_PI_OS}") "${SYSTEM_RASPBERRY_PI_OS}")
case "${DEVICE_ARCH_RAW}" in case "${DEVICE_ARCH_RAW}" in
x86_64 | aarch64) x86_64 | aarch64)
SOURCE_BRANCH="debian" SOURCE_BRANCH="debian"
;; ;;
*) *)
# 注:自 Docker 29 版本起将不再提供此分支仓库
SOURCE_BRANCH="raspbian" SOURCE_BRANCH="raspbian"
;; ;;
esac esac
;; ;;
*) # "${SYSTEM_KYLIN_DESKTOP}")
# 部分 Debian 系衍生操作系统使用 Debian 12 的 docker ce 源 # SOURCE_BRANCH="debian"
# case "${SYSTEM_VERSION_ID_MAJOR}" in
# "v10")
# SOURCE_BRANCH_CODENAME="bullseye"
# ;;
# "v11")
# SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
# ;;
# *)
# SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
# ;;
# esac
# ;;
"${SYSTEM_OPENKYLIN}")
SOURCE_BRANCH="debian" SOURCE_BRANCH="debian"
SYSTEM_VERSION_CODENAME="bookworm" SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
;;
*)
# 其余 Debian 系衍生操作系统
SOURCE_BRANCH="debian"
SOURCE_BRANCH_CODENAME="bookworm"
;; ;;
esac esac
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
case "${SYSTEM_JUDGMENT}" in case "${SYSTEM_JUDGMENT}" in
"${SYSTEM_FEDORA}") "${SYSTEM_FEDORA}")
SOURCE_BRANCH="fedora" SOURCE_BRANCH="fedora"
;; ;;
"${SYSTEM_RHEL}") "${SYSTEM_RHEL}")
SOURCE_BRANCH="rhel" SOURCE_BRANCH="rhel"
# RHEL 10
if [[ "${SYSTEM_VERSION_ID_MAJOR}" == 10 ]]; then
echo -e "\n$WARN $(msg "warn.usedCentosBranch")"
echo -e "\n$TIP $(msg "tip.unsupportRHEL10")"
SOURCE_BRANCH="centos"
fi
;; ;;
*) *)
SOURCE_BRANCH="centos" SOURCE_BRANCH="centos"
@@ -662,10 +710,10 @@ function collect_system_info() {
fi fi
## 定义软件源更新文字 ## 定义软件源更新文字
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
SYNC_MIRROR_TEXT="$(msg "source.sync.text1")" SYNC_MIRROR_TEXT="$(msg "source.sync.text1")"
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
SYNC_MIRROR_TEXT="$(msg "source.sync.text2")" SYNC_MIRROR_TEXT="$(msg "source.sync.text2")"
;; ;;
esac esac
@@ -680,7 +728,7 @@ function collect_system_info() {
function choose_display_language() { function choose_display_language() {
local result local result
if command_exists tput; then if command_exists tput; then
local lang_key_labels=() local -a lang_key_labels=()
local language_text local language_text
for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do
language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}" language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}"
@@ -727,14 +775,13 @@ function choose_mirrors() {
local text=$1 local text=$1
echo "${#text}" echo "${#text}"
} }
local -a list_arr=()
local list_arr=()
local list_arr_sum="$(eval echo \${#$1[@]})" local list_arr_sum="$(eval echo \${#$1[@]})"
for ((i = 0; i < $list_arr_sum; i++)); do for ((i = 0; i < $list_arr_sum; i++)); do
list_arr[$i]="$(eval echo \${$1[i]})" list_arr[$i]="$(eval echo \${$1[i]})"
done done
local name_width=${2:-"30"} local name_width=${2:-"30"}
local list_labels=() local -a list_labels=()
if [[ "${3}" ]]; then if [[ "${3}" ]]; then
eval "list_labels=(\"\${${3}[@]}\")" eval "list_labels=(\"\${${3}[@]}\")"
fi fi
@@ -820,7 +867,7 @@ function choose_mirrors() {
} }
local mirror_list_name mirror_list_length local mirror_list_name mirror_list_length
local mirror_list_labels=() local -a mirror_list_labels=()
local label_msg_index label_msg_content local label_msg_index label_msg_content
if [[ -z "${SOURCE}" ]] && [[ "${ONLY_REGISTRY}" != "true" ]]; then if [[ -z "${SOURCE}" ]] && [[ "${ONLY_REGISTRY}" != "true" ]]; then
mirror_list_name="mirror_list_docker_ce" mirror_list_name="mirror_list_docker_ce"
@@ -988,22 +1035,22 @@ function install_dependency_packages() {
local commands package_manager local commands package_manager
## 删除原有源 ## 删除原有源
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
sed -i '/docker-ce/d' $File_AptSourceList sed -i '/docker-ce/d' $File_AptSourceList
rm -rf $File_DockerSourceList rm -rf $File_DockerSourceList
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
rm -rf $Dir_YumRepos/*docker*.repo rm -rf $Dir_YumRepos/*docker*.repo
;; ;;
esac esac
## 更新软件源 ## 更新软件源
commands=() commands=()
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
package_manager="apt-get" package_manager="apt-get"
commands+=("${package_manager} update") commands+=("${package_manager} update")
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
package_manager="$(get_package_manager)" package_manager="$(get_package_manager)"
commands+=("${package_manager} makecache") commands+=("${package_manager} makecache")
;; ;;
@@ -1031,11 +1078,10 @@ function install_dependency_packages() {
commands=() commands=()
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
commands+=("${package_manager} install -y ca-certificates curl") commands+=("${package_manager} install -y ca-certificates curl")
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
# 注:红帽 8 版本才发布了 dnf 包管理工具
case "${SYSTEM_VERSION_ID_MAJOR}" in case "${SYSTEM_VERSION_ID_MAJOR}" in
7) 7)
commands+=("${package_manager} install -y yum-utils device-mapper-persistent-data lvm2") commands+=("${package_manager} install -y yum-utils device-mapper-persistent-data lvm2")
@@ -1070,9 +1116,9 @@ function install_dependency_packages() {
## 配置 Docker CE 源 ## 配置 Docker CE 源
function configure_docker_ce_mirror() { function configure_docker_ce_mirror() {
local commands=() local -a commands=()
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
## 处理 GPG 密钥 ## 处理 GPG 密钥
local file_keyring="/etc/apt/keyrings/docker.asc" local file_keyring="/etc/apt/keyrings/docker.asc"
apt-key del 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 >/dev/null 2>&1 # 删除旧的密钥 apt-key del 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 >/dev/null 2>&1 # 删除旧的密钥
@@ -1085,11 +1131,11 @@ function configure_docker_ce_mirror() {
chmod a+r $file_keyring chmod a+r $file_keyring
## 添加源 ## 添加源
[ -d "${Dir_AptAdditionalSources}" ] || mkdir -p $Dir_AptAdditionalSources [ -d "${Dir_AptAdditionalSources}" ] || mkdir -p $Dir_AptAdditionalSources
local source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${SYSTEM_VERSION_CODENAME} stable" local source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${DEBIAN_CODENAME:-"${SOURCE_BRANCH_CODENAME:-"${SYSTEM_VERSION_CODENAME}"}"} stable"
echo "${source_content}" | tee $File_DockerSourceList >/dev/null 2>&1 echo "${source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
commands+=("apt-get update") commands+=("apt-get update")
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
local repo_file_url="${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH}/docker-ce.repo" local repo_file_url="${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH}/docker-ce.repo"
local package_manager="$(get_package_manager)" local package_manager="$(get_package_manager)"
case "${SYSTEM_VERSION_ID_MAJOR}" in case "${SYSTEM_VERSION_ID_MAJOR}" in
@@ -1178,6 +1224,19 @@ function configure_docker_ce_mirror() {
;; ;;
esac esac
fi fi
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_KYLIN_SERVER}" ]]; then
case "${SYSTEM_VERSION_ID_MAJOR}" in
"V10")
target_version="8"
;;
"V11")
target_version="10"
;;
*)
target_version="10"
;;
esac
fi
;; ;;
esac esac
sed -e "s|\$releasever|${target_version}|g" \ sed -e "s|\$releasever|${target_version}|g" \
@@ -1210,12 +1269,12 @@ function install_docker_engine() {
## 导出可安装的版本列表 ## 导出可安装的版本列表
function export_version_list() { function export_version_list() {
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
apt-cache madison docker-ce | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp apt-cache madison docker-ce | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp
apt-cache madison docker-ce-cli | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp apt-cache madison docker-ce-cli | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp
grep -wf $File_DockerCEVersionTmp $File_DockerCECliVersionTmp >$File_DockerVersionTmp grep -wf $File_DockerCEVersionTmp $File_DockerCECliVersionTmp >$File_DockerVersionTmp
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
local package_manager="$(get_package_manager)" local package_manager="$(get_package_manager)"
$package_manager list docker-ce --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp $package_manager list docker-ce --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp
$package_manager list docker-ce-cli --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp $package_manager list docker-ce-cli --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp
@@ -1235,20 +1294,20 @@ function install_docker_engine() {
# 确定需要卸载的软件包 # 确定需要卸载的软件包
local package_list local package_list
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
package_list='docker* podman podman-docker containerd runc' package_list='docker* podman podman-docker containerd runc'
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
package_list='docker* podman podman-docker runc' package_list='docker* podman podman-docker runc'
;; ;;
esac esac
# 卸载软件包并清理残留 # 卸载软件包并清理残留
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
apt-get remove -y $package_list >/dev/null 2>&1 apt-get remove -y $package_list >/dev/null 2>&1
apt-get autoremove -y >/dev/null 2>&1 apt-get autoremove -y >/dev/null 2>&1
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
local package_manager="$(get_package_manager)" local package_manager="$(get_package_manager)"
$package_manager remove -y $package_list >/dev/null 2>&1 $package_manager remove -y $package_list >/dev/null 2>&1
$package_manager autoremove -y >/dev/null 2>&1 $package_manager autoremove -y >/dev/null 2>&1
@@ -1260,7 +1319,7 @@ function install_docker_engine() {
function install_main() { function install_main() {
local target_docker_version local target_docker_version
local pkgs="" local pkgs=""
local commands=() local -a commands=()
if [[ "${INSTALL_LATESTED_DOCKER}" == "true" ]]; then if [[ "${INSTALL_LATESTED_DOCKER}" == "true" ]]; then
pkgs="docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin" pkgs="docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin"
else else
@@ -1278,7 +1337,7 @@ function install_docker_engine() {
target_docker_version="${DESIGNATED_DOCKER_VERSION}" target_docker_version="${DESIGNATED_DOCKER_VERSION}"
else else
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
local version_list=( local -a version_list=(
$(cat $File_DockerVersionTmp | sort -t '.' -k1,1nr -k2,2nr -k3,3nr | tr '\n' ' ' | sed 's/ $//') $(cat $File_DockerVersionTmp | sort -t '.' -k1,1nr -k2,2nr -k3,3nr | tr '\n' ' ' | sed 's/ $//')
) )
local mirror_list_name="version_list" local mirror_list_name="version_list"
@@ -1310,7 +1369,7 @@ function install_docker_engine() {
local major_version="$(echo ${target_docker_version} | cut -d'.' -f1)" local major_version="$(echo ${target_docker_version} | cut -d'.' -f1)"
local minor_version="$(echo ${target_docker_version} | cut -d'.' -f2)" local minor_version="$(echo ${target_docker_version} | cut -d'.' -f2)"
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then
local tmp_version="$(apt-cache madison docker-ce-cli | grep "${target_docker_version}" | head -1 | awk '{print $3}' | awk -F "${target_docker_version}" '{print$1}')" local tmp_version="$(apt-cache madison docker-ce-cli | grep "${target_docker_version}" | head -1 | awk '{print $3}' | awk -F "${target_docker_version}" '{print$1}')"
pkgs="docker-ce=${tmp_version}${target_docker_version}* docker-ce-cli=${tmp_version}${target_docker_version}*" pkgs="docker-ce=${tmp_version}${target_docker_version}* docker-ce-cli=${tmp_version}${target_docker_version}*"
@@ -1319,7 +1378,7 @@ function install_docker_engine() {
fi fi
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
pkgs="docker-ce-${target_docker_version}" pkgs="docker-ce-${target_docker_version}"
if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then
pkgs="${pkgs} docker-ce-cli-${target_docker_version}" pkgs="${pkgs} docker-ce-cli-${target_docker_version}"
@@ -1335,10 +1394,10 @@ function install_docker_engine() {
fi fi
fi fi
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
commands+=("apt-get install -y ${pkgs}") commands+=("apt-get install -y ${pkgs}")
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
commands+=("$(get_package_manager) install -y ${pkgs}") commands+=("$(get_package_manager) install -y ${pkgs}")
;; ;;
esac esac
@@ -1393,10 +1452,10 @@ function install_docker_engine() {
## 判定是否已安装 ## 判定是否已安装
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
dpkg -l | grep docker-ce-cli -q dpkg -l | grep docker-ce-cli -q
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
rpm -qa | grep docker-ce-cli -q rpm -qa | grep docker-ce-cli -q
;; ;;
esac esac
@@ -1477,7 +1536,7 @@ function change_docker_registry_mirror() {
touch $File_DockerConfig touch $File_DockerConfig
fi fi
echo -e '{\n "registry-mirrors": ["https://'"${SOURCE_REGISTRY}"'"]\n}' >$File_DockerConfig echo -e '{\n "registry-mirrors": '"$(handleRegistryMirrorsValue ${SOURCE_REGISTRY})"'\n}' >$File_DockerConfig
## 重启服务 ## 重启服务
systemctl daemon-reload systemctl daemon-reload
if [[ "$(systemctl is-active docker 2>/dev/null)" == "active" ]]; then if [[ "$(systemctl is-active docker 2>/dev/null)" == "active" ]]; then
@@ -1489,10 +1548,10 @@ function change_docker_registry_mirror() {
function only_change_docker_registry_mirror() { function only_change_docker_registry_mirror() {
## 判定是否已安装 ## 判定是否已安装
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
dpkg -l | grep docker-ce-cli -q dpkg -l | grep docker-ce-cli -q
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
rpm -qa | grep docker-ce-cli -q rpm -qa | grep docker-ce-cli -q
;; ;;
esac esac
@@ -1509,13 +1568,13 @@ function only_change_docker_registry_mirror() {
if ! command_exists jq; then if ! command_exists jq; then
## 更新软件源 ## 更新软件源
local package_manager local package_manager
local commands=() local -a commands=()
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
package_manager="apt-get" package_manager="apt-get"
commands+=("${package_manager} update") commands+=("${package_manager} update")
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
package_manager="$(get_package_manager)" package_manager="$(get_package_manager)"
commands+=("${package_manager} makecache") commands+=("${package_manager} makecache")
;; ;;
@@ -1546,23 +1605,43 @@ function only_change_docker_registry_mirror() {
fi fi
fi fi
[ -s "${File_DockerConfig}" ] || echo "{}" >$File_DockerConfig [ -s "${File_DockerConfig}" ] || echo "{}" >$File_DockerConfig
jq '.["registry-mirrors"] = ["https://'"${SOURCE_REGISTRY}"'"]' $File_DockerConfig >$File_DockerConfig.tmp && mv $File_DockerConfig.tmp $File_DockerConfig jq '.["registry-mirrors"] = '"$(handleRegistryMirrorsValue ${SOURCE_REGISTRY})"'' $File_DockerConfig >$File_DockerConfig.tmp && mv $File_DockerConfig.tmp $File_DockerConfig
else else
echo -e '{\n "registry-mirrors": ["https://'"${SOURCE_REGISTRY}"'"]\n}' >$File_DockerConfig echo -e '{\n "registry-mirrors": '"$(handleRegistryMirrorsValue ${SOURCE_REGISTRY})"'\n}' >$File_DockerConfig
fi fi
echo -e "\n${BLUE}\$${PLAIN} docker info --format '{{json .RegistryConfig.Mirrors}}'"
echo -e "\n${GREEN}${PLAIN} $(docker info --format '{{json .RegistryConfig.Mirrors}}')"
## 重启服务 ## 重启服务
systemctl daemon-reload systemctl daemon-reload
if [[ "$(systemctl is-active docker 2>/dev/null)" == "active" ]]; then if [[ "$(systemctl is-active docker 2>/dev/null)" == "active" ]]; then
systemctl restart docker systemctl restart docker
fi fi
echo -e "\n${BLUE}\$${PLAIN} docker info --format '{{json .RegistryConfig.Mirrors}}'"
echo -e "\033[2m>${PLAIN} $(docker info --format '{{json .RegistryConfig.Mirrors}}')"
if [[ "${PURE_MODE}" != "true" ]]; then if [[ "${PURE_MODE}" != "true" ]]; then
echo -e "\n$COMPLETE $(msg "result.registry.success")" echo -e "\n$COMPLETE $(msg "result.registry.success")"
fi fi
} }
function handleRegistryMirrorsValue() {
local content="$1"
local result=""
content="$(echo "${content}" | sed 's| ||g')"
local -a items=(${content//,/ })
for item in "${items[@]}"; do
[[ -z "${item}" ]] && continue
if [[ -z "${result}" ]]; then
result='"https://'"${item}"'"'
else
result="${result},\"https://${item}\""
fi
done
if [[ "${result}" ]]; then
echo "[${result}]"
else
echo ""
fi
}
## 查看版本并验证安装结果 ## 查看版本并验证安装结果
function check_installed_result() { function check_installed_result() {
if command_exists docker; then if command_exists docker; then
@@ -1576,11 +1655,11 @@ function check_installed_result() {
echo -e "\n$FAIL $(msg "result.install.failed")" echo -e "\n$FAIL $(msg "result.install.failed")"
local source_file package_manager local source_file package_manager
case "${SYSTEM_FACTIONS}" in case "${SYSTEM_FACTIONS}" in
"${SYSTEM_DEBIAN}") "${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
source_file="${File_DockerSourceList}" source_file="${File_DockerSourceList}"
package_manager="apt-get" package_manager="apt-get"
;; ;;
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
source_file="${File_DockerRepo}" source_file="${File_DockerRepo}"
package_manager="$(get_package_manager)" package_manager="$(get_package_manager)"
;; ;;
@@ -1622,7 +1701,7 @@ function get_package_manager() {
;; ;;
esac esac
;; ;;
"${SYSTEM_FEDORA}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}") "${SYSTEM_FEDORA}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
command="dnf" command="dnf"
;; ;;
esac esac
@@ -1631,8 +1710,8 @@ function get_package_manager() {
function interactive_select_list() { function interactive_select_list() {
_SELECT_RESULT="" _SELECT_RESULT=""
eval "local __values=(\"\${${1}[@]}\")" eval "local -a __values=(\"\${${1}[@]}\")"
local __labels=() local -a __labels=()
local message="${2}" local message="${2}"
local selected=0 local selected=0
local start=0 local start=0
@@ -1866,7 +1945,7 @@ function animate_exec() {
exit 130 exit 130
} }
function make_temp_file() { function make_temp_file() {
local temp_dirs=("." "/tmp") local -a temp_dirs=("." "/tmp")
local tmp_file="" local tmp_file=""
for dir in "${temp_dirs[@]}"; do for dir in "${temp_dirs[@]}"; do
[[ ! -d "${dir}" || ! -w "${dir}" ]] && continue [[ ! -d "${dir}" || ! -w "${dir}" ]] && continue
@@ -2059,12 +2138,10 @@ function msg_pack_zh_hans() {
['error.defaultBehavior.installLatest']='默认安装最新版本' ['error.defaultBehavior.installLatest']='默认安装最新版本'
['error.defaultBehavior.noOverwrite']='默认不覆盖' ['error.defaultBehavior.noOverwrite']='默认不覆盖'
['error.defaultBehavior.noUseIntranetSource']='默认不使用内网地址' ['error.defaultBehavior.noUseIntranetSource']='默认不使用内网地址'
['warn.usedCentosBranch']='当前采用 centos 分支(红帽衍生操作系统安装方式)进行安装,可能存在某些无法预料的兼容性问题!'
['warn.usedIntranetSource']='已切换至内网专用地址,仅限在特定环境下使用!' ['warn.usedIntranetSource']='已切换至内网专用地址,仅限在特定环境下使用!'
['warn.needValidNumberIndex']='请输入有效的数字序号!' ['warn.needValidNumberIndex']='请输入有效的数字序号!'
['warn.needInputNumberIndex']='请输入数字序号!' ['warn.needInputNumberIndex']='请输入数字序号!'
['warn.needManuallyDeleteConfig']='请自行删除 {} 中的 {} 配置并重启服务 {}' ['warn.needManuallyDeleteConfig']='请自行删除 {} 中的 {} 配置并重启服务 {}'
['tip.unsupportRHEL10']='Docker 官方尚未支持 RHEL 10 且红帽官方已将 Docker 从注册软件源中移除并默认使用 Podman。'
['tip.skipInstallDockerEngine']='检测到系统已安装 Docker Engine 且是最新版本,跳过安装' ['tip.skipInstallDockerEngine']='检测到系统已安装 Docker Engine 且是最新版本,跳过安装'
['info.backuped.dockerConfig']='已备份原有 Docker 配置文件' ['info.backuped.dockerConfig']='已备份原有 Docker 配置文件'
['interaction.source.type.public']='公网' ['interaction.source.type.public']='公网'
@@ -2122,18 +2199,19 @@ function msg_pack_zh_hans() {
['mirrors.dockerCE.0']='阿里云' ['mirrors.dockerCE.0']='阿里云'
['mirrors.dockerCE.1']='腾讯云' ['mirrors.dockerCE.1']='腾讯云'
['mirrors.dockerCE.2']='华为云' ['mirrors.dockerCE.2']='华为云'
['mirrors.dockerCE.3']='网易' ['mirrors.dockerCE.3']='移动云'
['mirrors.dockerCE.4']='火山引擎' ['mirrors.dockerCE.4']='网易'
['mirrors.dockerCE.5']='微软 Azure 中国' ['mirrors.dockerCE.5']='火山引擎'
['mirrors.dockerCE.6']='清华大学' ['mirrors.dockerCE.6']='微软 Azure 中国'
['mirrors.dockerCE.7']='北京大学' ['mirrors.dockerCE.7']='清华大学'
['mirrors.dockerCE.8']='浙江大学' ['mirrors.dockerCE.8']='北京大学'
['mirrors.dockerCE.9']='南京大学' ['mirrors.dockerCE.9']='浙江大学'
['mirrors.dockerCE.10']='上海交通大学' ['mirrors.dockerCE.10']='南京大学'
['mirrors.dockerCE.11']='重庆邮电大学' ['mirrors.dockerCE.11']='上海交通大学'
['mirrors.dockerCE.12']='中国科学技术大学' ['mirrors.dockerCE.12']='重庆邮电大学'
['mirrors.dockerCE.13']='中国科学院软件研究所' ['mirrors.dockerCE.13']='中国科学技术大学'
['mirrors.dockerCE.14']='官方源' ['mirrors.dockerCE.14']='中国科学院软件研究所'
['mirrors.dockerCE.15']='官方源'
['mirrors.registry.0']='毫秒镜像(推荐)' ['mirrors.registry.0']='毫秒镜像(推荐)'
['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.1']='Docker Proxy'
['mirrors.registry.2']='DaoCloud 道客' ['mirrors.registry.2']='DaoCloud 道客'
@@ -2211,12 +2289,10 @@ function msg_pack_zh_hant() {
['error.defaultBehavior.installLatest']='預設安裝最新版本' ['error.defaultBehavior.installLatest']='預設安裝最新版本'
['error.defaultBehavior.noOverwrite']='預設不覆寫' ['error.defaultBehavior.noOverwrite']='預設不覆寫'
['error.defaultBehavior.noUseIntranetSource']='預設不使用內網位址' ['error.defaultBehavior.noUseIntranetSource']='預設不使用內網位址'
['warn.usedCentosBranch']='目前採用 centos 分支(紅帽衍生系統安裝方式)進行安裝,可能存在某些無法預料的相容性問題!'
['warn.usedIntranetSource']='已切換至內網專用位址,僅限在特定環境下使用!' ['warn.usedIntranetSource']='已切換至內網專用位址,僅限在特定環境下使用!'
['warn.needValidNumberIndex']='請輸入有效的數字序號!' ['warn.needValidNumberIndex']='請輸入有效的數字序號!'
['warn.needInputNumberIndex']='請輸入數字序號!' ['warn.needInputNumberIndex']='請輸入數字序號!'
['warn.needManuallyDeleteConfig']='請自行刪除 {} 中的 {} 設定並重新啟動服務 {}' ['warn.needManuallyDeleteConfig']='請自行刪除 {} 中的 {} 設定並重新啟動服務 {}'
['tip.unsupportRHEL10']='Docker 官方尚未支援 RHEL 10 且紅帽官方已將 Docker 從註冊軟體源中移除並預設使用 Podman。'
['tip.skipInstallDockerEngine']='偵測到系統已安裝 Docker Engine 且是最新版本,跳過安裝' ['tip.skipInstallDockerEngine']='偵測到系統已安裝 Docker Engine 且是最新版本,跳過安裝'
['info.backuped.dockerConfig']='已備份原有 Docker 設定檔' ['info.backuped.dockerConfig']='已備份原有 Docker 設定檔'
['interaction.source.type.public']='公網' ['interaction.source.type.public']='公網'
@@ -2274,18 +2350,19 @@ function msg_pack_zh_hant() {
['mirrors.dockerCE.0']='阿里雲' ['mirrors.dockerCE.0']='阿里雲'
['mirrors.dockerCE.1']='騰訊雲' ['mirrors.dockerCE.1']='騰訊雲'
['mirrors.dockerCE.2']='華為雲' ['mirrors.dockerCE.2']='華為雲'
['mirrors.dockerCE.3']='網易' ['mirrors.dockerCE.3']='移動雲'
['mirrors.dockerCE.4']='火山引擎' ['mirrors.dockerCE.4']='網易'
['mirrors.dockerCE.5']='微軟 Azure 中國' ['mirrors.dockerCE.5']='火山引擎'
['mirrors.dockerCE.6']='清華大學' ['mirrors.dockerCE.6']='微軟 Azure 中國'
['mirrors.dockerCE.7']='北京大學' ['mirrors.dockerCE.7']='清華大學'
['mirrors.dockerCE.8']='浙江大學' ['mirrors.dockerCE.8']='北京大學'
['mirrors.dockerCE.9']='南京大學' ['mirrors.dockerCE.9']='浙江大學'
['mirrors.dockerCE.10']='上海交通大學' ['mirrors.dockerCE.10']='南京大學'
['mirrors.dockerCE.11']='重慶郵電大學' ['mirrors.dockerCE.11']='上海交通大學'
['mirrors.dockerCE.12']='中國科學技術大學' ['mirrors.dockerCE.12']='重慶郵電大學'
['mirrors.dockerCE.13']='中國科學院軟體研究所' ['mirrors.dockerCE.13']='中國科學技術大學'
['mirrors.dockerCE.14']='官方源' ['mirrors.dockerCE.14']='中國科學院軟體研究所'
['mirrors.dockerCE.15']='官方源'
['mirrors.registry.0']='毫秒鏡像(推薦)' ['mirrors.registry.0']='毫秒鏡像(推薦)'
['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.1']='Docker Proxy'
['mirrors.registry.2']='DaoCloud 道客' ['mirrors.registry.2']='DaoCloud 道客'
@@ -2364,12 +2441,10 @@ function msg_pack_en() {
['error.defaultBehavior.installLatest']='Installing latest version by default' ['error.defaultBehavior.installLatest']='Installing latest version by default'
['error.defaultBehavior.noOverwrite']='Not overwriting by default' ['error.defaultBehavior.noOverwrite']='Not overwriting by default'
['error.defaultBehavior.noUseIntranetSource']='Not using intranet address by default' ['error.defaultBehavior.noUseIntranetSource']='Not using intranet address by default'
['warn.usedCentosBranch']='Currently using centos branch (Red Hat derivative OS installation method), may have unpredictable compatibility issues!'
['warn.usedIntranetSource']='Switched to intranet-only address, use only in specific environments!' ['warn.usedIntranetSource']='Switched to intranet-only address, use only in specific environments!'
['warn.needValidNumberIndex']='Please enter a valid number index!' ['warn.needValidNumberIndex']='Please enter a valid number index!'
['warn.needInputNumberIndex']='Please enter a number index!' ['warn.needInputNumberIndex']='Please enter a number index!'
['warn.needManuallyDeleteConfig']='Please manually delete {} configuration in {} and restart service {}' ['warn.needManuallyDeleteConfig']='Please manually delete {} configuration in {} and restart service {}'
['tip.unsupportRHEL10']='Docker official has not yet supported RHEL 10 and Red Hat has removed Docker from registered repositories, using Podman by default.'
['tip.skipInstallDockerEngine']='Detected Docker Engine is already installed with latest version, skipping installation' ['tip.skipInstallDockerEngine']='Detected Docker Engine is already installed with latest version, skipping installation'
['info.backuped.dockerConfig']='Original Docker config file has been backed up' ['info.backuped.dockerConfig']='Original Docker config file has been backed up'
['interaction.source.type.public']='Public' ['interaction.source.type.public']='Public'
@@ -2427,18 +2502,19 @@ Issue Report {}'
['mirrors.dockerCE.0']='Alibaba Cloud' ['mirrors.dockerCE.0']='Alibaba Cloud'
['mirrors.dockerCE.1']='Tencent Cloud' ['mirrors.dockerCE.1']='Tencent Cloud'
['mirrors.dockerCE.2']='Huawei Cloud' ['mirrors.dockerCE.2']='Huawei Cloud'
['mirrors.dockerCE.3']='NetEase' ['mirrors.dockerCE.3']='China Mobile Cloud'
['mirrors.dockerCE.4']='Volcengine' ['mirrors.dockerCE.4']='NetEase'
['mirrors.dockerCE.5']='Microsoft Azure China' ['mirrors.dockerCE.5']='Volcengine'
['mirrors.dockerCE.6']='Tsinghua University' ['mirrors.dockerCE.6']='Microsoft Azure China'
['mirrors.dockerCE.7']='Peking University' ['mirrors.dockerCE.7']='Tsinghua University'
['mirrors.dockerCE.8']='Zhejiang University' ['mirrors.dockerCE.8']='Peking University'
['mirrors.dockerCE.9']='Nanjing University' ['mirrors.dockerCE.9']='Zhejiang University'
['mirrors.dockerCE.10']='Shanghai Jiao Tong University' ['mirrors.dockerCE.10']='Nanjing University'
['mirrors.dockerCE.11']='Chongqing University of Posts and Telecommunications' ['mirrors.dockerCE.11']='Shanghai Jiao Tong University'
['mirrors.dockerCE.12']='University of Science and Technology of China' ['mirrors.dockerCE.12']='Chongqing University of Posts and Telecommunications'
['mirrors.dockerCE.13']='Institute of Software, Chinese Academy of Sciences' ['mirrors.dockerCE.13']='University of Science and Technology of China'
['mirrors.dockerCE.14']='Official Source' ['mirrors.dockerCE.14']='Institute of Software, Chinese Academy of Sciences'
['mirrors.dockerCE.15']='Official Source'
['mirrors.registry.0']='Millisecond Mirror (recommended)' ['mirrors.registry.0']='Millisecond Mirror (recommended)'
['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.1']='Docker Proxy'
['mirrors.registry.2']='DaoCloud' ['mirrors.registry.2']='DaoCloud'

View File

@@ -12,7 +12,7 @@
<a href="https://deepwiki.com/SuperManito/LinuxMirrors"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a><br> <a href="https://deepwiki.com/SuperManito/LinuxMirrors"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a><br>
</p> </p>
<p> <p>
<a href="https://hellogithub.com/repository/775d5b3d0aa04e90be9162104e757f2e" target="_blank"> <a href="https://hellogithub.com/repository/775d5b3d0aa04e90be9162104e757f2e" target="_blank" rel="noopener noreferrer">
<picture> <picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=dark" width="250"> <source media="(prefers-color-scheme: dark)" srcset="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=dark" width="250">
<img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=neutral" alt="FeaturedHelloGitHub" width="250"> <img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=neutral" alt="FeaturedHelloGitHub" width="250">
@@ -26,103 +26,103 @@
<th align="center">Supported Versions</th> <th align="center">Supported Versions</th>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.debian.org" target="_blank"><sub><img src="/docs/assets/images/icon/debian.svg" width="16" height="16"></sub></a>&nbsp;Debian</td> <td><a href="https://www.debian.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/debian.svg" width="16" height="16"></sub></a>&nbsp;Debian</td>
<td align="center">8 ~ 13</td> <td align="center">8 ~ 13</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://ubuntu.com" target="_blank"><sub><img src="/docs/assets/images/icon/ubuntu.svg" width="16" height="16"></sub></a>&nbsp;Ubuntu</td> <td><a href="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/ubuntu.svg" width="16" height="16"></sub></a>&nbsp;Ubuntu</td>
<td align="center">14 ~ 25</td> <td align="center">14 ~ 25</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.kali.org" target="_blank"><sub><img src="/docs/assets/images/icon/kali-linux.svg" width="16" height="16"></sub></a>&nbsp;Kali Linux</td> <td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.png" width="16" height="16"></sub></a>&nbsp;Kali Linux</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://linuxmint.com" target="_blank"><sub><img src="/docs/assets/images/icon/linux-mint.ico" width="16" height="16"></sub></a>&nbsp;Linux Mint</td> <td><a href="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/linux-mint.ico" width="16" height="16"></sub></a>&nbsp;Linux Mint</td>
<td align="center">19 ~ 22 / LMDE 6</td> <td align="center">19 ~ 22 / LMDE 6</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.deepin.org" target="_blank"><sub><img src="/docs/assets/images/icon/deepin.png" width="16" height="16"></sub></a>&nbsp;Deepin</td> <td><a href="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/deepin.png" width="16" height="16"></sub></a>&nbsp;Deepin</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://zorin.com/os" target="_blank"><sub><img src="/docs/assets/images/icon/zorin-os.png" width="16" height="16"></sub></a>&nbsp;Zorin OS</td> <td><a href="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/zorin-os.png" width="16" height="16"></sub></a>&nbsp;Zorin OS</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.armbian.org" target="_blank"><sub><img src="/docs/assets/images/icon/armbian.png" width="16" height="16"></sub></a>&nbsp;Armbian</td> <td><a href="https://www.armbian.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/armbian.png" width="16" height="16"></sub></a>&nbsp;Armbian</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><sub><img src="/docs/assets/images/icon/proxmox.svg" width="16" height="16"></sub></a>&nbsp;Proxmox VE</td> <td><a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/proxmox.svg" width="16" height="16"></sub></a>&nbsp;Proxmox VE</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.raspberrypi.com/software" target="_blank"><sub><img src="/docs/assets/images/icon/raspberry-pi.png" width="16" height="16"></sub></a>&nbsp;Raspberry Pi OS</td> <td><a href="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/raspberry-pi.png" width="16" height="16"></sub></a>&nbsp;Raspberry Pi OS</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><sub><img src="/docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a>&nbsp;Red Hat Enterprise Linux</td> <td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a>&nbsp;Red Hat Enterprise Linux</td>
<td align="center">7 ~ 10</td> <td align="center">7 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://fedoraproject.org" target="_blank"><sub><img src="/docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a>&nbsp;Fedora</td> <td><a href="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a>&nbsp;Fedora</td>
<td align="center">30 ~ 42</td> <td align="center">30 ~ 42</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.centos.org" target="_blank"><sub><img src="/docs/assets/images/icon/centos.svg" width="16" height="16"></sub></a>&nbsp;CentOS</td> <td><a href="https://www.centos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/centos.svg" width="16" height="16"></sub></a>&nbsp;CentOS</td>
<td align="center">7 ~ 8 / Stream 8 ~ 10</td> <td align="center">7 ~ 8 / Stream 8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://rockylinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/rocky-linux.svg" width="16" height="16"></sub></a>&nbsp;Rocky Linux</td> <td><a href="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/rocky-linux.svg" width="16" height="16"></sub></a>&nbsp;Rocky Linux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://almalinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a>&nbsp;AlmaLinux</td> <td><a href="https://almalinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a>&nbsp;AlmaLinux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.oracle.com/linux" target="_blank"><sub><img src="/docs/assets/images/icon/oracle-linux.png" width="16" height="16"></sub></a>&nbsp;Oracle Linux</td> <td><a href="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/oracle-linux.png" width="16" height="16"></sub></a>&nbsp;Oracle Linux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.openeuler.org/zh" target="_blank"><sub><img src="/docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a>&nbsp;openEuler</td> <td><a href="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a>&nbsp;openEuler</td>
<td align="center">20 ~ 25</td> <td align="center">20 ~ 25</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.opencloudos.org" target="_blank"><sub><img src="/docs/assets/images/icon/opencloudos.png" width="16" height="16"></sub></a>&nbsp;OpenCloudOS</td> <td><a href="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/opencloudos.png" width="16" height="16"></sub></a>&nbsp;OpenCloudOS</td>
<td align="center">8.6 ~ 9 / Stream 23</td> <td align="center">8.6 ~ 9 / Stream 23</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.openkylin.top" target="_blank"><sub><img src="/docs/assets/images/icon/openkylin.ico" width="16" height="16"></sub></a>&nbsp;openKylin</td> <td><a href="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/openkylin.ico" width="16" height="16"></sub></a>&nbsp;openKylin</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://openanolis.cn" target="_blank"><sub><img src="/docs/assets/images/icon/anolis.png" width="16" height="16"></sub></a>&nbsp;Anolis OS</td> <td><a href="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/anolis.png" width="16" height="16"></sub></a>&nbsp;Anolis OS</td>
<td align="center">8 / 23</td> <td align="center">8 / 23</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.opensuse.org" target="_blank"><sub><img src="/docs/assets/images/icon/opensuse.svg" width="16" height="16"></sub></a>&nbsp;openSUSE</td> <td><a href="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/opensuse.svg" width="16" height="16"></sub></a>&nbsp;openSUSE</td>
<td align="center">Leap 15 ~ 16 / Tumbleweed</td> <td align="center">Leap 15 ~ 16 / Tumbleweed</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://archlinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/arch-linux.ico" width="16" height="16"></sub></a>&nbsp;Arch Linux</td> <td><a href="https://archlinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/arch-linux.ico" width="16" height="16"></sub></a>&nbsp;Arch Linux</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://manjaro.org" target="_blank"><sub><img src="/docs/assets/images/icon/manjaro.svg" width="16" height="16"></sub></a>&nbsp;Manjaro</td> <td><a href="https://manjaro.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/manjaro.svg" width="16" height="16"></sub></a>&nbsp;Manjaro</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.alpinelinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/alpine.png" width="16" height="16"></sub></a>&nbsp;Alpine Linux</td> <td><a href="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/alpine.png" width="16" height="16"></sub></a>&nbsp;Alpine Linux</td>
<td align="center">v3 / edge</td> <td align="center">v3 / edge</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.gentoo.org" target="_blank"><sub><img src="/docs/assets/images/icon/gentoo.svg" width="16" height="16"></sub></a>&nbsp;Gentoo</td> <td><a href="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/gentoo.svg" width="16" height="16"></sub></a>&nbsp;Gentoo</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://nixos.org" target="_blank"><sub><img src="/docs/assets/images/icon/nixos.svg" width="16" height="16"></sub></a>&nbsp;NixOS</td> <td><a href="https://nixos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/nixos.svg" width="16" height="16"></sub></a>&nbsp;NixOS</td>
<td align="center">19 ~ 25</td> <td align="center">19 ~ 25</td>
</tr> </tr>
</table> </table>

View File

@@ -12,7 +12,7 @@
<a href="https://deepwiki.com/SuperManito/LinuxMirrors"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a><br> <a href="https://deepwiki.com/SuperManito/LinuxMirrors"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a><br>
</p> </p>
<p> <p>
<a href="https://hellogithub.com/repository/775d5b3d0aa04e90be9162104e757f2e" target="_blank"> <a href="https://hellogithub.com/repository/775d5b3d0aa04e90be9162104e757f2e" target="_blank" rel="noopener noreferrer">
<picture> <picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=dark" width="250"> <source media="(prefers-color-scheme: dark)" srcset="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=dark" width="250">
<img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=neutral" alt="FeaturedHelloGitHub" width="250"> <img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=neutral" alt="FeaturedHelloGitHub" width="250">
@@ -26,103 +26,103 @@
<th align="center">适配版本</th> <th align="center">适配版本</th>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.debian.org" target="_blank"><sub><img src="/docs/assets/images/icon/debian.svg" width="16" height="16"></sub></a>&nbsp;Debian</td> <td><a href="https://www.debian.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/debian.svg" width="16" height="16"></sub></a>&nbsp;Debian</td>
<td align="center">8 ~ 13</td> <td align="center">8 ~ 13</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://ubuntu.com" target="_blank"><sub><img src="/docs/assets/images/icon/ubuntu.svg" width="16" height="16"></sub></a>&nbsp;Ubuntu</td> <td><a href="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/ubuntu.svg" width="16" height="16"></sub></a>&nbsp;Ubuntu</td>
<td align="center">14 ~ 25</td> <td align="center">14 ~ 25</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.kali.org" target="_blank"><sub><img src="/docs/assets/images/icon/kali-linux.svg" width="16" height="16"></sub></a>&nbsp;Kali Linux</td> <td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.png" width="16" height="16"></sub></a>&nbsp;Kali Linux</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://linuxmint.com" target="_blank"><sub><img src="/docs/assets/images/icon/linux-mint.ico" width="16" height="16"></sub></a>&nbsp;Linux Mint</td> <td><a href="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/linux-mint.ico" width="16" height="16"></sub></a>&nbsp;Linux Mint</td>
<td align="center">19 ~ 22 / LMDE 6</td> <td align="center">19 ~ 22 / LMDE 6</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.deepin.org" target="_blank"><sub><img src="/docs/assets/images/icon/deepin.png" width="16" height="16"></sub></a>&nbsp;Deepin深度</td> <td><a href="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/deepin.png" width="16" height="16"></sub></a>&nbsp;Deepin深度</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://zorin.com/os" target="_blank"><sub><img src="/docs/assets/images/icon/zorin-os.png" width="16" height="16"></sub></a>&nbsp;Zorin OS</td> <td><a href="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/zorin-os.png" width="16" height="16"></sub></a>&nbsp;Zorin OS</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.armbian.org" target="_blank"><sub><img src="/docs/assets/images/icon/armbian.png" width="16" height="16"></sub></a>&nbsp;Armbian</td> <td><a href="https://www.armbian.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/armbian.png" width="16" height="16"></sub></a>&nbsp;Armbian</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><sub><img src="/docs/assets/images/icon/proxmox.svg" width="16" height="16"></sub></a>&nbsp;Proxmox VE</td> <td><a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/proxmox.svg" width="16" height="16"></sub></a>&nbsp;Proxmox VE</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.raspberrypi.com/software" target="_blank"><sub><img src="/docs/assets/images/icon/raspberry-pi.png" width="16" height="16"></sub></a>&nbsp;Raspberry Pi OS</td> <td><a href="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/raspberry-pi.png" width="16" height="16"></sub></a>&nbsp;Raspberry Pi OS</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><sub><img src="/docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a>&nbsp;Red Hat Enterprise Linux</td> <td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a>&nbsp;Red Hat Enterprise Linux</td>
<td align="center">7 ~ 10</td> <td align="center">7 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://fedoraproject.org" target="_blank"><sub><img src="/docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a>&nbsp;Fedora</td> <td><a href="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a>&nbsp;Fedora</td>
<td align="center">30 ~ 42</td> <td align="center">30 ~ 42</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.centos.org" target="_blank"><sub><img src="/docs/assets/images/icon/centos.svg" width="16" height="16"></sub></a>&nbsp;CentOS</td> <td><a href="https://www.centos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/centos.svg" width="16" height="16"></sub></a>&nbsp;CentOS</td>
<td align="center">7 ~ 8 / Stream 8 ~ 10</td> <td align="center">7 ~ 8 / Stream 8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://rockylinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/rocky-linux.svg" width="16" height="16"></sub></a>&nbsp;Rocky Linux</td> <td><a href="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/rocky-linux.svg" width="16" height="16"></sub></a>&nbsp;Rocky Linux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://almalinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a>&nbsp;AlmaLinux</td> <td><a href="https://almalinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a>&nbsp;AlmaLinux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.oracle.com/linux" target="_blank"><sub><img src="/docs/assets/images/icon/oracle-linux.png" width="16" height="16"></sub></a>&nbsp;Oracle Linux</td> <td><a href="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/oracle-linux.png" width="16" height="16"></sub></a>&nbsp;Oracle Linux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.openeuler.org/zh" target="_blank"><sub><img src="/docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a>&nbsp;openEuler开源欧拉</td> <td><a href="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a>&nbsp;openEuler开源欧拉</td>
<td align="center">20 ~ 25</td> <td align="center">20 ~ 25</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.opencloudos.org" target="_blank"><sub><img src="/docs/assets/images/icon/opencloudos.png" width="16" height="16"></sub></a>&nbsp;OpenCloudOS鸥栖</td> <td><a href="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/opencloudos.png" width="16" height="16"></sub></a>&nbsp;OpenCloudOS鸥栖</td>
<td align="center">8.6 ~ 9 / Stream 23</td> <td align="center">8.6 ~ 9 / Stream 23</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.openkylin.top" target="_blank"><sub><img src="/docs/assets/images/icon/openkylin.ico" width="16" height="16"></sub></a>&nbsp;openKylin开放麒麟</td> <td><a href="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/openkylin.ico" width="16" height="16"></sub></a>&nbsp;openKylin开放麒麟</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://openanolis.cn" target="_blank"><sub><img src="/docs/assets/images/icon/anolis.png" width="16" height="16"></sub></a>&nbsp;Anolis OS龙蜥</td> <td><a href="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/anolis.png" width="16" height="16"></sub></a>&nbsp;Anolis OS龙蜥</td>
<td align="center">8 / 23</td> <td align="center">8 / 23</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.opensuse.org" target="_blank"><sub><img src="/docs/assets/images/icon/opensuse.svg" width="16" height="16"></sub></a>&nbsp;openSUSE</td> <td><a href="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/opensuse.svg" width="16" height="16"></sub></a>&nbsp;openSUSE</td>
<td align="center">Leap 15 ~ 16 / Tumbleweed</td> <td align="center">Leap 15 ~ 16 / Tumbleweed</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://archlinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/arch-linux.ico" width="16" height="16"></sub></a>&nbsp;Arch Linux</td> <td><a href="https://archlinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/arch-linux.ico" width="16" height="16"></sub></a>&nbsp;Arch Linux</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://manjaro.org" target="_blank"><sub><img src="/docs/assets/images/icon/manjaro.svg" width="16" height="16"></sub></a>&nbsp;Manjaro</td> <td><a href="https://manjaro.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/manjaro.svg" width="16" height="16"></sub></a>&nbsp;Manjaro</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.alpinelinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/alpine.png" width="16" height="16"></sub></a>&nbsp;Alpine Linux</td> <td><a href="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/alpine.png" width="16" height="16"></sub></a>&nbsp;Alpine Linux</td>
<td align="center">v3 / edge</td> <td align="center">v3 / edge</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.gentoo.org" target="_blank"><sub><img src="/docs/assets/images/icon/gentoo.svg" width="16" height="16"></sub></a>&nbsp;Gentoo</td> <td><a href="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/gentoo.svg" width="16" height="16"></sub></a>&nbsp;Gentoo</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://nixos.org" target="_blank"><sub><img src="/docs/assets/images/icon/nixos.svg" width="16" height="16"></sub></a>&nbsp;NixOS</td> <td><a href="https://nixos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/nixos.svg" width="16" height="16"></sub></a>&nbsp;NixOS</td>
<td align="center">19 ~ 25</td> <td align="center">19 ~ 25</td>
</tr> </tr>
</table> </table>

View File

@@ -12,7 +12,7 @@
<a href="https://deepwiki.com/SuperManito/LinuxMirrors"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a><br> <a href="https://deepwiki.com/SuperManito/LinuxMirrors"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a><br>
</p> </p>
<p> <p>
<a href="https://hellogithub.com/repository/775d5b3d0aa04e90be9162104e757f2e" target="_blank"> <a href="https://hellogithub.com/repository/775d5b3d0aa04e90be9162104e757f2e" target="_blank" rel="noopener noreferrer">
<picture> <picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=dark" width="250"> <source media="(prefers-color-scheme: dark)" srcset="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=dark" width="250">
<img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=neutral" alt="FeaturedHelloGitHub" width="250"> <img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=775d5b3d0aa04e90be9162104e757f2e&claim_uid=mXoISqgeyYLDf1a&theme=neutral" alt="FeaturedHelloGitHub" width="250">
@@ -26,103 +26,103 @@
<th align="center">適配版本</th> <th align="center">適配版本</th>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.debian.org" target="_blank"><sub><img src="/docs/assets/images/icon/debian.svg" width="16" height="16"></sub></a>&nbsp;Debian</td> <td><a href="https://www.debian.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/debian.svg" width="16" height="16"></sub></a>&nbsp;Debian</td>
<td align="center">8 ~ 13</td> <td align="center">8 ~ 13</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://ubuntu.com" target="_blank"><sub><img src="/docs/assets/images/icon/ubuntu.svg" width="16" height="16"></sub></a>&nbsp;Ubuntu</td> <td><a href="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/ubuntu.svg" width="16" height="16"></sub></a>&nbsp;Ubuntu</td>
<td align="center">14 ~ 25</td> <td align="center">14 ~ 25</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.kali.org" target="_blank"><sub><img src="/docs/assets/images/icon/kali-linux.svg" width="16" height="16"></sub></a>&nbsp;Kali Linux</td> <td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.png" width="16" height="16"></sub></a>&nbsp;Kali Linux</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://linuxmint.com" target="_blank"><sub><img src="/docs/assets/images/icon/linux-mint.ico" width="16" height="16"></sub></a>&nbsp;Linux Mint</td> <td><a href="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/linux-mint.ico" width="16" height="16"></sub></a>&nbsp;Linux Mint</td>
<td align="center">19 ~ 22 / LMDE 6</td> <td align="center">19 ~ 22 / LMDE 6</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.deepin.org" target="_blank"><sub><img src="/docs/assets/images/icon/deepin.png" width="16" height="16"></sub></a>&nbsp;Deepin</td> <td><a href="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/deepin.png" width="16" height="16"></sub></a>&nbsp;Deepin</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://zorin.com/os" target="_blank"><sub><img src="/docs/assets/images/icon/zorin-os.png" width="16" height="16"></sub></a>&nbsp;Zorin OS</td> <td><a href="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/zorin-os.png" width="16" height="16"></sub></a>&nbsp;Zorin OS</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.armbian.org" target="_blank"><sub><img src="/docs/assets/images/icon/armbian.png" width="16" height="16"></sub></a>&nbsp;Armbian</td> <td><a href="https://www.armbian.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/armbian.png" width="16" height="16"></sub></a>&nbsp;Armbian</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><sub><img src="/docs/assets/images/icon/proxmox.svg" width="16" height="16"></sub></a>&nbsp;Proxmox VE</td> <td><a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/proxmox.svg" width="16" height="16"></sub></a>&nbsp;Proxmox VE</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.raspberrypi.com/software" target="_blank"><sub><img src="/docs/assets/images/icon/raspberry-pi.png" width="16" height="16"></sub></a>&nbsp;Raspberry Pi OS</td> <td><a href="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/raspberry-pi.png" width="16" height="16"></sub></a>&nbsp;Raspberry Pi OS</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><sub><img src="/docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a>&nbsp;Red Hat Enterprise Linux</td> <td><a href="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/redhat.svg" width="16" height="16"></sub></a>&nbsp;Red Hat Enterprise Linux</td>
<td align="center">7 ~ 10</td> <td align="center">7 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://fedoraproject.org" target="_blank"><sub><img src="/docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a>&nbsp;Fedora</td> <td><a href="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/fedora.ico" width="16" height="16"></sub></a>&nbsp;Fedora</td>
<td align="center">30 ~ 42</td> <td align="center">30 ~ 42</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.centos.org" target="_blank"><sub><img src="/docs/assets/images/icon/centos.svg" width="16" height="16"></sub></a>&nbsp;CentOS</td> <td><a href="https://www.centos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/centos.svg" width="16" height="16"></sub></a>&nbsp;CentOS</td>
<td align="center">7 ~ 8 / Stream 8 ~ 10</td> <td align="center">7 ~ 8 / Stream 8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://rockylinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/rocky-linux.svg" width="16" height="16"></sub></a>&nbsp;Rocky Linux</td> <td><a href="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/rocky-linux.svg" width="16" height="16"></sub></a>&nbsp;Rocky Linux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://almalinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a>&nbsp;AlmaLinux</td> <td><a href="https://almalinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/almalinux.svg" width="16" height="16"></sub></a>&nbsp;AlmaLinux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.oracle.com/linux" target="_blank"><sub><img src="/docs/assets/images/icon/oracle-linux.png" width="16" height="16"></sub></a>&nbsp;Oracle Linux</td> <td><a href="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/oracle-linux.png" width="16" height="16"></sub></a>&nbsp;Oracle Linux</td>
<td align="center">8 ~ 10</td> <td align="center">8 ~ 10</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.openeuler.org/zh" target="_blank"><sub><img src="/docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a>&nbsp;openEuler</td> <td><a href="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/openeuler.ico" width="16" height="16"></sub></a>&nbsp;openEuler</td>
<td align="center">20 ~ 25</td> <td align="center">20 ~ 25</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.opencloudos.org" target="_blank"><sub><img src="/docs/assets/images/icon/opencloudos.png" width="16" height="16"></sub></a>&nbsp;OpenCloudOS</td> <td><a href="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/opencloudos.png" width="16" height="16"></sub></a>&nbsp;OpenCloudOS</td>
<td align="center">8.6 ~ 9 / Stream 23</td> <td align="center">8.6 ~ 9 / Stream 23</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.openkylin.top" target="_blank"><sub><img src="/docs/assets/images/icon/openkylin.ico" width="16" height="16"></sub></a>&nbsp;openKylin</td> <td><a href="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/openkylin.ico" width="16" height="16"></sub></a>&nbsp;openKylin</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://openanolis.cn" target="_blank"><sub><img src="/docs/assets/images/icon/anolis.png" width="16" height="16"></sub></a>&nbsp;Anolis OS</td> <td><a href="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/anolis.png" width="16" height="16"></sub></a>&nbsp;Anolis OS</td>
<td align="center">8 / 23</td> <td align="center">8 / 23</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.opensuse.org" target="_blank"><sub><img src="/docs/assets/images/icon/opensuse.svg" width="16" height="16"></sub></a>&nbsp;openSUSE</td> <td><a href="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/opensuse.svg" width="16" height="16"></sub></a>&nbsp;openSUSE</td>
<td align="center">Leap 15 ~ 16 / Tumbleweed</td> <td align="center">Leap 15 ~ 16 / Tumbleweed</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://archlinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/arch-linux.ico" width="16" height="16"></sub></a>&nbsp;Arch Linux</td> <td><a href="https://archlinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/arch-linux.ico" width="16" height="16"></sub></a>&nbsp;Arch Linux</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://manjaro.org" target="_blank"><sub><img src="/docs/assets/images/icon/manjaro.svg" width="16" height="16"></sub></a>&nbsp;Manjaro</td> <td><a href="https://manjaro.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/manjaro.svg" width="16" height="16"></sub></a>&nbsp;Manjaro</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.alpinelinux.org" target="_blank"><sub><img src="/docs/assets/images/icon/alpine.png" width="16" height="16"></sub></a>&nbsp;Alpine Linux</td> <td><a href="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/alpine.png" width="16" height="16"></sub></a>&nbsp;Alpine Linux</td>
<td align="center">v3 / edge</td> <td align="center">v3 / edge</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://www.gentoo.org" target="_blank"><sub><img src="/docs/assets/images/icon/gentoo.svg" width="16" height="16"></sub></a>&nbsp;Gentoo</td> <td><a href="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/gentoo.svg" width="16" height="16"></sub></a>&nbsp;Gentoo</td>
<td align="center">all</td> <td align="center">all</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://nixos.org" target="_blank"><sub><img src="/docs/assets/images/icon/nixos.svg" width="16" height="16"></sub></a>&nbsp;NixOS</td> <td><a href="https://nixos.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/nixos.svg" width="16" height="16"></sub></a>&nbsp;NixOS</td>
<td align="center">19 ~ 25</td> <td align="center">19 ~ 25</td>
</tr> </tr>
</table> </table>

18
SECURITY.md Normal file
View File

@@ -0,0 +1,18 @@
# Security Policy
## Supported Versions
Use this section to tell people about which versions of your project are
currently being supported with security updates.
| Version | Supported |
| ------- | ------------------ |
| all | :white_check_mark: |
## Reporting a Vulnerability
Use this section to tell people how to report a vulnerability.
Tell them where to go, how often they can expect to get an update on a
reported vulnerability, what to expect if the vulnerability is accepted or
declined, etc.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -1 +0,0 @@
<svg viewBox="0 0 519.36 293.65" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="m478.2 30.541c-1.708-.45694-3.4119-.54087-5.1767-.54087h-427.93c-6.4231.050078-12.061 4.1054-14.195 10.144-.69747 1.9633-.90029 3.9505-.90029 6.0098v202.42c.23751 8.4346 6.8365 15.012 15.194 15.033 17.519.0232 53.594-.0631 53.594-.0631l-.06358-15.665h-52.62c-.27926-1.6828-.20829-199.78.06358-200.69 1.6119-.225 425.79-.1438 426.72.07426.25653 1.5279.1824 199.65-.0982 200.69h-354.74v15.667s1.3845 0 2.0182.0232h354.25c6.3531-.0631 11.982-4.0483 14.147-10.038.69741-1.9079.89785-3.8747.89785-5.886v-202.8c-.13354-6.6996-4.6932-12.585-11.143-14.365zm-360.14 174.01v-40.513c0-.91374.25653-1.5554 1.0028-2.1347 3.129-2.4743 6.2158-5.019 9.3034-7.5448.30803-.22871.60752-.43189.99168-.71223.33308.4305.61322.78284.87185 1.1699 5.2486 7.5722 10.501 15.136 15.746 22.696 6.4361 9.3128 12.883 18.583 19.306 27.852.35674.53803.68407.94598 1.475.94598 6.7627-.0232 13.519-.0232 20.273-.0232.22361 0 .4537-.0743.80993-.15494-14.956-21.781-29.85-43.412-44.79-65.174 3.0057-3.4891 5.9134-6.8472 8.8178-10.288 2.912-3.3691 5.8136-6.7497 8.7208-10.142 2.9029-3.3839 5.7849-6.7734 8.6954-10.161 2.9045-3.3952 5.8136-6.7826 8.6851-10.168 2.8915-3.3601 5.7622-6.7219 8.8271-10.347h-1.704c-6.1202 0-12.237.03707-18.358-.0232-1.1253 0-1.835.32611-2.5775 1.1995-15.036 17.806-30.108 35.614-45.178 53.399-.19994.22776-.45973.43188-.89398.83223v-44.294c0-3.6662.0631-7.3435 0-11.012h-18.909v116.15c1.5011.2635 17.926.20969 18.939-.0631v-1.4778zm100.96 1.681c.15215-.43977.32612-.81748.45878-1.2267 3.0557-8.6814 6.1147-17.348 9.1787-26.037.50973-1.3965 1.0166-2.8008 1.4772-4.2031.18231-.58535.48083-.89161 1.0981-.81748.19994.0232.43236 0 .6355 0h43.136c3.8993 10.803 7.7716 21.529 11.629 32.255h20.193c-14.567-39.029-29.072-77.903-43.549-116.77h-20.649c-.1327.25469-.2301.44024-.28254.61435-14.377 38.551-28.737 77.119-43.109 115.66-.0631.0631-.0631.18231-.0631.25654v.1234c0 .0501.0631.0743.0743.1322h19.734zm17.457-50.036c3.9768-11.515 8.0101-22.979 11.885-34.526 1.5549-4.6404 2.7269-9.4269 4.0507-14.159.11181-.3586.18231-.7185.33309-1.2583.19994.30524.35627.49141.41055.69246 3.1587 11.794 7.4766 23.237 11.398 34.807 1.6288 4.8139 3.3157 9.5985 4.9739 14.415.12618.43097.25097.86203.40405 1.3949h-33.882c.15123-.50194.27927-.93364.42586-1.3654zm102.24-57.278c0-3.0077.11083-5.988-.0868-8.9671h-18.675c-.31545 1.4523-.23845 115.33.0631 116.29h68.021v-16.18h-32.812c-2.7584 0-5.5385.0232-8.2848 0-2.7069-.0232-5.4025.0993-8.2101-.0631v-91.058zm81.201-8.2513c0-.18045 0-.33029-.0626-.51752 0-.05008-.0626-.06309-.0626-.09881 0-.0232-.0749-.06309-.0749-.06309h-18.739v116.22h18.838c.0626-.19531.11047-.29922.11047-.43097v-115.11z" fill="#367bf0" fill-rule="evenodd" stroke-width="1.2274"/></svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="_图层_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198.425 198.425"><defs><style>.cls-1{fill:#0085d0;}.cls-2{fill:#8fc31f;}</style></defs><path class="cls-1" d="m172.518,84.013c-8.748-9.716-20.756-15.443-33.812-16.128-15.824-.824-31.025,4.553-42.793,15.149l-24.441,21.933c-4.742,4.256-5.017,11.593-.608,16.192l.744.776,32.811-29.437c9.25-8.329,21.189-12.558,33.62-11.905,9.661.506,18.547,4.745,25.021,11.934s9.76,16.47,9.253,26.131c-1.009,19.246-17.14,34.322-36.726,34.322-6.043,0-11.937-1.46-17.196-4.189-1.356-.703-3.001-.517-4.137.503l-7.843,7.042c8.439,6.067,18.646,9.37,29.176,9.37,26.357,0,48.071-20.373,49.434-46.381.684-13.056-3.757-25.597-12.505-35.312Z"/><path class="cls-2" d="m126.601,111.581l-7.507-7.832c-4.035-4.21-10.683-4.459-15.023-.563l-19.26,17.294c-2.062,1.852-5.221,1.733-7.139-.267l-8.681-9.054,2.619,10.777,7.513,7.836c4.036,4.209,10.683,4.458,15.021.562l19.253-17.288c2.062-1.851,5.22-1.734,7.138.266l6.252,6.517-.187-8.246Z"/><path class="cls-1" d="m126.601,111.581l-32.813,29.433c-9.273,8.35-21.215,12.592-33.619,11.94-19.946-1.045-35.321-18.137-34.275-38.1.493-9.414,4.558-18.141,11.445-24.573,6.145-5.739,13.948-9.106,22.239-9.668,1.662-.113,2.972-1.456,2.995-3.122l.133-9.684c-12.946-.198-25.282,4.705-34.638,13.728-8.343,8.046-13.582,18.851-14.713,30.386-2.739,27.931,18.441,52.289,46.147,53.741,1.057.055,2.11.083,3.161.083,14.657,0,28.629-5.36,39.63-15.266l24.444-21.926c4.743-4.255,5.02-11.592.611-16.192l-.748-.78Z"/><path class="cls-1" d="m172.518,84.013c-8.748-9.716-20.756-15.443-33.812-16.128-15.824-.824-31.025,4.553-42.793,15.149l-24.441,21.933c-4.742,4.256-5.017,11.593-.608,16.192l.744.776,32.811-29.437c9.25-8.329,21.189-12.558,33.62-11.905,9.661.506,18.547,4.745,25.021,11.934s9.76,16.47,9.253,26.131c-1.009,19.246-17.14,34.322-36.726,34.322-6.166,0-12.176-1.52-17.515-4.356-1.165-.619-2.595-.427-3.577.454l-8.083,7.258c8.439,6.067,18.646,9.37,29.176,9.37,26.357,0,48.071-20.373,49.434-46.381.684-13.056-3.757-25.597-12.505-35.312Z"/><path class="cls-1" d="m99.804,32.258c-26.989,0-48.946,21.957-48.946,48.946l4.227-.003c1.847-.364,3.732-.585,5.637-.655,1.603-.059,2.883-1.33,3.04-2.926,1.805-18.296,17.279-32.637,36.042-32.637,19.269,0,35.157,15.057,36.169,34.278l12.708-.67c-1.368-25.982-22.838-46.334-48.877-46.334Z"/><path class="cls-1" d="m71.61,121.935l3.81,3.973c-2.037-3.374-1.436-6.103,2.464-9.602,3.9-3.499-4.063-2.137-4.063-2.137l-2.21,7.765Z"/><path class="cls-1" d="m126.602,111.582l-3.81-3.973c2.037,3.374,1.436,6.103-2.464,9.602-3.9,3.499,4.063,2.137,4.063,2.137l2.21-7.765Z"/></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,3 +1,7 @@
const __p = typeof window !== 'undefined' && window.location && window.location.pathname ? window.location.pathname : ''
const __isZhHant = __p.includes('/zh-Hant')
const __isEn = __p.includes('/en')
// 防抖 // 防抖
function debounce(func, wait) { function debounce(func, wait) {
let timeout let timeout
@@ -24,6 +28,7 @@ const ComponentSystem = {
lastInitTime: 0, lastInitTime: 0,
def: componentDef, def: componentDef,
debouncedInit: null, debouncedInit: null,
app: null,
} }
// 创建组件初始化函数 // 创建组件初始化函数
const initFunc = function () { const initFunc = function () {
@@ -49,6 +54,14 @@ const ComponentSystem = {
component.isInitializing = true component.isInitializing = true
component.lastInitTime = now component.lastInitTime = now
try { try {
if (component.app && typeof component.app.unmount === 'function') {
try {
component.app.unmount()
} catch (err) {
console.error('组件卸载失败', err)
}
component.app = null
}
// 清空容器内容,防止重复初始化 // 清空容器内容,防止重复初始化
while (component.instance.firstChild) { while (component.instance.firstChild) {
component.instance.removeChild(component.instance.firstChild) component.instance.removeChild(component.instance.firstChild)
@@ -65,17 +78,19 @@ const ComponentSystem = {
App.use(TDesign.default) App.use(TDesign.default)
// 挂载应用 // 挂载应用
App.mount(component.instance) App.mount(component.instance)
// 保存 app 引用以便后续卸载
component.app = App
// console.log(`组件 ${componentId} 初始化成功`) // console.log(`组件 ${componentId} 初始化成功`)
// 标记组件已初始化 // 标记组件已初始化
component.instance.setAttribute('data-initialized', 'true') component.instance.setAttribute('data-initialized', 'true')
// 立即更新主题 // 立即更新主题
updateTDesignGlobalTheme() updateTDesignGlobalTheme()
} else if (typeof Vue !== 'undefined') { } else if (typeof Vue !== 'undefined') {
console.error('Vue 未找到') console.error('Vue 未找到')
const errorDiv = document.createElement('div') const errorDiv = document.createElement('div')
errorDiv.innerHTML = `<div class="admonition failure"><p class="admonition-title">组件 ${componentId} 加载失败,请检查 Vue 是否存在!</p></div>` errorDiv.innerHTML = `<div class="admonition failure"><p class="admonition-title">组件 ${componentId} 加载失败,请检查 Vue 是否存在!</p></div>`
component.instance.appendChild(errorDiv) component.instance.appendChild(errorDiv)
} else if (typeof TDesign !== 'undefined') { } else if (typeof TDesign !== 'undefined') {
console.error('TDesign UI 未找到') console.error('TDesign UI 未找到')
const errorDiv = document.createElement('div') const errorDiv = document.createElement('div')
errorDiv.innerHTML = `<div class="admonition failure"><p class="admonition-title">组件 ${componentId} 加载失败,请检查 TDesign UI 是否存在!</p></div>` errorDiv.innerHTML = `<div class="admonition failure"><p class="admonition-title">组件 ${componentId} 加载失败,请检查 TDesign UI 是否存在!</p></div>`
@@ -107,6 +122,14 @@ const ComponentSystem = {
if (component) { if (component) {
component.instance = document.getElementById(componentId) component.instance = document.getElementById(componentId)
if (component.instance) { if (component.instance) {
if (component.app && typeof component.app.unmount === 'function') {
try {
component.app.unmount()
} catch (err) {
console.error('组件初始化失败', err)
}
component.app = null
}
component.instance.removeAttribute('data-initialized') component.instance.removeAttribute('data-initialized')
setTimeout(component.debouncedInit, 300) setTimeout(component.debouncedInit, 300)
} }

View File

@@ -1,381 +1,531 @@
// 表格数据 // 表格数据
const mirrorsTableData = [ const mirrorsTableData = [
{ {
name: window.location.pathname.includes('/zh-Hant') ? '阿里雲' : window.location.pathname.includes('/en') ? 'Alibaba Cloud' : '阿里云', name: __isZhHant ? '阿里雲' : __isEn ? 'Alibaba Cloud' : '阿里云',
officialName: window.location.pathname.includes('/zh-Hant') ? '阿里巴巴開源鏡像站' : window.location.pathname.includes('/en') ? 'Alibaba Cloud Open Source Mirror' : '阿里巴巴开源镜像站', officialName: __isZhHant ? '阿里巴巴開源鏡像站' : __isEn ? 'Alibaba Cloud Open Source Mirror' : '阿里巴巴开源镜像站',
icon: 'alibabacloud.svg', icon: 'alibabacloud.svg',
iconStyle: { verticalAlign: '-0.2em' }, iconStyle: { verticalAlign: '-0.2em' },
url: 'https://mirrors.aliyun.com', url: 'https://mirrors.aliyun.com',
domain: 'mirrors.aliyun.com', domain: 'mirrors.aliyun.com',
ipv6: false, ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: 'incompatible', rocky: 'incompatible',
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: true, anolis: true,
openkylin: true, openkylin: true,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '騰訊雲' : window.location.pathname.includes('/en') ? 'Tencent Cloud' : '腾讯云', name: __isZhHant ? '騰訊雲' : __isEn ? 'Tencent Cloud' : '腾讯云',
officialName: window.location.pathname.includes('/zh-Hant') ? '騰訊軟體源' : window.location.pathname.includes('/en') ? 'Tencent Software Repository' : '腾讯软件源', officialName: __isZhHant ? '騰訊軟體源' : __isEn ? 'Tencent Software Repository' : '腾讯软件源',
icon: 'tencentcloud.ico', icon: 'tencentcloud.ico',
iconStyle: { verticalAlign: '-0.25em' }, iconStyle: { verticalAlign: '-0.25em' },
url: 'https://mirrors.tencent.com', url: 'https://mirrors.tencent.com',
domain: 'mirrors.tencent.com', domain: 'mirrors.tencent.com',
ipv6: false, ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: false, deepin: false,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: true, opencloudos: true,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: false, manjaro: false,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '華為雲' : window.location.pathname.includes('/en') ? 'Huawei Cloud' : '华为云', name: __isZhHant ? '華為雲' : __isEn ? 'Huawei Cloud' : '华为云',
officialName: window.location.pathname.includes('/zh-Hant') ? '華為開源鏡像站' : window.location.pathname.includes('/en') ? 'Huawei Open Source Mirror' : '华为开源镜像站', officialName: __isZhHant ? '華為開源鏡像站' : __isEn ? 'Huawei Open Source Mirror' : '华为开源镜像站',
icon: 'huaweicloud.ico', icon: 'huaweicloud.ico',
iconStyle: { verticalAlign: '-0.15em' }, iconStyle: { verticalAlign: '-0.15em' },
url: 'https://mirrors.huaweicloud.com', url: 'https://mirrors.huaweicloud.com',
domain: 'mirrors.huaweicloud.com', domain: 'mirrors.huaweicloud.com',
ipv6: false, ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: 'incompatible', rocky: 'incompatible',
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '網易' : window.location.pathname.includes('/en') ? 'NetEase' : '网易', name: __isZhHant ? '移動雲' : __isEn ? 'China Mobile Cloud' : '移动云 ',
officialName: window.location.pathname.includes('/zh-Hant') ? '網易開源鏡像站' : window.location.pathname.includes('/en') ? 'NetEase Open Source Mirror' : '网易开源镜像站', officialName: __isZhHant ? '移動雲開源鏡像站' : __isEn ? 'China Mobile Cloud Open Source Mirror' : '移动云开源镜像站',
icon: 'cmecloud.svg',
iconStyle: { verticalAlign: '-0.2em' },
url: 'https://mirrors.cmecloud.cn',
domain: 'mirrors.cmecloud.cn',
ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: false,
opensuse: true,
archlinux: false,
kali: false,
deepin: false,
rocky: true,
almalinux: false,
epel: true,
fedora: true,
opencloudos: false,
openeuler: true,
anolis: true,
openkylin: false,
alpine: false,
armbian: false,
proxmox: false,
linuxmint: false,
gentoo: false,
nix_channels: false,
raspberrypi: false,
manjaro: false,
},
{
name: __isZhHant ? '天翼雲' : __isEn ? 'China Telecom Cloud' : '天翼云',
officialName: __isZhHant ? '天翼雲開源鏡像站' : __isEn ? 'China Telecom Cloud Open Source Mirror' : '天翼云开源镜像站',
icon: 'ctyun.ico',
iconStyle: { verticalAlign: '-0.2em' },
url: 'https://mirrors.ctyun.cn',
domain: 'mirrors.ctyun.cn',
ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: false,
archlinux: false,
kali: false,
deepin: false,
rocky: true,
almalinux: false,
epel: true,
fedora: false,
opencloudos: false,
openeuler: true,
anolis: false,
openkylin: false,
alpine: false,
armbian: false,
proxmox: false,
linuxmint: false,
gentoo: false,
nix_channels: false,
raspberrypi: false,
manjaro: false,
},
{
name: __isZhHant ? '網易' : __isEn ? 'NetEase' : '网易',
officialName: __isZhHant ? '網易開源鏡像站' : __isEn ? 'NetEase Open Source Mirror' : '网易开源镜像站',
icon: '163.ico', icon: '163.ico',
iconStyle: { verticalAlign: '-0.15em' }, iconStyle: { verticalAlign: '-0.15em' },
url: 'https://mirrors.163.com', url: 'https://mirrors.163.com',
domain: 'mirrors.163.com', domain: 'mirrors.163.com',
ipv6: false, ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: false, kali: false,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: false, almalinux: false,
epel: false, epel: false,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: true, openkylin: true,
alpinelinux: false, alpine: false,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: false, manjaro: false,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '火山引擎' : window.location.pathname.includes('/en') ? 'Volcengine' : '火山引擎', name: __isZhHant ? '火山引擎' : __isEn ? 'Volcengine' : '火山引擎',
officialName: window.location.pathname.includes('/zh-Hant') ? '火山引擎開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Volcengine Open Source Software Mirror' : '火山引擎开源软件镜像站', officialName: __isZhHant ? '火山引擎開源軟體鏡像站' : __isEn ? 'Volcengine Open Source Software Mirror' : '火山引擎开源软件镜像站',
icon: 'volcengine.svg', icon: 'volcengine.svg',
iconStyle: { verticalAlign: '-0.25em' }, iconStyle: { verticalAlign: '-0.25em' },
url: 'https://developer.volcengine.com/mirror', url: 'https://developer.volcengine.com/mirror',
domain: 'mirrors.volces.com', domain: 'mirrors.volces.com',
ipv6: false, ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: false, archlinux: false,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: 'incompatible', rocky: 'incompatible',
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: false, linuxmint: false,
gentoo: false, gentoo: false,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: false, manjaro: false,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '清華大學' : window.location.pathname.includes('/en') ? 'Tsinghua University' : '清华大学', name: __isZhHant ? '清華大學' : __isEn ? 'Tsinghua University' : '清华大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '清華大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Tsinghua University Open Source Mirror' : '清华大学开源软件镜像站', officialName: __isZhHant ? '清華大學開源軟體鏡像站' : __isEn ? 'Tsinghua University Open Source Mirror' : '清华大学开源软件镜像站',
icon: 'tsinghua.png', icon: 'tsinghua.png',
iconStyle: { verticalAlign: '-0.3em' }, iconStyle: { verticalAlign: '-0.3em' },
url: 'https://mirrors.tuna.tsinghua.edu.cn', url: 'https://mirrors.tuna.tsinghua.edu.cn',
domain: 'mirrors.tuna.tsinghua.edu.cn', domain: 'mirrors.tuna.tsinghua.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: false, rocky: false,
almalinux: false, almalinux: false,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: true, proxmox: true,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: true, nix_channels: true,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '北京大學' : window.location.pathname.includes('/en') ? 'Peking University' : '北京大学', name: __isZhHant ? '北京大學' : __isEn ? 'Peking University' : '北京大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '北京大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Peking University Open Source Mirror' : '北京大学开源镜像站', officialName: __isZhHant ? '北京大學開源鏡像站' : __isEn ? 'Peking University Open Source Mirror' : '北京大学开源镜像站',
icon: 'pku.ico', icon: 'pku.ico',
iconStyle: { verticalAlign: '-0.2em' }, iconStyle: { verticalAlign: '-0.2em' },
url: 'https://mirrors.pku.edu.cn/Mirrors', url: 'https://mirrors.pku.edu.cn/Mirrors',
domain: 'mirrors.pku.edu.cn', domain: 'mirrors.pku.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: false, kali: false,
deepin: false, deepin: false,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: false, fedora: false,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: false, alpine: false,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: false, linuxmint: false,
gentoo: false, gentoo: false,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '浙江大學' : window.location.pathname.includes('/en') ? 'Zhejiang University' : '浙江大学', name: __isZhHant ? '浙江大學' : __isEn ? 'Zhejiang University' : '浙江大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '浙江大學鏡像站' : window.location.pathname.includes('/en') ? 'Zhejiang University Mirror Site' : '浙江大学镜像站', officialName: __isZhHant ? '浙江大學鏡像站' : __isEn ? 'Zhejiang University Mirror Site' : '浙江大学镜像站',
icon: 'zju.ico', icon: 'zju.ico',
iconStyle: { verticalAlign: '-0.15em' }, iconStyle: { verticalAlign: '-0.15em' },
url: 'https://mirrors.zju.edu.cn', url: 'https://mirrors.zju.edu.cn',
domain: 'mirrors.zju.edu.cn', domain: 'mirrors.zju.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: true, anolis: true,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '南京大學' : window.location.pathname.includes('/en') ? 'Nanjing University' : '南京大学', name: __isZhHant ? '南京大學' : __isEn ? 'Nanjing University' : '南京大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '南京大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Nanjing University Open Source Mirror' : '南京大学开源镜像站', officialName: __isZhHant ? '南京大學開源鏡像站' : __isEn ? 'Nanjing University Open Source Mirror' : '南京大学开源镜像站',
icon: 'nju.ico', icon: 'nju.ico',
iconStyle: { verticalAlign: '-0.3em' }, iconStyle: { verticalAlign: '-0.3em' },
url: 'https://mirrors.nju.edu.cn', url: 'https://mirrors.nju.edu.cn',
domain: 'mirrors.nju.edu.cn', domain: 'mirrors.nju.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: true, opencloudos: true,
openeuler: true,
anolis: true, anolis: true,
openkylin: true, openkylin: true,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: true, proxmox: true,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: true, nix_channels: true,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '蘭州大學' : window.location.pathname.includes('/en') ? 'Lanzhou University' : '兰州大学', name: __isZhHant ? '蘭州大學' : __isEn ? 'Lanzhou University' : '兰州大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '蘭州大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Lanzhou University Open Source Software Mirror' : '兰州大学开源软件镜像站', officialName: __isZhHant ? '蘭州大學開源軟體鏡像站' : __isEn ? 'Lanzhou University Open Source Software Mirror' : '兰州大学开源软件镜像站',
icon: 'lzu.png', icon: 'lzu.png',
iconStyle: { verticalAlign: '-0.25em' }, iconStyle: { verticalAlign: '-0.25em' },
url: 'https://mirror.lzu.edu.cn', url: 'https://mirror.lzu.edu.cn',
domain: 'mirror.lzu.edu.cn', domain: 'mirror.lzu.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: true, openkylin: true,
alpinelinux: true, alpine: true,
armbian: false, armbian: false,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: false, raspberrypi: false,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '上海交通大學' : window.location.pathname.includes('/en') ? 'Shanghai Jiao Tong University' : '上海交通大学', name: __isZhHant ? '上海交通大學' : __isEn ? 'Shanghai Jiao Tong University' : '上海交通大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '上海交通大學思源鏡像站' : window.location.pathname.includes('/en') ? 'Shanghai Jiao Tong University Siyuan Mirror' : '上海交通大学思源镜像站', officialName: __isZhHant ? '上海交通大學思源鏡像站' : __isEn ? 'Shanghai Jiao Tong University Siyuan Mirror' : '上海交通大学思源镜像站',
icon: 'sjtu.ico', icon: 'sjtu.ico',
iconStyle: { verticalAlign: '-0.15em' }, iconStyle: { verticalAlign: '-0.15em' },
url: 'https://mirror.sjtu.edu.cn', url: 'https://mirror.sjtu.edu.cn',
domain: 'mirror.sjtu.edu.cn', domain: 'mirror.sjtu.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: 'incompatible',
fedora: 'incompatible', fedora: 'incompatible',
opencloudos: true, opencloudos: true,
openeuler: true,
anolis: false, anolis: false,
openkylin: true, openkylin: true,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: false, proxmox: false,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: false, nix_channels: false,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '重慶郵電大學' : window.location.pathname.includes('/en') ? 'Chongqing University of Posts and Telecommunications' : '重庆邮电大学', name: __isZhHant ? '重慶郵電大學' : __isEn ? 'Chongqing University of Posts and Telecommunications' : '重庆邮电大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '重慶郵電大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Chongqing University of Posts and Telecommunications Open Source Mirror' : '重庆邮电大学开源镜像站', officialName: __isZhHant ? '重慶郵電大學開源鏡像站' : __isEn ? 'Chongqing University of Posts and Telecommunications Open Source Mirror' : '重庆邮电大学开源镜像站',
icon: 'cqupt.ico', icon: 'cqupt.ico',
iconStyle: {}, iconStyle: {},
url: 'https://mirrors.cqupt.edu.cn', url: 'https://mirrors.cqupt.edu.cn',
domain: 'mirrors.cqupt.edu.cn', domain: 'mirrors.cqupt.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: false, rocky: false,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: true, proxmox: true,
linuxmint: false, linuxmint: false,
gentoo: false, gentoo: false,
nix: true, nix_channels: true,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '中國科學技術大學' : window.location.pathname.includes('/en') ? 'University of Science and Technology of China' : '中国科学技术大学', name: __isZhHant ? '中國科學技術大學' : __isEn ? 'University of Science and Technology of China' : '中国科学技术大学',
officialName: window.location.pathname.includes('/zh-Hant') ? '中國科學技術大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'USTC Open Source Software Mirror' : '中国科学技术大学开源软件镜像站', officialName: __isZhHant ? '中國科學技術大學開源軟體鏡像站' : __isEn ? 'University of Science and Technology of China Open Source Software Mirror' : '中国科学技术大学开源软件镜像站',
icon: 'ustc.png', icon: 'ustc.png',
iconStyle: { verticalAlign: '-0.2em' }, iconStyle: { verticalAlign: '-0.2em' },
url: 'https://mirrors.ustc.edu.cn', url: 'https://mirrors.ustc.edu.cn',
domain: 'mirrors.ustc.edu.cn', domain: 'mirrors.ustc.edu.cn',
ipv6: true, ipv6: true,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: false, almalinux: false,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: false, opencloudos: false,
openeuler: true,
anolis: false, anolis: false,
openkylin: false, openkylin: false,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: true, proxmox: true,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: true, nix_channels: true,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
{ {
name: window.location.pathname.includes('/zh-Hant') ? '中國科學院軟體研究所' : window.location.pathname.includes('/en') ? 'Institute of Software, Chinese Academy of Sciences (ISCAS)' : '中国科学院软件研究所', name: __isZhHant ? '中國科學院軟體研究所' : __isEn ? 'Institute of Software, Chinese Academy of Sciences (ISCAS)' : '中国科学院软件研究所',
officialName: window.location.pathname.includes('/zh-Hant') ? 'ISCAS 開源鏡像站' : window.location.pathname.includes('/en') ? 'ISCAS Open Source Mirror' : 'ISCAS 开源镜像站', officialName: __isZhHant ? 'ISCAS 開源鏡像站' : __isEn ? 'ISCAS Open Source Mirror' : 'ISCAS 开源镜像站',
icon: 'iscas.png', icon: 'iscas.png',
iconStyle: { verticalAlign: '-0.25em' }, iconStyle: { verticalAlign: '-0.25em' },
url: 'https://mirror.iscas.ac.cn', url: 'https://mirror.iscas.ac.cn',
domain: 'mirror.iscas.ac.cn', domain: 'mirror.iscas.ac.cn',
ipv6: false, ipv6: false,
debian: true,
ubuntu: true,
centos: true,
centos_stream: true,
opensuse: true,
archlinux: true, archlinux: true,
kalilinux: true, kali: true,
deepin: true, deepin: true,
rockylinux: true, rocky: true,
almalinux: true, almalinux: true,
epel: true, epel: true,
fedora: true, fedora: true,
opencloudos: true, opencloudos: true,
openeuler: true,
anolis: false, anolis: false,
openkylin: true, openkylin: true,
alpinelinux: true, alpine: true,
armbian: true, armbian: true,
proxmox: true, proxmox: true,
linuxmint: true, linuxmint: true,
gentoo: true, gentoo: true,
nix: true, nix_channels: true,
raspberry: true, raspberrypi: true,
manjaro: true, manjaro: true,
}, },
] ]
@@ -384,7 +534,7 @@ const mirrorsTableData = [
const mirrorsTableColumns = [ const mirrorsTableColumns = [
{ {
colKey: 'name', colKey: 'name',
title: window.location.pathname.includes('/zh-Hant') ? '鏡像站' : window.location.pathname.includes('/en') ? 'Mirror Site' : '镜像站', title: __isZhHant ? '鏡像站' : __isEn ? 'Mirror Site' : '镜像站',
align: 'left', align: 'left',
width: '180', width: '180',
fixed: 'left', fixed: 'left',
@@ -400,7 +550,37 @@ const mirrorsTableColumns = [
title: 'EPEL', title: 'EPEL',
align: 'center', align: 'center',
width: '90', width: '90',
tooltip: 'EPEL (Extra Packages for Enterprise Linux) ' + (window.location.pathname.includes('/zh-Hant') ? '是由 Fedora 組織維護的一個附加軟體包倉庫,它主要適用於除 Fedora 作業系統以外的紅帽系 Linux 發行版' : window.location.pathname.includes('/en') ? 'is an additional package repository maintained by the Fedora organization. It is mainly applicable to Red Hat Linux distributions other than the Fedora operating system.' : '是由 Fedora 组织维护的一个附加软件包仓库,它主要适用于除 Fedora 操作系统以外的红帽系 Linux 发行版'), tooltip: 'EPEL (Extra Packages for Enterprise Linux) ' + (__isZhHant ? '是由 Fedora 組織維護的一個附加軟體包倉庫,它主要適用於除 Fedora 作業系統以外的紅帽系 Linux 發行版' : __isEn ? 'is an additional package repository maintained by the Fedora organization. It is mainly applicable to Red Hat Linux distributions other than the Fedora operating system.' : '是由 Fedora 组织维护的一个附加软件包仓库,它主要适用于除 Fedora 操作系统以外的红帽系 Linux 发行版'),
},
// {
// colKey: 'debian',
// title: 'Debian',
// align: 'center',
// width: '80',
// },
// {
// colKey: 'ubuntu',
// title: 'Ubuntu',
// align: 'center',
// width: '80',
// },
// {
// colKey: 'centos',
// title: 'CentOS',
// align: 'center',
// width: '80',
// },
{
colKey: 'centos_stream',
title: 'CentOS Stream',
align: 'center',
width: '150',
},
{
colKey: 'opensuse',
title: 'openSUSE',
align: 'center',
width: '110',
}, },
{ {
colKey: 'archlinux', colKey: 'archlinux',
@@ -415,7 +595,7 @@ const mirrorsTableColumns = [
width: '100', width: '100',
}, },
{ {
colKey: 'kalilinux', colKey: 'kali',
title: 'Kali Linux', title: 'Kali Linux',
align: 'center', align: 'center',
width: '110', width: '110',
@@ -433,7 +613,7 @@ const mirrorsTableColumns = [
width: '90', width: '90',
}, },
{ {
colKey: 'raspberry', colKey: 'raspberrypi',
title: 'Raspberry Pi OS', title: 'Raspberry Pi OS',
align: 'center', align: 'center',
width: '150', width: '150',
@@ -457,7 +637,7 @@ const mirrorsTableColumns = [
width: '90', width: '90',
}, },
{ {
colKey: 'rockylinux', colKey: 'rocky',
title: 'Rocky Linux', title: 'Rocky Linux',
align: 'center', align: 'center',
width: '120', width: '120',
@@ -474,6 +654,12 @@ const mirrorsTableColumns = [
align: 'center', align: 'center',
width: '140', width: '140',
}, },
// {
// colKey: 'openeuler',
// title: 'openEuler',
// align: 'center',
// width: '110',
// },
{ {
colKey: 'anolis', colKey: 'anolis',
title: 'Anolis OS', title: 'Anolis OS',
@@ -487,7 +673,7 @@ const mirrorsTableColumns = [
width: '110', width: '110',
}, },
{ {
colKey: 'alpinelinux', colKey: 'alpine',
title: 'Alpine Linux', title: 'Alpine Linux',
align: 'center', align: 'center',
width: '130', width: '130',
@@ -499,31 +685,197 @@ const mirrorsTableColumns = [
width: '90', width: '90',
}, },
{ {
colKey: 'nix', colKey: 'nix_channels',
title: 'NixOS', title: 'NixOS',
align: 'center', align: 'center',
width: '80', width: '80',
}, },
].map((item) => { ].map((item) => {
if (['ipv6', 'epel', 'archlinux', 'manjaro', 'kalilinux', 'armbian', 'deepin', 'raspberry', 'linuxmint', 'proxmox', 'fedora', 'rockylinux', 'almalinux', 'opencloudos', 'anolis', 'openkylin', 'alpinelinux', 'gentoo', 'nix'].includes(item.colKey)) { if (['ipv6', 'debian', 'ubuntu', 'centos', 'centos_stream', 'opensuse', 'epel', 'archlinux', 'manjaro', 'kali', 'armbian', 'deepin', 'raspberrypi', 'linuxmint', 'proxmox', 'fedora', 'rocky', 'almalinux', 'opencloudos', 'openeuler', 'anolis', 'openkylin', 'alpine', 'gentoo', 'nix_channels'].includes(item.colKey)) {
item.sortType = 'all' const labelSupported = __isZhHant ? '支持' : __isEn ? 'Supported' : '支持'
item.sorter = (a, b) => { const labelUnsupported = __isZhHant ? '不支持' : __isEn ? 'Unsupported' : '不支持'
const getValue = (row) => { const labelIncompatible = __isZhHant ? '不兼容' : __isEn ? 'Incompatible' : '不兼容'
if (typeof row[item.colKey] === 'boolean') { item.filter = {
return row[item.colKey] ? 0 : 1 label: item.title || item.colKey,
type: 'single',
list: [
{ label: labelSupported, value: 'supported' },
{ label: labelUnsupported, value: 'unsupported' },
{ label: labelIncompatible, value: 'incompatible' },
],
confirmEvents: ['onChange'],
filterMethod(value, row) {
try {
const key = item.colKey
const cell = row && Object.prototype.hasOwnProperty.call(row, key) ? row[key] : undefined
if (value === 'supported') return cell === true
if (value === 'unsupported') return cell === false
if (value === 'incompatible') return cell === 'incompatible'
return false
} catch (e) {
return false
} }
return 2 },
}
item.filterMethod = function (value, row) {
try {
const key = item.colKey
const cell = row && Object.prototype.hasOwnProperty.call(row, key) ? row[key] : undefined
if (value === 'supported') return cell === true
if (value === 'unsupported') return cell === false
if (value === 'incompatible') return cell === 'incompatible'
return false
} catch (e) {
return false
} }
const aValue = getValue(a)
const bValue = getValue(b)
return aValue - bValue
} }
} }
return item return item
}) })
const mirrorsTableConfig = { const mirrorsTableFilterSelectOptions = [
sortAscendingOperationText: window.location.pathname.includes('/zh-Hant') ? '点击升序' : window.location.pathname.includes('/en') ? 'click to sort ascending' : '点击升序', { label: __isZhHant ? '全選' : __isEn ? 'Select All' : '全选', checkAll: true },
sortCancelOperationText: window.location.pathname.includes('/zh-Hant') ? '点击取消排序' : window.location.pathname.includes('/en') ? 'click to cancel sorting' : '点击取消排序', {
sortDescendingOperationText: window.location.pathname.includes('/zh-Hant') ? '点击降序' : window.location.pathname.includes('/en') ? 'click to sort descending' : '点击降序', value: 'ipv6',
} label: 'IPv6',
},
{
group: 'Debian',
children: [
// {
// value: 'debian',
// label: 'Debian',
// iconName: 'debian.svg',
// },
// {
// value: 'ubuntu',
// label: 'Ubuntu',
// iconName: 'ubuntu.svg',
// },
{
value: 'kali',
label: 'Kali Linux',
iconName: 'kali-linux.png',
},
{
value: 'armbian',
label: 'Armbian',
iconName: 'armbian.png',
},
{
value: 'raspberrypi',
label: 'Raspberry Pi OS',
iconName: 'raspberry-pi.png',
},
{
value: 'openkylin',
label: 'openKylin',
iconName: 'openkylin.ico',
},
{
value: 'linuxmint',
label: 'Linux Mint',
iconName: 'linux-mint.ico',
},
{
value: 'deepin',
label: 'Deepin',
iconName: 'deepin.png',
},
{
value: 'proxmox',
label: 'Proxmox VE',
iconName: 'proxmox.svg',
},
],
},
{
group: 'RedHat',
children: [
{
value: 'fedora',
label: 'Fedora',
iconName: 'fedora.ico',
},
// {
// value: 'centos',
// label: 'CentOS',
// iconName: 'centos.svg',
// },
{
value: 'centos_stream',
label: 'CentOS Stream',
iconName: 'centos.svg',
},
{
value: 'rocky',
label: 'Rocky Linux',
iconName: 'rocky-linux.svg',
},
{
value: 'almalinux',
label: 'AlmaLinux',
iconName: 'almalinux.svg',
},
// {
// value: 'openeuler',
// label: 'openEuler',
// iconName: 'openeuler.ico',
// },
{
value: 'opencloudos',
label: 'OpenCloudOS',
iconName: 'opencloudos.png',
},
{
value: 'anolis',
label: 'Anolis OS',
iconName: 'anolis.png',
},
{
value: 'epel',
label: 'EPEL',
},
],
},
{
group: 'Arch Linux',
children: [
{
value: 'archlinux',
label: 'Arch Linux',
iconName: 'arch-linux.ico',
},
{
value: 'manjaro',
label: 'Manjaro',
iconName: 'manjaro.svg',
},
],
},
{
group: 'Other',
children: [
{
value: 'opensuse',
label: 'openSUSE',
iconName: 'opensuse.svg',
},
{
value: 'alpine',
label: 'Alpine Linux',
iconName: 'alpine.png',
},
{
value: 'gentoo',
label: 'Gentoo',
iconName: 'gentoo.svg',
},
{
value: 'nix_channels',
label: 'NixOS',
iconName: 'nixos.svg',
},
],
},
]

View File

@@ -1,71 +1,401 @@
ComponentSystem.register('mirrors-table', { ComponentSystem.register('mirrors-table', {
template: ` template: `
<div> <div>
<t-config-provider :global-config="{ table: tableConfig }"> <t-config-provider :global-config="globalConfig">
<t-table <t-space v-if="!isMobile" align="center" style="margin-bottom: 8px; gap: 20px">
:columns="columns" <blockquote>
:data="data" <p>{{ startTitle[0] }} <code>Debian</code>、<code>Ubuntu</code>、<code>CentOS</code>、<code>openEuler</code> {{ startTitle[1] }}</p>
row-key="name" </blockquote>
size="small" <t-space style="width: 100%">
verticalAlign="bottom" <t-popup placement="bottom" :show-arrow="false">
@data-change="dataChange" <template #content>
> <t-checkbox-group v-model="selectedCellStatuses" style="padding: 6px" @change="onCellStatusChange">
<template v-for="col in columns" :key="col.colKey" #[col.title]> <t-space align="start" direction="vertical" style="gap: 4px">
<div v-if="col.tooltip" class="t-table__th-cell-inner"> <t-checkbox value="supported">
<t-space style="gap: 4px"> <t-space align="center" style="gap: 2px">
<span>{{ col.title }}</span> <t-tag theme="success" variant="light" style="background-color: transparent; vertical-align: -0.35em">
<t-tooltip :content="col.tooltip" placement="bottom" :show-arrow="false"> <template #icon>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M11.95 18q.525 0 .888-.363t.362-.887t-.362-.888t-.888-.362t-.887.363t-.363.887t.363.888t.887.362m.05 4q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m.1-12.3q.625 0 1.088.4t.462 1q0 .55-.337.975t-.763.8q-.575.5-1.012 1.1t-.438 1.35q0 .35.263.588t.612.237q.375 0 .638-.25t.337-.625q.1-.525.45-.937t.75-.788q.575-.55.988-1.2t.412-1.45q0-1.275-1.037-2.087T12.1 6q-.95 0-1.812.4T8.975 7.625q-.175.3-.112.638t.337.512q.35.2.725.125t.625-.425q.275-.375.688-.575t.862-.2"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7Z"></svg>
</t-tooltip> </template>
</t-tag>
<span>{{ statusLabels.supported }}</span>
</t-space>
</t-checkbox>
<t-checkbox value="unsupported">
<t-space align="center" style="gap: 0">
<t-tag theme="danger" variant="light" style="background-color: transparent; vertical-align: -0.35em">
<template #icon>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.2em"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"></svg>
</template>
</t-tag>
<span>{{ statusLabels.unsupported }}</span>
</t-space>
</t-checkbox>
<t-checkbox value="incompatible">
<t-space align="center" style="gap: 2px">
<t-tag theme="warning" variant="light" style="background-color: transparent; vertical-align: -0.35em">
<svg xmlns="http://www.w3.org/2000/svg" style="margin-left: 2px" width="16" height="16" viewBox="0 0 24 24" style="vertical-align: -0.15em"><path fill="#F6B604" d="M22.11 21.46L2.39 1.73L1.11 3l2.95 2.95A9.95 9.95 0 0 0 2 12c0 5.5 4.5 10 10 10c2.28 0 4.37-.77 6.05-2.06l2.79 2.79l1.27-1.27M12 20c-4.42 0-8-3.58-8-8c0-1.73.56-3.32 1.5-4.62L16.62 18.5A7.78 7.78 0 0 1 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2c5.5 0 10 4.5 10 10c0 1.94-.56 3.75-1.5 5.28l-1.47-1.45c.62-1.14.97-2.44.97-3.83c0-4.42-3.58-8-8-8c-1.39 0-2.69.35-3.83.97Z"></svg>
</t-tag>
<span>{{ statusLabels.incompatible }}</span>
</t-space>
</t-checkbox>
</t-space> </t-space>
</div> </t-checkbox-group>
<div v-else class="t-table__th-cell-inner">{{ col.title }}</div>
</template> </template>
<template v-for="col in columns" :key="col.colKey" #[col.colKey]="{ row }"> <t-button variant="text" shape="circle">
<template v-if="col.colKey === 'name'"> <svg fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="t-icon t-icon-filter" style="fill: none;"><g id="filter"><path id="fill1" fill="transparent" d="M19.5 4H4.5L10.5 12.5V20H13.5V12.5L19.5 4Z" fill-rule="evenodd" clip-rule="evenodd"></path><path id="stroke1" stroke="currentColor" d="M19.5 4H4.5L10.5 12.5V20H13.5V12.5L19.5 4Z" fill-rule="evenodd" stroke-linecap="square" stroke-width="2" clip-rule="evenodd"></path></g></svg>
<t-popup placement="bottom" :show-arrow="false"> </t-button>
<template #content> </t-popup>
<t-space direction="vertical" algin="center" style="gap: 2px"> <t-select
<span>{{ row.officialName }}</span> v-model="selectedRowFilters"
<a :href="row.url" target="_blank" style="color: var(--md-typeset-a-color)">{{ row.domain }}</a> :options="rowFilterOptionsRendered"
</t-space> :min-collapsed-num="1"
</template> multiple
<a :href="row.url" target="_blank"> clearable
<t-space align="center" style="gap: 6px"> size="large"
<span style="display: flex; height: 16px; width: 16px; align-items: center; justify-content: center"> :placeholder="rowSelectPlaceholder"
<img v-if="row.icon" :src="\`/assets/images/icon/mirrors/\${row.icon}\`" width="16" height="16"> style="min-width: 160px; width: 250px"
</span> @change="onRowFilterChange"
<span>{{ row.name }}</span> />
</t-space> <t-select
</a> v-model="selectedColumnFilters"
</t-popup> :options="filterOptions"
:min-collapsed-num="1"
multiple
clearable
size="large"
:placeholder="selectPlaceholder"
style="min-width: 160px; width: 230px"
@change="onFilterChange"
/>
</div>
</t-space>
<blockquote v-if="isMobile">
<p>{{ startTitle[0] }} <code>Debian</code>、<code>Ubuntu</code>、<code>CentOS</code>、<code>openEuler</code> {{ startTitle[1] }}</p>
</blockquote>
<t-table
:columns="columns"
:data="data"
row-key="name"
size="small"
verticalAlign="bottom"
hover
@data-change="dataChange"
@filter-change="onTableFilterChange"
>
<template v-for="col in columns" :key="col.colKey" #[col.colKey]="{ row }">
<div v-if="col.colKey === 'name'">
<t-popup placement="bottom" :show-arrow="false">
<template #content>
<t-space direction="vertical" algin="center" style="gap: 2px">
<span>{{ row.officialName }}</span>
<a :href="row.url" target="_blank" rel="noopener noreferrer" style="color: var(--md-typeset-a-color)">{{ row.domain }}</a>
</t-space>
</template> </template>
<template v-else> <a :href="row.url" target="_blank" rel="noopener noreferrer">
<t-tag v-if="typeof row[col.colKey] === 'boolean'" :theme="row[col.colKey] ? 'success' : 'danger'" variant="light" size="small" style="background-color: transparent; height: 100%; vertical-align: -0.35em"> <t-space align="center" style="gap: 6px">
<template #icon> <span style="display: flex; height: 16px; width: 16px; align-items: center; justify-content: center">
<svg v-if="row[col.colKey]" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7Z"></svg> <img v-if="row.icon" :src="'/assets/images/icon/mirrors/' + row.icon" width="16" height="16">
<svg v-else xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.2em"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"></svg> </span>
</template> <span style="display: flex; align-items: center; justify-content: center">{{ row.name }}</span>
</t-tag> </t-space>
<t-tag v-else theme="warning" variant="light" size="small" style="background-color: transparent; vertical-align: -0.35em"> </a>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.1em"><path fill="#F6B604" d="M22.11 21.46L2.39 1.73L1.11 3l2.95 2.95A9.95 9.95 0 0 0 2 12c0 5.5 4.5 10 10 10c2.28 0 4.37-.77 6.05-2.06l2.79 2.79l1.27-1.27M12 20c-4.42 0-8-3.58-8-8c0-1.73.56-3.32 1.5-4.62L16.62 18.5A7.78 7.78 0 0 1 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2c5.5 0 10 4.5 10 10c0 1.94-.56 3.75-1.5 5.28l-1.47-1.45c.62-1.14.97-2.44.97-3.83c0-4.42-3.58-8-8-8c-1.39 0-2.69.35-3.83.97Z"></svg> </t-popup>
</t-tag> </div>
<div v-else>
<t-tag v-if="typeof row[col.colKey] === 'boolean'" :theme="row[col.colKey] ? 'success' : 'danger'" variant="light" size="small" style="background-color: transparent; height: 26px" style="z-index: 2">
<template #icon>
<div v-if="row[col.colKey] === true && !['ipv6'].includes(col.colKey) && showSupported">
<t-popup placement="bottom" :show-arrow="false">
<template #content>
<a :href="getMirrorSiteBranchUrl(row.domain, col.colKey)" target="_blank" rel="noopener noreferrer" style="color: var(--md-typeset-a-color)">{{ getMirrorSiteBranchUrl(row.domain, col.colKey) }}</a>
</template>
<a :href="getMirrorSiteBranchUrl(row.domain, col.colKey)" target="_blank" rel="noopener noreferrer" style="color: var(--td-success-color)">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7Z"></svg>
</a>
</t-popup>
</div>
<svg v-else-if="row[col.colKey] === true && showSupported" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7Z"></svg>
<svg v-else-if="row[col.colKey] === false && showUnsupported" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"></svg>
</template> </template>
</template> </t-tag>
</t-table> <t-tag v-else theme="warning" variant="light" size="small" style="background-color: transparent; height: 26px">
</t-config-provider> <template #icon>
</div> <svg v-if="showIncompatible" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><path fill="#F6B604" d="M22.11 21.46L2.39 1.73L1.11 3l2.95 2.95A9.95 9.95 0 0 0 2 12c0 5.5 4.5 10 10 10c2.28 0 4.37-.77 6.05-2.06l2.79 2.79l1.27-1.27M12 20c-4.42 0-8-3.58-8-8c0-1.73.56-3.32 1.5-4.62L16.62 18.5A7.78 7.78 0 0 1 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2c5.5 0 10 4.5 10 10c0 1.94-.56 3.75-1.5 5.28l-1.47-1.45c.62-1.14.97-2.44.97-3.83c0-4.42-3.58-8-8-8c-1.39 0-2.69.35-3.83.97Z"></svg>
`, </template>
</t-tag>
</template>
</template>
</t-table>
</t-config-provider>
</div>
`,
data() { data() {
return { return {
allColumns: mirrorsTableColumns,
columns: mirrorsTableColumns, columns: mirrorsTableColumns,
data: mirrorsTableData, originalData: mirrorsTableData,
tableConfig: mirrorsTableConfig, data: mirrorsTableData.slice(),
rawFilterOptions: mirrorsTableFilterSelectOptions,
selectedColumnFilters: [],
selectedRowFilters: [],
selectedCellStatuses: ['supported', 'unsupported', 'incompatible'],
activeTableFilters: {},
} }
}, },
created() {
const allKeys = this._flattenFilterKeys(this.filterOptions)
this.selectedColumnFilters = allKeys.slice()
this.selectedRowFilters = Array.isArray(this.originalData) ? this.originalData.map((r) => r.name) : []
this._debouncedUpdateColumns = debounce(this._updateColumns.bind(this), 120)
this._debouncedUpdateRows = debounce(this._updateRows.bind(this), 120)
this._updateColumns()
this._updateRows()
},
computed: {
isMobile() {
return window.matchMedia('(max-width: 768px)').matches
},
localeFlags() {
const p = (window && window.location && window.location.pathname) || ''
return {
isZhHant: p.includes('/zh-Hant'),
isEn: p.includes('/en'),
}
},
startTitle() {
const f = this.localeFlags
return f.isZhHant ? ['下方列表中的鏡像站均同步了', '軟體倉庫,列表根據單位性質、地理位置、名稱長度排序,與實際下載速度無關。'] : f.isEn ? ['All mirror sites in the list below synchronize the', 'software repositories. The list is sorted by institution type, geographic location, and name length, and is not related to actual download speed.'] : ['下方列表中的镜像站均同步了', '软件仓库,列表根据单位性质、地理位置、名称长度进行排序,与实际速度无关。']
},
globalConfig() {
const f = this.localeFlags
return {
animation: { include: ['expand', 'fade'], exclude: [] },
table: f.isZhHant
? {
empty: '\u66AB\u7121\u6578\u64DA',
loadingText: '\u6B63\u5728\u8F09\u5165\u4E2D\uFF0C\u8ACB\u7A0D\u5F8C',
loadingMoreText: '\u9EDE\u64CA\u8F09\u5165\u66F4\u591A',
filterInputPlaceholder: '\u8ACB\u8F38\u5165\u5185\u5BB9\uFF08\u7121\u9ED8\u8A8D\u503C\uFF09',
sortAscendingOperationText: '\u9EDE\u64CA\u5347\u5E8F',
sortCancelOperationText: '\u9EDE\u64CA\u53D6\u6D88\u6392\u5E8F',
sortDescendingOperationText: '\u9EDE\u64CA\u964D\u5E8F',
clearFilterResultButtonText: '\u6E05\u7A7A\u7BE9\u9078',
columnConfigButtonText: '\u884C\u914D\u7F6E',
columnConfigTitleText: '\u8868\u683C\u884C\u914D\u7F6E',
columnConfigDescriptionText: '\u8ACB\u9078\u64C7\u9700\u8981\u5728\u8868\u683C\u4E2D\u986F\u793A\u7684\u6578\u64DA\u884C',
confirmText: '\u78BA\u8A8D',
cancelText: '\u53D6\u6D88',
resetText: '\u91CD\u7F6E',
selectAllText: '\u5168\u9078',
searchResultText: '\u641C\u5C0B"{result}"\uFF0C\u627E\u5230{count}\u9805\u7D50\u679C',
}
: f.isEn
? {
empty: 'Empty Data',
loadingText: 'loading...',
loadingMoreText: 'loading more',
filterInputPlaceholder: '',
sortAscendingOperationText: 'click to sort ascending',
sortCancelOperationText: 'click to cancel sorting',
sortDescendingOperationText: 'click to sort descending',
clearFilterResultButtonText: 'Clear',
columnConfigButtonText: 'Column Config',
columnConfigTitleText: 'Table Column Config',
columnConfigDescriptionText: 'Please select columns to show them in the table',
confirmText: 'Confirm',
cancelText: 'Cancel',
resetText: 'Reset',
selectAllText: 'Select All',
searchResultText: 'Search "{result}". Found no items. | Search "{result}". Found 1 item. | Search "{result}". Found {count} items.',
}
: undefined,
select: f.isZhHant
? {
empty: '\u66AB\u7121\u6578\u64DA',
loadingText: '\u8F09\u5165\u4E2D',
placeholder: '\u8ACB\u9078\u64C7',
}
: f.isEn
? {
empty: 'Empty Data',
loadingText: 'loading...',
placeholder: 'please select',
}
: undefined,
}
},
selectPlaceholder() {
const f = this.localeFlags
return f.isZhHant ? '选择要显示的列' : f.isEn ? 'Select columns to show' : '选择要显示的列'
},
rowSelectPlaceholder() {
const f = this.localeFlags
return f.isZhHant ? '筛选显示的镜像' : f.isEn ? 'Filter mirrors to show' : '筛选显示的镜像'
},
rowFilterOptions() {
const f = this.localeFlags
const arr = Array.isArray(this.originalData) ? this.originalData.map((r) => ({ value: r.name, label: r.name, iconName: r.icon })) : []
const head = { value: '__all__', label: f.isZhHant ? '全選' : f.isEn ? 'Select All' : '全选', checkAll: true }
return [head].concat(arr)
},
rowFilterOptionsRendered() {
return Array.isArray(this.rowFilterOptions) ? this.rowFilterOptions.map((o) => this._mapOptionForRow(o)) : []
},
statusLabels() {
const f = this.localeFlags
return {
supported: f.isZhHant ? '支援' : f.isEn ? 'Supported' : '支持',
unsupported: f.isZhHant ? '不支援' : f.isEn ? 'Unsupported' : '不支持',
incompatible: f.isZhHant ? '不相容' : f.isEn ? 'Incompatible' : '不兼容',
}
},
showSupported() {
return Array.isArray(this.selectedCellStatuses) && this.selectedCellStatuses.includes('supported')
},
showUnsupported() {
return Array.isArray(this.selectedCellStatuses) && this.selectedCellStatuses.includes('unsupported')
},
showIncompatible() {
return Array.isArray(this.selectedCellStatuses) && this.selectedCellStatuses.includes('incompatible')
},
filterOptions() {
return Array.isArray(this.rawFilterOptions) ? this.rawFilterOptions.map((o) => this._mapOptionForFilter(o)) : []
},
},
methods: { methods: {
dataChange(data) { dataChange(data) {
this.data = data try {
const hasColumnFilters = this.activeTableFilters && Object.keys(this.activeTableFilters).length > 0
const hasRowFilters = Array.isArray(this.selectedRowFilters) && this.selectedRowFilters.length > 0
if (hasColumnFilters || hasRowFilters) {
return
}
this.data = data
} catch {}
},
onFilterChange() {
if (this._debouncedUpdateColumns) this._debouncedUpdateColumns()
else this._updateColumns()
},
onRowFilterChange() {
try {
if (Array.isArray(this.selectedRowFilters) && this.selectedRowFilters.includes('__all__')) {
this.selectedRowFilters = Array.isArray(this.originalData) ? this.originalData.map((r) => r.name) : []
}
} catch {}
if (this._debouncedUpdateRows) this._debouncedUpdateRows()
else this._updateRows()
},
getMirrorSiteBranchUrl(domain, branchName) {
return `https://${domain}/${branchName.replace(/_/, '-')}/`
},
_mapOptionForRow(opt) {
const prefix = '/assets/images/icon/mirrors/'
const copy = Object.assign({}, opt)
if (copy.iconName) copy.prefixIcon = prefix + copy.iconName
copy.content = function (h, ctx) {
const option = (ctx && ctx.option) || copy
const children = []
if (option.iconName) {
children.push(h('img', { src: prefix + option.iconName, width: 16, height: 16, style: 'vertical-align: middle' }))
}
children.push(h('span', { style: option.iconName ? 'margin-left: 8px' : '' }, option.label || option.value || ''))
return h('div', { style: 'display: flex; align-items: center' }, children)
}
return copy
},
_mapOptionForFilter(opt) {
const prefix = '/assets/images/icon/'
const copy = Object.assign({}, opt)
if (copy.iconName) copy.prefixIcon = prefix + copy.iconName
copy.content = function (h, ctx) {
const option = (ctx && ctx.option) || copy
const children = []
if (option.iconName) {
children.push(h('img', { src: prefix + option.iconName, width: 16, height: 16, style: 'vertical-align: middle' }))
}
children.push(h('span', { style: option.iconName ? 'margin-left: 8px' : '' }, option.label || option.value || ''))
return h('div', { style: 'display: flex; align-items: center' }, children)
}
if (Array.isArray(copy.children)) {
copy.children = copy.children.map((c) => this._mapOptionForFilter(c))
}
return copy
},
onCellStatusChange() {
if (this._debouncedUpdateRows) this._debouncedUpdateRows()
else this._updateRows()
},
onTableFilterChange(filters) {
try {
this.activeTableFilters = filters || {}
if (this._debouncedUpdateRows) this._debouncedUpdateRows()
else this._updateRows()
} catch {}
},
_updateColumns() {
try {
const keys = new Set(this.selectedColumnFilters || [])
this.columns = this.allColumns.filter((col) => col.colKey === 'name' || keys.has(col.colKey))
} catch (e) {
this.columns = this.allColumns
}
},
_updateRows() {
try {
this._computeFilteredData()
} catch {}
},
_computeFilteredData() {
try {
let rows = Array.isArray(this.originalData) ? this.originalData.slice() : []
if (Array.isArray(this.selectedRowFilters) && this.selectedRowFilters.length) {
const names = new Set(this.selectedRowFilters || [])
rows = rows.filter((r) => names.has(r.name))
}
const filters = this.activeTableFilters || {}
const filterKeys = Object.keys(filters)
if (filterKeys.length) {
rows = rows.filter((row) => {
for (let i = 0; i < filterKeys.length; i++) {
const key = filterKeys[i]
let value = filters[key]
if (Array.isArray(value)) value = value.length ? value[0] : undefined
if (!value) continue
const cell = Object.prototype.hasOwnProperty.call(row, key) ? row[key] : undefined
if (value === 'supported') {
if (cell !== true) return false
} else if (value === 'unsupported') {
if (cell !== false) return false
} else if (value === 'incompatible') {
if (cell !== 'incompatible') return false
} else {
continue
}
}
return true
})
}
this.data = rows
} catch {}
},
_flattenFilterKeys(options) {
const set = new Set()
options.forEach((opt) => {
if (opt.group && Array.isArray(opt.children)) {
opt.children.forEach((child) => {
if (child && child.value) set.add(child.value)
})
} else if (Array.isArray(opt.children)) {
opt.children.forEach((child) => {
if (child && child.value) set.add(child.value)
})
} else if (opt.value) {
set.add(opt.value)
}
})
return Array.from(set)
}, },
}, },
}) })

View File

@@ -78,7 +78,7 @@ const OramaI18nData = {
// get search box config // get search box config
function getOramaSearchBoxConfig() { function getOramaSearchBoxConfig() {
const currentLang = window.location.pathname.includes('/zh-Hant') ? 'zh-Hant' : window.location.pathname.includes('/en') ? 'en' : 'zh-Hans' const currentLang = __isZhHant ? 'zh-Hant' : __isEn ? 'en' : 'zh-Hans'
return { return {
themeConfig: { themeConfig: {
// colors: { // colors: {
@@ -139,7 +139,7 @@ function getOramaSearchBoxConfig() {
// localization search box component // localization search box component
function localizationOramaSearchBox(searchBox) { function localizationOramaSearchBox(searchBox) {
if (!searchBox) return if (!searchBox) return
const currentLang = window.location.pathname.includes('/zh-Hant') ? 'zh-Hant' : window.location.pathname.includes('/en') ? 'en' : 'zh-Hans' const currentLang = __isZhHant ? 'zh-Hant' : __isEn ? 'en' : 'zh-Hans'
const askAiText = OramaI18nData[currentLang].askAiText const askAiText = OramaI18nData[currentLang].askAiText
const searchText = OramaI18nData[currentLang].searchText const searchText = OramaI18nData[currentLang].searchText
const observer = new MutationObserver((mutations, obs) => { const observer = new MutationObserver((mutations, obs) => {

View File

@@ -6,6 +6,10 @@ search:
exclude: true exclude: true
--- ---
### `2025-11-02`
* Adapted for Kylin Server to docker script [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
### `2025-10-12` ### `2025-10-12`
* Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c) * Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)

View File

@@ -6,6 +6,10 @@ search:
exclude: true exclude: true
--- ---
### `2025-11-02`
* Docker 脚本新增适配 Kylin Server 操作系统 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
### `2025-10-12` ### `2025-10-12`
* 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c) * 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)

View File

@@ -6,6 +6,10 @@ search:
exclude: true exclude: true
--- ---
### `2025-11-02`
* Docker 腳本新增適配 Kylin Server 作業系統 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
### `2025-10-12` ### `2025-10-12`
* 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c) * 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)

View File

@@ -3,7 +3,7 @@ title: One-Click Script Makes Mirror Switching Easier
description: GNU/Linux mirror switching script & Docker installation and registry mirror switching script description: GNU/Linux mirror switching script & Docker installation and registry mirror switching script
comments: true comments: true
glightbox: false glightbox: false
comments_description: This comment section is only for sharing project usage reviews and experiences. For issues or suggestions, please go to the <a href="/community">Community</a> or <a href="https://github.com/SuperManito/LinuxMirrors/issues" target="_blank">Issues</a> comments_description: This comment section is only for sharing project usage reviews and experiences. For issues or suggestions, please go to the <a href="/community">Community</a> or <a href="https://github.com/SuperManito/LinuxMirrors/issues" target="_blank" rel="noopener noreferrer">Issues</a>
hide: hide:
- navigation - navigation
- toc - toc
@@ -105,31 +105,31 @@ hide:
| Operating System | Supported Versions | | Operating System | Supported Versions |
| --- | :---: | | --- | :---: |
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _813_ | | <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _813_ |
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="Supports Ubuntu family derivatives, such as <code>UKylin</code>, <code>Kubuntu</code>, etc.<br/>Due to rapid iteration, not all non-LTS versions are directly supported. See documentation for details." } | _1425_ | | <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="Supports Ubuntu family derivatives, such as <code>UKylin</code>, <code>Kubuntu</code>, etc.<br/>Due to rapid iteration, not all non-LTS versions are directly supported. See documentation for details." } | _1425_ |
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | _all_ | | <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | _all_ |
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _1922 / LMDE 6_ | | <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _1922 / LMDE 6_ |
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ | | <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ |
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ | | <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
| <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | _all_ | | <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | _all_ |
| <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | _all_ | | <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | _all_ |
| <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | _all_ | | <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | _all_ |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="Uses <code>CentOS Stream</code> or <code>CentOS</code> mirrors" } | _710_ | | <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="Uses <code>CentOS Stream</code> or <code>CentOS</code> mirrors" } | _710_ |
| <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | _3042_ | | <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | _3042_ |
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.125em"></a> **CentOS** | _78 / Stream 810_ | | <a href="https://www.centos.org" title="https://www.centos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.125em"></a> **CentOS** | _78 / Stream 810_ |
| <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | _810_ | | <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | _810_ |
| <a href="https://almalinux.org" title="https://almalinux.org" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | _810_ | | <a href="https://almalinux.org" title="https://almalinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | _810_ |
| <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** :material-information-outline:{ title="Uses <code>CentOS Stream</code> mirrors" } | _810_ | | <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** :material-information-outline:{ title="Uses <code>CentOS Stream</code> mirrors" } | _810_ |
| <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | _2025_ | | <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | _2025_ |
| <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | _8.69 / Stream 23_ | | <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | _8.69 / Stream 23_ |
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | _all_ | | <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | _all_ |
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | _8 / 23_ | | <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | _8 / 23_ |
| <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | _Leap 15 ~ 16 / Tumbleweed_ | | <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | _Leap 15 ~ 16 / Tumbleweed_ |
| <a href="https://archlinux.org" title="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | _all_ | | <a href="https://archlinux.org" title="https://archlinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | _all_ |
| <a href="https://manjaro.org" title="https://manjaro.org" target="_blank"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | _all_ | | <a href="https://manjaro.org" title="https://manjaro.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | _all_ |
| <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | _v3 / edge_ | | <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | _v3 / edge_ |
| <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | _all_ | | <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | _all_ |
| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | _1925_ | | <a href="https://nixos.org" title="https://nixos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | _1925_ |
</div> </div>
</div> </div>

View File

@@ -3,7 +3,7 @@ title: 一键脚本使换源更简单
description: GNU/Linux 更换系统软件源脚本及 Docker 安装与换源脚本 description: GNU/Linux 更换系统软件源脚本及 Docker 安装与换源脚本
comments: true comments: true
glightbox: false glightbox: false
comments_description: 该评论区仅用于展示项目使用评价和经验分享,反馈问题或建议请前往<a href="/community">社区</a><a href="https://github.com/SuperManito/LinuxMirrors/issues" target="_blank">Issues</a> comments_description: 该评论区仅用于展示项目使用评价和经验分享,反馈问题或建议请前往<a href="/community">社区</a><a href="https://github.com/SuperManito/LinuxMirrors/issues" target="_blank" rel="noopener noreferrer">Issues</a>
hide: hide:
- navigation - navigation
- toc - toc
@@ -78,7 +78,7 @@ hide:
本网站提供全球边缘网络加速,不惧各种网络环境,国内轻松访问 本网站提供全球边缘网络加速,不惧各种网络环境,国内轻松访问
同时提供了多个备用地址以确保项目脚本始终可用,真正做到使用无忧 同时提供了多个备用地址以确保项目脚本始终可用,真正做到使用无忧
- :material-arm-flex-outline:{ .lg .middle } __功能强大伦比__ - :material-arm-flex-outline:{ .lg .middle } __功能强大伦比__
--- ---
@@ -105,31 +105,31 @@ hide:
| 操作系统 | 适配版本 | | 操作系统 | 适配版本 |
| --- | :---: | | --- | :---: |
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _813_ | | <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _813_ |
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code><br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见文档" } | _1425_ | | <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code><br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见文档" } | _1425_ |
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | _all_ | | <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | _all_ |
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _1922 / LMDE 6_ | | <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _1922 / LMDE 6_ |
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin深度** | _all_ | | <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin深度** | _all_ |
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ | | <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
| <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | _all_ | | <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | _all_ |
| <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | _all_ | | <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | _all_ |
| <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | _all_ | | <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | _all_ |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code><code>CentOS</code> 源" } | _710_ | | <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code><code>CentOS</code> 源" } | _710_ |
| <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | _3042_ | | <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | _3042_ |
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.125em"></a> **CentOS** | _78 / Stream 810_ | | <a href="https://www.centos.org" title="https://www.centos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.125em"></a> **CentOS** | _78 / Stream 810_ |
| <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | _810_ | | <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | _810_ |
| <a href="https://almalinux.org" title="https://almalinux.org" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | _810_ | | <a href="https://almalinux.org" title="https://almalinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | _810_ |
| <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code> 源" } | _810_ | | <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code> 源" } | _810_ |
| <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler开源欧拉** | _2025_ | | <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler开源欧拉** | _2025_ |
| <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS鸥栖** | _8.69 / Stream 23_ | | <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS鸥栖** | _8.69 / Stream 23_ |
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin开放麒麟** | _all_ | | <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin开放麒麟** | _all_ |
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS龙蜥** | _8 / 23_ | | <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS龙蜥** | _8 / 23_ |
| <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | _Leap 15 ~ 16 / Tumbleweed_ | | <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | _Leap 15 ~ 16 / Tumbleweed_ |
| <a href="https://archlinux.org" title="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | _all_ | | <a href="https://archlinux.org" title="https://archlinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | _all_ |
| <a href="https://manjaro.org" title="https://manjaro.org" target="_blank"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | _all_ | | <a href="https://manjaro.org" title="https://manjaro.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | _all_ |
| <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | _v3 / edge_ | | <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | _v3 / edge_ |
| <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | _all_ | | <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | _all_ |
| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | _1925_ | | <a href="https://nixos.org" title="https://nixos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | _1925_ |
</div> </div>
</div> </div>

View File

@@ -3,7 +3,7 @@ title: 一鍵腳本讓換源更簡單
description: GNU/Linux 更換系統軟體源腳本及 Docker 安裝與換源腳本 description: GNU/Linux 更換系統軟體源腳本及 Docker 安裝與換源腳本
comments: true comments: true
glightbox: false glightbox: false
comments_description: 此評論區僅用於展示專案使用評估和經驗分享,回饋問題或建議請前往<a href="/community">社群</a><a href="https://github.com/SuperManito/LinuxMirrors/issues" target="_blank">Issues</a> comments_description: 此評論區僅用於展示專案使用評估和經驗分享,回饋問題或建議請前往<a href="/community">社群</a><a href="https://github.com/SuperManito/LinuxMirrors/issues" target="_blank" rel="noopener noreferrer">Issues</a>
hide: hide:
- navigation - navigation
- toc - toc
@@ -105,31 +105,31 @@ hide:
| 作業系統 | 適配版本 | | 作業系統 | 適配版本 |
| --- | :---: | | --- | :---: |
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _813_ | | <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _813_ |
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支援烏班圖家族衍生作業系統,例如 <code>優麒麟</code> <code>Kubuntu</code><br/>由於迭代速度較快並不直接支援所有非 LTS 的版本,因此具體詳見文件" } | _1425_ | | <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支援烏班圖家族衍生作業系統,例如 <code>優麒麟</code> <code>Kubuntu</code><br/>由於迭代速度較快並不直接支援所有非 LTS 的版本,因此具體詳見文件" } | _1425_ |
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | _all_ | | <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | _all_ |
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _1922 / LMDE 6_ | | <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _1922 / LMDE 6_ |
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ | | <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ |
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ | | <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
| <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | _all_ | | <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | _all_ |
| <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | _all_ | | <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | _all_ |
| <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | _all_ | | <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | _all_ |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code><code>CentOS</code> 源" } | _710_ | | <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code><code>CentOS</code> 源" } | _710_ |
| <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | _3042_ | | <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | _3042_ |
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.125em"></a> **CentOS** | _78 / Stream 810_ | | <a href="https://www.centos.org" title="https://www.centos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.125em"></a> **CentOS** | _78 / Stream 810_ |
| <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | _810_ | | <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | _810_ |
| <a href="https://almalinux.org" title="https://almalinux.org" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | _810_ | | <a href="https://almalinux.org" title="https://almalinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | _810_ |
| <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code> 源" } | _810_ | | <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** :material-information-outline:{ title="使用 <code>CentOS Stream</code> 源" } | _810_ |
| <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | _2025_ | | <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | _2025_ |
| <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | _8.69 / Stream 23_ | | <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | _8.69 / Stream 23_ |
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | _all_ | | <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | _all_ |
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | _8 / 23_ | | <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | _8 / 23_ |
| <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | _Leap 15 ~ 16 / Tumbleweed_ | | <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | _Leap 15 ~ 16 / Tumbleweed_ |
| <a href="https://archlinux.org" title="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | _all_ | | <a href="https://archlinux.org" title="https://archlinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | _all_ |
| <a href="https://manjaro.org" title="https://manjaro.org" target="_blank"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | _all_ | | <a href="https://manjaro.org" title="https://manjaro.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | _all_ |
| <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | _v3 / edge_ | | <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | _v3 / edge_ |
| <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | _all_ | | <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | _all_ |
| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | _1925_ | | <a href="https://nixos.org" title="https://nixos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | _1925_ |
</div> </div>
</div> </div>

View File

@@ -10,9 +10,7 @@ search:
## Chinese Mainland :flag-CN: ## Chinese Mainland :flag-CN:
> All mirror sites in the list below synchronize the `Debian`, `Ubuntu`, `CentOS`, `openSUSE`, and `openEuler` software repositories. The list is sorted by institution type, geographic location, and name length, and is not related to actual download speed. <div id="mirrors-table"><p>Loading table <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" style="vertical-align: -0.15rem"><g stroke="var(--md-default-fg-color--light)"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></svg></p></div>
<div id="mirrors-table"><p>Loading table <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" style="vertical-align: -0.15rem"><g stroke="currentColor"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></svg></p></div>
???+ question "Usage Help" ???+ question "Usage Help"
@@ -72,6 +70,7 @@ search:
| AS · OSS Planet · Taiwan :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") | | AS · OSS Planet · Taiwan :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") |
| AS · National Yang Ming Chiao Tung University · Taiwan :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") | | AS · National Yang Ming Chiao Tung University · Taiwan :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") |
| AS · Tamkang University · Taiwan :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") | | AS · Tamkang University · Taiwan :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") |
| AS · Taiwan Digital Streaming · Taiwan :flag-TW: | [mirror.twds.com.tw](https://mirror.twds.com.tw "https://mirror.twds.com.tw") |
| AS · AniGil Linux Archive · Korea :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") | | AS · AniGil Linux Archive · Korea :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") |
| AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") | | AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") |
| AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") | | AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") |
@@ -169,6 +168,7 @@ search:
| AS · OSS Planet · Taiwan :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") | | AS · OSS Planet · Taiwan :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") |
| AS · National Yang Ming Chiao Tung University · Taiwan :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") | | AS · National Yang Ming Chiao Tung University · Taiwan :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") |
| AS · Tamkang University · Taiwan :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") | | AS · Tamkang University · Taiwan :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") |
| AS · Taiwan Digital Streaming · Taiwan :flag-TW: | [mirror.twds.com.tw](https://mirror.twds.com.tw "https://mirror.twds.com.tw") |
| AS · AniGil Linux Archive · Korea :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") | | AS · AniGil Linux Archive · Korea :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") |
| AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") | | AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") |
| AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") | | AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") |
@@ -228,6 +228,24 @@ search:
| AF · Liquid Telecom · Kenya :flag-KE: | [mirror.liquidtelecom.com](https://mirror.liquidtelecom.com "https://mirror.liquidtelecom.com") | | AF · Liquid Telecom · Kenya :flag-KE: | [mirror.liquidtelecom.com](https://mirror.liquidtelecom.com "https://mirror.liquidtelecom.com") |
| AF · Dimension Data · South Africa :flag-ZA: | [mirror.dimensiondata.com](https://mirror.dimensiondata.com "https://mirror.dimensiondata.com") | | AF · Dimension Data · South Africa :flag-ZA: | [mirror.dimensiondata.com](https://mirror.dimensiondata.com "https://mirror.dimensiondata.com") |
???+ note "Help improve more overseas and foreign software sources"
The software repositories in this list are referenced from [`Ubuntu Mirrors`](https://launchpad.net/ubuntu/+cdmirrors "https://launchpad.net/ubuntu/+cdmirrors"), [`Debian Mirrors`](https://www.debian.org/CD/http-ftp/#mirrors "https://www.debian.org/CD/http-ftp/#mirrors"), and [`Fedora Mirror Manager`](https://mirrormanager.fedoraproject.org/mirrors "https://mirrormanager.fedoraproject.org/mirrors") and have all been verified for effectiveness, but not actually tested.
The author does not have the energy to continuously maintain these overseas mirror sites in the list. If you want to add more software sources or correct the existing ones, please modify the [`mirror_list_abroad array variable`](https://github.com/SuperManito/LinuxMirrors/blob/main/ChangeMirrors.sh#L70 "https://github.com/SuperManito/LinuxMirrors/blob/main/ChangeMirrors.sh#L70") in the script and modify it according to the following editing specifications.
You can submit [Pull Requests](https://github.com/SuperManito/LinuxMirrors/pulls "https://github.com/SuperManito/LinuxMirrors/pulls") to the GitHub repository after confirming the mirror address is correct. You can also fork the repository and customize it yourself.
- Overseas and foreign software source (mirror site) editing specifications:
Complete format: `Continent · Software Source Name · Country/Region@Software Source Address (Domain)`
Please sort according to geographical location, country or region for user selection. Units with iconic abbreviation characters should be supplemented in brackets at the end, and the name of the unit should prioritize the domain name. The following are naming rules:
- Educational institution: Use the Chinese translation of the name. If the full name contains the name of the country or region, it should also be included. Pay attention to distinguishing subordinate units, such as colleges, student unions, societies, etc. The common second-level domain name format is `ftp.mirrors.xxx.xxx`. The name of the top-level institution should be used directly. If there is a third-level domain name, consider whether to add the subordinate unit in the name. The domain name takes priority.
- Non-educational institutions: The brand name used by their parent official website should be prioritized, and it should be the official English name rather than the characters in the logo. If there is no official English name and the website is in a language other than Chinese or English, the website domain name should be used as the name.
## Tool Websites ## Tool Websites
<button class="md-button" title="https://tool.chinaz.com" onclick="window.open('https://tool.chinaz.com')">Domain Lookup</button> <button class="md-button" title="https://tool.chinaz.com" onclick="window.open('https://tool.chinaz.com')">Domain Lookup</button>
@@ -237,4 +255,8 @@ search:
!!! tip "This page displays only the default repository addresses provided by the script. If you can't find the one you want, don't worry—the script supports custom addresses via command options. See [Advanced Usage](../use/index.md#command-options-advanced-usage) for details." !!! tip "This page displays only the default repository addresses provided by the script. If you can't find the one you want, don't worry—the script supports custom addresses via command options. See [Advanced Usage](../use/index.md#command-options-advanced-usage) for details."
> The flag icons on this page are for quick geographic identification only and do not represent any political stance of the author. Please do not over-interpret. Statement made for clarification. ---
!!! warning "Because the information on this page may be controversial, it is recommended that you do not include this page's content in your sharing on certain social media platforms to avoid unnecessary trouble."
The flag icons on this page are for quick geographic identification only and do not represent any political stance of the author. Please do not over-interpret. Statement made for clarification.

View File

@@ -10,9 +10,7 @@ search:
## 中国大陆 :flag-CN: ## 中国大陆 :flag-CN:
> 下方列表中的镜像站均同步了 `Debian` `Ubuntu` `CentOS` `openSUSE` `openEuler` 软件仓库,列表根据单位性质、地理位置、名称长度进行排序,与实际速度无关 <div id="mirrors-table"><p>正在加载表格 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" style="vertical-align: -0.15rem"><g stroke="var(--md-default-fg-color--light)"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></svg></p></div>
<div id="mirrors-table"><p>正在加载表格 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" style="vertical-align: -0.15rem"><g stroke="currentColor"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></svg></p></div>
???+ question "使用帮助" ???+ question "使用帮助"
@@ -72,6 +70,7 @@ search:
| 亚洲 · OSS Planet · 台湾 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") | | 亚洲 · OSS Planet · 台湾 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") |
| 亚洲 · 国立阳明交通大学 · 台湾 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") | | 亚洲 · 国立阳明交通大学 · 台湾 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") |
| 亚洲 · 淡江大学 · 台湾 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") | | 亚洲 · 淡江大学 · 台湾 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") |
| 亚洲 · Taiwan Digital Streaming · 台湾 :flag-TW: | [mirror.twds.com.tw](https://mirror.twds.com.tw "https://mirror.twds.com.tw") |
| 亚洲 · AniGil Linux Archive · 韩国 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") | | 亚洲 · AniGil Linux Archive · 韩国 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") |
| 亚洲 · 工业网络安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") | | 亚洲 · 工业网络安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") |
| 亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") | | 亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") |
@@ -169,6 +168,7 @@ search:
| 亚洲 · OSS Planet · 台湾 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") | | 亚洲 · OSS Planet · 台湾 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") |
| 亚洲 · 国立阳明交通大学 · 台湾 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") | | 亚洲 · 国立阳明交通大学 · 台湾 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") |
| 亚洲 · 淡江大学 · 台湾 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") | | 亚洲 · 淡江大学 · 台湾 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") |
| 亚洲 · Taiwan Digital Streaming · 台湾 :flag-TW: | [mirror.twds.com.tw](https://mirror.twds.com.tw "https://mirror.twds.com.tw") |
| 亚洲 · AniGil Linux Archive · 韩国 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") | | 亚洲 · AniGil Linux Archive · 韩国 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") |
| 亚洲 · 工业网络安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") | | 亚洲 · 工业网络安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") |
| 亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") | | 亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") |
@@ -232,7 +232,7 @@ search:
该列表中的软件源参考自 [`Ubuntu 镜像列表`](https://launchpad.net/ubuntu/+cdmirrors "https://launchpad.net/ubuntu/+cdmirrors")、[`Debian 镜像列表`](https://www.debian.org/CD/http-ftp/#mirrors "https://www.debian.org/CD/http-ftp/#mirrors")、[`Fedora Mirror Manager`](https://mirrormanager.fedoraproject.org/mirrors "https://mirrormanager.fedoraproject.org/mirrors") 并且在此之前全部经过了有效性验证,但未作实际测试 该列表中的软件源参考自 [`Ubuntu 镜像列表`](https://launchpad.net/ubuntu/+cdmirrors "https://launchpad.net/ubuntu/+cdmirrors")、[`Debian 镜像列表`](https://www.debian.org/CD/http-ftp/#mirrors "https://www.debian.org/CD/http-ftp/#mirrors")、[`Fedora Mirror Manager`](https://mirrormanager.fedoraproject.org/mirrors "https://mirrormanager.fedoraproject.org/mirrors") 并且在此之前全部经过了有效性验证,但未作实际测试
作者没有精力持续维护列表中的这些境外、海外镜像站,如果你想补充更多软件源或更正当前已有,请修改脚本内的 [`mirror_list_abroad 数组变量`](https://github.com/SuperManito/LinuxMirrors/blame/main/ChangeMirrors.sh#L66 "https://github.com/SuperManito/LinuxMirrors/blame/main/ChangeMirrors.sh#L66") 并按照下面的编辑规范进行修改 作者没有精力持续维护列表中的这些境外、海外镜像站,如果你想补充更多软件源或更正当前已有,请修改脚本内的 [`mirror_list_abroad 数组变量`](https://github.com/SuperManito/LinuxMirrors/blob/main/ChangeMirrors.sh#L70 "https://github.com/SuperManito/LinuxMirrors/blob/main/ChangeMirrors.sh#L70") 并按照下面的编辑规范进行修改
你可以在确认镜像站地址无误后前往 GitHub 仓库提交 [Pull Requests](https://github.com/SuperManito/LinuxMirrors/pulls "https://github.com/SuperManito/LinuxMirrors/pulls"),也可以 :material-source-fork: Fork 仓库后自行定制使用 你可以在确认镜像站地址无误后前往 GitHub 仓库提交 [Pull Requests](https://github.com/SuperManito/LinuxMirrors/pulls "https://github.com/SuperManito/LinuxMirrors/pulls"),也可以 :material-source-fork: Fork 仓库后自行定制使用
@@ -257,4 +257,8 @@ search:
!!! tip "该页面展示的均为脚本默认提供可供选择的软件源地址,如果没有找到你想使用的也没有关系,脚本支持命令选项可自定义使用,详见[高级用法](../use/index.md#命令选项高级用法)" !!! tip "该页面展示的均为脚本默认提供可供选择的软件源地址,如果没有找到你想使用的也没有关系,脚本支持命令选项可自定义使用,详见[高级用法](../use/index.md#命令选项高级用法)"
> 本页面涉及的旗帜图标仅用于快速区分地理位置,不代表作者任何的政治立场,请不要过度解读,特此声明。 ---
!!! warning "由于该页面的信息可能会引起争议,为了避免不必要的麻烦,建议不要在部分社交媒体的分享中包含此页面内容"
本页面涉及的旗帜图标仅用于快速区分地理位置,不代表作者任何的政治立场,请不要过度解读,特此声明。

View File

@@ -8,15 +8,9 @@ search:
exclude: true exclude: true
--- ---
???+ question "友情提示"
本專案預設提供的軟體源列表主要服務位於中國大陸的用戶,因此對你來說該頁面上可能存在許多無用的資訊。作者沒有精力去採集和維護全世界的可用軟體源,因此可能需要透過命令選項自定義使用才能滿足你的實際需求,具體預設的國際軟體源詳見下方。
## 中國大陸 :flag-CN: ## 中國大陸 :flag-CN:
> 下方列表中的鏡像站均同步了 `Debian`、`Ubuntu`、`CentOS`、`openSUSE`、`openEuler` 軟體倉庫,列表根據單位性質、地理位置、名稱長度排序,與實際下載速度無關。 <div id="mirrors-table"><p>正在載入表格 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" style="vertical-align: -0.15rem"><g stroke="var(--md-default-fg-color--light)"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></svg></p></div>
<div id="mirrors-table"><p>正在載入表格 <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" style="vertical-align: -0.15rem"><g stroke="currentColor"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></svg></p></div>
???+ question "使用幫助" ???+ question "使用幫助"
@@ -76,6 +70,7 @@ search:
| 亞洲 · OSS Planet · 臺灣 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") | | 亞洲 · OSS Planet · 臺灣 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") |
| 亞洲 · 國立陽明交通大學 · 臺灣 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") | | 亞洲 · 國立陽明交通大學 · 臺灣 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") |
| 亞洲 · 淡江大學 · 臺灣 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") | | 亞洲 · 淡江大學 · 臺灣 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") |
| 亞洲 · Taiwan Digital Streaming · 臺灣 :flag-TW: | [mirror.twds.com.tw](https://mirror.twds.com.tw "https://mirror.twds.com.tw") |
| 亞洲 · AniGil Linux Archive · 韓國 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") | | 亞洲 · AniGil Linux Archive · 韓國 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") |
| 亞洲 · 工業網路安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") | | 亞洲 · 工業網路安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") |
| 亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") | | 亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") |
@@ -173,6 +168,7 @@ search:
| 亞洲 · OSS Planet · 臺灣 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") | | 亞洲 · OSS Planet · 臺灣 :flag-TW: | [mirror.ossplanet.net](https://mirror.ossplanet.net "https://mirror.ossplanet.net") |
| 亞洲 · 國立陽明交通大學 · 臺灣 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") | | 亞洲 · 國立陽明交通大學 · 臺灣 :flag-TW: | [linux.cs.nctu.edu.tw](https://linux.cs.nctu.edu.tw "https://linux.cs.nctu.edu.tw") |
| 亞洲 · 淡江大學 · 臺灣 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") | | 亞洲 · 淡江大學 · 臺灣 :flag-TW: | [ftp.tku.edu.tw](https://ftp.tku.edu.tw "https://ftp.tku.edu.tw") |
| 亞洲 · Taiwan Digital Streaming · 臺灣 :flag-TW: | [mirror.twds.com.tw](https://mirror.twds.com.tw "https://mirror.twds.com.tw") |
| 亞洲 · AniGil Linux Archive · 韓國 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") | | 亞洲 · AniGil Linux Archive · 韓國 :flag-KR: | [mirror.anigil.com](https://mirror.anigil.com "https://mirror.anigil.com") |
| 亞洲 · 工業網路安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") | | 亞洲 · 工業網路安全中心(ICSCoE) · 日本 :flag-JP: | [ftp.udx.icscoe.jp/Linux](https://ftp.udx.icscoe.jp/Linux "https://ftp.udx.icscoe.jp/Linux") |
| 亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") | | 亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本 :flag-JP: | [ftp.jaist.ac.jp/pub/Linux](https://ftp.jaist.ac.jp/pub/Linux "https://ftp.jaist.ac.jp/pub/Linux") |
@@ -232,6 +228,26 @@ search:
| 非洲 · Liquid Telecom · 肯亞 :flag-KE: | [mirror.liquidtelecom.com](https://mirror.liquidtelecom.com "https://mirror.liquidtelecom.com") | | 非洲 · Liquid Telecom · 肯亞 :flag-KE: | [mirror.liquidtelecom.com](https://mirror.liquidtelecom.com "https://mirror.liquidtelecom.com") |
| 非洲 · Dimension Data · 南非 :flag-ZA: | [mirror.dimensiondata.com](https://mirror.dimensiondata.com "https://mirror.dimensiondata.com") | | 非洲 · Dimension Data · 南非 :flag-ZA: | [mirror.dimensiondata.com](https://mirror.dimensiondata.com "https://mirror.dimensiondata.com") |
???+ note "幫助專案完善更多境外、海外軟體源"
此清單中的軟體源參考自 [`Ubuntu 鏡像清單`](https://launchpad.net/ubuntu/+cdmirrors "https://launchpad.net/ubuntu/+cdmirrors")、[`Debian 鏡像清單`](https://www.debian.org/CD/http-ftp/#mirrors "https://www.debian.org/CD/http-ftp/#mirrors")、[`Fedora Mirror Manager`](https://mirrormanager.fedoraproject.org/mirrors "https://mirrormanager.fedoraproject.org/mirrors") 並且在此之前全部經過有效性驗證,但在此之前未完成了實際測試
作者沒有精力持續維護清單中的這些境外、海外鏡像站,如果你想補充更多軟體源或更正目前已有,請修改腳本內的 [`mirror_list_abroad 陣列變數`](https://github.com/SuperManito/LinuxMirrors/blob/main/ChangeMirrors.sh#L70 "https://github.com/SuperManito/LinuxMirrors/blob/main/ChangeMirrors.sh#L70") 並依照下面的編輯規格進行修改
你可以在確認鏡像站位址無誤後前往 GitHub 倉庫提交 [Pull Requests](https://github.com/SuperManito/LinuxMirrors/pulls "https://github.com/SuperManito/LinuxMirrors/pulls"),也可以 :material-source-fork: Fork 倉庫後自訂使用
- 境外以及海外軟體源(鏡像站)編輯規格:
完整格式:`洲 · 軟體源名稱 · 國家/地區@軟體源位址(網域)`
請根據地理位置、國家或地區進行排序以便於使用者選擇,有標誌性縮寫字元的單位應在最後用括號補充,單位的名稱應以網域名稱作為優先原則,以下是命名規則:
- 教育單位:需使用中文譯名,全稱若含有國家或地區的名稱也要帶上,注意區分下屬單位,例如學院、學生會、社團等。常見的二級網域格式 `ftp.mirrors.xxx.xxx` 應直接採用頂級單位的名稱,如果有三級網域則應考慮是否在名稱中加上下屬單位,以網域為優先原則
註:`Technology` 一詞應稱為 `理工` 而不能使用翻譯結果的 `技術` 一詞,大部分教育單位都有正式或公認的中文譯名
- 非教育單位應優先採用其上屬官網所自稱的品牌名稱注意是正式的英文名稱而不是logo中的字符如果沒有並且網站是除中文、英文以外的語言文字應使用網站域名作為名稱
## 工具網站 ## 工具網站
<button class="md-button" title="https://tool.chinaz.com" onclick="window.open('https://tool.chinaz.com')">域名查詢</button> <button class="md-button" title="https://tool.chinaz.com" onclick="window.open('https://tool.chinaz.com')">域名查詢</button>
@@ -241,4 +257,8 @@ search:
!!! tip "該頁面顯示的皆為腳本預設提供可供選擇的軟體源位址,如果沒有找到你想使用的也沒有關係,腳本支援命令選項可自定義使用,詳見[進階用法](../use/index.md#命令選項進階用法)" !!! tip "該頁面顯示的皆為腳本預設提供可供選擇的軟體源位址,如果沒有找到你想使用的也沒有關係,腳本支援命令選項可自定義使用,詳見[進階用法](../use/index.md#命令選項進階用法)"
> 本頁面涉及的旗幟圖示僅用於快速區分地理位置,不代表作者任何的政治立場,請不要過度解讀,特此聲明。 ---
!!! warning "由於該頁面的資訊可能會引起爭議,為了避免不必要的麻煩,建議不要在部分社交媒體的分享中包含此頁面內容"
本頁面涉及的旗幟圖示僅用於快速區分地理位置,不代表作者任何的政治立場,請不要過度解讀,特此聲明。

View File

@@ -110,7 +110,7 @@ hide:
--- ---
Compatible with a number of derivative operating systems not supported by the official installation script. :material-information-outline:{ title="In addition to the systems displayed on the official website, it also supports special systems such as <code>Huawei Cloud EulerOS</code>&nbsp;&nbsp;<code>TencentOS Server</code>&nbsp;&nbsp;<code>Alibaba Cloud Linux</code>" } Compatible with a number of derivative operating systems not supported by the official installation script. :material-information-outline:{ title="In addition to the operating systems shown on the official website homepage, it also supports special systems such as those shown below. </br><ul><li>Kylin Server</li><li>Huawei Cloud EulerOS</li><li>TencentOS Server</li><li>Alibaba Cloud Linux</li></ul>" }
- :material-weight-lifter:{ .lg .middle } __Powerful and unparalleled__ - :material-weight-lifter:{ .lg .middle } __Powerful and unparalleled__
@@ -130,10 +130,10 @@ hide:
<p>✨ After years of technical accumulation and production environment testing, it has been widely praised by the community and deeply loved by developers. It is used by major companies.</p> <p>✨ After years of technical accumulation and production environment testing, it has been widely praised by the community and deeply loved by developers. It is used by major companies.</p>
<div class="icon-brand-section"> <div class="icon-brand-section">
<div class="icon-brand-container no-select"> <div class="icon-brand-container no-select">
<a class="icon-brand-button" target="_blank" href="https://1panel.pro" title="1Panel"> <a class="icon-brand-button" target="_blank" rel="noopener noreferrer" href="https://1panel.pro" title="1Panel">
<img src="/assets/images/sponsor/1panel.png" alt="1panel" /> <img src="/assets/images/sponsor/1panel.png" alt="1panel" />
</a> </a>
<a class="icon-brand-button" target="_blank" href="https://www.aapanel.com" title="aaPanel" style="padding: 0 !important"> <a class="icon-brand-button" target="_blank" rel="noopener noreferrer" href="https://www.aapanel.com" title="aaPanel" style="padding: 0 !important">
<img src="/assets/images/other/aaPanel.png" alt="aapanel" style="width: 76% !important" /> <img src="/assets/images/other/aaPanel.png" alt="aapanel" style="width: 76% !important" />
</a> </a>
</div> </div>
@@ -234,7 +234,7 @@ Command options(name/meaning/value):
| Name | Meaning | Value | | Name | Meaning | Value |
| :-: | :-: | :-: | | :-: | :-: | :-: |
| `--source` | Specify `Docker CE` mirror address (domain or IP) | `address` | | `--source` | Specify `Docker CE` mirror address (domain or IP) | `address` |
| `--source-registry` | Specify `Docker Registry` mirror address (domain or IP) | `address` | | `--source-registry` | Specify `Docker Registry` mirror address (domain or IP) | `address (separate multiple entries with commas)` |
| `--branch` | Specify `Docker CE` mirror repository (path) | `repo name (see docs below)` | | `--branch` | Specify `Docker CE` mirror repository (path) | `repo name (see docs below)` |
| `--branch-version` | Specify `Docker CE` mirror repository version | `version (see docs below)` | | `--branch-version` | Specify `Docker CE` mirror repository version | `version (see docs below)` |
| `--designated-version` | Specify `Docker Engine` installation version | `version (see docs below)` | | `--designated-version` | Specify `Docker Engine` installation version | `version (see docs below)` |
@@ -258,6 +258,13 @@ Command options(name/meaning/value):
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en --source-registry registry.example.com bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en --source-registry registry.example.com
``` ```
Can specify multiple addresses at the same time, and they must be separated by commas.
``` { .bash .no-copy }
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en \
--source-registry "registry-1.example.com,registry-2.example.com"
```
- ### Only Switch Registry Mirror - ### Only Switch Registry Mirror
=== "Use Script for One-Click Replacement" === "Use Script for One-Click Replacement"
@@ -268,6 +275,15 @@ Command options(name/meaning/value):
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en --only-registry bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en --only-registry
``` ```
Lazy one-click command (using multiple addresses)
``` bash
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en \
--only-registry \
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
```
> The option value can specify multiple addresses, which must be separated by commas.
=== "Manual Replacement" === "Manual Replacement"
- Install the `jq` package - Install the `jq` package
@@ -327,7 +343,7 @@ Command options(name/meaning/value):
``` { .bash .no-copy } ``` { .bash .no-copy }
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en --branch centos bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --en --branch centos
``` ```
> Repository names are fixed: `centos`, `debian`, `fedora`, `raspbian`, `rhel`, `sles`, `static`, `ubuntu` > Repository names are fixed: [`centos`](https://download.docker.com/linux/centos/) [`debian`](https://download.docker.com/linux/debian/) [`fedora`](https://download.docker.com/linux/fedora/) [`raspbian`](https://download.docker.com/linux/raspbian/) [`rhel`](https://download.docker.com/linux/rhel/) [`sles`](https://download.docker.com/linux/sles/) [`static`](https://download.docker.com/linux/static/) [`ubuntu`](https://download.docker.com/linux/ubuntu/)
> See [official installation docs](https://docs.docker.com/engine/install) and [Docker CE official repo](https://download.docker.com/linux) for details. > See [official installation docs](https://docs.docker.com/engine/install) and [Docker CE official repo](https://download.docker.com/linux) for details.
``` { .bash .no-copy title="Can also specify the repository version number." } ``` { .bash .no-copy title="Can also specify the repository version number." }

View File

@@ -110,9 +110,9 @@ hide:
--- ---
兼容大量不受官方安装脚本支持的衍生操作系统 :material-information-outline:{ title="除官网首页展示的系统外还支持 <code>Huawei Cloud EulerOS</code>&nbsp;&nbsp;<code>TencentOS Server</code>&nbsp;&nbsp;<code>Alibaba Cloud Linux</code> 等特制系统" } 兼容大量不受官方安装脚本支持的衍生操作系统 :material-information-outline:{ title="除官网首页展示的系统外还支持下方等特制系统</br><ul><li>Kylin Server</li><li>Huawei Cloud EulerOS</li><li>TencentOS Server</li><li>Alibaba Cloud Linux</li></ul>" }
- :material-weight-lifter:{ .lg .middle } __功能强大、无伦比__ - :material-weight-lifter:{ .lg .middle } __功能强大、无伦比__
--- ---
@@ -130,10 +130,10 @@ hide:
<p>✨ 经过了数年的技术沉淀与生产环境检验,广受社区好评,深得开发者喜爱,大厂都在使用</p> <p>✨ 经过了数年的技术沉淀与生产环境检验,广受社区好评,深得开发者喜爱,大厂都在使用</p>
<div class="icon-brand-section"> <div class="icon-brand-section">
<div class="icon-brand-container no-select"> <div class="icon-brand-container no-select">
<a class="icon-brand-button" target="_blank" href="https://1panel.cn" title="1Panel"> <a class="icon-brand-button" target="_blank" rel="noopener noreferrer" href="https://1panel.cn" title="1Panel">
<img src="/assets/images/sponsor/1panel.png" alt="1panel" /> <img src="/assets/images/sponsor/1panel.png" alt="1panel" />
</a> </a>
<a class="icon-brand-button" target="_blank" href="https://www.bt.cn" title="宝塔面板" style="padding: 0 !important"> <a class="icon-brand-button" target="_blank" rel="noopener noreferrer" href="https://www.bt.cn" title="宝塔面板" style="padding: 0 !important">
<img src="/assets/images/other/bt.svg" alt="BT" /> <img src="/assets/images/other/bt.svg" alt="BT" />
</a> </a>
</div> </div>
@@ -234,7 +234,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --help
| 名称 | 含义 | 选项值 | | 名称 | 含义 | 选项值 |
| :-: | :-: | :-: | | :-: | :-: | :-: |
| `--source` | 指定 `Docker CE` 源地址(域名或IP) | `地址` | | `--source` | 指定 `Docker CE` 源地址(域名或IP) | `地址` |
| `--source-registry` | 指定 `Docker` 镜像仓库地址(域名或IP) | `地址` | | `--source-registry` | 指定 `Docker` 镜像仓库地址(域名或IP) | `地址(多个用英文逗号分割)` |
| `--branch` | 指定 `Docker CE` 软件源仓库(路径) | `仓库名(详见下方文档)` | | `--branch` | 指定 `Docker CE` 软件源仓库(路径) | `仓库名(详见下方文档)` |
| `--branch-version` | 指定 `Docker CE` 软件源仓库版本 | `版本号(详见下方文档)` | | `--branch-version` | 指定 `Docker CE` 软件源仓库版本 | `版本号(详见下方文档)` |
| `--designated-version` | 指定 `Docker Engine` 安装版本 | `版本号(详见下方文档)` | | `--designated-version` | 指定 `Docker Engine` 安装版本 | `版本号(详见下方文档)` |
@@ -258,6 +258,13 @@ $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --help
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source-registry registry.example.com bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source-registry registry.example.com
``` ```
可以同时指定多个地址,需使用英文逗号进行分割
``` { .bash .no-copy }
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) \
--source-registry "registry-1.example.com,registry-2.example.com"
```
- ### 仅更换镜像仓库 - ### 仅更换镜像仓库
=== "使用脚本一键替换" === "使用脚本一键替换"
@@ -268,6 +275,15 @@ $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --help
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --only-registry bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --only-registry
``` ```
懒人一键命令(使用多个地址)
``` bash
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) \
--only-registry \
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
```
> 选项值可以指定多个地址,需使用英文逗号进行分割
=== "手动替换" === "手动替换"
- 安装 `jq` 软件包 - 安装 `jq` 软件包
@@ -327,7 +343,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --help
``` { .bash .no-copy } ``` { .bash .no-copy }
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --branch centos bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --branch centos
``` ```
> 仓库名是固定的,目前只有 `centos` `debian` `fedora` `raspbian` `rhel` `sles` `static` `ubuntu` 这几个 > 仓库名是固定的,目前只有 [`centos`](https://download.docker.com/linux/centos/) [`debian`](https://download.docker.com/linux/debian/) [`fedora`](https://download.docker.com/linux/fedora/) [`raspbian`](https://download.docker.com/linux/raspbian/) [`rhel`](https://download.docker.com/linux/rhel/) [`sles`](https://download.docker.com/linux/sles/) [`static`](https://download.docker.com/linux/static/) [`ubuntu`](https://download.docker.com/linux/ubuntu/) 这几个
> 具体详见 [官方安装文档](https://docs.docker.com/engine/install) 和 [Docker CE 官方仓库](https://download.docker.com/linux) > 具体详见 [官方安装文档](https://docs.docker.com/engine/install) 和 [Docker CE 官方仓库](https://download.docker.com/linux)
``` { .bash .no-copy title="还可以指定仓库版本号" } ``` { .bash .no-copy title="还可以指定仓库版本号" }

View File

@@ -110,7 +110,7 @@ hide:
--- ---
相容於大量不受官方安裝腳本支援的衍生作業系統 :material-information-outline:{ title="除官網首頁展示的系統外支援 <code>Huawei Cloud EulerOS</code>&nbsp;&nbsp;<code>TencentOS Server</code>&nbsp;&nbsp;<code>Alibaba Cloud Linux</code> 等特製系統" } 相容於大量不受官方安裝腳本支援的衍生作業系統 :material-information-outline:{ title="除官網首頁展示的系統外支援下方等特製系統</br><ul><li>Kylin Server</li><li>Huawei Cloud EulerOS</li><li>TencentOS Server</li><li>Alibaba Cloud Linux</li></ul>" }
- :material-weight-lifter:{ .lg .middle } __功能強大、無與倫比__ - :material-weight-lifter:{ .lg .middle } __功能強大、無與倫比__
@@ -130,10 +130,10 @@ hide:
<p>✨ 經過了數年的技術沉澱與生產環境檢驗,廣受社區好評,深得開發者喜愛,大廠都在使用</p> <p>✨ 經過了數年的技術沉澱與生產環境檢驗,廣受社區好評,深得開發者喜愛,大廠都在使用</p>
<div class="icon-brand-section"> <div class="icon-brand-section">
<div class="icon-brand-container no-select"> <div class="icon-brand-container no-select">
<a class="icon-brand-button" target="_blank" href="https://1panel.pro" title="1Panel"> <a class="icon-brand-button" target="_blank" rel="noopener noreferrer" href="https://1panel.pro" title="1Panel">
<img src="/assets/images/sponsor/1panel.png" alt="1panel" /> <img src="/assets/images/sponsor/1panel.png" alt="1panel" />
</a> </a>
<a class="icon-brand-button" target="_blank" href="https://www.aapanel.com" title="aaPanel" style="padding: 0 !important"> <a class="icon-brand-button" target="_blank" rel="noopener noreferrer" href="https://www.aapanel.com" title="aaPanel" style="padding: 0 !important">
<img src="/assets/images/other/aaPanel.png" alt="aapanel" style="width: 76% !important" /> <img src="/assets/images/other/aaPanel.png" alt="aapanel" style="width: 76% !important" />
</a> </a>
</div> </div>
@@ -209,7 +209,7 @@ hide:
<!-- termynal --> <!-- termynal -->
``` ```
$ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --help
命令選項(名稱/含義/值) 命令選項(名稱/含義/值)
@@ -234,7 +234,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
| 名稱 | 意義 | 選項值 | | 名稱 | 意義 | 選項值 |
| :-: | :-: | :-: | | :-: | :-: | :-: |
| `--source` | 指定 `Docker CE` 軟體源位址(網域名稱或IP) | `位址` | | `--source` | 指定 `Docker CE` 軟體源位址(網域名稱或IP) | `位址` |
| `--source-registry` | 指定 `Docker` 映像倉庫位址(網域名稱或IP) | `位址` | | `--source-registry` | 指定 `Docker` 映像倉庫位址(網域名稱或IP) | `位址(多個用英文逗號分割)` |
| `--branch` | 指定 `Docker CE` 軟體源倉庫(路徑) | `倉庫名稱(詳見下方文件)` | | `--branch` | 指定 `Docker CE` 軟體源倉庫(路徑) | `倉庫名稱(詳見下方文件)` |
| `--branch-version` | 指定 `Docker CE` 軟體源倉庫版本 | `版本號(詳見下方文件)` | | `--branch-version` | 指定 `Docker CE` 軟體源倉庫版本 | `版本號(詳見下方文件)` |
| `--designated-version` | 指定 `Docker Engine` 安裝版本 | `版本號(詳見下方文件)` | | `--designated-version` | 指定 `Docker Engine` 安裝版本 | `版本號(詳見下方文件)` |
@@ -258,6 +258,13 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --source-registry registry.example.com bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --source-registry registry.example.com
``` ```
可同時指定多個地址,需使用英文逗號分割
``` { .bash .no-copy }
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant \
--source-registry "registry-1.example.com,registry-2.example.com"
```
- ### 僅更換映像倉庫 - ### 僅更換映像倉庫
=== "使用腳本一鍵替換" === "使用腳本一鍵替換"
@@ -268,6 +275,15 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --only-registry bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --only-registry
``` ```
懶人一鍵指令(使用多個位址)
``` bash
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant \
--only-registry \
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
```
> 選項值可以指定多個位址,需使用英文逗號分割
=== "手動替換" === "手動替換"
- 安裝 `jq` 軟體包 - 安裝 `jq` 軟體包
@@ -327,7 +343,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
``` { .bash .no-copy } ``` { .bash .no-copy }
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --branch centos bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --branch centos
``` ```
> 倉庫名稱是固定的,目前只有 `centos` `debian` `fedora` `raspbian` `rhel` `sles` `static` `ubuntu` 這幾個 > 倉庫名稱是固定的,目前只有 [`centos`](https://download.docker.com/linux/centos/) [`debian`](https://download.docker.com/linux/debian/) [`fedora`](https://download.docker.com/linux/fedora/) [`raspbian`](https://download.docker.com/linux/raspbian/) [`rhel`](https://download.docker.com/linux/rhel/) [`sles`](https://download.docker.com/linux/sles/) [`static`](https://download.docker.com/linux/static/) [`ubuntu`](https://download.docker.com/linux/ubuntu/) 這幾個
> 詳情請見 [官方安裝文件](https://docs.docker.com/engine/install) 及 [Docker CE 官方倉庫](https://download.docker.com/linux) > 詳情請見 [官方安裝文件](https://docs.docker.com/engine/install) 及 [Docker CE 官方倉庫](https://download.docker.com/linux)
``` { .bash .no-copy title="还可以指定倉庫版本號" } ``` { .bash .no-copy title="还可以指定倉庫版本號" }

View File

@@ -3,69 +3,63 @@
<strong class="sponsor-text-1"></strong> <strong class="sponsor-text-1"></strong>
</div> </div>
<div class="sponsor-wrapper sponsor-flex-wrapper no-select"> <div class="sponsor-wrapper sponsor-flex-wrapper no-select">
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://1panel.cn" title="新一代的 Linux 服务器运维管理面板"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://1panel.cn" title="新一代的 Linux 服务器运维管理面板">
<img src="/assets/images/sponsor/1panel.png" alt="1Panel" /> <img src="/assets/images/sponsor/1panel.png" alt="1Panel" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下">
<!-- 27 5 19 --> <!-- 27 5 19 -->
<img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="width: 56% !important" /> <img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="width: 56% !important" />
<img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="width: 56% !important" /> <img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="width: 56% !important" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。">
<!-- 27 6 10 --> <!-- 27 6 10 -->
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="width: 56% !important" /> <img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="width: 56% !important" />
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="width: 56% !important" /> <img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="width: 56% !important" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.bsncdn.org" title="香港日本高防CDN免实名/免备案,轻松阻断 DDOS / CC 攻击"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPSR9/i9系列定制">
<!-- 27 11 1 -->
<img src="/assets/images/sponsor/linfengyun.png" alt="林枫云" />
</a>
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN免实名/免备案,轻松阻断 DDOS / CC 攻击">
<!-- 26 08 17 --> <!-- 26 08 17 -->
<img src="/assets/images/sponsor/businiaocdn.png" alt="不死鸟CDN" /> <img src="/assets/images/sponsor/businiaocdn.png" alt="不死鸟CDN" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.qingyeyun.com" title="香港1T高防自助防火墙无视CC大带宽回国优化线路"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.qingyeyun.com" title="香港1T高防自助防火墙无视CC大带宽回国优化线路">
<!-- 26 8 18 --> <!-- 26 8 18 -->
<img src="/assets/images/sponsor/qingyeyun-light.png#only-light" alt="青叶云" /> <img src="/assets/images/sponsor/qingyeyun-light.png#only-light" alt="青叶云" />
<img src="/assets/images/sponsor/qingyeyun-dark.png#only-dark" alt="青叶云" /> <img src="/assets/images/sponsor/qingyeyun-dark.png#only-dark" alt="青叶云" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://langlangy.cn/?icf164b" title="BGP网络让每一次连接都纵享丝滑明码标价、无套路续费"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://langlangy.cn/?icf164b" title="BGP网络让每一次连接都纵享丝滑明码标价、无套路续费">
<!-- 26 8 25 --> <!-- 26 8 25 -->
<img src="/assets/images/sponsor/langlangyun-light.png#only-light" alt="浪浪云" /> <img src="/assets/images/sponsor/langlangyun-light.png#only-light" alt="浪浪云" />
<img src="/assets/images/sponsor/langlangyun-dark.png#only-dark" alt="浪浪云" /> <img src="/assets/images/sponsor/langlangyun-dark.png#only-dark" alt="浪浪云" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.lcayun.com" title="专业云计算服务器提供商"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.lcayun.com" title="专业云计算服务器提供商">
<!-- 26 9 7 --> <!-- 26 9 7 -->
<img src="/assets/images/sponsor/laikayun-light.png#only-light" alt="莱卡云" /> <img src="/assets/images/sponsor/laikayun-light.png#only-light" alt="莱卡云" />
<img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" /> <img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器低至15.99元起"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器低至15.99元起">
<!-- 26 9 5 --> <!-- 26 9 5 -->
<img src="/assets/images/sponsor/yunyoo.png" alt="云悠YUNYOO" /> <img src="/assets/images/sponsor/yunyoo.png" alt="云悠YUNYOO" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.sutuoyun.com" title="国内高防云28元/月香港云100M优化线路9元/月"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.sutuoyun.com" title="国内高防云28元/月香港云100M优化线路9元/月">
<!-- 25 12 23 --> <!-- 25 12 23 -->
<img src="/assets/images/sponsor/sutuoyun.svg" alt="速拓云" style="width: 58% !important" /> <img src="/assets/images/sponsor/sutuoyun.svg" alt="速拓云" style="width: 58% !important" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPSR9/i9系列定制"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
<!-- 25 10 13 -->
<img src="/assets/images/sponsor/linfengyun-light.png#only-light" alt="林枫云" />
<img src="/assets/images/sponsor/linfengyun-dark.png#only-dark" alt="林枫云" />
</a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://arcadia.cool" title="一站式代码运维平台">
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="width: 57% !important" /> <img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="width: 57% !important" />
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="width: 57% !important" /> <img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="width: 57% !important" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.lucdn.cn?utm_source=linuxmirrors" title="专业CDN加速、防御亚太百兆三网优化CDN低至9元起"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.lucdn.cn?utm_source=linuxmirrors" title="专业CDN加速、防御亚太百兆三网优化CDN低至9元起">
<!-- 25 12 16 --> <!-- 25 12 16 -->
<img src="/assets/images/sponsor/yuluyundun-light.png#only-light" alt="语鹿云盾" /> <img src="/assets/images/sponsor/yuluyundun-light.png#only-light" alt="语鹿云盾" />
<img src="/assets/images/sponsor/yuluyundun-dark.png#only-dark" alt="语鹿云盾" /> <img src="/assets/images/sponsor/yuluyundun-dark.png#only-dark" alt="语鹿云盾" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://cb2.cn" title="国内外建站快响应服务器的不二之选"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://cb2.cn" title="国内外建站快响应服务器的不二之选">
<!-- 25 11 14 --> <!-- 25 11 14 -->
<img src="/assets/images/sponsor/bueryun.svg" alt="不二云" style="width: 64% !important" /> <img src="/assets/images/sponsor/bueryun.svg" alt="不二云" style="width: 64% !important" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.hkgserver.com" title="HKGserver - 全球家宽双ISP住宅原生云服务器54元/月起">
<!-- 25 10 21 -->
<img src="/assets/images/sponsor/hkgserver-light.png#only-light" alt="HKGserver" />
<img src="/assets/images/sponsor/hkgserver-dark.png#only-dark" alt="HKGserver" />
</a>
</div> </div>
</div> </div>
@@ -74,11 +68,11 @@
<strong class="sponsor-text-2"></strong> <strong class="sponsor-text-2"></strong>
</div> </div>
<div class="sponsor-wrapper sponsor-flex-wrapper no-select"> <div class="sponsor-wrapper sponsor-flex-wrapper no-select">
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.jetbrains.com" title="JetBrains"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.jetbrains.com" title="JetBrains">
<img src="/assets/images/icon/jetbrains-light.svg#only-light" alt="JetBrains" /> <img src="/assets/images/icon/jetbrains-light.svg#only-light" alt="JetBrains" />
<img src="/assets/images/icon/jetbrains-dark.svg#only-dark" alt="JetBrains" /> <img src="/assets/images/icon/jetbrains-dark.svg#only-dark" alt="JetBrains" />
</a> </a>
<a class="sponsor-item sponsor-item-flex" target="_blank" href="https://www.netlify.com" title="Netlify"> <a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.netlify.com" title="Netlify">
<img src="/assets/images/icon/netlify-light.png#only-light" alt="Netlify" style="width: 46% !important" /> <img src="/assets/images/icon/netlify-light.png#only-light" alt="Netlify" style="width: 46% !important" />
<img src="/assets/images/icon/netlify-dark.png#only-dark" alt="Netlify" style="width: 46% !important" /> <img src="/assets/images/icon/netlify-dark.png#only-dark" alt="Netlify" style="width: 46% !important" />
</a> </a>

View File

@@ -8,6 +8,7 @@
--hero-background-image: linear-gradient(90deg, rgb(104 104 104) 50%, rgb(104 104 104) 50%); --hero-background-image: linear-gradient(90deg, rgb(104 104 104) 50%, rgb(104 104 104) 50%);
--navbar-background: hsla(240, 9%, 75%, 0.33); --navbar-background: hsla(240, 9%, 75%, 0.33);
--component-border-radius: 8px; --component-border-radius: 8px;
--td-radius-default: 5px;
--component-hover-color: rgba(0, 0, 0, 0.05); --component-hover-color: rgba(0, 0, 0, 0.05);
} }
@@ -710,6 +711,33 @@
color: var(--md-default-fg-color); color: var(--md-default-fg-color);
} }
.t-tag.t-size-l {
height: var(--td-comp-size-xs);
padding: 0 var(--td-comp-paddingLR-s);
}
.t-tag-input .t-input.t-size-l {
min-height: var(--td-comp-size-m);
padding: 0 var(--td-comp-paddingLR-s) 0 var(--td-comp-margin-xs);
}
.t-table--hoverable tbody tr:hover {
background-color: rgba(0, 0, 0, 0.016) !important;
}
.t-table--column-fixed .t-table__cell--fixed-left {
z-index: 3;
background-color: var(--md-default-bg-color);
}
.t-table__filter-icon-wrap {
color: var(--md-default-fg-color--light);
}
.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-inner {
padding: 6px var(--td-comp-paddingLR-l);
}
[theme-mode="dark"] .t-table { [theme-mode="dark"] .t-table {
--td-component-border: hsla(225deg, 15%, 95%, 0.12) !important; --td-component-border: hsla(225deg, 15%, 95%, 0.12) !important;
} }
@@ -718,18 +746,10 @@
--td-warning-color-light: #cf6e2d48 !important; --td-warning-color-light: #cf6e2d48 !important;
} }
.t-table--hoverable tbody tr:hover {
background-color: rgba(0, 0, 0, 0.016) !important;
}
[theme-mode="dark"] .t-table--hoverable tbody tr:hover { [theme-mode="dark"] .t-table--hoverable tbody tr:hover {
background-color: rgba(240, 241, 244, 0.016) !important; background-color: rgba(240, 241, 244, 0.016) !important;
} }
.t-table--column-fixed .t-table__cell--fixed-left {
z-index: 4;
}
/* termynal 插件 */ /* termynal 插件 */
.termy { .termy {
padding: 65px 25px 35px !important; padding: 65px 25px 35px !important;

View File

@@ -11,6 +11,6 @@
{% else %} {% else %}
本网站由 Netlify 部署并提供全球 CDN 边缘网络加速 本网站由 Netlify 部署并提供全球 CDN 边缘网络加速
{% endif %} {% endif %}
<a href="https://www.netlify.com" title="Netlify" target="_blank"><img height="64" width="64" src="/assets/images/icon/netlify.svg" style="vertical-align: -0.6em"></a> <a href="https://www.netlify.com" title="Netlify" target="_blank" rel="noopener noreferrer"><img height="64" width="64" src="/assets/images/icon/netlify.svg" style="vertical-align: -0.6em"></a>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,4 @@
<a class="md-header__button md-icon coze-icon-wrapper" href="https://www.coze.cn/store/agent/7503197985959428108?bot_id=true" target="_blank" title="{{'Coze AI Assistant' if i18n_page_locale == 'en' else 'Coze AI 助手' if i18n_page_locale == 'zh-Hant' else '扣子 AI 助手'}}"> <a class="md-header__button md-icon coze-icon-wrapper" href="https://www.coze.cn/store/agent/7503197985959428108?bot_id=true" target="_blank" rel="noopener noreferrer" title="{{'Coze AI Assistant' if i18n_page_locale == 'en' else 'Coze AI 助手' if i18n_page_locale == 'zh-Hant' else '扣子 AI 助手'}}">
<div aria-label="Coze" class="coze-icon-bg"> <div aria-label="Coze" class="coze-icon-bg">
<svg fill="currentColor" fill-rule="evenodd" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" color="#fff" style="display: block; margin: auto;"> <svg fill="currentColor" fill-rule="evenodd" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" color="#fff" style="display: block; margin: auto;">
<path clip-rule="evenodd" d="M3.908 9.096A8.092 8.092 0 0111.998 1h.006c4.468 0 8.09 3.628 8.09 8.096v3.392h1.942c2.23 0 2.732 3.126.615 3.828l-2.556.85v1.466a1.947 1.947 0 01-2.818 1.742l-1.42-.707c-.067-.03-.149 0-.17.071-1.147 3.587-6.225 3.587-7.373 0a.123.123 0 00-.169-.07l-1.42.706c-1.29.65-2.817-.292-2.817-1.742v-1.466l-2.557-.85c-2.122-.697-1.614-3.828.615-3.828h1.942V9.096zm4.571 2.613a.784.784 0 00-.784.784v1.568a.784.784 0 101.568 0v-1.568a.784.784 0 00-.784-.784zm7.045.779a.784.784 0 100 1.568.784.784 0 000-1.568zm-6.186 3.415a.78.78 0 00.17.254 3.517 3.517 0 004.98 0 .782.782 0 10-1.106-1.107 1.958 1.958 0 01-2.767 0 .78.78 0 00-1.277.254.78.78 0 000 .6z"></path> <path clip-rule="evenodd" d="M3.908 9.096A8.092 8.092 0 0111.998 1h.006c4.468 0 8.09 3.628 8.09 8.096v3.392h1.942c2.23 0 2.732 3.126.615 3.828l-2.556.85v1.466a1.947 1.947 0 01-2.818 1.742l-1.42-.707c-.067-.03-.149 0-.17.071-1.147 3.587-6.225 3.587-7.373 0a.123.123 0 00-.169-.07l-1.42.706c-1.29.65-2.817-.292-2.817-1.742v-1.466l-2.557-.85c-2.122-.697-1.614-3.828.615-3.828h1.942V9.096zm4.571 2.613a.784.784 0 00-.784.784v1.568a.784.784 0 101.568 0v-1.568a.784.784 0 00-.784-.784zm7.045.779a.784.784 0 100 1.568.784.784 0 000-1.568zm-6.186 3.415a.78.78 0 00.17.254 3.517 3.517 0 004.98 0 .782.782 0 10-1.106-1.107 1.958 1.958 0 01-2.767 0 .78.78 0 00-1.277.254.78.78 0 000 .6z"></path>

View File

@@ -14,61 +14,58 @@
<strong>{{'Sponsors' if i18n_page_locale == 'en' else '贊助商' if i18n_page_locale == 'zh-Hant' else '赞助商'}}</strong> <strong>{{'Sponsors' if i18n_page_locale == 'en' else '贊助商' if i18n_page_locale == 'zh-Hant' else '赞助商'}}</strong>
</div> </div>
<div class="sponsor-wrapper sponsor-flex-wrapper-toc no-select"> <div class="sponsor-wrapper sponsor-flex-wrapper-toc no-select">
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://1panel.cn" title="新一代的 Linux 服务器运维管理面板"> <a class="sponsor-item sponsor-item-toc sponsor-item-toc-full-row" target="_blank" rel="noopener noreferrer" href="https://1panel.cn" title="新一代的 Linux 服务器运维管理面板">
<img src="/assets/images/sponsor/1panel.png" alt="1Panel" style="filter: grayscale(1) invert(0.6)" /> <img src="/assets/images/sponsor/1panel.png" alt="1Panel" style="filter: grayscale(1) invert(0.6)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下">
<img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="filter: grayscale(1) invert(0.6)" /> <img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="filter: grayscale(1) invert(0.5)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。">
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="filter: grayscale(1) invert(0.5)" /> <img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="filter: grayscale(1) invert(0.4)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.bsncdn.org" title="香港日本高防CDN免实名/免备案,轻松阻断 DDOS / CC 攻击"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPSR9/i9系列定制">
<img src="/assets/images/sponsor/businiaocdn.png#only-light" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.1)" /> <img src="/assets/images/sponsor/linfengyun.png#only-light" alt="林枫云" style="filter: grayscale(1) invert(0.7)" />
<img src="/assets/images/sponsor/linfengyun.png#only-dark" alt="林枫云" style="filter: grayscale(1) invert(0.5)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN免实名/免备案,轻松阻断 DDOS / CC 攻击">
<img src="/assets/images/sponsor/businiaocdn.png#only-light" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1)" />
<img src="/assets/images/sponsor/businiaocdn.png#only-dark" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.4)" /> <img src="/assets/images/sponsor/businiaocdn.png#only-dark" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.4)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.qingyeyun.com" title="香港1T高防自助防火墙无视CC大带宽回国优化线路"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.qingyeyun.com" title="香港1T高防自助防火墙无视CC大带宽回国优化线路">
<img src="/assets/images/sponsor/qingyeyun-light.png#only-light" alt="青叶云" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/qingyeyun-light.png#only-light" alt="青叶云" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/qingyeyun-dark.png#only-dark" alt="青叶云" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/qingyeyun-dark.png#only-dark" alt="青叶云" style="filter: grayscale(1) invert(0.4)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://langlangy.cn/?icf164b" title="BGP网络让每一次连接都纵享丝滑明码标价、无套路续费"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://langlangy.cn/?icf164b" title="BGP网络让每一次连接都纵享丝滑明码标价、无套路续费">
<img src="/assets/images/sponsor/langlangyun-light.png#only-light" alt="浪浪云" style="filter: grayscale(1) invert(0.3)" /> <img src="/assets/images/sponsor/langlangyun-light.png#only-light" alt="浪浪云" style="filter: grayscale(1) invert(0.3)" />
<img src="/assets/images/sponsor/langlangyun-dark.png#only-dark" alt="浪浪云" style="filter: grayscale(1) invert(0.3)" /> <img src="/assets/images/sponsor/langlangyun-dark.png#only-dark" alt="浪浪云" style="filter: grayscale(1) invert(0.3)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.lcayun.com" title="专业云计算服务器提供商"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.lcayun.com" title="专业云计算服务器提供商">
<img src="/assets/images/sponsor/laikayun-light.png#only-light" alt="莱卡云" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/laikayun-light.png#only-light" alt="莱卡云" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" style="filter: grayscale(1) invert(0.3)" /> <img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" style="filter: grayscale(1) invert(0.3)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器低至15.99元起"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器低至15.99元起">
<img src="/assets/images/sponsor/yunyoo.png" alt="云悠YUNYOO" /> <img src="/assets/images/sponsor/yunyoo.png#only-light" alt="云悠YUNYOO" style="filter: grayscale(1) brightness(1)" />
<img src="/assets/images/sponsor/yunyoo.png#only-dark" alt="云悠YUNYOO" style="filter: grayscale(1) brightness(1.1)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.sutuoyun.com" title="国内高防云28元/月香港云100M优化线路9元/月"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.sutuoyun.com" title="国内高防云28元/月香港云100M优化线路9元/月">
<img src="/assets/images/sponsor/sutuoyun.svg#only-light" alt="速拓云" /> <img src="/assets/images/sponsor/sutuoyun.svg#only-light" alt="速拓云" />
<img src="/assets/images/sponsor/sutuoyun.svg#only-dark" alt="速拓云" style="filter: grayscale(1) invert(0.6)" /> <img src="/assets/images/sponsor/sutuoyun.svg#only-dark" alt="速拓云" style="filter: grayscale(1) invert(0.6)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPSR9/i9系列定制"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
<img src="/assets/images/sponsor/linfengyun-light.png#only-light" alt="林枫云" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/linfengyun-dark.png#only-dark" alt="林枫云" style="filter: grayscale(1) invert(0.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://arcadia.cool" title="一站式代码运维平台">
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.5)" /> <img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.4)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.lucdn.cn?utm_source=linuxmirrors" title="专业CDN加速、防御亚太百兆三网优化CDN低至9元起"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.lucdn.cn?utm_source=linuxmirrors" title="专业CDN加速、防御亚太百兆三网优化CDN低至9元起">
<img src="/assets/images/sponsor/yuluyundun-light.png#only-light" alt="语鹿云盾" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/yuluyundun-light.png#only-light" alt="语鹿云盾" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/yuluyundun-dark.png#only-dark" alt="语鹿云盾" style="filter: grayscale(1) invert(0.4)" /> <img src="/assets/images/sponsor/yuluyundun-dark.png#only-dark" alt="语鹿云盾" style="filter: grayscale(1) invert(0.4)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://cb2.cn" title="国内外建站快响应服务器的不二之选"> <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://cb2.cn" title="国内外建站快响应服务器的不二之选">
<img src="/assets/images/sponsor/bueryun.svg#only-light" alt="不二云" style="filter: grayscale(1) invert(0.6)" /> <img src="/assets/images/sponsor/bueryun.svg#only-light" alt="不二云" style="filter: grayscale(1) invert(0.6)" />
<img src="/assets/images/sponsor/bueryun.svg#only-dark" alt="不二云" style="filter: grayscale(1) invert(0.7)" /> <img src="/assets/images/sponsor/bueryun.svg#only-dark" alt="不二云" style="filter: grayscale(1) invert(0.7)" />
</a> </a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.hkgserver.com" title="HKGserver - 全球家宽双ISP住宅原生云服务器54元/月起"> <!-- <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" title="{{'Become a Sponsor' if i18n_page_locale == 'en' else '成為贊助商' if i18n_page_locale == 'zh-Hant' else '成为赞助商'}}" href="/sponsor/">
<img src="/assets/images/sponsor/hkgserver-light.png#only-light" alt="HKGserver" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/hkgserver-dark.png#only-dark" alt="HKGserver" style="filter: grayscale(1) invert(0.4)" />
</a>
<!-- <a class="sponsor-item sponsor-item-toc" target="_blank" title="{{'Become a Sponsor' if i18n_page_locale == 'en' else '成為贊助商' if i18n_page_locale == 'zh-Hant' else '成为赞助商'}}" href="/sponsor/">
<span style="font-size: 0.6rem; opacity: 0.5"> <span style="font-size: 0.6rem; opacity: 0.5">
<strong>{{'Become a Sponsor' if i18n_page_locale == 'en' else '成為贊助商' if i18n_page_locale == 'zh-Hant' else '成为赞助商'}}</strong> <strong>{{'Become a Sponsor' if i18n_page_locale == 'en' else '成為贊助商' if i18n_page_locale == 'zh-Hant' else '成为赞助商'}}</strong>
</span> </span>

View File

@@ -444,7 +444,7 @@ hide:
- From Developer's Perspective - From Developer's Perspective
This project aims to develop a universal repository switching script from the perspective of an operations and maintenance tool, rather than a tool that specifically addresses software repository requirements. The script's default behavior should be suitable for the majority of users. As an operations and maintenance tool, it should have a clear functional positioning. As a script, its pros and cons should be carefully considered from multiple perspectives, including scalability, practicality, and portability. The choice of software repository should be fully vested in the user. This project aims to develop a universal repository switching script from the perspective of an operations and maintenance tool, rather than a tool that specifically addresses software repository requirements. The script's default behavior should be suitable for the majority of users. As an operations and maintenance tool, it should have a clear functional positioning. As a script, its pros and cons should be carefully considered from multiple perspectives, including scalability,and practicality. The choice of software repository should be fully vested in the user.
--- ---
@@ -543,31 +543,31 @@ Below are some advanced usage examples
| OS Name | Names Involved | | OS Name | Names Involved |
| --- | :---: | | --- | :---: |
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` | | <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` | | <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | `kali` | | <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | `kali` |
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` | | <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin深度** | `deepin` | | <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin深度** | `deepin` |
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` | | <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
| <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | `armbian` | | <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | `armbian` |
| <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | `proxmox` | | <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | `proxmox` |
| <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | `raspberrypi` `raspbian` `debian` `debian-archive` | | <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | `raspberrypi` `raspbian` `debian` `debian-archive` |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="Version 9 uses <code>CentOS Stream</code>, 7/8 use <code>CentOS</code>" } | `centos` `centos-stream` `centos-altarch` `centos-vault` | | <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="Version 9 uses <code>CentOS Stream</code>, 7/8 use <code>CentOS</code>" } | `centos` `centos-stream` `centos-altarch` `centos-vault` |
| <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | `fedora` `fedora-archive` | | <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | `fedora` `fedora-archive` |
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.135em"></a> **CentOS** | `centos` `centos-stream` `centos-altarch` `centos-vault` | | <a href="https://www.centos.org" title="https://www.centos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.135em"></a> **CentOS** | `centos` `centos-stream` `centos-altarch` `centos-vault` |
| <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | `rocky` | | <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | `rocky` |
| <a href="https://almalinux.org" title="https://almalinux.org" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | `almalinux` `almalinux-vault` | | <a href="https://almalinux.org" title="https://almalinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | `almalinux` `almalinux-vault` |
| <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** | `centos-stream` | | <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** | `centos-stream` |
| <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | `openeuler` | | <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | `openeuler` |
| <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | `opencloudos` | | <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | `opencloudos` |
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | `openkylin` | | <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | `openkylin` |
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | `anolis` | | <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | `anolis` |
| <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | `opensuse` | | <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | `opensuse` |
| <a href="https://archlinux.org" title="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | `archlinux` `archlinuxarm` | | <a href="https://archlinux.org" title="https://archlinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | `archlinux` `archlinuxarm` |
| <a href="https://manjaro.org" title="https://manjaro.org" target="_blank"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | `manjaro` | | <a href="https://manjaro.org" title="https://manjaro.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | `manjaro` |
| <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | `alpine` | | <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | `alpine` |
| <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | `gentoo` `gentoo-portage` | | <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | `gentoo` `gentoo-portage` |
| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | `nix-channels` | | <a href="https://nixos.org" title="https://nixos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | `nix-channels` |
Example: Example:
@@ -648,8 +648,8 @@ Below are some advanced usage examples
``` bash ``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --en \ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --en \
--codename trixie \ --codename trixie \
--upgrade-software false --upgrade-software false
``` ```
- Disable the backports repository - Disable the backports repository
@@ -678,8 +678,8 @@ Below are some advanced usage examples
``` bash ``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --en \ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --en \
--codename testing \ --codename testing \
--upgrade-software false --upgrade-software false
``` ```
``` { .bash .no-copy title="If the script can't set the codename, you can manually replace it after running" } ``` { .bash .no-copy title="If the script can't set the codename, you can manually replace it after running" }

View File

@@ -446,7 +446,7 @@ hide:
- 开发者角度 - 开发者角度
本项目站在运维工具的角度致力于开发一个通用的换源脚本,而不是一个解决软件源需求的具体化工具,要使脚本的默认行为适用于大多数用户群体。作为运维工具要有明确的功能定位,作为脚本要从扩展性、实用性、可移植性等多个方面去衡量利弊,软件源的选择权应该完全交给用户。 本项目站在运维工具的角度致力于开发一个通用的换源脚本,而不是一个解决软件源需求的具体化工具,要使脚本的默认行为适用于大多数用户群体。作为运维工具要有明确的功能定位,作为脚本要从扩展性、实用性等多个方面去衡量利弊,软件源的选择权应该完全交给用户。
--- ---
@@ -545,31 +545,31 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
| 系统名称 | 涉及的名称 | | 系统名称 | 涉及的名称 |
| --- | :---: | | --- | :---: |
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` | | <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` | | <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | `kali` | | <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | `kali` |
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` | | <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin深度** | `deepin` | | <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin深度** | `deepin` |
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` | | <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
| <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | `armbian` | | <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | `armbian` |
| <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | `proxmox` | | <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | `proxmox` |
| <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | `raspberrypi` `raspbian` `debian` `debian-archive` | | <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | `raspberrypi` `raspbian` `debian` `debian-archive` |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="9版本使用 <code>CentOS Stream</code> 7、8版本使用<code>CentOS</code>" } | `centos` `centos-stream` `centos-altarch` `centos-vault` | | <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="9版本使用 <code>CentOS Stream</code> 7、8版本使用<code>CentOS</code>" } | `centos` `centos-stream` `centos-altarch` `centos-vault` |
| <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | `fedora` `fedora-archive` | | <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | `fedora` `fedora-archive` |
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.135em"></a> **CentOS** | `centos` `centos-stream` `centos-altarch` `centos-vault` | | <a href="https://www.centos.org" title="https://www.centos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.135em"></a> **CentOS** | `centos` `centos-stream` `centos-altarch` `centos-vault` |
| <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | `rocky` | | <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | `rocky` |
| <a href="https://almalinux.org" title="https://almalinux.org" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | `almalinux` `almalinux-vault` | | <a href="https://almalinux.org" title="https://almalinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | `almalinux` `almalinux-vault` |
| <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** | `centos-stream` | | <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** | `centos-stream` |
| <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler开源欧拉** | `openeuler` | | <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler开源欧拉** | `openeuler` |
| <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS鸥栖** | `opencloudos` | | <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS鸥栖** | `opencloudos` |
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin开放麒麟** | `openkylin` | | <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin开放麒麟** | `openkylin` |
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS龙蜥** | `anolis` | | <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS龙蜥** | `anolis` |
| <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | `opensuse` | | <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opensuse.svg" width="16" height="16"></a> **openSUSE** | `opensuse` |
| <a href="https://archlinux.org" title="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | `archlinux` `archlinuxarm` | | <a href="https://archlinux.org" title="https://archlinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | `archlinux` `archlinuxarm` |
| <a href="https://manjaro.org" title="https://manjaro.org" target="_blank"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | `manjaro` | | <a href="https://manjaro.org" title="https://manjaro.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | `manjaro` |
| <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | `alpine` | | <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | `alpine` |
| <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | `gentoo` `gentoo-portage` | | <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | `gentoo` `gentoo-portage` |
| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | `nix-channels` | | <a href="https://nixos.org" title="https://nixos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | `nix-channels` |
请看下面的例子 请看下面的例子
@@ -650,8 +650,8 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
``` bash ``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
--codename trixie \ --codename trixie \
--upgrade-software false --upgrade-software false
``` ```
- 禁用 backports 仓库 - 禁用 backports 仓库
@@ -680,8 +680,8 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
``` bash ``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
--codename testing \ --codename testing \
--upgrade-software false --upgrade-software false
``` ```
``` { .bash .no-copy title="若脚本无法实现指定版本代号,你也可以在执行脚本后手动替换" } ``` { .bash .no-copy title="若脚本无法实现指定版本代号,你也可以在执行脚本后手动替换" }

View File

@@ -446,7 +446,7 @@ hide:
- 開發者角度 - 開發者角度
本專案站在維運工具的角度致力於開發一個通用的換源腳本,而不是一個解決軟體源需求的具體化工具,要使腳本的預設行為適用於大多數使用者群體。作為維運工具要有明確的功能定位,作為腳本要從擴展性、實用性、可移植性等多個方面去衡量利弊,軟體源的選擇權應該完全交給使用者。 本專案站在維運工具的角度致力於開發一個通用的換源腳本,而不是一個解決軟體源需求的具體化工具,要使腳本的預設行為適用於大多數使用者群體。作為維運工具要有明確的功能定位,作為腳本要從擴展性、實用性等多個方面去衡量利弊,軟體源的選擇權應該完全交給使用者。
--- ---
@@ -545,31 +545,31 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant --help
| 系統名稱 | 涉及的名稱 | | 系統名稱 | 涉及的名稱 |
| --- | :---: | | --- | :---: |
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` | | <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` | | <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | `kali` | | <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | `kali` |
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` | | <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | `deepin` | | <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | `deepin` |
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` | | <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
| <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | `armbian` | | <a href="https://www.armbian.com" title="https://www.armbian.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/armbian.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Armbian** | `armbian` |
| <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | `proxmox` | | <a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" title="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/proxmox.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Proxmox VE** | `proxmox` |
| <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | `raspberrypi` `raspbian` `debian` `debian-archive` | | <a href="https://www.raspberrypi.com/software" title="https://www.raspberrypi.com/software" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/raspberry-pi.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Raspberry Pi OS** | `raspberrypi` `raspbian` `debian` `debian-archive` |
| <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="9版本使用 <code>CentOS Stream</code> 7、8版本使用<code>CentOS</code>" } | `centos` `centos-stream` `centos-altarch` `centos-vault` | | <a href="https://access.redhat.com/products/red-hat-enterprise-linux" title="https://access.redhat.com/products/red-hat-enterprise-linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/redhat.svg" width="16" height="16" style="vertical-align: -0.1em"></a> **Red Hat Enterprise Linux** :material-information-outline:{ title="9版本使用 <code>CentOS Stream</code> 7、8版本使用<code>CentOS</code>" } | `centos` `centos-stream` `centos-altarch` `centos-vault` |
| <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | `fedora` `fedora-archive` | | <a href="https://fedoraproject.org" title="https://fedoraproject.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/fedora.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Fedora** | `fedora` `fedora-archive` |
| <a href="https://www.centos.org" title="https://www.centos.org" target="_blank"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.135em"></a> **CentOS** | `centos` `centos-stream` `centos-altarch` `centos-vault` | | <a href="https://www.centos.org" title="https://www.centos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/centos.svg" width="16" height="16" style="vertical-align: -0.135em"></a> **CentOS** | `centos` `centos-stream` `centos-altarch` `centos-vault` |
| <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | `rocky` | | <a href="https://rockylinux.org" title="https://rockylinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/rocky-linux.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Rocky Linux** | `rocky` |
| <a href="https://almalinux.org" title="https://almalinux.org" target="_blank"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | `almalinux` `almalinux-vault` | | <a href="https://almalinux.org" title="https://almalinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/almalinux.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **AlmaLinux** | `almalinux` `almalinux-vault` |
| <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** | `centos-stream` | | <a href="https://www.oracle.com/linux" title="https://www.oracle.com/linux" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/oracle-linux.png" width="16" height="16" style="vertical-align: -0.25em"></a> **Oracle Linux** | `centos-stream` |
| <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | `openeuler` | | <a href="https://www.openeuler.org/zh" title="https://www.openeuler.org/zh" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openeuler.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **openEuler** | `openeuler` |
| <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | `opencloudos` | | <a href="https://www.opencloudos.org" title="https://www.opencloudos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opencloudos.png" width="16" height="16" style="vertical-align: -0.25em"></a> **OpenCloudOS** | `opencloudos` |
| <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | `openkylin` | | <a href="https://www.openkylin.top" title="https://www.openkylin.top" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/openkylin.ico" width="16" height="16" style="vertical-align: -0.25em"></a> **openKylin** | `openkylin` |
| <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | `anolis` | | <a href="https://openanolis.cn" title="https://openanolis.cn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/anolis.png" width="16" height="16" style="vertical-align: -0.1em"></a> **Anolis OS** | `anolis` |
| <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank"><img src="/assets/images/icon/opensuse.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **openSUSE** | `opensuse` | | <a href="https://www.opensuse.org" title="https://www.opensuse.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/opensuse.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **openSUSE** | `opensuse` |
| <a href="https://archlinux.org" title="https://archlinux.org" target="_blank"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | `archlinux` `archlinuxarm` | | <a href="https://archlinux.org" title="https://archlinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/arch-linux.ico" width="16" height="16" style="vertical-align: -0.15em"></a> **Arch Linux** | `archlinux` `archlinuxarm` |
| <a href="https://manjaro.org" title="https://manjaro.org" target="_blank"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | `manjaro` | | <a href="https://manjaro.org" title="https://manjaro.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/manjaro.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Manjaro** | `manjaro` |
| <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | `alpine` | | <a href="https://www.alpinelinux.org" title="https://www.alpinelinux.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/alpine.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Alpine Linux** | `alpine` |
| <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | `gentoo` `gentoo-portage` | | <a href="https://www.gentoo.org" title="https://www.gentoo.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/gentoo.svg" width="16" height="16" style="vertical-align: -0.2em"></a> **Gentoo** | `gentoo` `gentoo-portage` |
| <a href="https://nixos.org" title="https://nixos.org" target="_blank"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | `nix-channels` | | <a href="https://nixos.org" title="https://nixos.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/nixos.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **NixOS** | `nix-channels` |
請看下面的例子 請看下面的例子
@@ -650,8 +650,8 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant --help
``` bash ``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant \ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant \
--codename trixie \ --codename trixie \
--upgrade-software false --upgrade-software false
``` ```
- 停用 backports 倉庫 - 停用 backports 倉庫
@@ -680,8 +680,8 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant --help
``` bash ``` bash
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant \ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant \
--codename testing \ --codename testing \
--upgrade-software false --upgrade-software false
``` ```
``` { .bash .no-copy title="如果腳本無法實現指定版本代號,你也可以在執行腳本後手動替換" } ``` { .bash .no-copy title="如果腳本無法實現指定版本代號,你也可以在執行腳本後手動替換" }

View File

@@ -41,12 +41,10 @@ MESSAGE_CONTENTS=(
['error.defaultBehavior.installLatest']='Installing latest version by default' ['error.defaultBehavior.installLatest']='Installing latest version by default'
['error.defaultBehavior.noOverwrite']='Not overwriting by default' ['error.defaultBehavior.noOverwrite']='Not overwriting by default'
['error.defaultBehavior.noUseIntranetSource']='Not using intranet address by default' ['error.defaultBehavior.noUseIntranetSource']='Not using intranet address by default'
['warn.usedCentosBranch']='Currently using centos branch (Red Hat derivative OS installation method), may have unpredictable compatibility issues!'
['warn.usedIntranetSource']='Switched to intranet-only address, use only in specific environments!' ['warn.usedIntranetSource']='Switched to intranet-only address, use only in specific environments!'
['warn.needValidNumberIndex']='Please enter a valid number index!' ['warn.needValidNumberIndex']='Please enter a valid number index!'
['warn.needInputNumberIndex']='Please enter a number index!' ['warn.needInputNumberIndex']='Please enter a number index!'
['warn.needManuallyDeleteConfig']='Please manually delete {} configuration in {} and restart service {}' ['warn.needManuallyDeleteConfig']='Please manually delete {} configuration in {} and restart service {}'
['tip.unsupportRHEL10']='Docker official has not yet supported RHEL 10 and Red Hat has removed Docker from registered repositories, using Podman by default.'
['tip.skipInstallDockerEngine']='Detected Docker Engine is already installed with latest version, skipping installation' ['tip.skipInstallDockerEngine']='Detected Docker Engine is already installed with latest version, skipping installation'
['info.backuped.dockerConfig']='Original Docker config file has been backed up' ['info.backuped.dockerConfig']='Original Docker config file has been backed up'
['interaction.source.type.public']='Public' ['interaction.source.type.public']='Public'
@@ -104,18 +102,19 @@ Issue Report {}'
['mirrors.dockerCE.0']='Alibaba Cloud' ['mirrors.dockerCE.0']='Alibaba Cloud'
['mirrors.dockerCE.1']='Tencent Cloud' ['mirrors.dockerCE.1']='Tencent Cloud'
['mirrors.dockerCE.2']='Huawei Cloud' ['mirrors.dockerCE.2']='Huawei Cloud'
['mirrors.dockerCE.3']='NetEase' ['mirrors.dockerCE.3']='China Mobile Cloud'
['mirrors.dockerCE.4']='Volcengine' ['mirrors.dockerCE.4']='NetEase'
['mirrors.dockerCE.5']='Microsoft Azure China' ['mirrors.dockerCE.5']='Volcengine'
['mirrors.dockerCE.6']='Tsinghua University' ['mirrors.dockerCE.6']='Microsoft Azure China'
['mirrors.dockerCE.7']='Peking University' ['mirrors.dockerCE.7']='Tsinghua University'
['mirrors.dockerCE.8']='Zhejiang University' ['mirrors.dockerCE.8']='Peking University'
['mirrors.dockerCE.9']='Nanjing University' ['mirrors.dockerCE.9']='Zhejiang University'
['mirrors.dockerCE.10']='Shanghai Jiao Tong University' ['mirrors.dockerCE.10']='Nanjing University'
['mirrors.dockerCE.11']='Chongqing University of Posts and Telecommunications' ['mirrors.dockerCE.11']='Shanghai Jiao Tong University'
['mirrors.dockerCE.12']='University of Science and Technology of China' ['mirrors.dockerCE.12']='Chongqing University of Posts and Telecommunications'
['mirrors.dockerCE.13']='Institute of Software, Chinese Academy of Sciences' ['mirrors.dockerCE.13']='University of Science and Technology of China'
['mirrors.dockerCE.14']='Official Source' ['mirrors.dockerCE.14']='Institute of Software, Chinese Academy of Sciences'
['mirrors.dockerCE.15']='Official Source'
['mirrors.registry.0']='Millisecond Mirror (recommended)' ['mirrors.registry.0']='Millisecond Mirror (recommended)'
['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.1']='Docker Proxy'
['mirrors.registry.2']='DaoCloud' ['mirrors.registry.2']='DaoCloud'

View File

@@ -41,12 +41,10 @@ MESSAGE_CONTENTS=(
['error.defaultBehavior.installLatest']='默认安装最新版本' ['error.defaultBehavior.installLatest']='默认安装最新版本'
['error.defaultBehavior.noOverwrite']='默认不覆盖' ['error.defaultBehavior.noOverwrite']='默认不覆盖'
['error.defaultBehavior.noUseIntranetSource']='默认不使用内网地址' ['error.defaultBehavior.noUseIntranetSource']='默认不使用内网地址'
['warn.usedCentosBranch']='当前采用 centos 分支(红帽衍生操作系统安装方式)进行安装,可能存在某些无法预料的兼容性问题!'
['warn.usedIntranetSource']='已切换至内网专用地址,仅限在特定环境下使用!' ['warn.usedIntranetSource']='已切换至内网专用地址,仅限在特定环境下使用!'
['warn.needValidNumberIndex']='请输入有效的数字序号!' ['warn.needValidNumberIndex']='请输入有效的数字序号!'
['warn.needInputNumberIndex']='请输入数字序号!' ['warn.needInputNumberIndex']='请输入数字序号!'
['warn.needManuallyDeleteConfig']='请自行删除 {} 中的 {} 配置并重启服务 {}' ['warn.needManuallyDeleteConfig']='请自行删除 {} 中的 {} 配置并重启服务 {}'
['tip.unsupportRHEL10']='Docker 官方尚未支持 RHEL 10 且红帽官方已将 Docker 从注册软件源中移除并默认使用 Podman。'
['tip.skipInstallDockerEngine']='检测到系统已安装 Docker Engine 且是最新版本,跳过安装' ['tip.skipInstallDockerEngine']='检测到系统已安装 Docker Engine 且是最新版本,跳过安装'
['info.backuped.dockerConfig']='已备份原有 Docker 配置文件' ['info.backuped.dockerConfig']='已备份原有 Docker 配置文件'
['interaction.source.type.public']='公网' ['interaction.source.type.public']='公网'
@@ -104,18 +102,19 @@ MESSAGE_CONTENTS=(
['mirrors.dockerCE.0']='阿里云' ['mirrors.dockerCE.0']='阿里云'
['mirrors.dockerCE.1']='腾讯云' ['mirrors.dockerCE.1']='腾讯云'
['mirrors.dockerCE.2']='华为云' ['mirrors.dockerCE.2']='华为云'
['mirrors.dockerCE.3']='网易' ['mirrors.dockerCE.3']='移动云'
['mirrors.dockerCE.4']='火山引擎' ['mirrors.dockerCE.4']='网易'
['mirrors.dockerCE.5']='微软 Azure 中国' ['mirrors.dockerCE.5']='火山引擎'
['mirrors.dockerCE.6']='清华大学' ['mirrors.dockerCE.6']='微软 Azure 中国'
['mirrors.dockerCE.7']='北京大学' ['mirrors.dockerCE.7']='清华大学'
['mirrors.dockerCE.8']='浙江大学' ['mirrors.dockerCE.8']='北京大学'
['mirrors.dockerCE.9']='南京大学' ['mirrors.dockerCE.9']='浙江大学'
['mirrors.dockerCE.10']='上海交通大学' ['mirrors.dockerCE.10']='南京大学'
['mirrors.dockerCE.11']='重庆邮电大学' ['mirrors.dockerCE.11']='上海交通大学'
['mirrors.dockerCE.12']='中国科学技术大学' ['mirrors.dockerCE.12']='重庆邮电大学'
['mirrors.dockerCE.13']='中国科学院软件研究所' ['mirrors.dockerCE.13']='中国科学技术大学'
['mirrors.dockerCE.14']='官方源' ['mirrors.dockerCE.14']='中国科学院软件研究所'
['mirrors.dockerCE.15']='官方源'
['mirrors.registry.0']='毫秒镜像(推荐)' ['mirrors.registry.0']='毫秒镜像(推荐)'
['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.1']='Docker Proxy'
['mirrors.registry.2']='DaoCloud 道客' ['mirrors.registry.2']='DaoCloud 道客'

View File

@@ -41,12 +41,10 @@ MESSAGE_CONTENTS=(
['error.defaultBehavior.installLatest']='預設安裝最新版本' ['error.defaultBehavior.installLatest']='預設安裝最新版本'
['error.defaultBehavior.noOverwrite']='預設不覆寫' ['error.defaultBehavior.noOverwrite']='預設不覆寫'
['error.defaultBehavior.noUseIntranetSource']='預設不使用內網位址' ['error.defaultBehavior.noUseIntranetSource']='預設不使用內網位址'
['warn.usedCentosBranch']='目前採用 centos 分支(紅帽衍生系統安裝方式)進行安裝,可能存在某些無法預料的相容性問題!'
['warn.usedIntranetSource']='已切換至內網專用位址,僅限在特定環境下使用!' ['warn.usedIntranetSource']='已切換至內網專用位址,僅限在特定環境下使用!'
['warn.needValidNumberIndex']='請輸入有效的數字序號!' ['warn.needValidNumberIndex']='請輸入有效的數字序號!'
['warn.needInputNumberIndex']='請輸入數字序號!' ['warn.needInputNumberIndex']='請輸入數字序號!'
['warn.needManuallyDeleteConfig']='請自行刪除 {} 中的 {} 設定並重新啟動服務 {}' ['warn.needManuallyDeleteConfig']='請自行刪除 {} 中的 {} 設定並重新啟動服務 {}'
['tip.unsupportRHEL10']='Docker 官方尚未支援 RHEL 10 且紅帽官方已將 Docker 從註冊軟體源中移除並預設使用 Podman。'
['tip.skipInstallDockerEngine']='偵測到系統已安裝 Docker Engine 且是最新版本,跳過安裝' ['tip.skipInstallDockerEngine']='偵測到系統已安裝 Docker Engine 且是最新版本,跳過安裝'
['info.backuped.dockerConfig']='已備份原有 Docker 設定檔' ['info.backuped.dockerConfig']='已備份原有 Docker 設定檔'
['interaction.source.type.public']='公網' ['interaction.source.type.public']='公網'
@@ -104,18 +102,19 @@ MESSAGE_CONTENTS=(
['mirrors.dockerCE.0']='阿里雲' ['mirrors.dockerCE.0']='阿里雲'
['mirrors.dockerCE.1']='騰訊雲' ['mirrors.dockerCE.1']='騰訊雲'
['mirrors.dockerCE.2']='華為雲' ['mirrors.dockerCE.2']='華為雲'
['mirrors.dockerCE.3']='網易' ['mirrors.dockerCE.3']='移動雲'
['mirrors.dockerCE.4']='火山引擎' ['mirrors.dockerCE.4']='網易'
['mirrors.dockerCE.5']='微軟 Azure 中國' ['mirrors.dockerCE.5']='火山引擎'
['mirrors.dockerCE.6']='清華大學' ['mirrors.dockerCE.6']='微軟 Azure 中國'
['mirrors.dockerCE.7']='北京大學' ['mirrors.dockerCE.7']='清華大學'
['mirrors.dockerCE.8']='浙江大學' ['mirrors.dockerCE.8']='北京大學'
['mirrors.dockerCE.9']='南京大學' ['mirrors.dockerCE.9']='浙江大學'
['mirrors.dockerCE.10']='上海交通大學' ['mirrors.dockerCE.10']='南京大學'
['mirrors.dockerCE.11']='重慶郵電大學' ['mirrors.dockerCE.11']='上海交通大學'
['mirrors.dockerCE.12']='中國科學技術大學' ['mirrors.dockerCE.12']='重慶郵電大學'
['mirrors.dockerCE.13']='中國科學院軟體研究所' ['mirrors.dockerCE.13']='中國科學技術大學'
['mirrors.dockerCE.14']='官方源' ['mirrors.dockerCE.14']='中國科學院軟體研究所'
['mirrors.dockerCE.15']='官方源'
['mirrors.registry.0']='毫秒鏡像(推薦)' ['mirrors.registry.0']='毫秒鏡像(推薦)'
['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.1']='Docker Proxy'
['mirrors.registry.2']='DaoCloud 道客' ['mirrors.registry.2']='DaoCloud 道客'

View File

@@ -111,18 +111,20 @@ Issue Report {}'
['mirrors.default.0']='Alibaba Cloud' ['mirrors.default.0']='Alibaba Cloud'
['mirrors.default.1']='Tencent Cloud' ['mirrors.default.1']='Tencent Cloud'
['mirrors.default.2']='Huawei Cloud' ['mirrors.default.2']='Huawei Cloud'
['mirrors.default.3']='NetEase' ['mirrors.default.3']='China Mobile Cloud'
['mirrors.default.4']='Volcengine' ['mirrors.default.4']='China Telecom Cloud'
['mirrors.default.5']='Tsinghua University' ['mirrors.default.5']='NetEase'
['mirrors.default.6']='Peking University' ['mirrors.default.6']='Volcengine'
['mirrors.default.7']='Zhejiang University' ['mirrors.default.7']='Tsinghua University'
['mirrors.default.8']='Nanjing University' ['mirrors.default.8']='Peking University'
['mirrors.default.9']='Lanzhou University' ['mirrors.default.9']='Zhejiang University'
['mirrors.default.10']='Shanghai Jiao Tong University' ['mirrors.default.10']='Nanjing University'
['mirrors.default.11']='CQUPT' ['mirrors.default.11']='Lanzhou University'
['mirrors.default.12']='USTC' ['mirrors.default.12']='Shanghai Jiao Tong University'
['mirrors.default.13']='ISCAS' ['mirrors.default.13']='Chongqing University of Posts and Telecommunications'
['mirrors.default.14']='Official Source' ['mirrors.default.14']='University of Science and Technology of China'
['mirrors.default.15']='Institute of Software, Chinese Academy of Sciences'
['mirrors.default.16']='Official Source'
['mirrors.edu.0']='Peking University' ['mirrors.edu.0']='Peking University'
['mirrors.edu.1']='Beijing Jiaotong University' ['mirrors.edu.1']='Beijing Jiaotong University'
['mirrors.edu.2']='Beijing Foreign Studies University' ['mirrors.edu.2']='Beijing Foreign Studies University'
@@ -163,63 +165,64 @@ Issue Report {}'
['mirrors.abroad.6']='AS · OSS Planet · Taiwan' ['mirrors.abroad.6']='AS · OSS Planet · Taiwan'
['mirrors.abroad.7']='AS · National Yang Ming Chiao Tung University · Taiwan' ['mirrors.abroad.7']='AS · National Yang Ming Chiao Tung University · Taiwan'
['mirrors.abroad.8']='AS · Tamkang University · Taiwan' ['mirrors.abroad.8']='AS · Tamkang University · Taiwan'
['mirrors.abroad.9']='AS · AniGil Linux Archive · Korea' ['mirrors.abroad.9']='AS · Taiwan Digital Streaming · Taiwan'
['mirrors.abroad.10']='AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan' ['mirrors.abroad.10']='AS · AniGil Linux Archive · Korea'
['mirrors.abroad.11']='AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan' ['mirrors.abroad.11']='AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan'
['mirrors.abroad.12']='AS · Yamagata University · Japan' ['mirrors.abroad.12']='AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan'
['mirrors.abroad.13']='AS · xTom · Japan' ['mirrors.abroad.13']='AS · Yamagata University · Japan'
['mirrors.abroad.14']='AS · GB Network Solutions · Malaysia' ['mirrors.abroad.14']='AS · xTom · Japan'
['mirrors.abroad.15']='AS · Khon Kaen University · Thailand' ['mirrors.abroad.15']='AS · GB Network Solutions · Malaysia'
['mirrors.abroad.16']='EU · Vorboss Ltd · United Kiongdom' ['mirrors.abroad.16']='AS · Khon Kaen University · Thailand'
['mirrors.abroad.17']='EU · QuickHost · United Kiongdom' ['mirrors.abroad.17']='EU · Vorboss Ltd · United Kiongdom'
['mirrors.abroad.18']='EU · dogado · Germany' ['mirrors.abroad.18']='EU · QuickHost · United Kiongdom'
['mirrors.abroad.19']='EU · xTom · Germany' ['mirrors.abroad.19']='EU · dogado · Germany'
['mirrors.abroad.20']='EU · RWTH Aachen University · Germany' ['mirrors.abroad.20']='EU · xTom · Germany'
['mirrors.abroad.21']='EU · Dresden University (AG DSN) · Germany' ['mirrors.abroad.21']='EU · RWTH Aachen University · Germany'
['mirrors.abroad.22']='EU · CCIN2P3 · France' ['mirrors.abroad.22']='EU · Dresden University (AG DSN) · Germany'
['mirrors.abroad.23']='EU · Ircam · France' ['mirrors.abroad.23']='EU · CCIN2P3 · France'
['mirrors.abroad.24']='EU · Crans · France' ['mirrors.abroad.24']='EU · Ircam · France'
['mirrors.abroad.25']='EU · CRIHAN · France' ['mirrors.abroad.25']='EU · Crans · France'
['mirrors.abroad.26']='EU · xTom · Netherlands' ['mirrors.abroad.26']='EU · CRIHAN · France'
['mirrors.abroad.27']='EU · DataPacket · Netherlands' ['mirrors.abroad.27']='EU · xTom · Netherlands'
['mirrors.abroad.28']='EU · Linux Kernel · Netherlands' ['mirrors.abroad.28']='EU · DataPacket · Netherlands'
['mirrors.abroad.29']='EU · xTom · Estonia' ['mirrors.abroad.29']='EU · Linux Kernel · Netherlands'
['mirrors.abroad.30']='EU · netsite · Denmark' ['mirrors.abroad.30']='EU · xTom · Estonia'
['mirrors.abroad.31']='EU · Dotsrc · Denmark' ['mirrors.abroad.31']='EU · netsite · Denmark'
['mirrors.abroad.32']='EU · Academic Computer Club · Sweden' ['mirrors.abroad.32']='EU · Dotsrc · Denmark'
['mirrors.abroad.33']='EU · Lysator · Sweden' ['mirrors.abroad.33']='EU · Academic Computer Club · Sweden'
['mirrors.abroad.34']='EU · Yandex · Russia' ['mirrors.abroad.34']='EU · Lysator · Sweden'
['mirrors.abroad.35']='EU · ia64 · Russia' ['mirrors.abroad.35']='EU · Yandex · Russia'
['mirrors.abroad.36']='EU · Truenetwork · Russia' ['mirrors.abroad.36']='EU · ia64 · Russia'
['mirrors.abroad.37']='EU · Belgian Research Network · Belgium' ['mirrors.abroad.37']='EU · Truenetwork · Russia'
['mirrors.abroad.38']='EU · University of Crete Computer Center · Greece' ['mirrors.abroad.38']='EU · Belgian Research Network · Belgium'
['mirrors.abroad.39']='EU · Masaryk University Faculty of Informatics · Czech' ['mirrors.abroad.39']='EU · University of Crete Computer Center · Greece'
['mirrors.abroad.40']='EU · Czech Technical University Student Club (Silicon Hill) · Czech' ['mirrors.abroad.40']='EU · Masaryk University Faculty of Informatics · Czech'
['mirrors.abroad.41']='EU · Vodafone · Czech' ['mirrors.abroad.41']='EU · Czech Technical University Student Club (Silicon Hill) · Czech'
['mirrors.abroad.42']='EU · CZ.NIC · Czech' ['mirrors.abroad.42']='EU · Vodafone · Czech'
['mirrors.abroad.43']='EU · ETH Zurich · Switzerland' ['mirrors.abroad.43']='EU · CZ.NIC · Czech'
['mirrors.abroad.44']='NA · Linux Kernel · United States' ['mirrors.abroad.44']='EU · ETH Zurich · Switzerland'
['mirrors.abroad.45']='NA · MIT · United States' ['mirrors.abroad.45']='NA · Linux Kernel · United States'
['mirrors.abroad.46']='NA · Princeton University Department of Mathematics · United States' ['mirrors.abroad.46']='NA · MIT · United States'
['mirrors.abroad.47']='NA · Oregon State University Open Source Lab · United States' ['mirrors.abroad.47']='NA · Princeton University Department of Mathematics · United States'
['mirrors.abroad.48']='NA · Fremont Cabal Internet Exchange(FCIX) · United States' ['mirrors.abroad.48']='NA · Oregon State University Open Source Lab · United States'
['mirrors.abroad.49']='NA · xTom · United States' ['mirrors.abroad.49']='NA · Fremont Cabal Internet Exchange(FCIX) · United States'
['mirrors.abroad.50']='NA · Steadfast · United States' ['mirrors.abroad.50']='NA · xTom · United States'
['mirrors.abroad.51']='NA · University of British Columbia · Canada' ['mirrors.abroad.51']='NA · Steadfast · United States'
['mirrors.abroad.52']='NA · GoCodeIT · Canada' ['mirrors.abroad.52']='NA · University of British Columbia · Canada'
['mirrors.abroad.53']='NA · Switch · Canada' ['mirrors.abroad.53']='NA · GoCodeIT · Canada'
['mirrors.abroad.54']='SA · PoP-SC · Brazil' ['mirrors.abroad.54']='NA · Switch · Canada'
['mirrors.abroad.55']='SA · State University of Ponta Grossa · Brazil' ['mirrors.abroad.55']='SA · PoP-SC · Brazil'
['mirrors.abroad.56']='SA · UFSCar · Brazil' ['mirrors.abroad.56']='SA · State University of Ponta Grossa · Brazil'
['mirrors.abroad.57']='SA · Sysarmy Community · Argentina' ['mirrors.abroad.57']='SA · UFSCar · Brazil'
['mirrors.abroad.58']='OC · Fremont Cabal Internet Exchange(FCIX) · Australia' ['mirrors.abroad.58']='SA · Sysarmy Community · Argentina'
['mirrors.abroad.59']='OC · AARNet · Australia' ['mirrors.abroad.59']='OC · Fremont Cabal Internet Exchange(FCIX) · Australia'
['mirrors.abroad.60']='OC · DataMossa · Australia' ['mirrors.abroad.60']='OC · AARNet · Australia'
['mirrors.abroad.61']='OC · Amaze · Australia' ['mirrors.abroad.61']='OC · DataMossa · Australia'
['mirrors.abroad.62']='OC · xTom · Australia' ['mirrors.abroad.62']='OC · Amaze · Australia'
['mirrors.abroad.63']='OC · Over the Wire · Australia' ['mirrors.abroad.63']='OC · xTom · Australia'
['mirrors.abroad.64']='OC · Free Software Mirror Group · New Zealand' ['mirrors.abroad.64']='OC · Over the Wire · Australia'
['mirrors.abroad.65']='AF · Liquid Telecom · Kenya' ['mirrors.abroad.65']='OC · Free Software Mirror Group · New Zealand'
['mirrors.abroad.66']='AF · Dimension Data · South Africa' ['mirrors.abroad.66']='AF · Liquid Telecom · Kenya'
['mirrors.abroad.67']='Official Source' ['mirrors.abroad.67']='AF · Dimension Data · South Africa'
['mirrors.abroad.68']='Official Source'
) )

View File

@@ -111,18 +111,20 @@ MESSAGE_CONTENTS=(
['mirrors.default.0']='阿里云' ['mirrors.default.0']='阿里云'
['mirrors.default.1']='腾讯云' ['mirrors.default.1']='腾讯云'
['mirrors.default.2']='华为云' ['mirrors.default.2']='华为云'
['mirrors.default.3']='网易' ['mirrors.default.3']='移动云'
['mirrors.default.4']='火山引擎' ['mirrors.default.4']='天翼云'
['mirrors.default.5']='清华大学' ['mirrors.default.5']='网易'
['mirrors.default.6']='北京大学' ['mirrors.default.6']='火山引擎'
['mirrors.default.7']='浙江大学' ['mirrors.default.7']='清华大学'
['mirrors.default.8']='京大学' ['mirrors.default.8']='京大学'
['mirrors.default.9']='兰州大学' ['mirrors.default.9']='浙江大学'
['mirrors.default.10']='上海交通大学' ['mirrors.default.10']='南京大学'
['mirrors.default.11']='重庆邮电大学' ['mirrors.default.11']='兰州大学'
['mirrors.default.12']='中国科学技术大学' ['mirrors.default.12']='上海交通大学'
['mirrors.default.13']='中国科学院软件研究所' ['mirrors.default.13']='重庆邮电大学'
['mirrors.default.14']='官方源' ['mirrors.default.14']='中国科学技术大学'
['mirrors.default.15']='中国科学院软件研究所'
['mirrors.default.16']='官方源'
['mirrors.edu.0']='北京大学' ['mirrors.edu.0']='北京大学'
['mirrors.edu.1']='北京交通大学' ['mirrors.edu.1']='北京交通大学'
['mirrors.edu.2']='北京外国语大学' ['mirrors.edu.2']='北京外国语大学'
@@ -163,63 +165,64 @@ MESSAGE_CONTENTS=(
['mirrors.abroad.6']='亚洲 · OSS Planet · 台湾' ['mirrors.abroad.6']='亚洲 · OSS Planet · 台湾'
['mirrors.abroad.7']='亚洲 · 国立阳明交通大学 · 台湾' ['mirrors.abroad.7']='亚洲 · 国立阳明交通大学 · 台湾'
['mirrors.abroad.8']='亚洲 · 淡江大学 · 台湾' ['mirrors.abroad.8']='亚洲 · 淡江大学 · 台湾'
['mirrors.abroad.9']='亚洲 · AniGil Linux Archive · 韩国' ['mirrors.abroad.9']='亚洲 · Taiwan Digital Streaming · 台湾'
['mirrors.abroad.10']='亚洲 · 工业网络安全中心(ICSCoE) · 日本' ['mirrors.abroad.10']='亚洲 · AniGil Linux Archive · 韩国'
['mirrors.abroad.11']='亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本' ['mirrors.abroad.11']='亚洲 · 工业网络安全中心(ICSCoE) · 日本'
['mirrors.abroad.12']='亚洲 · 山形大学 · 日本' ['mirrors.abroad.12']='亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本'
['mirrors.abroad.13']='亚洲 · xTom · 日本' ['mirrors.abroad.13']='亚洲 · 山形大学 · 日本'
['mirrors.abroad.14']='亚洲 · GB Network Solutions · 马来西亚' ['mirrors.abroad.14']='亚洲 · xTom · 日本'
['mirrors.abroad.15']='亚洲 · 孔敬大学 · 泰国' ['mirrors.abroad.15']='亚洲 · GB Network Solutions · 马来西亚'
['mirrors.abroad.16']='洲 · Vorboss Ltd · 国' ['mirrors.abroad.16']='洲 · 孔敬大学 · 国'
['mirrors.abroad.17']='欧洲 · QuickHost · 英国' ['mirrors.abroad.17']='欧洲 · Vorboss Ltd · 英国'
['mirrors.abroad.18']='欧洲 · dogado · 国' ['mirrors.abroad.18']='欧洲 · QuickHost · 国'
['mirrors.abroad.19']='欧洲 · xTom · 德国' ['mirrors.abroad.19']='欧洲 · dogado · 德国'
['mirrors.abroad.20']='欧洲 · 亚琛工业大学(RWTH Aachen) · 德国' ['mirrors.abroad.20']='欧洲 · xTom · 德国'
['mirrors.abroad.21']='欧洲 · 德累斯顿大学(AG DSN) · 德国' ['mirrors.abroad.21']='欧洲 · 亚琛工业大学(RWTH Aachen) · 德国'
['mirrors.abroad.22']='欧洲 · CCIN2P3 · 国' ['mirrors.abroad.22']='欧洲 · 德累斯顿大学(AG DSN) · 国'
['mirrors.abroad.23']='欧洲 · Ircam · 法国' ['mirrors.abroad.23']='欧洲 · CCIN2P3 · 法国'
['mirrors.abroad.24']='欧洲 · Crans · 法国' ['mirrors.abroad.24']='欧洲 · Ircam · 法国'
['mirrors.abroad.25']='欧洲 · CRIHAN · 法国' ['mirrors.abroad.25']='欧洲 · Crans · 法国'
['mirrors.abroad.26']='欧洲 · xTom · 荷兰' ['mirrors.abroad.26']='欧洲 · CRIHAN · 法国'
['mirrors.abroad.27']='欧洲 · DataPacket · 荷兰' ['mirrors.abroad.27']='欧洲 · xTom · 荷兰'
['mirrors.abroad.28']='欧洲 · Linux Kernel · 荷兰' ['mirrors.abroad.28']='欧洲 · DataPacket · 荷兰'
['mirrors.abroad.29']='欧洲 · xTom · 爱沙尼亚' ['mirrors.abroad.29']='欧洲 · Linux Kernel · 荷兰'
['mirrors.abroad.30']='欧洲 · netsite · 丹麦' ['mirrors.abroad.30']='欧洲 · xTom · 爱沙尼亚'
['mirrors.abroad.31']='欧洲 · Dotsrc · 丹麦' ['mirrors.abroad.31']='欧洲 · netsite · 丹麦'
['mirrors.abroad.32']='欧洲 · Academic Computer Club · 瑞典' ['mirrors.abroad.32']='欧洲 · Dotsrc · 丹麦'
['mirrors.abroad.33']='欧洲 · Lysator · 瑞典' ['mirrors.abroad.33']='欧洲 · Academic Computer Club · 瑞典'
['mirrors.abroad.34']='欧洲 · Yandex · 俄罗斯' ['mirrors.abroad.34']='欧洲 · Lysator · 瑞典'
['mirrors.abroad.35']='欧洲 · ia64 · 俄罗斯' ['mirrors.abroad.35']='欧洲 · Yandex · 俄罗斯'
['mirrors.abroad.36']='欧洲 · Truenetwork · 俄罗斯' ['mirrors.abroad.36']='欧洲 · ia64 · 俄罗斯'
['mirrors.abroad.37']='欧洲 · Belgian Research Network · 比利时' ['mirrors.abroad.37']='欧洲 · Truenetwork · 俄罗斯'
['mirrors.abroad.38']='欧洲 · 克里特大学计算机中心 · 希腊' ['mirrors.abroad.38']='欧洲 · Belgian Research Network · 比利时'
['mirrors.abroad.39']='欧洲 · 马萨里克大学信息学院 · 捷克' ['mirrors.abroad.39']='欧洲 · 克里特大学计算机中心 · 希腊'
['mirrors.abroad.40']='欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克' ['mirrors.abroad.40']='欧洲 · 马萨里克大学信息学院 · 捷克'
['mirrors.abroad.41']='欧洲 · Vodafone · 捷克' ['mirrors.abroad.41']='欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克'
['mirrors.abroad.42']='欧洲 · CZ.NIC · 捷克' ['mirrors.abroad.42']='欧洲 · Vodafone · 捷克'
['mirrors.abroad.43']='欧洲 · 苏黎世联邦理工学院 · 瑞士' ['mirrors.abroad.43']='欧洲 · CZ.NIC · 捷克'
['mirrors.abroad.44']='北美 · Linux Kernel · 美国' ['mirrors.abroad.44']='欧洲 · 苏黎世联邦理工学院 · 瑞士'
['mirrors.abroad.45']='北美 · 麻省理工学院(MIT) · 美国' ['mirrors.abroad.45']='北美 · Linux Kernel · 美国'
['mirrors.abroad.46']='北美 · 普林斯顿大学数学系 · 美国' ['mirrors.abroad.46']='北美 · 麻省理工学院(MIT) · 美国'
['mirrors.abroad.47']='北美 · 俄勒冈州立大学开源实验室 · 美国' ['mirrors.abroad.47']='北美 · 普林斯顿大学数学系 · 美国'
['mirrors.abroad.48']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美国' ['mirrors.abroad.48']='北美 · 俄勒冈州立大学开源实验室 · 美国'
['mirrors.abroad.49']='北美 · xTom · 美国' ['mirrors.abroad.49']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美国'
['mirrors.abroad.50']='北美 · Steadfast · 美国' ['mirrors.abroad.50']='北美 · xTom · 美国'
['mirrors.abroad.51']='北美 · 不列颠哥伦比亚大学 · 加拿大' ['mirrors.abroad.51']='北美 · Steadfast · 美国'
['mirrors.abroad.52']='北美 · GoCodeIT · 加拿大' ['mirrors.abroad.52']='北美 · 不列颠哥伦比亚大学 · 加拿大'
['mirrors.abroad.53']='北美 · Switch · 加拿大' ['mirrors.abroad.53']='北美 · GoCodeIT · 加拿大'
['mirrors.abroad.54']='美 · PoP-SC · 巴西' ['mirrors.abroad.54']='美 · Switch · 加拿大'
['mirrors.abroad.55']='南美 · 蓬塔格罗萨州立大学 · 巴西' ['mirrors.abroad.55']='南美 · PoP-SC · 巴西'
['mirrors.abroad.56']='南美 · UFSCar · 巴西' ['mirrors.abroad.56']='南美 · 蓬塔格罗萨州立大学 · 巴西'
['mirrors.abroad.57']='南美 · Sysarmy Community · 阿根廷' ['mirrors.abroad.57']='南美 · UFSCar · 巴西'
['mirrors.abroad.58']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚' ['mirrors.abroad.58']='南美 · Sysarmy Community · 阿根廷'
['mirrors.abroad.59']='大洋 · AARNet · 澳大利亚' ['mirrors.abroad.59']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚'
['mirrors.abroad.60']='大洋 · DataMossa · 澳大利亚' ['mirrors.abroad.60']='大洋 · AARNet · 澳大利亚'
['mirrors.abroad.61']='大洋 · Amaze · 澳大利亚' ['mirrors.abroad.61']='大洋 · DataMossa · 澳大利亚'
['mirrors.abroad.62']='大洋 · xTom · 澳大利亚' ['mirrors.abroad.62']='大洋 · Amaze · 澳大利亚'
['mirrors.abroad.63']='大洋 · Over the Wire · 澳大利亚' ['mirrors.abroad.63']='大洋 · xTom · 澳大利亚'
['mirrors.abroad.64']='大洋 · Free Software Mirror Group · 新西兰' ['mirrors.abroad.64']='大洋 · Over the Wire · 澳大利亚'
['mirrors.abroad.65']='非洲 · Liquid Telecom · 肯尼亚' ['mirrors.abroad.65']='大洋 · Free Software Mirror Group · 新西兰'
['mirrors.abroad.66']='非洲 · Dimension Data · 南非' ['mirrors.abroad.66']='非洲 · Liquid Telecom · 肯尼亚'
['mirrors.abroad.67']='官方源' ['mirrors.abroad.67']='非洲 · Dimension Data · 南非'
['mirrors.abroad.68']='官方源'
) )

View File

@@ -112,18 +112,20 @@ MESSAGE_CONTENTS=(
['mirrors.default.0']='阿里雲' ['mirrors.default.0']='阿里雲'
['mirrors.default.1']='騰訊雲' ['mirrors.default.1']='騰訊雲'
['mirrors.default.2']='華為雲' ['mirrors.default.2']='華為雲'
['mirrors.default.3']='網易' ['mirrors.default.3']='移動雲'
['mirrors.default.4']='火山引擎' ['mirrors.default.4']='天翼雲'
['mirrors.default.5']='清華大學' ['mirrors.default.5']='網易'
['mirrors.default.6']='北京大學' ['mirrors.default.6']='火山引擎'
['mirrors.default.7']='浙江大學' ['mirrors.default.7']='清華大學'
['mirrors.default.8']='京大學' ['mirrors.default.8']='京大學'
['mirrors.default.9']='蘭州大學' ['mirrors.default.9']='浙江大學'
['mirrors.default.10']='上海交通大學' ['mirrors.default.10']='南京大學'
['mirrors.default.11']='重慶郵電大學' ['mirrors.default.11']='蘭州大學'
['mirrors.default.12']='中國科學技術大學' ['mirrors.default.12']='上海交通大學'
['mirrors.default.13']='中國科學院軟件研究所' ['mirrors.default.13']='重慶郵電大學'
['mirrors.default.14']='官方源' ['mirrors.default.14']='中國科學技術大學'
['mirrors.default.15']='中國科學院軟件研究所'
['mirrors.default.16']='官方源'
['mirrors.edu.0']='北京大學' ['mirrors.edu.0']='北京大學'
['mirrors.edu.1']='北京交通大學' ['mirrors.edu.1']='北京交通大學'
['mirrors.edu.2']='北京外國語大學' ['mirrors.edu.2']='北京外國語大學'
@@ -164,63 +166,64 @@ MESSAGE_CONTENTS=(
['mirrors.abroad.6']='亞洲 · OSS Planet · 臺灣' ['mirrors.abroad.6']='亞洲 · OSS Planet · 臺灣'
['mirrors.abroad.7']='亞洲 · 國立陽明交通大學 · 臺灣' ['mirrors.abroad.7']='亞洲 · 國立陽明交通大學 · 臺灣'
['mirrors.abroad.8']='亞洲 · 淡江大學 · 臺灣' ['mirrors.abroad.8']='亞洲 · 淡江大學 · 臺灣'
['mirrors.abroad.9']='亞洲 · AniGil Linux Archive · 韓國' ['mirrors.abroad.9']='亞洲 · Taiwan Digital Streaming · 臺灣'
['mirrors.abroad.10']='亞洲 · 工業網路安全中心(ICSCoE) · 日本' ['mirrors.abroad.10']='亞洲 · AniGil Linux Archive · 韓國'
['mirrors.abroad.11']='亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本' ['mirrors.abroad.11']='亞洲 · 工業網路安全中心(ICSCoE) · 日本'
['mirrors.abroad.12']='亞洲 · 山形大學 · 日本' ['mirrors.abroad.12']='亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本'
['mirrors.abroad.13']='亞洲 · xTom · 日本' ['mirrors.abroad.13']='亞洲 · 山形大學 · 日本'
['mirrors.abroad.14']='亞洲 · GB Network Solutions · 馬來西亞' ['mirrors.abroad.14']='亞洲 · xTom · 日本'
['mirrors.abroad.15']='亞洲 · 孔敬大學 · 泰國' ['mirrors.abroad.15']='亞洲 · GB Network Solutions · 馬來西亞'
['mirrors.abroad.16']='洲 · Vorboss Ltd · 國' ['mirrors.abroad.16']='洲 · 孔敬大學 · 國'
['mirrors.abroad.17']='歐洲 · QuickHost · 英國' ['mirrors.abroad.17']='歐洲 · Vorboss Ltd · 英國'
['mirrors.abroad.18']='歐洲 · dogado · 國' ['mirrors.abroad.18']='歐洲 · QuickHost · 國'
['mirrors.abroad.19']='歐洲 · xTom · 德國' ['mirrors.abroad.19']='歐洲 · dogado · 德國'
['mirrors.abroad.20']='歐洲 · 亞琛工業大學(RWTH Aachen) · 德國' ['mirrors.abroad.20']='歐洲 · xTom · 德國'
['mirrors.abroad.21']='歐洲 · 德勒斯登大學(AG DSN) · 德國' ['mirrors.abroad.21']='歐洲 · 亞琛工業大學(RWTH Aachen) · 德國'
['mirrors.abroad.22']='歐洲 · CCIN2P3 · 國' ['mirrors.abroad.22']='歐洲 · 德勒斯登大學(AG DSN) · 國'
['mirrors.abroad.23']='歐洲 · Ircam · 法國' ['mirrors.abroad.23']='歐洲 · CCIN2P3 · 法國'
['mirrors.abroad.24']='歐洲 · Crans · 法國' ['mirrors.abroad.24']='歐洲 · Ircam · 法國'
['mirrors.abroad.25']='歐洲 · CRIHAN · 法國' ['mirrors.abroad.25']='歐洲 · Crans · 法國'
['mirrors.abroad.26']='歐洲 · xTom · 荷蘭' ['mirrors.abroad.26']='歐洲 · CRIHAN · 法國'
['mirrors.abroad.27']='歐洲 · DataPacket · 荷蘭' ['mirrors.abroad.27']='歐洲 · xTom · 荷蘭'
['mirrors.abroad.28']='歐洲 · Linux Kernel · 荷蘭' ['mirrors.abroad.28']='歐洲 · DataPacket · 荷蘭'
['mirrors.abroad.29']='歐洲 · xTom · 愛沙尼亞' ['mirrors.abroad.29']='歐洲 · Linux Kernel · 荷蘭'
['mirrors.abroad.30']='歐洲 · netsite · 丹麥' ['mirrors.abroad.30']='歐洲 · xTom · 愛沙尼亞'
['mirrors.abroad.31']='歐洲 · Dotsrc · 丹麥' ['mirrors.abroad.31']='歐洲 · netsite · 丹麥'
['mirrors.abroad.32']='歐洲 · Academic Computer Club · 瑞典' ['mirrors.abroad.32']='歐洲 · Dotsrc · 丹麥'
['mirrors.abroad.33']='歐洲 · Lysator · 瑞典' ['mirrors.abroad.33']='歐洲 · Academic Computer Club · 瑞典'
['mirrors.abroad.34']='歐洲 · Yandex · 俄羅斯' ['mirrors.abroad.34']='歐洲 · Lysator · 瑞典'
['mirrors.abroad.35']='歐洲 · ia64 · 俄羅斯' ['mirrors.abroad.35']='歐洲 · Yandex · 俄羅斯'
['mirrors.abroad.36']='歐洲 · Truenetwork · 俄羅斯' ['mirrors.abroad.36']='歐洲 · ia64 · 俄羅斯'
['mirrors.abroad.37']='歐洲 · Belgian Research Network · 比利時' ['mirrors.abroad.37']='歐洲 · Truenetwork · 俄羅斯'
['mirrors.abroad.38']='歐洲 · 克里特大學計算機中心 · 希臘' ['mirrors.abroad.38']='歐洲 · Belgian Research Network · 比利時'
['mirrors.abroad.39']='歐洲 · 馬薩里克大學信息學院 · 捷克' ['mirrors.abroad.39']='歐洲 · 克里特大學計算機中心 · 希臘'
['mirrors.abroad.40']='歐洲 · 捷克理工大學學生會俱樂部(Silicon Hill) · 捷克' ['mirrors.abroad.40']='歐洲 · 馬薩里克大學信息學院 · 捷克'
['mirrors.abroad.41']='歐洲 · Vodafone · 捷克' ['mirrors.abroad.41']='歐洲 · 捷克理工大學學生會俱樂部(Silicon Hill) · 捷克'
['mirrors.abroad.42']='歐洲 · CZ.NIC · 捷克' ['mirrors.abroad.42']='歐洲 · Vodafone · 捷克'
['mirrors.abroad.43']='歐洲 · 蘇黎世聯邦理工學院 · 瑞士' ['mirrors.abroad.43']='歐洲 · CZ.NIC · 捷克'
['mirrors.abroad.44']='北美 · Linux Kernel · 美國' ['mirrors.abroad.44']='歐洲 · 蘇黎世聯邦理工學院 · 瑞士'
['mirrors.abroad.45']='北美 · 麻省理工學院(MIT) · 美國' ['mirrors.abroad.45']='北美 · Linux Kernel · 美國'
['mirrors.abroad.46']='北美 · 普林斯頓大學數學系 · 美國' ['mirrors.abroad.46']='北美 · 麻省理工學院(MIT) · 美國'
['mirrors.abroad.47']='北美 · 俄勒岡州立大學開源實驗室 · 美國' ['mirrors.abroad.47']='北美 · 普林斯頓大學數學系 · 美國'
['mirrors.abroad.48']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美國' ['mirrors.abroad.48']='北美 · 俄勒岡州立大學開源實驗室 · 美國'
['mirrors.abroad.49']='北美 · xTom · 美國' ['mirrors.abroad.49']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美國'
['mirrors.abroad.50']='北美 · Steadfast · 美國' ['mirrors.abroad.50']='北美 · xTom · 美國'
['mirrors.abroad.51']='北美 · 不列顛哥倫比亞大學 · 加拿大' ['mirrors.abroad.51']='北美 · Steadfast · 美國'
['mirrors.abroad.52']='北美 · GoCodeIT · 加拿大' ['mirrors.abroad.52']='北美 · 不列顛哥倫比亞大學 · 加拿大'
['mirrors.abroad.53']='北美 · Switch · 加拿大' ['mirrors.abroad.53']='北美 · GoCodeIT · 加拿大'
['mirrors.abroad.54']='美 · PoP-SC · 巴西' ['mirrors.abroad.54']='美 · Switch · 加拿大'
['mirrors.abroad.55']='南美 · 蓬塔格羅薩州立大學 · 巴西' ['mirrors.abroad.55']='南美 · PoP-SC · 巴西'
['mirrors.abroad.56']='南美 · UFSCar · 巴西' ['mirrors.abroad.56']='南美 · 蓬塔格羅薩州立大學 · 巴西'
['mirrors.abroad.57']='南美 · Sysarmy Community · 阿根廷' ['mirrors.abroad.57']='南美 · UFSCar · 巴西'
['mirrors.abroad.58']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亞' ['mirrors.abroad.58']='南美 · Sysarmy Community · 阿根廷'
['mirrors.abroad.59']='大洋 · AARNet · 澳大利亞' ['mirrors.abroad.59']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亞'
['mirrors.abroad.60']='大洋 · DataMossa · 澳大利亞' ['mirrors.abroad.60']='大洋 · AARNet · 澳大利亞'
['mirrors.abroad.61']='大洋 · Amaze · 澳大利亞' ['mirrors.abroad.61']='大洋 · DataMossa · 澳大利亞'
['mirrors.abroad.62']='大洋 · xTom · 澳大利亞' ['mirrors.abroad.62']='大洋 · Amaze · 澳大利亞'
['mirrors.abroad.63']='大洋 · Over the Wire · 澳大利亞' ['mirrors.abroad.63']='大洋 · xTom · 澳大利亞'
['mirrors.abroad.64']='大洋 · Free Software Mirror Group · 紐西蘭' ['mirrors.abroad.64']='大洋 · Over the Wire · 澳大利亞'
['mirrors.abroad.65']='非洲 · Liquid Telecom · 肯亞' ['mirrors.abroad.65']='大洋 · Free Software Mirror Group · 紐西蘭'
['mirrors.abroad.66']='非洲 · Dimension Data · 南非' ['mirrors.abroad.66']='非洲 · Liquid Telecom · 肯亞'
['mirrors.abroad.67']='官方源' ['mirrors.abroad.67']='非洲 · Dimension Data · 南非'
['mirrors.abroad.68']='官方源'
) )

View File

@@ -2,7 +2,7 @@ site_name: LinuxMirrors
repo_name: LinuxMirrors repo_name: LinuxMirrors
repo_url: https://github.com/SuperManito/LinuxMirrors repo_url: https://github.com/SuperManito/LinuxMirrors
edit_uri: edit/main/docs/ edit_uri: edit/main/docs/
copyright: 'Copyright &copy; 2025 <a href="https://github.com/SuperManito" target="_blank">SuperManito</a>' copyright: 'Copyright &copy; 2025 <a href="https://github.com/SuperManito" target="_blank" rel="noopener noreferrer">SuperManito</a>'
nav: nav:
- "介绍": index.md - "介绍": index.md

View File

@@ -1,5 +1,5 @@
mkdocs-material==9.6.21 mkdocs-material==9.6.22
mkdocs-glightbox==0.5.1 mkdocs-glightbox==0.5.2
mkdocs-exclude-search==0.6.6 mkdocs-exclude-search==0.6.6
# mkdocs-minify-plugin==0.8.0 # mkdocs-minify-plugin==0.8.0
mkdocs-static-i18n==1.3.0 mkdocs-static-i18n==1.3.0