Change to npmmirror and use a new url for cesu [Gitee close #I7ZC7R]

This commit is contained in:
Aoran Zeng 2023-09-09 16:49:06 +08:00
parent 3a28d8e7b7
commit 25fa229852
2 changed files with 50 additions and 31 deletions

47
chsrc.c
View File

@ -1,16 +1,16 @@
/* --------------------------------------------------------------
* File : chsrc.c
* License : GPLv3
* Authors : Aoran Zeng <ccmywish@qq.com>
* Created on : <2023-08-28>
* Last modified : <2023-09-08>
*
* chsrc:
*
* Change Source
*
* GPLv3 LICENSE.txt
* -------------------------------------------------------------*/
/** ------------------------------------------------------------
* File : chsrc.c
* License : GPLv3
* Authors : Aoran Zeng <ccmywish@qq.com>
* Created on : <2023-08-28>
* Last modified : <2023-09-09>
*
* chsrc:
*
* Change Source
*
* GPLv3 LICENSE.txt
* ------------------------------------------------------------*/
#include "chsrc.h"
@ -92,6 +92,9 @@ does_the_input_mirror_exist (source_info* sources, size_t size, char* target, ch
return idx;
}
/**
* oh-my-mirrorz.py(@ccmywish)C语言
*/
char*
to_human_readable_speed (double speed)
{
@ -118,16 +121,28 @@ to_human_readable_speed (double speed)
/**
* https://github.com/mirrorz-org/oh-my-mirrorz/blob/master/oh-my-mirrorz.py
* C语言
* (@ccmywish)C语言
*
* @return -1
*/
double
test_speed_url (const char* url)
{
char* time_sec = "6";
/* 现在我们切换至跳转后的链接来测速,不再使用下述判断
if (xy_str_start_with(url, "https://registry.npmmirror"))
{
// 这里 npmmirror 跳转非常慢需要1~3秒所以我们给它留够至少8秒测速时间否则非常不准
time_sec = "10";
}
*/
// 我们用 —L因为Ruby China源会跳转到其他地方
char* curl_cmd = xy_strjoin(4, "curl -qsL -o ", xy_os_devnull, " -w \"%{http_code} %{speed_download}\" -m6 -A chsrc/" Chsrc_Version
" ", url);
// npmmirror 也会跳转
char* curl_cmd = xy_strjoin(6, "curl -qsL -o ", xy_os_devnull,
" -w \"%{http_code} %{speed_download}\" -m", time_sec ,
" -A chsrc/" Chsrc_Version " ", url);
// xy_info (xy_2strjoin("chsrc: 测速 ", url));

34
chsrc.h
View File

@ -1,14 +1,14 @@
/* --------------------------------------------------------------
* File : chsrc.h
* License : GPLv3
* Authors : Aoran Zeng <ccmywish@qq.com>
* Created on : <2023-08-29>
* Last modified : <2023-09-05>
*
* chsrc:
*
* chsrc.c
* -------------------------------------------------------------*/
/** ------------------------------------------------------------
* File : chsrc.h
* License : GPLv3
* Authors : Aoran Zeng <ccmywish@qq.com>
* Created on : <2023-08-29>
* Last modified : <2023-09-09>
*
* chsrc:
*
* chsrc.c
* ------------------------------------------------------------*/
#include "xy.h"
@ -95,7 +95,11 @@ mirror_info
RubyChina = {"rubychina", "RubyChina", "Ruby China 社区", "https://gems.ruby-china.com/",
"https://gems.ruby-china.com/rubygems/gems/nokogiri-1.15.0-java.gem"}, // 9.9 MB
GoProxyCN = {"goproxy.cn", "Goproxy.cn", "七牛云 Goproxy.cn", "https://goproxy.cn/",
NpmMirror = {"npmmirror", "npmmirror", "npmmirror (阿里云赞助)", "https://npmmirror.com/",
// 注意,这个是跳转后的地址,不确定未来会不会改变
"https://cdn.npmmirror.com/packages/%40tensorflow/tfjs/4.10.0/tfjs-4.10.0.tgz"}, // 29MB
GoProxyCN = {"goproxy.cn", "Goproxy.cn", "Goproxy.cn (七牛云赞助)", "https://goproxy.cn/",
"https://goproxy.cn/github.com/aws/aws-sdk-go/@v/v1.45.2.zip"}, // 30 MB
GoProxyIO = {"goproxy.io", "GOPROXY.IO", "GOPROXY.IO", "https://goproxy.io/",
@ -108,7 +112,7 @@ mirror_info*
available_mirrors[] = {
&MirrorZ, &Tuna, &Sjtug_Zhiyuan, &Zju, &Lzuoss, &Jlu, &Bfsu, &Pku, &Bjtu, &Sustech, &Ustc, &Nju, // &Cqu,
&Ali, &Tencent, &Netease, &Sohu,
&RubyChina, &GoProxyCN, &GoProxyIO
&RubyChina, &NpmMirror, &GoProxyCN, &GoProxyIO
// 暂不支持 &NugetOrg
};
@ -161,14 +165,14 @@ pl_python_sources[] = {
/**
* 2023-08-30
* 2023-09-09
*
* Sjtug, Tuna, Lzuoss, Jlu, Bfsu,
*
* @note npm的名
*/
pl_nodejs_sources[] = {
{&Ali, "https://registry.npmmirror.com"},
{&NpmMirror, "https://registry.npmmirror.com"},
{&Zju, "https://mirrors.zju.edu.cn/docs/npm/"}
},