迫于访问 gayhub 速度太慢,下载代码要几十分钟,就想搞一个自动检测最快 ip,然后及时修改 hosts 文件的脚本,问题来了,我该怎么判断哪个 ip 是访问最快的 ip 呢,是判断 ttl 值么还是有其他的策略。( ps:小弟在学习 python 中,有很多好用的包不知道,如果有好用的包,希望大佬顺手推荐个)
1
goodryb 2020-09-30 16:50:34 +08:00
挂个代理最快了
|
2
masker 2020-09-30 16:53:24 +08:00 via Android
挂代理这么难吗。买一个代理很贵吗
|
3
DogBear 2020-09-30 16:56:04 +08:00
再多 ip 也都差不多,不如挂个代理
|
4
wxy1991 OP @masker 我在学 python 呢,就是想上手练习个小项目,兄弟别戾气这么大,如果写完效果好的话我会在 v2 分享出来的
|
5
wafm 2020-09-30 16:57:38 +08:00
延迟低不一定速率就快的,
如果你非要根据 PING 来,这个也好写啊,获取到多个 IP 之后你就批量 PING 一下取最小值,写入你的 HOSTS 就好了 |
6
wxy1991 OP @wafm 嗯,我试一下这个方案,先取 ttl 最小的前 20 个 ip,然后再批量 ping 一下,取 ttl 和 ping 结果都比较小的 ip 试试
|
7
zictos 2020-09-30 17:07:15 +08:00
ping,然后取延时最小的,丢包(超时)最少的。
也可以找一个文件专门用于测试下载速度 |
9
Jacky23333 2020-09-30 17:11:52 +08:00 via Android
@wxy1991 难道不是应该取 ttl 大的吗
|
10
Atukey 2020-09-30 17:12:49 +08:00
家里用的 AdGuard Home,开启了查询所有 DNS 服务器并返回所有响应中速度最快的 IP 地址,明确的告诉你,效果微乎其微 @@@@
|
11
reus 2020-09-30 17:19:36 +08:00 via Android
都连接,看哪个最先连上,就用哪个,其他的关掉
|
12
wxy1991 OP @zhybzc
@masker @Jacky23333 @Atukey 我用站长工具先大概测试了一下,取 ttl 和 ping 最小的 ip,速度从 20k-200k 左右,算是巨量的提升,但是效果不稳定,最大 500k,最小 60k,我还是就当练手小项目吧 |
13
maojy1989 2020-09-30 17:32:48 +08:00
@wxy1991 #12 TTL 是 IP 数据包在计算机网络中可以转发的最大跳数。TTL 字段由 IP 数据包的发送者设置,在 IP 数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个 TTL 字段值,具体的做法是把该 TTL 的值减 1,然后再将 IP 包转发出去。如果在 IP 包到达目的 IP 之前,TTL 减少为 0,路由器将会丢弃收到的 TTL=0 的 IP 包并向 IP 包的发送者发送 ICMP time exceeded 消息。
TTL 的主要作用是避免 IP 包在网络中的无限循环和收发,节省了网络资源,并能使 IP 包的发送者能收到告警消息。 TTL 不是越小越好 |
14
forgottencoast 2020-09-30 17:35:38 +08:00
就算你改了 hosts 的 IP,还要确保应用会及时更新 IP,因为很多应用都会缓存自己的 DNS 解释到的 IP 。
|
15
learningman 2020-09-30 17:50:49 +08:00
@wxy1991 smartdns adgurad
都是成熟方案,早就有人想过了 |
16
pmispig 2020-09-30 17:53:21 +08:00
找个固定 repo 的压缩包,轮流下载,哪个最快用哪个,ping 没什么卵用
|
17
heiheidewo 2020-09-30 18:50:00 +08:00 1
有这个时间去把妹不香么
|
18
lxk11153 2020-09-30 19:01:34 +08:00
这个吗?一文入门 DNS ?从访问 GitHub 开始
https://cloud.tencent.com/developer/article/1671005 |
19
sunulin 2020-09-30 19:10:41 +08:00 via Android
之前也是探测 ip 用。,费了半天劲,几乎没什么效果。上代理吧
|
20
ungrown 2020-09-30 20:18:37 +08:00
GitHub 没有对大陆友好的节点
老老实实挂代理 |
21
Maskeney 2020-09-30 20:41:29 +08:00
放心吧 没用 因为 GitHub 访问慢并不是取决于你用哪个 IP
|
22
cz5424 2020-09-30 21:13:21 +08:00 via iPhone
换个代理最快[狗头]
|
23
shynome 2020-09-30 22:17:58 +08:00 via Android
我挂代理的话 100M 联通宽带可以跑到 3M/s,最高的话能有 5M/s
所以还是挂代理最好了 |
24
oneoyn 2020-09-30 22:31:11 +08:00
阿里云轻量 服务器 香港的 24 一月 买了搭建 扶梯 不香吗 30M 呢 https://www.aliyun.com/activity?userCode=gr9dyqjt
|
25
ysc3839 2020-10-01 02:25:43 +08:00 via Android
没办法预先判断,延迟以及 TTL 和带宽没有强相关的关系,只能靠实际传输时统计知道快不快。
而且 GitHub 那几个服务器好像都很慢,你挑了最快的也不能节约时间。 |
26
zzw1998 2020-10-01 02:46:06 +08:00
AdGuard Home 或者 smartdns 就可以实现,不过还是不如挂梯子一劳永逸
|
27
natashahollyz 2020-10-01 08:20:47 +08:00
三五块钱一个月的代理多的是,人别没事折腾自己
|
28
Mindjet 2020-10-01 08:24:01 +08:00
SmartDNS ?
不太懂,只是想到了随口说句 |
30
ericls 2020-10-01 11:36:47 +08:00
|
31
eudore 2020-10-01 13:47:16 +08:00
挂代理吧 一年才 100 块 简单省事,轻松 10M/s,你是经常下小电影还是经常下片呢?不然流量准是够用的。
24 楼说的 24/月这价真贵,还要自己出人工去修,遇上二回时就很可能要凉,而且是个推广连接,地址参数里面有个 userCode 。 |
32
imdong 2020-10-01 14:12:50 +08:00
一通操作猛如虎,一看下载二点五。
|
33
siweipancc 2020-10-01 15:13:00 +08:00 via iPhone
@maojy1989 妈耶,又复习了一个计算机网络知识:D
|
34
clf 2020-10-01 19:08:20 +08:00
@Atukey 我使用 AdGuard 会影响网速(杭州,中国电信),原本下载能够达到 100Mbps 的下载链接最后只有 30Mbps,不知道什么情况
|
35
cheng6563 2020-10-01 21:49:10 +08:00 via Android
随便找个项目的 release 包,几 m 大小的,然后直接下载测试。ping 什么的都没软用的,我挂的欧洲梯,常年 400 多延迟但就是又快又稳
|
36
tadtung 2020-10-02 10:10:52 +08:00 via Android
这个很简单,你自己写个简单的测速脚本就行。
其中 ping 值占的权重很小,丢包率更重要,最主要还是要看文件本地下载速度,权重根据你需要自己定。github 目前使用的 ip 段,你大概有收集,那动手就行。 我们大多使用 cloudflare 自选 ip 。加速网站或者是 v2ray 之类。 github 自选 ip 用处不大。国内出口带宽和网络情况如此。而且你如果没有固定 ip,每次往往换 ip 你也需要重新测速。 |
37
SenLief 2020-10-02 11:42:35 +08:00
没有用得,如果确实访问不到,不如用 cf 得 worker 吧。至少可以访问。
|
38
wazon 2020-10-02 13:12:52 +08:00
真正的优选,延迟、丢包、速率缺一不可(皆为 TCP )
|