Code Monkey home page Code Monkey logo

better-cloudflare-ip's Introduction

better-cloudflare-ip

查找适合自己当前网络环境的优选Cloudflare Anycast IP

旧版本即将停止服务,后续版本如果没有明显BUG也不再更新!

使用申明

本项目侧重于研究任播技术中丢包率与网速的相互关系,仅供学习使用

禁止使用范围准则如下

a) 相关机构提示网页有威胁的,有非法信息提示的网站。

b)医院类型网站(流产,皮肤病,性病等医院),未获得卫生部资质的网站。

c)网站主体内容含有色情(视频交友,一夜情交友)、违法(办假证,贩卖仿真枪)、封建迷信、游戏私服、游戏外挂、网赚、两性、美女贴图和动漫贴图(尺度过大)、赌博(含贩卖赌博工具。)、博彩等内容。

d)网站存在恶意流氓广告(存在非法内容视频链接,非法网页内容链接)。

e)网站存在任何破坏或试图破坏网络安全的行为,以病毒、木马、恶意代码、钓鱼等方式,试图对网站、网络相关软硬件进行恶意扫描、非法侵入系统、非法获取数据等内容。

f)网站内容存在版权风险的网站(视频,小说,音乐等网站)。

g)网站含有药品销售、保健品销售,但未取得资质的,或严重夸大药效事实。

h)网站主要业务为向非法网站提供支付、交易平台、担保,代理外国金融理财(炒股,炒现货,炒黄金)等服务的网站。

i)网站中大量存在影响社会和谐稳定的内容的网站(涉嫌攻击国家,攻击领导人,攻击人民,言论煽动性质网站)。

j)网站内容含有国家相关法律法规不允许的其他内容。

k)网站内容含有VPN,网络代理等内容。

l) 通过技术手段或非技术手段干扰Cloudflare所有产品正常运营的网站。

m)网站内容为发布虚假不实消息行为,或侵害了他人的合法权益行为的网站。

n) 获取网站内容需要通过登录等方式,无法直接查看造成内容无法审核的网站。

o) 提供影视、软件和应用等下载服务的网站。

用户数据安全声明

此版本不需要用户上传任何数据到服务器,服务器仅提供IP地址池维护以及下发!

用户自定义数据

用户可自定义ips-v4.txt和ips-v6.txt的IP地址段,如果使用数据更新将会覆盖本地自定义的数据

自定义ips-v4.txt的内容格式为 x.x.x.x或者x.x.x.x/x的CIDR写法,默认提取.前三位

自定义ips-v6.txt的内容格式为 x:x:x:x:x:x:x:x或者x:x:x:x:x:x:x:x/x的CIDR写法,默认提取:前三位

更多自定义玩法待用户自己发现

Windows批处理版本

请下载Release版本使用,不要使用Git Clone下载(会出现乱码)

Windows 7用户推荐使用ANSI编码版本

Windows 8及以上版本用户推荐使用UTF-8编码版本

注:ANSI编码版本可以Windows全平台通用,部分Windows系统的BUG会导致控制台输出乱码

点击下载Windows版本

Linux版本

完整复制下方链接粘贴到控制台并回车,后续运行只需输入./cf.sh并回车即可

目前已经测试 Termux、OpenWrt、Ubuntu、Debian、CentOS、MacOS、Raspbian、Armbian、iSH

curl https://raw.githubusercontent.com/badafans/better-cloudflare-ip/master/shell/cf.sh -o cf.sh && chmod +x cf.sh && ./cf.sh

引用声明

对于 Cloudflare ASN https://bgp.he.net/AS13335 ,Cloudflare IP Ranges 来自 https://www.cloudflare.com/zh-cn/ips/

better-cloudflare-ip's People

Contributors

badafans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

better-cloudflare-ip's Issues

./fping: 没有那个文件或目录

请设置期望到 CloudFlare 服务器的带宽大小(单位 Mbps):20
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP
测速完成
./cf.sh:行5709: ./fping: 没有那个文件或目录
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP

无限循环

请问可否添加iOS端的iSH版本

iOS上的iSH和termux相似,是一个内建的terminal,建议添加。iSH通过apk命令管理安装,默认缺少很多软件,运行安卓版代码,需首先安装curl,并把最后的./cf.sh改为sh cf.sh,但经过修改之后,iSH无法执行declare,故实际表现出工不出力,没有真正进行延迟和速度测试,还望有空闲的话进一步适配:)

峰值速度0KB

