diff --git a/ChangeMirrors.sh b/ChangeMirrors.sh index 46623b1..345a8ff 100755 --- a/ChangeMirrors.sh +++ b/ChangeMirrors.sh @@ -1,6 +1,6 @@ #!/bin/bash ## Author: SuperManito -## Modified: 2025-10-12 +## Modified: 2025-10-14 ## License: MIT ## GitHub: https://github.com/SuperManito/LinuxMirrors ## Website: https://linuxmirrors.cn @@ -17,6 +17,8 @@ mirror_list_default=( "mirrors.aliyun.com" "mirrors.tencent.com" "mirrors.huaweicloud.com" + "mirrors.cmecloud.cn" + "mirrors.ctyun.cn" "mirrors.163.com" "mirrors.volces.com" "mirrors.tuna.tsinghua.edu.cn" @@ -75,6 +77,7 @@ mirror_list_abroad=( "mirror.ossplanet.net" "linux.cs.nctu.edu.tw" "ftp.tku.edu.tw" + "mirror.twds.com.tw" "mirror.anigil.com" "ftp.udx.icscoe.jp/Linux" "ftp.jaist.ac.jp/pub/Linux" @@ -143,6 +146,7 @@ mirror_list_extranet=( "mirrors.aliyun.com" "mirrors.tencent.com" "mirrors.huaweicloud.com" + "mirrors.ctyun.cn" "mirrors.volces.com" ) # 软件源内网地址列表 @@ -150,6 +154,7 @@ mirror_list_intranet=( "mirrors.cloud.aliyuncs.com" "mirrors.tencentyun.com" "mirrors.myhuaweicloud.com" + "internal.mirrors.ctyun.cn" "mirrors.ivolces.com" ) @@ -7853,18 +7858,20 @@ function msg_pack_zh_hans() { ['mirrors.default.0']='阿里云' ['mirrors.default.1']='腾讯云' ['mirrors.default.2']='华为云' - ['mirrors.default.3']='网易' - ['mirrors.default.4']='火山引擎' - ['mirrors.default.5']='清华大学' - ['mirrors.default.6']='北京大学' - ['mirrors.default.7']='浙江大学' - ['mirrors.default.8']='南京大学' - ['mirrors.default.9']='兰州大学' - ['mirrors.default.10']='上海交通大学' - ['mirrors.default.11']='重庆邮电大学' - ['mirrors.default.12']='中国科学技术大学' - ['mirrors.default.13']='中国科学院软件研究所' - ['mirrors.default.14']='官方源' + ['mirrors.default.3']='移动云' + ['mirrors.default.4']='天翼云' + ['mirrors.default.5']='网易' + ['mirrors.default.6']='火山引擎' + ['mirrors.default.7']='清华大学' + ['mirrors.default.8']='北京大学' + ['mirrors.default.9']='浙江大学' + ['mirrors.default.10']='南京大学' + ['mirrors.default.11']='兰州大学' + ['mirrors.default.12']='上海交通大学' + ['mirrors.default.13']='重庆邮电大学' + ['mirrors.default.14']='中国科学技术大学' + ['mirrors.default.15']='中国科学院软件研究所' + ['mirrors.default.16']='官方源' ['mirrors.edu.0']='北京大学' ['mirrors.edu.1']='北京交通大学' ['mirrors.edu.2']='北京外国语大学' @@ -7905,65 +7912,66 @@ function msg_pack_zh_hans() { ['mirrors.abroad.6']='亚洲 · OSS Planet · 台湾' ['mirrors.abroad.7']='亚洲 · 国立阳明交通大学 · 台湾' ['mirrors.abroad.8']='亚洲 · 淡江大学 · 台湾' - ['mirrors.abroad.9']='亚洲 · AniGil Linux Archive · 韩国' - ['mirrors.abroad.10']='亚洲 · 工业网络安全中心(ICSCoE) · 日本' - ['mirrors.abroad.11']='亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本' - ['mirrors.abroad.12']='亚洲 · 山形大学 · 日本' - ['mirrors.abroad.13']='亚洲 · xTom · 日本' - ['mirrors.abroad.14']='亚洲 · GB Network Solutions · 马来西亚' - ['mirrors.abroad.15']='亚洲 · 孔敬大学 · 泰国' - ['mirrors.abroad.16']='欧洲 · Vorboss Ltd · 英国' - ['mirrors.abroad.17']='欧洲 · QuickHost · 英国' - ['mirrors.abroad.18']='欧洲 · dogado · 德国' - ['mirrors.abroad.19']='欧洲 · xTom · 德国' - ['mirrors.abroad.20']='欧洲 · 亚琛工业大学(RWTH Aachen) · 德国' - ['mirrors.abroad.21']='欧洲 · 德累斯顿大学(AG DSN) · 德国' - ['mirrors.abroad.22']='欧洲 · CCIN2P3 · 法国' - ['mirrors.abroad.23']='欧洲 · Ircam · 法国' - ['mirrors.abroad.24']='欧洲 · Crans · 法国' - ['mirrors.abroad.25']='欧洲 · CRIHAN · 法国' - ['mirrors.abroad.26']='欧洲 · xTom · 荷兰' - ['mirrors.abroad.27']='欧洲 · DataPacket · 荷兰' - ['mirrors.abroad.28']='欧洲 · Linux Kernel · 荷兰' - ['mirrors.abroad.29']='欧洲 · xTom · 爱沙尼亚' - ['mirrors.abroad.30']='欧洲 · netsite · 丹麦' - ['mirrors.abroad.31']='欧洲 · Dotsrc · 丹麦' - ['mirrors.abroad.32']='欧洲 · Academic Computer Club · 瑞典' - ['mirrors.abroad.33']='欧洲 · Lysator · 瑞典' - ['mirrors.abroad.34']='欧洲 · Yandex · 俄罗斯' - ['mirrors.abroad.35']='欧洲 · ia64 · 俄罗斯' - ['mirrors.abroad.36']='欧洲 · Truenetwork · 俄罗斯' - ['mirrors.abroad.37']='欧洲 · Belgian Research Network · 比利时' - ['mirrors.abroad.38']='欧洲 · 克里特大学计算机中心 · 希腊' - ['mirrors.abroad.39']='欧洲 · 马萨里克大学信息学院 · 捷克' - ['mirrors.abroad.40']='欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克' - ['mirrors.abroad.41']='欧洲 · Vodafone · 捷克' - ['mirrors.abroad.42']='欧洲 · CZ.NIC · 捷克' - ['mirrors.abroad.43']='欧洲 · 苏黎世联邦理工学院 · 瑞士' - ['mirrors.abroad.44']='北美 · Linux Kernel · 美国' - ['mirrors.abroad.45']='北美 · 麻省理工学院(MIT) · 美国' - ['mirrors.abroad.46']='北美 · 普林斯顿大学数学系 · 美国' - ['mirrors.abroad.47']='北美 · 俄勒冈州立大学开源实验室 · 美国' - ['mirrors.abroad.48']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美国' - ['mirrors.abroad.49']='北美 · xTom · 美国' - ['mirrors.abroad.50']='北美 · Steadfast · 美国' - ['mirrors.abroad.51']='北美 · 不列颠哥伦比亚大学 · 加拿大' - ['mirrors.abroad.52']='北美 · GoCodeIT · 加拿大' - ['mirrors.abroad.53']='北美 · Switch · 加拿大' - ['mirrors.abroad.54']='南美 · PoP-SC · 巴西' - ['mirrors.abroad.55']='南美 · 蓬塔格罗萨州立大学 · 巴西' - ['mirrors.abroad.56']='南美 · UFSCar · 巴西' - ['mirrors.abroad.57']='南美 · Sysarmy Community · 阿根廷' - ['mirrors.abroad.58']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚' - ['mirrors.abroad.59']='大洋 · AARNet · 澳大利亚' - ['mirrors.abroad.60']='大洋 · DataMossa · 澳大利亚' - ['mirrors.abroad.61']='大洋 · Amaze · 澳大利亚' - ['mirrors.abroad.62']='大洋 · xTom · 澳大利亚' - ['mirrors.abroad.63']='大洋 · Over the Wire · 澳大利亚' - ['mirrors.abroad.64']='大洋 · Free Software Mirror Group · 新西兰' - ['mirrors.abroad.65']='非洲 · Liquid Telecom · 肯尼亚' - ['mirrors.abroad.66']='非洲 · Dimension Data · 南非' - ['mirrors.abroad.67']='官方源' + ['mirrors.abroad.9']='亚洲 · Taiwan Digital Streaming · 台湾' + ['mirrors.abroad.10']='亚洲 · AniGil Linux Archive · 韩国' + ['mirrors.abroad.11']='亚洲 · 工业网络安全中心(ICSCoE) · 日本' + ['mirrors.abroad.12']='亚洲 · 北陆先端科学技术大学院大学(JAIST) · 日本' + ['mirrors.abroad.13']='亚洲 · 山形大学 · 日本' + ['mirrors.abroad.14']='亚洲 · xTom · 日本' + ['mirrors.abroad.15']='亚洲 · GB Network Solutions · 马来西亚' + ['mirrors.abroad.16']='亚洲 · 孔敬大学 · 泰国' + ['mirrors.abroad.17']='欧洲 · Vorboss Ltd · 英国' + ['mirrors.abroad.18']='欧洲 · QuickHost · 英国' + ['mirrors.abroad.19']='欧洲 · dogado · 德国' + ['mirrors.abroad.20']='欧洲 · xTom · 德国' + ['mirrors.abroad.21']='欧洲 · 亚琛工业大学(RWTH Aachen) · 德国' + ['mirrors.abroad.22']='欧洲 · 德累斯顿大学(AG DSN) · 德国' + ['mirrors.abroad.23']='欧洲 · CCIN2P3 · 法国' + ['mirrors.abroad.24']='欧洲 · Ircam · 法国' + ['mirrors.abroad.25']='欧洲 · Crans · 法国' + ['mirrors.abroad.26']='欧洲 · CRIHAN · 法国' + ['mirrors.abroad.27']='欧洲 · xTom · 荷兰' + ['mirrors.abroad.28']='欧洲 · DataPacket · 荷兰' + ['mirrors.abroad.29']='欧洲 · Linux Kernel · 荷兰' + ['mirrors.abroad.30']='欧洲 · xTom · 爱沙尼亚' + ['mirrors.abroad.31']='欧洲 · netsite · 丹麦' + ['mirrors.abroad.32']='欧洲 · Dotsrc · 丹麦' + ['mirrors.abroad.33']='欧洲 · Academic Computer Club · 瑞典' + ['mirrors.abroad.34']='欧洲 · Lysator · 瑞典' + ['mirrors.abroad.35']='欧洲 · Yandex · 俄罗斯' + ['mirrors.abroad.36']='欧洲 · ia64 · 俄罗斯' + ['mirrors.abroad.37']='欧洲 · Truenetwork · 俄罗斯' + ['mirrors.abroad.38']='欧洲 · Belgian Research Network · 比利时' + ['mirrors.abroad.39']='欧洲 · 克里特大学计算机中心 · 希腊' + ['mirrors.abroad.40']='欧洲 · 马萨里克大学信息学院 · 捷克' + ['mirrors.abroad.41']='欧洲 · 捷克理工大学学生会俱乐部(Silicon Hill) · 捷克' + ['mirrors.abroad.42']='欧洲 · Vodafone · 捷克' + ['mirrors.abroad.43']='欧洲 · CZ.NIC · 捷克' + ['mirrors.abroad.44']='欧洲 · 苏黎世联邦理工学院 · 瑞士' + ['mirrors.abroad.45']='北美 · Linux Kernel · 美国' + ['mirrors.abroad.46']='北美 · 麻省理工学院(MIT) · 美国' + ['mirrors.abroad.47']='北美 · 普林斯顿大学数学系 · 美国' + ['mirrors.abroad.48']='北美 · 俄勒冈州立大学开源实验室 · 美国' + ['mirrors.abroad.49']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美国' + ['mirrors.abroad.50']='北美 · xTom · 美国' + ['mirrors.abroad.51']='北美 · Steadfast · 美国' + ['mirrors.abroad.52']='北美 · 不列颠哥伦比亚大学 · 加拿大' + ['mirrors.abroad.53']='北美 · GoCodeIT · 加拿大' + ['mirrors.abroad.54']='北美 · Switch · 加拿大' + ['mirrors.abroad.55']='南美 · PoP-SC · 巴西' + ['mirrors.abroad.56']='南美 · 蓬塔格罗萨州立大学 · 巴西' + ['mirrors.abroad.57']='南美 · UFSCar · 巴西' + ['mirrors.abroad.58']='南美 · Sysarmy Community · 阿根廷' + ['mirrors.abroad.59']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亚' + ['mirrors.abroad.60']='大洋 · AARNet · 澳大利亚' + ['mirrors.abroad.61']='大洋 · DataMossa · 澳大利亚' + ['mirrors.abroad.62']='大洋 · Amaze · 澳大利亚' + ['mirrors.abroad.63']='大洋 · xTom · 澳大利亚' + ['mirrors.abroad.64']='大洋 · Over the Wire · 澳大利亚' + ['mirrors.abroad.65']='大洋 · Free Software Mirror Group · 新西兰' + ['mirrors.abroad.66']='非洲 · Liquid Telecom · 肯尼亚' + ['mirrors.abroad.67']='非洲 · Dimension Data · 南非' + ['mirrors.abroad.68']='官方源' ) } @@ -8082,18 +8090,20 @@ function msg_pack_zh_hant() { ['mirrors.default.0']='阿里雲' ['mirrors.default.1']='騰訊雲' ['mirrors.default.2']='華為雲' - ['mirrors.default.3']='網易' - ['mirrors.default.4']='火山引擎' - ['mirrors.default.5']='清華大學' - ['mirrors.default.6']='北京大學' - ['mirrors.default.7']='浙江大學' - ['mirrors.default.8']='南京大學' - ['mirrors.default.9']='蘭州大學' - ['mirrors.default.10']='上海交通大學' - ['mirrors.default.11']='重慶郵電大學' - ['mirrors.default.12']='中國科學技術大學' - ['mirrors.default.13']='中國科學院軟件研究所' - ['mirrors.default.14']='官方源' + ['mirrors.default.3']='移動雲' + ['mirrors.default.4']='天翼雲' + ['mirrors.default.5']='網易' + ['mirrors.default.6']='火山引擎' + ['mirrors.default.7']='清華大學' + ['mirrors.default.8']='北京大學' + ['mirrors.default.9']='浙江大學' + ['mirrors.default.10']='南京大學' + ['mirrors.default.11']='蘭州大學' + ['mirrors.default.12']='上海交通大學' + ['mirrors.default.13']='重慶郵電大學' + ['mirrors.default.14']='中國科學技術大學' + ['mirrors.default.15']='中國科學院軟件研究所' + ['mirrors.default.16']='官方源' ['mirrors.edu.0']='北京大學' ['mirrors.edu.1']='北京交通大學' ['mirrors.edu.2']='北京外國語大學' @@ -8134,65 +8144,66 @@ function msg_pack_zh_hant() { ['mirrors.abroad.6']='亞洲 · OSS Planet · 臺灣' ['mirrors.abroad.7']='亞洲 · 國立陽明交通大學 · 臺灣' ['mirrors.abroad.8']='亞洲 · 淡江大學 · 臺灣' - ['mirrors.abroad.9']='亞洲 · AniGil Linux Archive · 韓國' - ['mirrors.abroad.10']='亞洲 · 工業網路安全中心(ICSCoE) · 日本' - ['mirrors.abroad.11']='亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本' - ['mirrors.abroad.12']='亞洲 · 山形大學 · 日本' - ['mirrors.abroad.13']='亞洲 · xTom · 日本' - ['mirrors.abroad.14']='亞洲 · GB Network Solutions · 馬來西亞' - ['mirrors.abroad.15']='亞洲 · 孔敬大學 · 泰國' - ['mirrors.abroad.16']='歐洲 · Vorboss Ltd · 英國' - ['mirrors.abroad.17']='歐洲 · QuickHost · 英國' - ['mirrors.abroad.18']='歐洲 · dogado · 德國' - ['mirrors.abroad.19']='歐洲 · xTom · 德國' - ['mirrors.abroad.20']='歐洲 · 亞琛工業大學(RWTH Aachen) · 德國' - ['mirrors.abroad.21']='歐洲 · 德勒斯登大學(AG DSN) · 德國' - ['mirrors.abroad.22']='歐洲 · CCIN2P3 · 法國' - ['mirrors.abroad.23']='歐洲 · Ircam · 法國' - ['mirrors.abroad.24']='歐洲 · Crans · 法國' - ['mirrors.abroad.25']='歐洲 · CRIHAN · 法國' - ['mirrors.abroad.26']='歐洲 · xTom · 荷蘭' - ['mirrors.abroad.27']='歐洲 · DataPacket · 荷蘭' - ['mirrors.abroad.28']='歐洲 · Linux Kernel · 荷蘭' - ['mirrors.abroad.29']='歐洲 · xTom · 愛沙尼亞' - ['mirrors.abroad.30']='歐洲 · netsite · 丹麥' - ['mirrors.abroad.31']='歐洲 · Dotsrc · 丹麥' - ['mirrors.abroad.32']='歐洲 · Academic Computer Club · 瑞典' - ['mirrors.abroad.33']='歐洲 · Lysator · 瑞典' - ['mirrors.abroad.34']='歐洲 · Yandex · 俄羅斯' - ['mirrors.abroad.35']='歐洲 · ia64 · 俄羅斯' - ['mirrors.abroad.36']='歐洲 · Truenetwork · 俄羅斯' - ['mirrors.abroad.37']='歐洲 · Belgian Research Network · 比利時' - ['mirrors.abroad.38']='歐洲 · 克里特大學計算機中心 · 希臘' - ['mirrors.abroad.39']='歐洲 · 馬薩里克大學信息學院 · 捷克' - ['mirrors.abroad.40']='歐洲 · 捷克理工大學學生會俱樂部(Silicon Hill) · 捷克' - ['mirrors.abroad.41']='歐洲 · Vodafone · 捷克' - ['mirrors.abroad.42']='歐洲 · CZ.NIC · 捷克' - ['mirrors.abroad.43']='歐洲 · 蘇黎世聯邦理工學院 · 瑞士' - ['mirrors.abroad.44']='北美 · Linux Kernel · 美國' - ['mirrors.abroad.45']='北美 · 麻省理工學院(MIT) · 美國' - ['mirrors.abroad.46']='北美 · 普林斯頓大學數學系 · 美國' - ['mirrors.abroad.47']='北美 · 俄勒岡州立大學開源實驗室 · 美國' - ['mirrors.abroad.48']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美國' - ['mirrors.abroad.49']='北美 · xTom · 美國' - ['mirrors.abroad.50']='北美 · Steadfast · 美國' - ['mirrors.abroad.51']='北美 · 不列顛哥倫比亞大學 · 加拿大' - ['mirrors.abroad.52']='北美 · GoCodeIT · 加拿大' - ['mirrors.abroad.53']='北美 · Switch · 加拿大' - ['mirrors.abroad.54']='南美 · PoP-SC · 巴西' - ['mirrors.abroad.55']='南美 · 蓬塔格羅薩州立大學 · 巴西' - ['mirrors.abroad.56']='南美 · UFSCar · 巴西' - ['mirrors.abroad.57']='南美 · Sysarmy Community · 阿根廷' - ['mirrors.abroad.58']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亞' - ['mirrors.abroad.59']='大洋 · AARNet · 澳大利亞' - ['mirrors.abroad.60']='大洋 · DataMossa · 澳大利亞' - ['mirrors.abroad.61']='大洋 · Amaze · 澳大利亞' - ['mirrors.abroad.62']='大洋 · xTom · 澳大利亞' - ['mirrors.abroad.63']='大洋 · Over the Wire · 澳大利亞' - ['mirrors.abroad.64']='大洋 · Free Software Mirror Group · 紐西蘭' - ['mirrors.abroad.65']='非洲 · Liquid Telecom · 肯亞' - ['mirrors.abroad.66']='非洲 · Dimension Data · 南非' - ['mirrors.abroad.67']='官方源' + ['mirrors.abroad.9']='亞洲 · Taiwan Digital Streaming · 臺灣' + ['mirrors.abroad.10']='亞洲 · AniGil Linux Archive · 韓國' + ['mirrors.abroad.11']='亞洲 · 工業網路安全中心(ICSCoE) · 日本' + ['mirrors.abroad.12']='亞洲 · 北陸先端科學技術大學院大學(JAIST) · 日本' + ['mirrors.abroad.13']='亞洲 · 山形大學 · 日本' + ['mirrors.abroad.14']='亞洲 · xTom · 日本' + ['mirrors.abroad.15']='亞洲 · GB Network Solutions · 馬來西亞' + ['mirrors.abroad.16']='亞洲 · 孔敬大學 · 泰國' + ['mirrors.abroad.17']='歐洲 · Vorboss Ltd · 英國' + ['mirrors.abroad.18']='歐洲 · QuickHost · 英國' + ['mirrors.abroad.19']='歐洲 · dogado · 德國' + ['mirrors.abroad.20']='歐洲 · xTom · 德國' + ['mirrors.abroad.21']='歐洲 · 亞琛工業大學(RWTH Aachen) · 德國' + ['mirrors.abroad.22']='歐洲 · 德勒斯登大學(AG DSN) · 德國' + ['mirrors.abroad.23']='歐洲 · CCIN2P3 · 法國' + ['mirrors.abroad.24']='歐洲 · Ircam · 法國' + ['mirrors.abroad.25']='歐洲 · Crans · 法國' + ['mirrors.abroad.26']='歐洲 · CRIHAN · 法國' + ['mirrors.abroad.27']='歐洲 · xTom · 荷蘭' + ['mirrors.abroad.28']='歐洲 · DataPacket · 荷蘭' + ['mirrors.abroad.29']='歐洲 · Linux Kernel · 荷蘭' + ['mirrors.abroad.30']='歐洲 · xTom · 愛沙尼亞' + ['mirrors.abroad.31']='歐洲 · netsite · 丹麥' + ['mirrors.abroad.32']='歐洲 · Dotsrc · 丹麥' + ['mirrors.abroad.33']='歐洲 · Academic Computer Club · 瑞典' + ['mirrors.abroad.34']='歐洲 · Lysator · 瑞典' + ['mirrors.abroad.35']='歐洲 · Yandex · 俄羅斯' + ['mirrors.abroad.36']='歐洲 · ia64 · 俄羅斯' + ['mirrors.abroad.37']='歐洲 · Truenetwork · 俄羅斯' + ['mirrors.abroad.38']='歐洲 · Belgian Research Network · 比利時' + ['mirrors.abroad.39']='歐洲 · 克里特大學計算機中心 · 希臘' + ['mirrors.abroad.40']='歐洲 · 馬薩里克大學信息學院 · 捷克' + ['mirrors.abroad.41']='歐洲 · 捷克理工大學學生會俱樂部(Silicon Hill) · 捷克' + ['mirrors.abroad.42']='歐洲 · Vodafone · 捷克' + ['mirrors.abroad.43']='歐洲 · CZ.NIC · 捷克' + ['mirrors.abroad.44']='歐洲 · 蘇黎世聯邦理工學院 · 瑞士' + ['mirrors.abroad.45']='北美 · Linux Kernel · 美國' + ['mirrors.abroad.46']='北美 · 麻省理工學院(MIT) · 美國' + ['mirrors.abroad.47']='北美 · 普林斯頓大學數學系 · 美國' + ['mirrors.abroad.48']='北美 · 俄勒岡州立大學開源實驗室 · 美國' + ['mirrors.abroad.49']='北美 · Fremont Cabal Internet Exchange(FCIX) · 美國' + ['mirrors.abroad.50']='北美 · xTom · 美國' + ['mirrors.abroad.51']='北美 · Steadfast · 美國' + ['mirrors.abroad.52']='北美 · 不列顛哥倫比亞大學 · 加拿大' + ['mirrors.abroad.53']='北美 · GoCodeIT · 加拿大' + ['mirrors.abroad.54']='北美 · Switch · 加拿大' + ['mirrors.abroad.55']='南美 · PoP-SC · 巴西' + ['mirrors.abroad.56']='南美 · 蓬塔格羅薩州立大學 · 巴西' + ['mirrors.abroad.57']='南美 · UFSCar · 巴西' + ['mirrors.abroad.58']='南美 · Sysarmy Community · 阿根廷' + ['mirrors.abroad.59']='大洋 · Fremont Cabal Internet Exchange(FCIX) · 澳大利亞' + ['mirrors.abroad.60']='大洋 · AARNet · 澳大利亞' + ['mirrors.abroad.61']='大洋 · DataMossa · 澳大利亞' + ['mirrors.abroad.62']='大洋 · Amaze · 澳大利亞' + ['mirrors.abroad.63']='大洋 · xTom · 澳大利亞' + ['mirrors.abroad.64']='大洋 · Over the Wire · 澳大利亞' + ['mirrors.abroad.65']='大洋 · Free Software Mirror Group · 紐西蘭' + ['mirrors.abroad.66']='非洲 · Liquid Telecom · 肯亞' + ['mirrors.abroad.67']='非洲 · Dimension Data · 南非' + ['mirrors.abroad.68']='官方源' ) SPONSOR_ADS[0]="1Panel · 新一代的 Linux 伺服器維運管理面板 ➜ \033[3mhttps://1panel.cn\033[0m" } @@ -8311,18 +8322,20 @@ Issue Report {}' ['mirrors.default.0']='Alibaba Cloud' ['mirrors.default.1']='Tencent Cloud' ['mirrors.default.2']='Huawei Cloud' - ['mirrors.default.3']='NetEase' - ['mirrors.default.4']='Volcengine' - ['mirrors.default.5']='Tsinghua University' - ['mirrors.default.6']='Peking University' - ['mirrors.default.7']='Zhejiang University' - ['mirrors.default.8']='Nanjing University' - ['mirrors.default.9']='Lanzhou University' - ['mirrors.default.10']='Shanghai Jiao Tong University' - ['mirrors.default.11']='CQUPT' - ['mirrors.default.12']='USTC' - ['mirrors.default.13']='ISCAS' - ['mirrors.default.14']='Official Source' + ['mirrors.default.3']='China Mobile Cloud' + ['mirrors.default.4']='China Telecom Cloud' + ['mirrors.default.5']='NetEase' + ['mirrors.default.6']='Volcengine' + ['mirrors.default.7']='Tsinghua University' + ['mirrors.default.8']='Peking University' + ['mirrors.default.9']='Zhejiang University' + ['mirrors.default.10']='Nanjing University' + ['mirrors.default.11']='Lanzhou University' + ['mirrors.default.12']='Shanghai Jiao Tong University' + ['mirrors.default.13']='Chongqing University of Posts and Telecommunications' + ['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.1']='Beijing Jiaotong University' ['mirrors.edu.2']='Beijing Foreign Studies University' @@ -8363,65 +8376,66 @@ Issue Report {}' ['mirrors.abroad.6']='AS · OSS Planet · Taiwan' ['mirrors.abroad.7']='AS · National Yang Ming Chiao Tung University · Taiwan' ['mirrors.abroad.8']='AS · Tamkang University · Taiwan' - ['mirrors.abroad.9']='AS · AniGil Linux Archive · Korea' - ['mirrors.abroad.10']='AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan' - ['mirrors.abroad.11']='AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan' - ['mirrors.abroad.12']='AS · Yamagata University · Japan' - ['mirrors.abroad.13']='AS · xTom · Japan' - ['mirrors.abroad.14']='AS · GB Network Solutions · Malaysia' - ['mirrors.abroad.15']='AS · Khon Kaen University · Thailand' - ['mirrors.abroad.16']='EU · Vorboss Ltd · United Kiongdom' - ['mirrors.abroad.17']='EU · QuickHost · United Kiongdom' - ['mirrors.abroad.18']='EU · dogado · Germany' - ['mirrors.abroad.19']='EU · xTom · Germany' - ['mirrors.abroad.20']='EU · RWTH Aachen University · Germany' - ['mirrors.abroad.21']='EU · Dresden University (AG DSN) · Germany' - ['mirrors.abroad.22']='EU · CCIN2P3 · France' - ['mirrors.abroad.23']='EU · Ircam · France' - ['mirrors.abroad.24']='EU · Crans · France' - ['mirrors.abroad.25']='EU · CRIHAN · France' - ['mirrors.abroad.26']='EU · xTom · Netherlands' - ['mirrors.abroad.27']='EU · DataPacket · Netherlands' - ['mirrors.abroad.28']='EU · Linux Kernel · Netherlands' - ['mirrors.abroad.29']='EU · xTom · Estonia' - ['mirrors.abroad.30']='EU · netsite · Denmark' - ['mirrors.abroad.31']='EU · Dotsrc · Denmark' - ['mirrors.abroad.32']='EU · Academic Computer Club · Sweden' - ['mirrors.abroad.33']='EU · Lysator · Sweden' - ['mirrors.abroad.34']='EU · Yandex · Russia' - ['mirrors.abroad.35']='EU · ia64 · Russia' - ['mirrors.abroad.36']='EU · Truenetwork · Russia' - ['mirrors.abroad.37']='EU · Belgian Research Network · Belgium' - ['mirrors.abroad.38']='EU · University of Crete Computer Center · Greece' - ['mirrors.abroad.39']='EU · Masaryk University Faculty of Informatics · Czech' - ['mirrors.abroad.40']='EU · Czech Technical University Student Club (Silicon Hill) · Czech' - ['mirrors.abroad.41']='EU · Vodafone · Czech' - ['mirrors.abroad.42']='EU · CZ.NIC · Czech' - ['mirrors.abroad.43']='EU · ETH Zurich · Switzerland' - ['mirrors.abroad.44']='NA · Linux Kernel · United States' - ['mirrors.abroad.45']='NA · MIT · United States' - ['mirrors.abroad.46']='NA · Princeton University Department of Mathematics · United States' - ['mirrors.abroad.47']='NA · Oregon State University Open Source Lab · United States' - ['mirrors.abroad.48']='NA · Fremont Cabal Internet Exchange(FCIX) · United States' - ['mirrors.abroad.49']='NA · xTom · United States' - ['mirrors.abroad.50']='NA · Steadfast · United States' - ['mirrors.abroad.51']='NA · University of British Columbia · Canada' - ['mirrors.abroad.52']='NA · GoCodeIT · Canada' - ['mirrors.abroad.53']='NA · Switch · Canada' - ['mirrors.abroad.54']='SA · PoP-SC · Brazil' - ['mirrors.abroad.55']='SA · State University of Ponta Grossa · Brazil' - ['mirrors.abroad.56']='SA · UFSCar · Brazil' - ['mirrors.abroad.57']='SA · Sysarmy Community · Argentina' - ['mirrors.abroad.58']='OC · Fremont Cabal Internet Exchange(FCIX) · Australia' - ['mirrors.abroad.59']='OC · AARNet · Australia' - ['mirrors.abroad.60']='OC · DataMossa · Australia' - ['mirrors.abroad.61']='OC · Amaze · Australia' - ['mirrors.abroad.62']='OC · xTom · Australia' - ['mirrors.abroad.63']='OC · Over the Wire · Australia' - ['mirrors.abroad.64']='OC · Free Software Mirror Group · New Zealand' - ['mirrors.abroad.65']='AF · Liquid Telecom · Kenya' - ['mirrors.abroad.66']='AF · Dimension Data · South Africa' - ['mirrors.abroad.67']='Official Source' + ['mirrors.abroad.9']='AS · Taiwan Digital Streaming · Taiwan' + ['mirrors.abroad.10']='AS · AniGil Linux Archive · Korea' + ['mirrors.abroad.11']='AS · ICSCoE (Industrial Cyber Security Center of Excellence) · Japan' + ['mirrors.abroad.12']='AS · JAIST (Japan Advanced Institute of Science and Technology) · Japan' + ['mirrors.abroad.13']='AS · Yamagata University · Japan' + ['mirrors.abroad.14']='AS · xTom · Japan' + ['mirrors.abroad.15']='AS · GB Network Solutions · Malaysia' + ['mirrors.abroad.16']='AS · Khon Kaen University · Thailand' + ['mirrors.abroad.17']='EU · Vorboss Ltd · United Kiongdom' + ['mirrors.abroad.18']='EU · QuickHost · United Kiongdom' + ['mirrors.abroad.19']='EU · dogado · Germany' + ['mirrors.abroad.20']='EU · xTom · Germany' + ['mirrors.abroad.21']='EU · RWTH Aachen University · Germany' + ['mirrors.abroad.22']='EU · Dresden University (AG DSN) · Germany' + ['mirrors.abroad.23']='EU · CCIN2P3 · France' + ['mirrors.abroad.24']='EU · Ircam · France' + ['mirrors.abroad.25']='EU · Crans · France' + ['mirrors.abroad.26']='EU · CRIHAN · France' + ['mirrors.abroad.27']='EU · xTom · Netherlands' + ['mirrors.abroad.28']='EU · DataPacket · Netherlands' + ['mirrors.abroad.29']='EU · Linux Kernel · Netherlands' + ['mirrors.abroad.30']='EU · xTom · Estonia' + ['mirrors.abroad.31']='EU · netsite · Denmark' + ['mirrors.abroad.32']='EU · Dotsrc · Denmark' + ['mirrors.abroad.33']='EU · Academic Computer Club · Sweden' + ['mirrors.abroad.34']='EU · Lysator · Sweden' + ['mirrors.abroad.35']='EU · Yandex · Russia' + ['mirrors.abroad.36']='EU · ia64 · Russia' + ['mirrors.abroad.37']='EU · Truenetwork · Russia' + ['mirrors.abroad.38']='EU · Belgian Research Network · Belgium' + ['mirrors.abroad.39']='EU · University of Crete Computer Center · Greece' + ['mirrors.abroad.40']='EU · Masaryk University Faculty of Informatics · Czech' + ['mirrors.abroad.41']='EU · Czech Technical University Student Club (Silicon Hill) · Czech' + ['mirrors.abroad.42']='EU · Vodafone · Czech' + ['mirrors.abroad.43']='EU · CZ.NIC · Czech' + ['mirrors.abroad.44']='EU · ETH Zurich · Switzerland' + ['mirrors.abroad.45']='NA · Linux Kernel · United States' + ['mirrors.abroad.46']='NA · MIT · United States' + ['mirrors.abroad.47']='NA · Princeton University Department of Mathematics · United States' + ['mirrors.abroad.48']='NA · Oregon State University Open Source Lab · United States' + ['mirrors.abroad.49']='NA · Fremont Cabal Internet Exchange(FCIX) · United States' + ['mirrors.abroad.50']='NA · xTom · United States' + ['mirrors.abroad.51']='NA · Steadfast · United States' + ['mirrors.abroad.52']='NA · University of British Columbia · Canada' + ['mirrors.abroad.53']='NA · GoCodeIT · Canada' + ['mirrors.abroad.54']='NA · Switch · Canada' + ['mirrors.abroad.55']='SA · PoP-SC · Brazil' + ['mirrors.abroad.56']='SA · State University of Ponta Grossa · Brazil' + ['mirrors.abroad.57']='SA · UFSCar · Brazil' + ['mirrors.abroad.58']='SA · Sysarmy Community · Argentina' + ['mirrors.abroad.59']='OC · Fremont Cabal Internet Exchange(FCIX) · Australia' + ['mirrors.abroad.60']='OC · AARNet · Australia' + ['mirrors.abroad.61']='OC · DataMossa · Australia' + ['mirrors.abroad.62']='OC · Amaze · Australia' + ['mirrors.abroad.63']='OC · xTom · Australia' + ['mirrors.abroad.64']='OC · Over the Wire · Australia' + ['mirrors.abroad.65']='OC · Free Software Mirror Group · New Zealand' + ['mirrors.abroad.66']='AF · Liquid Telecom · Kenya' + ['mirrors.abroad.67']='AF · Dimension Data · South Africa' + ['mirrors.abroad.68']='Official Source' ) SPONSOR_ADS=( "1Panel · Top-Rated Web-based Linux Server Management Tool ➜ \033[3mhttps://1panel.cn\033[0m" diff --git a/DockerInstallation.sh b/DockerInstallation.sh index 16b579c..b21122d 100755 --- a/DockerInstallation.sh +++ b/DockerInstallation.sh @@ -1,6 +1,6 @@ #!/bin/bash ## Author: SuperManito -## Modified: 2025-10-12 +## Modified: 2025-10-14 ## License: MIT ## GitHub: https://github.com/SuperManito/LinuxMirrors ## Website: https://linuxmirrors.cn @@ -10,6 +10,7 @@ mirror_list_docker_ce=( "mirrors.aliyun.com/docker-ce" "mirrors.tencent.com/docker-ce" "mirrors.huaweicloud.com/docker-ce" + "mirrors.cmecloud.cn/docker-ce" "mirrors.163.com/docker-ce" "mirrors.volces.com/docker" "mirror.azure.cn/docker-ce" @@ -2122,18 +2123,19 @@ function msg_pack_zh_hans() { ['mirrors.dockerCE.0']='阿里云' ['mirrors.dockerCE.1']='腾讯云' ['mirrors.dockerCE.2']='华为云' - ['mirrors.dockerCE.3']='网易' - ['mirrors.dockerCE.4']='火山引擎' - ['mirrors.dockerCE.5']='微软 Azure 中国' - ['mirrors.dockerCE.6']='清华大学' - ['mirrors.dockerCE.7']='北京大学' - ['mirrors.dockerCE.8']='浙江大学' - ['mirrors.dockerCE.9']='南京大学' - ['mirrors.dockerCE.10']='上海交通大学' - ['mirrors.dockerCE.11']='重庆邮电大学' - ['mirrors.dockerCE.12']='中国科学技术大学' - ['mirrors.dockerCE.13']='中国科学院软件研究所' - ['mirrors.dockerCE.14']='官方源' + ['mirrors.dockerCE.3']='移动云' + ['mirrors.dockerCE.4']='网易' + ['mirrors.dockerCE.5']='火山引擎' + ['mirrors.dockerCE.6']='微软 Azure 中国' + ['mirrors.dockerCE.7']='清华大学' + ['mirrors.dockerCE.8']='北京大学' + ['mirrors.dockerCE.9']='浙江大学' + ['mirrors.dockerCE.10']='南京大学' + ['mirrors.dockerCE.11']='上海交通大学' + ['mirrors.dockerCE.12']='重庆邮电大学' + ['mirrors.dockerCE.13']='中国科学技术大学' + ['mirrors.dockerCE.14']='中国科学院软件研究所' + ['mirrors.dockerCE.15']='官方源' ['mirrors.registry.0']='毫秒镜像(推荐)' ['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.2']='DaoCloud 道客' @@ -2274,18 +2276,19 @@ function msg_pack_zh_hant() { ['mirrors.dockerCE.0']='阿里雲' ['mirrors.dockerCE.1']='騰訊雲' ['mirrors.dockerCE.2']='華為雲' - ['mirrors.dockerCE.3']='網易' - ['mirrors.dockerCE.4']='火山引擎' - ['mirrors.dockerCE.5']='微軟 Azure 中國' - ['mirrors.dockerCE.6']='清華大學' - ['mirrors.dockerCE.7']='北京大學' - ['mirrors.dockerCE.8']='浙江大學' - ['mirrors.dockerCE.9']='南京大學' - ['mirrors.dockerCE.10']='上海交通大學' - ['mirrors.dockerCE.11']='重慶郵電大學' - ['mirrors.dockerCE.12']='中國科學技術大學' - ['mirrors.dockerCE.13']='中國科學院軟體研究所' - ['mirrors.dockerCE.14']='官方源' + ['mirrors.dockerCE.3']='移動雲' + ['mirrors.dockerCE.4']='網易' + ['mirrors.dockerCE.5']='火山引擎' + ['mirrors.dockerCE.6']='微軟 Azure 中國' + ['mirrors.dockerCE.7']='清華大學' + ['mirrors.dockerCE.8']='北京大學' + ['mirrors.dockerCE.9']='浙江大學' + ['mirrors.dockerCE.10']='南京大學' + ['mirrors.dockerCE.11']='上海交通大學' + ['mirrors.dockerCE.12']='重慶郵電大學' + ['mirrors.dockerCE.13']='中國科學技術大學' + ['mirrors.dockerCE.14']='中國科學院軟體研究所' + ['mirrors.dockerCE.15']='官方源' ['mirrors.registry.0']='毫秒鏡像(推薦)' ['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.2']='DaoCloud 道客' @@ -2427,18 +2430,19 @@ Issue Report {}' ['mirrors.dockerCE.0']='Alibaba Cloud' ['mirrors.dockerCE.1']='Tencent Cloud' ['mirrors.dockerCE.2']='Huawei Cloud' - ['mirrors.dockerCE.3']='NetEase' - ['mirrors.dockerCE.4']='Volcengine' - ['mirrors.dockerCE.5']='Microsoft Azure China' - ['mirrors.dockerCE.6']='Tsinghua University' - ['mirrors.dockerCE.7']='Peking University' - ['mirrors.dockerCE.8']='Zhejiang University' - ['mirrors.dockerCE.9']='Nanjing University' - ['mirrors.dockerCE.10']='Shanghai Jiao Tong University' - ['mirrors.dockerCE.11']='Chongqing University of Posts and Telecommunications' - ['mirrors.dockerCE.12']='University of Science and Technology of China' - ['mirrors.dockerCE.13']='Institute of Software, Chinese Academy of Sciences' - ['mirrors.dockerCE.14']='Official Source' + ['mirrors.dockerCE.3']='China Mobile Cloud' + ['mirrors.dockerCE.4']='NetEase' + ['mirrors.dockerCE.5']='Volcengine' + ['mirrors.dockerCE.6']='Microsoft Azure China' + ['mirrors.dockerCE.7']='Tsinghua University' + ['mirrors.dockerCE.8']='Peking University' + ['mirrors.dockerCE.9']='Zhejiang University' + ['mirrors.dockerCE.10']='Nanjing University' + ['mirrors.dockerCE.11']='Shanghai Jiao Tong University' + ['mirrors.dockerCE.12']='Chongqing University of Posts and Telecommunications' + ['mirrors.dockerCE.13']='University of Science and Technology of China' + ['mirrors.dockerCE.14']='Institute of Software, Chinese Academy of Sciences' + ['mirrors.dockerCE.15']='Official Source' ['mirrors.registry.0']='Millisecond Mirror (recommended)' ['mirrors.registry.1']='Docker Proxy' ['mirrors.registry.2']='DaoCloud' diff --git a/docs/assets/images/icon/mirrors/cmecloud.svg b/docs/assets/images/icon/mirrors/cmecloud.svg new file mode 100644 index 0000000..4b5e461 --- /dev/null +++ b/docs/assets/images/icon/mirrors/cmecloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/images/icon/mirrors/ctyun.ico b/docs/assets/images/icon/mirrors/ctyun.ico new file mode 100644 index 0000000..238762b Binary files /dev/null and b/docs/assets/images/icon/mirrors/ctyun.ico differ diff --git a/docs/assets/js/common.js b/docs/assets/js/common.js index ebbfa46..704eb5f 100644 --- a/docs/assets/js/common.js +++ b/docs/assets/js/common.js @@ -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) { let timeout @@ -24,6 +28,7 @@ const ComponentSystem = { lastInitTime: 0, def: componentDef, debouncedInit: null, + app: null, } // 创建组件初始化函数 const initFunc = function () { @@ -49,6 +54,14 @@ const ComponentSystem = { component.isInitializing = true component.lastInitTime = now try { + if (component.app && typeof component.app.unmount === 'function') { + try { + component.app.unmount() + } catch (err) { + console.error('ComponentSystem: unmount previous app error', err) + } + component.app = null + } // 清空容器内容,防止重复初始化 while (component.instance.firstChild) { component.instance.removeChild(component.instance.firstChild) @@ -65,17 +78,19 @@ const ComponentSystem = { App.use(TDesign.default) // 挂载应用 App.mount(component.instance) + // 保存 app 引用以便后续卸载 + component.app = App // console.log(`组件 ${componentId} 初始化成功`) // 标记组件已初始化 component.instance.setAttribute('data-initialized', 'true') // 立即更新主题 updateTDesignGlobalTheme() - } else if (typeof Vue !== 'undefined') { + } else if (typeof Vue !== 'undefined') { console.error('Vue 未找到') const errorDiv = document.createElement('div') errorDiv.innerHTML = `

