Add sources prepare for Debian

This commit is contained in:
Aoran Zeng 2025-07-11 19:43:39 +08:00
parent 6e2b33269a
commit 6e40cfe238
No known key found for this signature in database
GPG Key ID: 8F8BA8488E10ED98
3 changed files with 67 additions and 13 deletions

View File

@ -818,6 +818,42 @@ measure_speed_for_every_source (Source_t sources[], int size, double speed_recor
/**
* @brief
*
* target Source_t speed_url
*
* 使: url speed_url
*
* @note recipe 使 <category>_<target>_sources_prepare()
*/
#define chsrc_sources_prepare_speedurl_with_postfix(target,str) sources_prepare_speedurl_with_postfix(target##_sources, target##_sources_n, str)
static void
sources_prepare_speedurl_with_postfix (Source_t sources[], int n, char *postfix)
{
for (int i=0; i<n; i++)
{
Source_t *src = &sources[i];
ProviderType_t type = src->provider->type;
if (IS_DedicatedMirrorSite==type || IS_UpstreamProvider==type)
{
/* 这两个不用填因为定义这二者的时候如果给了整体测速URL则就是ACCURATE的我们直接会DelegateTo那里 */
continue;
}
if (src->url)
{
/* 为空时才修改 或者里面是脏数据 */
if (NULL==src->speed_measure_url || !is_url(src->speed_measure_url))
src->speed_measure_url = xy_2strjoin (src->url, postfix);
}
}
}
/**
*
*/

View File

@ -92,6 +92,8 @@ Source_t;
#define DelegateToMirror NULL
/* 看到该注释的贡献者,你可以帮忙寻找专用测速链接 */
#define NeedContribute NULL
/* 由 _sources_prepare 填充 */
#define FeedBySourcesPrepare NULL
#define def_sources_n(t) const size_t t##_sources_n = xy_arylen(t##_sources)

View File

@ -8,9 +8,11 @@
* |
* Created On : <2023-09-02>
* Major Revision : 3
* Last Modified : <2025-06-16>
* Last Modified : <2025-07-11>
* ------------------------------------------------------------*/
#define OS_Debian_Speed_URL_Postfix "/dists/bookworm/main/Contents-all.gz"
static SourceProvider_t os_debian_upstream =
{
def_upstream, "https://ftp.debian.org/debian/",
@ -19,25 +21,39 @@ static SourceProvider_t os_debian_upstream =
/**
* @update 2024-11-21
* @update 2025-07-11
*/
static Source_t os_debian_sources[] =
{
{&os_debian_upstream, "http://deb.debian.org/debian"},
{&MirrorZ, "https://mirrors.cernet.edu.cn/debian/"},
{&Ali, "https://mirrors.aliyun.com/debian"},
{&Volcengine, "https://mirrors.volces.com/debian"},
{&Bfsu, "https://mirrors.bfsu.edu.cn/debian"},
{&Ustc, "https://mirrors.ustc.edu.cn/debian"},
{&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/debian"},
{&Tencent, "https://mirrors.tencent.com/debian"},
// {&Tencent_Intra, "https://mirrors.tencentyun.com/debian"},
// {&Netease, "https://mirrors.163.com/debian"}, /* 不启用原因:过慢 */
// {&Sohu, "https://mirrors.sohu.com/debian"} /* 不启用原因:过慢 */
{&os_debian_upstream, "http://deb.debian.org/debian", DelegateToUpstream},
/* MirrorZ 的速度这么测也是可以的 */
{&MirrorZ, "https://mirrors.cernet.edu.cn/debian/", FeedBySourcesPrepare },
{&Ali, "https://mirrors.aliyun.com/debian", FeedBySourcesPrepare},
{&Volcengine, "https://mirrors.volces.com/debian", FeedBySourcesPrepare},
{&Bfsu, "https://mirrors.bfsu.edu.cn/debian", FeedBySourcesPrepare},
{&Ustc, "https://mirrors.ustc.edu.cn/debian", FeedBySourcesPrepare},
{&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/debian", FeedBySourcesPrepare},
{&Tencent, "https://mirrors.tencent.com/debian", FeedBySourcesPrepare},
// {&Tencent_Intra, "https://mirrors.tencentyun.com/debian", FeedBySourcesPrepare},
/* 不启用原因:过慢 */
// {&Netease, "https://mirrors.163.com/debian", FeedBySourcesPrepare},
/* 不启用原因:过慢 */
// {&Sohu, "https://mirrors.sohu.com/debian", FeedBySourcesPrepare}
};
def_sources_n(os_debian);
void
os_debian_sources_prepare ()
{
chsrc_sources_prepare_speedurl_with_postfix (os_debian, OS_Debian_Speed_URL_Postfix);
}
void
os_debian_getsrc (char *option)
{