我在Mac上编译后跑,哪怕选1M,结果也会跑出0KB的峰值速度。

实例输出:

等待测速进程结束,筛选出三个优选的IP
测速完成
优选的IP地址为 104.16.140.105 - 104.19.76.211 - 104.20.49.56
第一次测试 104.16.140.105
峰值速度 0 kB/s

显示错误

win10 20H2
显示方块
运行_CF优选IP.bat_跑两圈后出现,运行_Colo提取.bat_也出现,图为运行_Colo提取.bat_结果
1

安卓端无法安装

在Termux中粘贴安装指令并回车后,提示无此文件(预先已安装curl)。
Android版本:7.1.1

命令行记录------------------------------------------------
curl is already the newest version (7.73.0).
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
$
$ ​curl https://proxy.freecdn.workers.dev/​?​url=https://raw.githubusercontent.com/badafans/better-cloudflare-ip/master/shell/cf.sh -o cf.sh ​&&​ chmod +x cf.sh ​&&​ ./cf.sh
bash: ​curl https://proxy.freecdn.workers.dev/​?​url=https://raw.githubusercontent.com/badafans/better-cloudflare-ip/master/shell/cf.sh -o cf.sh ​: No such file or directory
$

windows10自动查找没有结果

windows10下使用,生成IP.txt为空,生成temp文件夹闪了一下,就没有了,curl已安装好,谢谢作者!
对话框显示为:

优选的CF地址为 2807
3秒后对 2807 进行20秒测速
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - 吊销功能无法检查证书是否吊销。
测速结果自己判断是否满意,如果不满意,再来一遍
请按任意键继续. . .

Mac下卡在等待ICMP进程结束

系统:osx 10.15.6
文件:shell/cf.sh
64行:p=$(ps -ef | grep ping | grep -v "grep" | wc -l)
因为运行的其它进程信息中存在 --globalTypingsCacheLocation 这样的文字,导致了匹配出错;
本地临时修改成了:p=$(ps -ef | grep ping\s+ | grep -v "grep" | wc -l)
后续大佬有时间可以优化一波~

Worker炸了

导致无法测速(刚才一看429了),我看昨天有人也反馈了这个问题。。。
建议搞多两个账号来放置资源吧,要不然挂了测不了速度很难受

list out top 5 ips with highest throuput, would be very helpful.

If set target of 20Mbps, after several hours of tests, it may fail to select an IP to achieve 20Mbps. In that case, list out the top 5 IPs with highest throuput would be very helpful.
Otherwise, you have to define a reasonable target, try a few times. and is hard to obtain a good result.

If we have the function, simply define maximum target(if your local bandwidth is 100M, then set to 100M), then you will get top 5 ips within 1-2 hours. The results might be the best for us.

撞车项目发来贺电~ 这是我发现的第三个同类撞车项目了 😂... 互相交流!

在 Github 的海洋里不知道有多少项目撞车了,有需求的时候怎么搜也搜不到,自己造出来后发现又重复造轮子了。。。
这已经是我在 Explore 推荐列表里看到的第三个同类撞车项目了!

看了下,咱们两个的项目功能都差不多,主要是开发语言的差别,我用的是 Golang,只有一个执行文件,不需要依赖...

同类项目 互相交流~

单IP测速失败

输入IP后的输出(有时可用):

######################################################################## 100.0%
publicip=183.69.237.177
colo=LAX
domain=speed.haoren.ml
file=cache.jpg
url=https://github.com/badafans/better-cloudflare-ip
app=20201208
database=20201208
1.0.0.
1.1.1.
103.21.244.
104.16.0.
198.41.214.
198.41.215.
198.41.220.
198.41.221.
198.41.222.
198.41.223.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    16  100    16    0     0     16      0  0:00:01 --:--:--  0:00:01    44
curl: (3) Bad URL
请按任意键继续. . .

运行./configure 出现如下信息

root@Openwrt:/usr/fping-4.2# ./configure
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in /usr/fping-4.2': configure: error: no acceptable C compiler found in $PATH See config.log' for more details
root@Openwrt:/usr/fping-4.2#

后面再运行make 提示 -ash: make: not found
后面的操作提示如下:
root@Openwrt:/usr/fping-4.2# cd src
root@Openwrt:/usr/fping-4.2/src# ./cf.sh
请设置期望到 CloudFlare 服务器的带宽大小(单位 Mbps):20
./cf.sh: line 5709: ./fping: No such file or directory
选取100个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP

Docker 容器内测试无法显示完整结果