组件 ${componentId} 加载失败,请检查 Vue 是否存在!

` component.instance.appendChild(errorDiv) - } else if (typeof TDesign !== 'undefined') { + } else if (typeof TDesign !== 'undefined') { console.error('TDesign UI 未找到') const errorDiv = document.createElement('div') errorDiv.innerHTML = `

组件 ${componentId} 加载失败,请检查 TDesign UI 是否存在!

` @@ -107,6 +122,14 @@ const ComponentSystem = { if (component) { component.instance = document.getElementById(componentId) if (component.instance) { + if (component.app && typeof component.app.unmount === 'function') { + try { + component.app.unmount() + } catch (err) { + console.error('ComponentSystem: unmount on reinitialize error', err) + } + component.app = null + } component.instance.removeAttribute('data-initialized') setTimeout(component.debouncedInit, 300) } diff --git a/docs/assets/js/components/mirrors-table/data.js b/docs/assets/js/components/mirrors-table/data.js index 21158ae..4880078 100644 --- a/docs/assets/js/components/mirrors-table/data.js +++ b/docs/assets/js/components/mirrors-table/data.js @@ -1,381 +1,531 @@ // 表格数据 const mirrorsTableData = [ { - name: window.location.pathname.includes('/zh-Hant') ? '阿里雲' : window.location.pathname.includes('/en') ? 'Alibaba Cloud' : '阿里云', - officialName: window.location.pathname.includes('/zh-Hant') ? '阿里巴巴開源鏡像站' : window.location.pathname.includes('/en') ? 'Alibaba Cloud Open Source Mirror' : '阿里巴巴开源镜像站', + name: __isZhHant ? '阿里雲' : __isEn ? 'Alibaba Cloud' : '阿里云', + officialName: __isZhHant ? '阿里巴巴開源鏡像站' : __isEn ? 'Alibaba Cloud Open Source Mirror' : '阿里巴巴开源镜像站', icon: 'alibabacloud.svg', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.aliyun.com', domain: 'mirrors.aliyun.com', ipv6: false, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: 'incompatible', + rocky: 'incompatible', almalinux: true, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: true, openkylin: true, - alpinelinux: true, + alpine: true, armbian: true, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: true, + nix_channels: false, + raspberrypi: true, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '騰訊雲' : window.location.pathname.includes('/en') ? 'Tencent Cloud' : '腾讯云', - officialName: window.location.pathname.includes('/zh-Hant') ? '騰訊軟體源' : window.location.pathname.includes('/en') ? 'Tencent Software Repository' : '腾讯软件源', + name: __isZhHant ? '騰訊雲' : __isEn ? 'Tencent Cloud' : '腾讯云', + officialName: __isZhHant ? '騰訊軟體源' : __isEn ? 'Tencent Software Repository' : '腾讯软件源', icon: 'tencentcloud.ico', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://mirrors.tencent.com', domain: 'mirrors.tencent.com', ipv6: false, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: false, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: true, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: true, + alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: false, }, { - name: window.location.pathname.includes('/zh-Hant') ? '華為雲' : window.location.pathname.includes('/en') ? 'Huawei Cloud' : '华为云', - officialName: window.location.pathname.includes('/zh-Hant') ? '華為開源鏡像站' : window.location.pathname.includes('/en') ? 'Huawei Open Source Mirror' : '华为开源镜像站', + name: __isZhHant ? '華為雲' : __isEn ? 'Huawei Cloud' : '华为云', + officialName: __isZhHant ? '華為開源鏡像站' : __isEn ? 'Huawei Open Source Mirror' : '华为开源镜像站', icon: 'huaweicloud.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirrors.huaweicloud.com', domain: 'mirrors.huaweicloud.com', ipv6: false, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: 'incompatible', + rocky: 'incompatible', almalinux: true, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: true, + alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '網易' : window.location.pathname.includes('/en') ? 'NetEase' : '网易', - officialName: window.location.pathname.includes('/zh-Hant') ? '網易開源鏡像站' : window.location.pathname.includes('/en') ? 'NetEase Open Source Mirror' : '网易开源镜像站', + name: __isZhHant ? '移動雲' : __isEn ? 'China Mobile Cloud' : '移动云 ', + 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', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirrors.163.com', domain: 'mirrors.163.com', ipv6: false, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: false, + kali: false, deepin: true, - rockylinux: true, + rocky: true, almalinux: false, epel: false, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: true, - alpinelinux: false, + alpine: false, armbian: false, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: false, }, { - name: window.location.pathname.includes('/zh-Hant') ? '火山引擎' : window.location.pathname.includes('/en') ? 'Volcengine' : '火山引擎', - officialName: window.location.pathname.includes('/zh-Hant') ? '火山引擎開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Volcengine Open Source Software Mirror' : '火山引擎开源软件镜像站', + name: __isZhHant ? '火山引擎' : __isEn ? 'Volcengine' : '火山引擎', + officialName: __isZhHant ? '火山引擎開源軟體鏡像站' : __isEn ? 'Volcengine Open Source Software Mirror' : '火山引擎开源软件镜像站', icon: 'volcengine.svg', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://developer.volcengine.com/mirror', domain: 'mirrors.volces.com', ipv6: false, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: false, - kalilinux: true, + kali: true, deepin: true, - rockylinux: 'incompatible', + rocky: 'incompatible', almalinux: true, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: true, + alpine: true, armbian: false, proxmox: false, linuxmint: false, gentoo: false, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: false, }, { - name: window.location.pathname.includes('/zh-Hant') ? '清華大學' : window.location.pathname.includes('/en') ? 'Tsinghua University' : '清华大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '清華大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Tsinghua University Open Source Mirror' : '清华大学开源软件镜像站', + name: __isZhHant ? '清華大學' : __isEn ? 'Tsinghua University' : '清华大学', + officialName: __isZhHant ? '清華大學開源軟體鏡像站' : __isEn ? 'Tsinghua University Open Source Mirror' : '清华大学开源软件镜像站', icon: 'tsinghua.png', iconStyle: { verticalAlign: '-0.3em' }, url: 'https://mirrors.tuna.tsinghua.edu.cn', domain: 'mirrors.tuna.tsinghua.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: false, + rocky: false, almalinux: false, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: true, + alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, - nix: true, - raspberry: true, + nix_channels: true, + raspberrypi: true, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '北京大學' : window.location.pathname.includes('/en') ? 'Peking University' : '北京大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '北京大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Peking University Open Source Mirror' : '北京大学开源镜像站', + name: __isZhHant ? '北京大學' : __isEn ? 'Peking University' : '北京大学', + officialName: __isZhHant ? '北京大學開源鏡像站' : __isEn ? 'Peking University Open Source Mirror' : '北京大学开源镜像站', icon: 'pku.ico', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.pku.edu.cn/Mirrors', domain: 'mirrors.pku.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: false, + kali: false, deepin: false, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: false, opencloudos: false, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: false, + alpine: false, armbian: false, proxmox: false, linuxmint: false, gentoo: false, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '浙江大學' : window.location.pathname.includes('/en') ? 'Zhejiang University' : '浙江大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '浙江大學鏡像站' : window.location.pathname.includes('/en') ? 'Zhejiang University Mirror Site' : '浙江大学镜像站', + name: __isZhHant ? '浙江大學' : __isEn ? 'Zhejiang University' : '浙江大学', + officialName: __isZhHant ? '浙江大學鏡像站' : __isEn ? 'Zhejiang University Mirror Site' : '浙江大学镜像站', icon: 'zju.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirrors.zju.edu.cn', domain: 'mirrors.zju.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: true, openkylin: false, - alpinelinux: true, + alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '南京大學' : window.location.pathname.includes('/en') ? 'Nanjing University' : '南京大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '南京大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Nanjing University Open Source Mirror' : '南京大学开源镜像站', + name: __isZhHant ? '南京大學' : __isEn ? 'Nanjing University' : '南京大学', + officialName: __isZhHant ? '南京大學開源鏡像站' : __isEn ? 'Nanjing University Open Source Mirror' : '南京大学开源镜像站', icon: 'nju.ico', iconStyle: { verticalAlign: '-0.3em' }, url: 'https://mirrors.nju.edu.cn', domain: 'mirrors.nju.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: true, + openeuler: true, anolis: true, openkylin: true, - alpinelinux: true, + alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, - nix: true, - raspberry: true, + nix_channels: true, + raspberrypi: true, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '蘭州大學' : window.location.pathname.includes('/en') ? 'Lanzhou University' : '兰州大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '蘭州大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Lanzhou University Open Source Software Mirror' : '兰州大学开源软件镜像站', + name: __isZhHant ? '蘭州大學' : __isEn ? 'Lanzhou University' : '兰州大学', + officialName: __isZhHant ? '蘭州大學開源軟體鏡像站' : __isEn ? 'Lanzhou University Open Source Software Mirror' : '兰州大学开源软件镜像站', icon: 'lzu.png', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://mirror.lzu.edu.cn', domain: 'mirror.lzu.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: true, - alpinelinux: true, + alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: false, + nix_channels: false, + raspberrypi: false, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '上海交通大學' : window.location.pathname.includes('/en') ? 'Shanghai Jiao Tong University' : '上海交通大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '上海交通大學思源鏡像站' : window.location.pathname.includes('/en') ? 'Shanghai Jiao Tong University Siyuan Mirror' : '上海交通大学思源镜像站', + name: __isZhHant ? '上海交通大學' : __isEn ? 'Shanghai Jiao Tong University' : '上海交通大学', + officialName: __isZhHant ? '上海交通大學思源鏡像站' : __isEn ? 'Shanghai Jiao Tong University Siyuan Mirror' : '上海交通大学思源镜像站', icon: 'sjtu.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirror.sjtu.edu.cn', domain: 'mirror.sjtu.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: 'incompatible', opencloudos: true, + openeuler: true, anolis: false, openkylin: true, - alpinelinux: true, + alpine: true, armbian: true, proxmox: false, linuxmint: true, gentoo: true, - nix: false, - raspberry: true, + nix_channels: false, + raspberrypi: true, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '重慶郵電大學' : window.location.pathname.includes('/en') ? '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' : '重庆邮电大学开源镜像站', + name: __isZhHant ? '重慶郵電大學' : __isEn ? 'Chongqing University of Posts and Telecommunications' : '重庆邮电大学', + officialName: __isZhHant ? '重慶郵電大學開源鏡像站' : __isEn ? 'Chongqing University of Posts and Telecommunications Open Source Mirror' : '重庆邮电大学开源镜像站', icon: 'cqupt.ico', iconStyle: {}, url: 'https://mirrors.cqupt.edu.cn', domain: 'mirrors.cqupt.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: false, + rocky: false, almalinux: true, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: true, + alpine: true, armbian: true, proxmox: true, linuxmint: false, gentoo: false, - nix: true, - raspberry: true, + nix_channels: true, + raspberrypi: true, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '中國科學技術大學' : window.location.pathname.includes('/en') ? 'University of Science and Technology of China' : '中国科学技术大学', - officialName: window.location.pathname.includes('/zh-Hant') ? '中國科學技術大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'USTC Open Source Software Mirror' : '中国科学技术大学开源软件镜像站', + name: __isZhHant ? '中國科學技術大學' : __isEn ? 'University of Science and Technology of China' : '中国科学技术大学', + officialName: __isZhHant ? '中國科學技術大學開源軟體鏡像站' : __isEn ? 'University of Science and Technology of China Open Source Software Mirror' : '中国科学技术大学开源软件镜像站', icon: 'ustc.png', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.ustc.edu.cn', domain: 'mirrors.ustc.edu.cn', ipv6: true, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: true, + rocky: true, almalinux: false, epel: true, fedora: true, opencloudos: false, + openeuler: true, anolis: false, openkylin: false, - alpinelinux: true, + alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, - nix: true, - raspberry: true, + nix_channels: true, + raspberrypi: true, manjaro: true, }, { - name: window.location.pathname.includes('/zh-Hant') ? '中國科學院軟體研究所' : window.location.pathname.includes('/en') ? '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 开源镜像站', + name: __isZhHant ? '中國科學院軟體研究所' : __isEn ? 'Institute of Software, Chinese Academy of Sciences (ISCAS)' : '中国科学院软件研究所', + officialName: __isZhHant ? 'ISCAS 開源鏡像站' : __isEn ? 'ISCAS Open Source Mirror' : 'ISCAS 开源镜像站', icon: 'iscas.png', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://mirror.iscas.ac.cn', domain: 'mirror.iscas.ac.cn', ipv6: false, + debian: true, + ubuntu: true, + centos: true, + centos_stream: true, + opensuse: true, archlinux: true, - kalilinux: true, + kali: true, deepin: true, - rockylinux: true, + rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: true, + openeuler: true, anolis: false, openkylin: true, - alpinelinux: true, + alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, - nix: true, - raspberry: true, + nix_channels: true, + raspberrypi: true, manjaro: true, }, ] @@ -384,7 +534,7 @@ const mirrorsTableData = [ const mirrorsTableColumns = [ { colKey: 'name', - title: window.location.pathname.includes('/zh-Hant') ? '鏡像站' : window.location.pathname.includes('/en') ? 'Mirror Site' : '镜像站', + title: __isZhHant ? '鏡像站' : __isEn ? 'Mirror Site' : '镜像站', align: 'left', width: '180', fixed: 'left', @@ -400,7 +550,37 @@ const mirrorsTableColumns = [ title: 'EPEL', align: 'center', 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', @@ -415,7 +595,7 @@ const mirrorsTableColumns = [ width: '100', }, { - colKey: 'kalilinux', + colKey: 'kali', title: 'Kali Linux', align: 'center', width: '110', @@ -433,7 +613,7 @@ const mirrorsTableColumns = [ width: '90', }, { - colKey: 'raspberry', + colKey: 'raspberrypi', title: 'Raspberry Pi OS', align: 'center', width: '150', @@ -457,7 +637,7 @@ const mirrorsTableColumns = [ width: '90', }, { - colKey: 'rockylinux', + colKey: 'rocky', title: 'Rocky Linux', align: 'center', width: '120', @@ -474,6 +654,12 @@ const mirrorsTableColumns = [ align: 'center', width: '140', }, + // { + // colKey: 'openeuler', + // title: 'openEuler', + // align: 'center', + // width: '110', + // }, { colKey: 'anolis', title: 'Anolis OS', @@ -487,7 +673,7 @@ const mirrorsTableColumns = [ width: '110', }, { - colKey: 'alpinelinux', + colKey: 'alpine', title: 'Alpine Linux', align: 'center', width: '130', @@ -499,31 +685,197 @@ const mirrorsTableColumns = [ width: '90', }, { - colKey: 'nix', + colKey: 'nix_channels', title: 'NixOS', align: 'center', width: '80', }, ].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)) { - item.sortType = 'all' - item.sorter = (a, b) => { - const getValue = (row) => { - if (typeof row[item.colKey] === 'boolean') { - return row[item.colKey] ? 0 : 1 + 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)) { + const labelSupported = __isZhHant ? '支持' : __isEn ? 'Supported' : '支持' + const labelUnsupported = __isZhHant ? '不支持' : __isEn ? 'Unsupported' : '不支持' + const labelIncompatible = __isZhHant ? '不兼容' : __isEn ? 'Incompatible' : '不兼容' + item.filter = { + 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 }) -const mirrorsTableConfig = { - sortAscendingOperationText: window.location.pathname.includes('/zh-Hant') ? '点击升序' : window.location.pathname.includes('/en') ? 'click to sort ascending' : '点击升序', - 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' : '点击降序', -} +const mirrorsTableFilterSelectOptions = [ + { label: __isZhHant ? '全選' : __isEn ? 'Select All' : '全选', checkAll: true }, + { + 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.svg', + }, + { + 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', + }, + ], + }, +] diff --git a/docs/assets/js/components/mirrors-table/index.js b/docs/assets/js/components/mirrors-table/index.js index cb37c29..b97efd0 100644 --- a/docs/assets/js/components/mirrors-table/index.js +++ b/docs/assets/js/components/mirrors-table/index.js @@ -1,71 +1,385 @@ ComponentSystem.register('mirrors-table', { template: ` -
- - -