运行时的输出与ubuntu中输出相同,但是最后出现运行结果只显示:满足 100 Mbps带宽需求,峰值速度 kB/s,总计用时 110 秒。
且测试三次结果都相同,用时相同。

群晖:docker
镜像:python3.6
已正常编译fping-4.2

修改脚本,删除clear输出显示。
error:
./cf.sh: line 5745: 12.5: syntax error: invalid arithmetic operator (error token is ".5")
./cf.sh: line 5746: /1024: syntax error: operand expected (error token is "/1024")

hey guys

could you push the source JavaScript code about your cf worker site: proxy.freecdn.workers.dev

找不到文件

操作系统:win10专业版
管理员和非管理员运行CF优选IP.bat,会在当前目录出现temp文件夹,但是文件夹里没有文件,也提示找到了三个IP,但是最后提示找不到文件,然后会重新进行优先过程。

在mac下启动测速不能异步

do
	echo $i 启动测速
	curl --resolve $domain:443:$i https://$domain/$file -o temp/$i -s --connect-timeout 2 --max-time 10&
done

修改为

do
	echo $i 启动测速
	curl --resolve $domain:443:$i https://$domain/$file -o temp/$i -s --connect-timeout 2 --max-time 10
done

可以正常使用
次脚本在centos7.9 下是可以正常使用的,支持异步测速筛选出最快的三个

ios 13 使用

越狱后使用newterm,已经下载了sh文件,无法运行测速

更新1208版本后无法测速

生成随机IP 104.16.3.227206
生成随机IP 104.16.8.151203
生成随机IP 104.16.13.13225
生成随机IP 104.16.18.238225
生成随机IP 104.16.23.73169
生成随机IP 104.16.28.19019
生成随机IP 104.16.33.10124
生成随机IP 104.16.38.39161
生成随机IP 104.16.43.194151
生成随机IP 104.16.48.3543
生成随机IP 104.16.53.281
生成随机IP 104.16.58.20544
生成随机IP 104.16.63.48105
生成随机IP 104.16.68.22099
生成随机IP 104.16.73.239185
生成随机IP 104.16.78.2126
生成随机IP 104.16.83.1910
生成随机IP 104.16.88.51148
生成随机IP 104.16.93.148144
生成随机IP 104.16.98.143112
生成随机IP 104.16.103.48250
生成随机IP 104.16.108.574
生成随机IP 104.16.113.20498
生成随机IP 104.16.118.20460
生成随机IP 104.16.123.10118
生成随机IP 104.16.128.9819
生成随机IP 104.16.133.166166
生成随机IP 104.16.138.14463
生成随机IP 104.16.143.36204
生成随机IP 104.16.148.110101
生成随机IP 104.16.153.24132
生成随机IP 104.16.158.25421
生成随机IP 104.16.163.194182
生成随机IP 104.16.168.2667
生成随机IP 104.16.173.7528
生成随机IP 104.16.178.28219
生成随机IP 104.16.183.36128
生成随机IP 104.16.188.872
生成随机IP 104.16.193.237132
生成随机IP 104.16.198.19534
生成随机IP 104.16.203.164220
生成随机IP 104.16.208.203159
生成随机IP 104.16.213.20232
生成随机IP 104.16.218.9796
生成随机IP 104.16.223.82109
生成随机IP 104.16.228.252192
生成随机IP 104.16.233.1358
生成随机IP 104.16.238.21222
生成随机IP 104.16.243.1595
生成随机IP 104.16.248.19894
生成随机IP 104.16.253.58150
生成随机IP 104.17.2.87132
生成随机IP 104.17.7.040
生成随机IP 104.17.12.162222
生成随机IP 104.17.17.10155
生成随机IP 104.17.22.78208
生成随机IP 104.17.27.72159
生成随机IP 104.17.32.1054
生成随机IP 104.17.37.11190

贴上log.... 是不是随机算法生成范围有问题?

解压报错

tar: 它似乎不像是一个 tar 归档文件

能否提供单个测试脚本,用来测试指定一批ip的速度情况?

我已经通过优选IP找了一批IP,但这些IP会随着时间推移有的慢慢不能用,我把所有找到的IP放在(如BetterIP.txt文件中)。
能不能提供一个脚本,测试出 BetterIP.txt 文件中的所有IP的当前测速情况,并以 IP+空格+当前速率 保存到Result.txt文件中。
方便我判断,删选IP。
以上是一个思路,麻烦作者抽空看看研究一下。

用修改过的fping 4.2,Ubuntu 20.10编译会有错误

下载最新的版的linux src (fping 4.2修改版)编译会有下列问题:
PS. 编译最新的fping 5.0则可以正常编译完成
gcc version 10.2.0 (Ubuntu 10.2.0-13ubuntu1)

Error如下:
k’ output between 4 and 11 bytes into a destination of size 10
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fping.c:2595:26: warning: ‘%02d’ directive writing 2 bytes into a region of size between 1 and 8 [-Wformat-overflow=]
2595 | sprintf(buf, "%d.%02d", t / 100, t % 100);
| ^~~~
fping.c:2595:22: note: directive argument in the range [0, 99]
2595 | sprintf(buf, "%d.%02d", t / 100, t % 100);
| ^~~~~~~~~
In file included from /usr/include/stdio.h:866,
from fping.c:44:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 5 and 12 bytes into a destination of size 10
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fping.c: In function ‘add_name’:
fping.c:2340:82: warning: ‘)’ directive output may be truncated writing 1 byte into a region of size between 0 and 510 [-Wformat-truncation=]
2340 | ntf(nameaddrbuf, sizeof(nameaddrbuf) / sizeof(char), "%s (%s)", printname, addrbuf);
| ^

In file included from /usr/include/stdio.h:866,
from fping.c:44:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:70:10: note: ‘__builtin___snprintf_chk’ output between 4 and 514 bytes into a destination of size 512
70 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/fping-fping.Tpo .deps/fping-fping.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-seqmap.o -MD -MP -MF .deps/fping-seqmap.Tpo -c -o fping-seqmap.o test -f 'seqmap.c' || echo './'seqmap.c
mv -f .deps/fping-seqmap.Tpo .deps/fping-seqmap.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-socket4.o -MD -MP -MF .deps/fping-socket4.Tpo -c -o fping-socket4.o test -f 'socket4.c' || echo './'socket4.c
mv -f .deps/fping-socket4.Tpo .deps/fping-socket4.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-optparse.o -MD -MP -MF .deps/fping-optparse.Tpo -c -o fping-optparse.o test -f 'optparse.c' || echo './'optparse.c
mv -f .deps/fping-optparse.Tpo .deps/fping-optparse.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-socket6.o -MD -MP -MF .deps/fping-socket6.Tpo -c -o fping-socket6.o test -f 'socket6.c' || echo './'socket6.c
mv -f .deps/fping-socket6.Tpo .deps/fping-socket6.Po
gcc -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -o fping fping-fping.o fping-seqmap.o fping-socket4.o fping-optparse.o fping-socket6.o
/usr/bin/ld: fping-socket4.o:/home/NetPerf/linux/src/fping.h:14: multiple definition of random_data_flag'; fping-fping.o:/home/NetPerf/linux/src/fping.h:14: first defined here /usr/bin/ld: fping-socket6.o:/home/NetPerf/linux/src/fping.h:14: multiple definition of random_data_flag'; fping-fping.o:/home/NetPerf/linux/src/fping.h:14: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:350: fping] Error 1

fping 编译错误

fping-4.2 · (master) ★ ⟩ ./configure /t/b/fping-4.2
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for netinet/icmp6.h... yes
checking whether SO_TIMESTAMP is declared... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/bin/sh: /home/bruce/missing: No such file or directory
configure: WARNING: 'missing' script is too old or missing
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO Standard C... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for gethostbyname... yes
checking for connect... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for unistd.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking for stdlib.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands

fping-4.2 · (master) ★ ⟩ make /t/b/fping-4.2
make all-recursive
make[1]: 进入目录“/tmp/better-cloudflare-ip/fping-4.2”
Making all in doc
make[2]: 进入目录“/tmp/better-cloudflare-ip/fping-4.2/doc”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/tmp/better-cloudflare-ip/fping-4.2/doc”
Making all in src
make[2]: 进入目录“/tmp/better-cloudflare-ip/fping-4.2/src”
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-fping.o -MD -MP -MF .deps/fping-fping.Tpo -c -o fping-fping.o test -f 'fping.c' || echo './'fping.c
fping.c: 在函数‘sprint_tm’中:
fping.c:2599:28: 警告:‘sprintf’ may write a terminating nul past the end of the destination [-Wformat-overflow=]
2599 | sprintf(buf, "%d.%d", t / 100, (t % 100) / 10);
| ^
fping.c:2599:9: 附注:‘sprintf’ output between 4 and 11 bytes into a destination of size 10
2599 | sprintf(buf, "%d.%d", t / 100, (t % 100) / 10);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fping.c:2595:26: 警告:‘%02d’ directive writing 2 bytes into a region of size between 1 and 8 [-Wformat-overflow=]
2595 | sprintf(buf, "%d.%02d", t / 100, t % 100);
| ^~~~
fping.c:2595:22: 附注:directive argument in the range [0, 99]
2595 | sprintf(buf, "%d.%02d", t / 100, t % 100);
| ^~~~~~~~~
fping.c:2595:9: 附注:‘sprintf’ output between 5 and 12 bytes into a destination of size 10
2595 | sprintf(buf, "%d.%02d", t / 100, t % 100);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fping.c: 在函数‘add_name’中:
fping.c:2340:82: 警告:‘)’ directive output may be truncated writing 1 byte into a region of size between 0 and 510 [-Wformat-truncation=]
2340 | snprintf(nameaddrbuf, sizeof(nameaddrbuf) / sizeof(char), "%s (%s)", printname, addrbuf);
| ^
fping.c:2340:17: 附注:‘snprintf’ output between 4 and 514 bytes into a destination of size 512
2340 | snprintf(nameaddrbuf, sizeof(nameaddrbuf) / sizeof(char), "%s (%s)", printname, addrbuf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/fping-fping.Tpo .deps/fping-fping.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-seqmap.o -MD -MP -MF .deps/fping-seqmap.Tpo -c -o fping-seqmap.o test -f 'seqmap.c' || echo './'seqmap.c
mv -f .deps/fping-seqmap.Tpo .deps/fping-seqmap.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-socket4.o -MD -MP -MF .deps/fping-socket4.Tpo -c -o fping-socket4.o test -f 'socket4.c' || echo './'socket4.c
mv -f .deps/fping-socket4.Tpo .deps/fping-socket4.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-optparse.o -MD -MP -MF .deps/fping-optparse.Tpo -c -o fping-optparse.o test -f 'optparse.c' || echo './'optparse.c
mv -f .deps/fping-optparse.Tpo .deps/fping-optparse.Po
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -MT fping-socket6.o -MD -MP -MF .deps/fping-socket6.Tpo -c -o fping-socket6.o test -f 'socket6.c' || echo './'socket6.c
mv -f .deps/fping-socket6.Tpo .deps/fping-socket6.Po
gcc -Wall -Wextra -Wno-sign-compare -DIPV6 -g -O2 -o fping fping-fping.o fping-seqmap.o fping-socket4.o fping-optparse.o fping-socket6.o
/usr/bin/ld: fping-socket4.o:/tmp/better-cloudflare-ip/fping-4.2/src/fping.h:14: multiple definition of random_data_flag'; fping-fping.o:/tmp/better-cloudflare-ip/fping-4.2/src/fping.h:14: first defined here /usr/bin/ld: fping-socket6.o:/tmp/better-cloudflare-ip/fping-4.2/src/fping.h:14: multiple definition of random_data_flag'; fping-fping.o:/tmp/better-cloudflare-ip/fping-4.2/src/fping.h:14: first defined here
collect2: 错误:ld 返回 1
make[2]: *** [Makefile:350:fping] 错误 1
make[2]: 离开目录“/tmp/better-cloudflare-ip/fping-4.2/src”
make[1]: *** [Makefile:358:all-recursive] 错误 1
make[1]: 离开目录“/tmp/better-cloudflare-ip/fping-4.2”
make: *** [Makefile:298:all] 错误 2

fping-4.2 · (master) ★ ⟩ ld --version /t/b/fping-4.2 2
GNU ld (GNU Binutils) 2.35
Copyright (C) 2020 Free Software Foundation, Inc.
这个程序是自由软件;您可以遵循GNU 通用公共授权版本 3 或
(您自行选择的) 稍后版本以再次散布它。
这个程序完全没有任何担保。

fping-4.2 · (master) ★ ⟩ gcc --version /t/b/fping-4.2
gcc (GCC) 10.2.0
Copyright © 2020 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

gcc: 10.2.0
ld: 2.35

Ma执行shell脚本死循环

sed: 1: "35p;45p": invalid command code ~
sed: 1: "{N;s/\n/\t/p}": bad flag in substitute command: '}'
选取30个丢包率最少的IP地址下载测速
等待测速进程结束,筛选出三个优选的IP

然后又开始

正在测试 ICMP 丢包率:进程数 39,已完成 8 %

。。。。。。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.