├── .gitignore ├── BCI ├── LINUX │ ├── CHANGELOG.md │ ├── COPYING │ ├── INSTALL │ ├── Makefile.am │ ├── Makefile.in │ ├── aclocal.m4 │ ├── compile │ ├── config.guess │ ├── config.h.in │ ├── config.sub │ ├── configure │ ├── configure.ac │ ├── depcomp │ ├── doc │ │ ├── CHANGELOG.pre-v4 │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── README.1992 │ │ ├── fping.8 │ │ └── fping.pod │ ├── install-sh │ ├── missing │ └── src │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── cf.sh │ │ ├── fping.c │ │ ├── fping.h │ │ ├── options.h │ │ ├── optparse.c │ │ ├── optparse.h │ │ ├── seqmap.c │ │ ├── seqmap.h │ │ ├── socket4.c │ │ └── socket6.c └── WIN │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── data.txt │ ├── fping.exe │ ├── ip.txt │ ├── msys-2.0.dll │ ├── resolve.txt │ ├── 使用说明.txt │ ├── 单IP测速.bat │ └── 双击自解压curl.exe ├── CFIP ├── 2.2 │ ├── CF优选IP-JP-Only.bat │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── data.txt │ ├── dataJP.txt │ ├── data备份.txt │ ├── fping.exe │ ├── ip.txt │ ├── msys-2.0.dll │ ├── ping.csv │ ├── 单IP测速-backup.bat │ └── 单IP测速.bat ├── 2.3 │ ├── CF优选IP-JP-Only.bat │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── data.txt │ ├── dataJP.txt │ ├── fping.exe │ ├── ip.txt │ ├── msys-2.0.dll │ └── 单IP测速.bat ├── 2.4 │ ├── CF优选IP-JP-Only.bat │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── data.txt │ ├── dataJP.txt │ ├── fping.exe │ ├── msys-2.0.dll │ └── 单IP测速.bat ├── 2.5 │ ├── CF优选IP-JP-Only.bat │ ├── CF优选IP-横向优化算法.bat │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── data.txt │ ├── dataJP.txt │ ├── fping.exe │ ├── msys-2.0.dll │ ├── 单IP测速.bat │ └── 测速资源链接.txt ├── 2.6 │ ├── CF优选IP-EU.bat │ ├── CF优选IP-横向优化算法.bat │ ├── CF优选IP.bat │ ├── CR.txt │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── data.txt │ ├── dataEU.txt │ ├── fping.exe │ ├── ip.txt │ ├── msys-2.0.dll │ ├── 单IP测速.bat │ ├── 日志.txt │ └── 测速资源链接.txt ├── 3.1 │ ├── CF优选IP-EU.bat │ ├── CF优选IP-横向优化算法.bat │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── WINv2.0.2 │ │ ├── CloudflareST.exe │ │ ├── cfst_3proxy.bat │ │ ├── cfst_hosts.bat │ │ ├── ip.txt │ │ ├── ipv6.txt │ │ ├── result.csv │ │ └── 使用+错误+反馈说明.txt │ ├── data.txt │ ├── dataEU.txt │ ├── fping.exe │ ├── msys-2.0.dll │ ├── 单IP测速.bat │ ├── 日志.txt │ └── 测速资源链接.txt ├── 3.2 │ ├── CloudflareST.exe │ ├── all.txt │ ├── cfipreview.txt │ ├── cfst_3proxy.bat │ ├── cfst_hosts.bat │ ├── ip - 副本.txt │ ├── ip.txt │ ├── ipcfs.txt │ ├── ipv4-cf.txt │ ├── ipv6-cf.txt │ ├── result.csv │ └── 使用+错误+反馈说明.txt └── 3.3 │ ├── CF优选IP-EU.bat │ ├── CF优选IP-横向优化算法.bat │ ├── CF优选IP.bat │ ├── CR2CRLF.exe │ ├── Colo提取.bat │ ├── WINv2.0.2 │ ├── CloudflareST.exe │ ├── all.txt │ ├── cfipreview.txt │ ├── cfst_3proxy.bat │ ├── cfst_hosts.bat │ ├── ip - 副本.txt │ ├── ip.txt │ ├── ipcfs.txt │ ├── ipv4-cf.txt │ ├── ipv6-cf.txt │ ├── ipv6.txt │ ├── result.csv │ └── 使用+错误+反馈说明.txt │ ├── data.txt │ ├── dataEU.txt │ ├── fping.exe │ ├── msys-2.0.dll │ ├── tempCodeRunnerFile.bat │ ├── 单IP测速.bat │ ├── 单IP测速1.bat │ ├── 单IP测速2.bat │ ├── 单IP测速3.bat │ ├── 日志.txt │ └── 测速资源链接.txt ├── CFST ├── LINUX │ ├── CloudflareST │ ├── cfst_hosts.sh │ ├── ip.txt │ ├── ipv6.txt │ └── 使用+错误+反馈说明.txt ├── WIN │ ├── CloudflareST.exe │ ├── cfst_3proxy.bat │ ├── cfst_hosts.bat │ ├── ip.txt │ ├── ipv6.txt │ ├── result.csv │ └── 使用+错误+反馈说明.txt └── WINv2.0.2 │ ├── CloudflareST.exe │ ├── cfst_3proxy.bat │ ├── cfst_hosts.bat │ ├── ip.txt │ ├── ipv6.txt │ ├── result.csv │ └── 使用+错误+反馈说明.txt ├── EU.html ├── README.md ├── gcorecdn ├── Gcore CDN节点提取.html └── Gcore CDN节点提取_files │ └── jquery.js ├── index.html └── scan ├── another ├── colo.bat └── colo6.bat ├── colo.bat ├── colo.sh └── log.txt /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | *.bak 3 | -------------------------------------------------------------------------------- /BCI/LINUX/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | fping 4.2 (2019-02-19) 2 | ====================== 3 | 4 | ## New features 5 | 6 | - New option -x / --reachable to check if the number of reachable hosts is >= a certain 7 | number. Useful for example to implement connectivity-checks (#138, thanks @deepak0004) 8 | 9 | ## Bugfixes and other changes 10 | 11 | - Allow decimal numbers for '-t', '-i', '-p', and '-Q' 12 | - Fix build with --disable-ipv6 (#134, thanks @Polynomial-C) 13 | - Fix hang with '-6', with ipv6 kernel module, but not loaded (#140, thanks @abelbeck) 14 | - Assume '-6' if the binary is named 'fping6' (this is mostly for special 15 | embedded-distro use cases, and not meant to be used generally in place of 16 | compiling IPv6-only binary or using '-6', see also the notes in #139, thanks 17 | abelbeck) 18 | - Get rid of warning "timeout (-t) value larger than period (-p) produces unexpected results" 19 | (#142, thanks @MrDragon1122) 20 | 21 | 22 | fping 4.1 (2018-09-17) 23 | ====================== 24 | 25 | ## Bugfixes and other changes 26 | 27 | - Fix problem when socket fd is 0 (#125, thanks Ramón Novoa!) 28 | - Fix running on servers with disabled IPv6 (#118, thanks Simon Matter) 29 | - Allow running "fping -h" or "--help" even when raw socket can't be opened (#131, thanks @teto) 30 | - Fix build issue with FreeBSD and IPv6 (#132, thanks @gsnw) 31 | 32 | fping 4.0 (2017-04-23) 33 | ====================== 34 | 35 | ## Incompatible Changes 36 | 37 | ##### fping and fping6 unification 38 | 39 | fping and fping6 are now unified into one binary. It means that, for example, 40 | doing 'fping google.com' is going to ping the IPv6 IP of google.com on 41 | IPv6-enabled hosts. 42 | 43 | If you need exact compatibility with old versions, you can configure and 44 | install fping twice: once for ipv4, and once for ipv6: 45 | 46 | ./configure --disable-ipv6; make clean install 47 | ./configure --disable-ipv4 --program-suffix=6; make clean install 48 | 49 | ##### Option -n, not the same as -d anymore 50 | 51 | Option -n / --name is now doing a reverse-DNS lookups on host addresses, 52 | only if they are given as IP address, but not for hostnames. For example, 53 | if you write 'fping -n google.com', fping would previously do a 54 | forward-DNS lookup on google.com, and then a reverse-DNS lookup on the 55 | resolved IP address. Now, it is just going to keep the name 'google.com'. 56 | That same behavior can be achieved with the option -d / --rdns (which was 57 | previously an alias for -n). 58 | 59 | fping<4.0 fping>=4.0 60 | fping -n NAME NAME->IP->IPNAME NAME 61 | fping -d NAME NAME->IP->IPNAME NAME->IP->IPNAME 62 | 63 | ##### Discarding of late packets 64 | 65 | fping will now discard replies, if they arrive after the defined timeout 66 | for reply packets, specified with -t. This change is relevant only for the 67 | count and loop modes, where the measured times should be now more 68 | consistent (see github issue [#32][i32] for details). 69 | 70 | To prevent loosing reply packets because of this change, the default 71 | timeout in count and loop modes is now automatically adjusted to the 72 | period interval (up to 2000 ms), but it can be overriden with the -t 73 | option. The default timeout for non-loop/count modes remains 500 ms. 74 | 75 | ##### No restrictions by default 76 | 77 | fping will not enforce -i >= 1 and -p >= 10 anymore, except if you 78 | './configure --enable-safe-limits'. 79 | 80 | The reasoning to removing the restrictions by default, is that users can 81 | clog the network with other tools anyway, and these restrictions are 82 | sometimes getting in the way (for example if you try to ping a lot of 83 | hosts). 84 | 85 | ##### Default interval (-i) changed from 25ms to 10ms 86 | 87 | The default minimum interval between ping probes has been changed from 88 | 25ms to 10ms. The reason is that 25ms is very high, considering today's 89 | fast networks: it generates at most 31 kbps of traffic (for IPv4 and 90 | default payload size). 91 | 92 | ## New features 93 | 94 | - Unified 'fping' and 'fping6' into one binary ([#80][i80]) 95 | - Long option names for all options 96 | - IPv6 enabled by default 97 | - New option -4 to force IPv4 98 | - New option -6 to force IPv6 99 | - Keep original name if a hostname is given with -n/--name 100 | - Option -d/--rdns now always does a rdns-lookup, even for names, as '-n' was doing until now 101 | - Enforce -t timeout on reply packets, by discarding late packets ([#32][i32]) 102 | - Auto-adjust timeout for -c/-C/-l mode to value of -p 103 | 104 | ## Bugfixes and other changes 105 | 106 | - -i/-p restrictions disabled by default (enable with --enable-safe-limits) 107 | - Default interval -i changed from 25ms to 10ms 108 | - Fix compatibility issue with GNU Hurd 109 | - A C99 compiler is now required 110 | - Option parsing with optparse (https://github.com/skeeto/optparse). Thanks Christopher Wellons! 111 | - New changelog file format 112 | 113 | [i32]: https://github.com/schweikert/fping/issues/32 114 | [i80]: https://github.com/schweikert/fping/issues/80 115 | 116 | (see doc/CHANGELOG.pre-v4 for older changes) 117 | -------------------------------------------------------------------------------- /BCI/LINUX/COPYING: -------------------------------------------------------------------------------- 1 | * Original author: Roland Schemers 2 | * IPv6 Support: Jeroen Massar 3 | * Improved main loop: David Schweikert 4 | * Debian Merge, TOS settings: Tobi Oetiker 5 | * Bugfixes, byte order & senseful seq.-numbers: Stephan Fuhrmann (stephan.fuhrmann AT 1und1.de) 6 | * 7 | * Redistribution and use in source and binary forms are permitted 8 | * provided that the above copyright notice and this paragraph are 9 | * duplicated in all such forms and that any documentation, 10 | * advertising materials, and other materials related to such 11 | * distribution and use acknowledge that the software was developed 12 | * by Stanford University. The name of the University may not be used 13 | * to endorse or promote products derived from this software without 14 | * specific prior written permission. 15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 16 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 17 | * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 18 | -------------------------------------------------------------------------------- /BCI/LINUX/INSTALL: -------------------------------------------------------------------------------- 1 | Basic Installation 2 | ================== 3 | 4 | These are generic installation instructions. 5 | 6 | --> See the README file for fping-specific instructions. <-- 7 | 8 | The `configure' shell script attempts to guess correct values for 9 | various system-dependent variables used during compilation. It uses 10 | those values to create a `Makefile' in each directory of the package. 11 | It may also create one or more `.h' files containing system-dependent 12 | definitions. Finally, it creates a shell script `config.status' that 13 | you can run in the future to recreate the current configuration, a file 14 | `config.cache' that saves the results of its tests to speed up 15 | reconfiguring, and a file `config.log' containing compiler output 16 | (useful mainly for debugging `configure'). 17 | 18 | If you need to do unusual things to compile the package, please try 19 | to figure out how `configure' could check whether to do them, and mail 20 | diffs or instructions to the address given in the `README' so they can 21 | be considered for the next release. If at some point `config.cache' 22 | contains results you don't want to keep, you may remove or edit it. 23 | 24 | The file `configure.in' is used to create `configure' by a program 25 | called `autoconf'. You only need `configure.in' if you want to change 26 | it or regenerate `configure' using a newer version of `autoconf'. 27 | 28 | The simplest way to compile this package is: 29 | 30 | 1. `cd' to the directory containing the package's source code and type 31 | `./configure' to configure the package for your system. If you're 32 | using `csh' on an old version of System V, you might need to type 33 | `sh ./configure' instead to prevent `csh' from trying to execute 34 | `configure' itself. 35 | 36 | Running `configure' takes a while. While running, it prints some 37 | messages telling which features it is checking for. 38 | 39 | 2. Type `make' to compile the package. 40 | 41 | 3. Optionally, type `make check' to run any self-tests that come with 42 | the package. 43 | 44 | 4. Type `make install' to install the programs and any data files and 45 | documentation. 46 | 47 | 5. You can remove the program binaries and object files from the 48 | source code directory by typing `make clean'. To also remove the 49 | files that `configure' created (so you can compile the package for 50 | a different kind of computer), type `make distclean'. There is 51 | also a `make maintainer-clean' target, but that is intended mainly 52 | for the package's developers. If you use it, you may have to get 53 | all sorts of other programs in order to regenerate files that came 54 | with the distribution. 55 | 56 | Compilers and Options 57 | ===================== 58 | 59 | Some systems require unusual options for compilation or linking that 60 | the `configure' script does not know about. You can give `configure' 61 | initial values for variables by setting them in the environment. Using 62 | a Bourne-compatible shell, you can do that on the command line like 63 | this: 64 | CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure 65 | 66 | Or on systems that have the `env' program, you can do it like this: 67 | env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure 68 | 69 | Compiling For Multiple Architectures 70 | ==================================== 71 | 72 | You can compile the package for more than one kind of computer at the 73 | same time, by placing the object files for each architecture in their 74 | own directory. To do this, you must use a version of `make' that 75 | supports the `VPATH' variable, such as GNU `make'. `cd' to the 76 | directory where you want the object files and executables to go and run 77 | the `configure' script. `configure' automatically checks for the 78 | source code in the directory that `configure' is in and in `..'. 79 | 80 | If you have to use a `make' that does not supports the `VPATH' 81 | variable, you have to compile the package for one architecture at a time 82 | in the source code directory. After you have installed the package for 83 | one architecture, use `make distclean' before reconfiguring for another 84 | architecture. 85 | 86 | Installation Names 87 | ================== 88 | 89 | By default, `make install' will install the package's files in 90 | `/usr/local/bin', `/usr/local/man', etc. You can specify an 91 | installation prefix other than `/usr/local' by giving `configure' the 92 | option `--prefix=PATH'. 93 | 94 | You can specify separate installation prefixes for 95 | architecture-specific files and architecture-independent files. If you 96 | give `configure' the option `--exec-prefix=PATH', the package will use 97 | PATH as the prefix for installing programs and libraries. 98 | Documentation and other data files will still use the regular prefix. 99 | 100 | If the package supports it, you can cause programs to be installed 101 | with an extra prefix or suffix on their names by giving `configure' the 102 | option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 103 | 104 | Optional Features 105 | ================= 106 | 107 | Some packages pay attention to `--enable-FEATURE' options to 108 | `configure', where FEATURE indicates an optional part of the package. 109 | They may also pay attention to `--with-PACKAGE' options, where PACKAGE 110 | is something like `gnu-as' or `x' (for the X Window System). The 111 | `README' should mention any `--enable-' and `--with-' options that the 112 | package recognizes. 113 | 114 | For packages that use the X Window System, `configure' can usually 115 | find the X include and library files automatically, but if it doesn't, 116 | you can use the `configure' options `--x-includes=DIR' and 117 | `--x-libraries=DIR' to specify their locations. 118 | 119 | Specifying the System Type 120 | ========================== 121 | 122 | There may be some features `configure' can not figure out 123 | automatically, but needs to determine by the type of host the package 124 | will run on. Usually `configure' can figure that out, but if it prints 125 | a message saying it can not guess the host type, give it the 126 | `--host=TYPE' option. TYPE can either be a short name for the system 127 | type, such as `sun4', or a canonical name with three fields: 128 | CPU-COMPANY-SYSTEM 129 | 130 | See the file `config.sub' for the possible values of each field. If 131 | `config.sub' isn't included in this package, then this package doesn't 132 | need to know the host type. 133 | 134 | If you are building compiler tools for cross-compiling, you can also 135 | use the `--target=TYPE' option to select the type of system they will 136 | produce code for and the `--build=TYPE' option to select the type of 137 | system on which you are compiling the package. 138 | 139 | Sharing Defaults 140 | ================ 141 | 142 | If you want to set default values for `configure' scripts to share, 143 | you can create a site shell script called `config.site' that gives 144 | default values for variables like `CC', `cache_file', and `prefix'. 145 | `configure' looks for `PREFIX/share/config.site' if it exists, then 146 | `PREFIX/etc/config.site' if it exists. Or, you can set the 147 | `CONFIG_SITE' environment variable to the location of the site script. 148 | A warning: not all `configure' scripts look for a site script. 149 | 150 | Operation Controls 151 | ================== 152 | 153 | `configure' recognizes the following options to control how it 154 | operates. 155 | 156 | `--cache-file=FILE' 157 | Use and save the results of the tests in FILE instead of 158 | `./config.cache'. Set FILE to `/dev/null' to disable caching, for 159 | debugging `configure'. 160 | 161 | `--help' 162 | Print a summary of the options to `configure', and exit. 163 | 164 | `--quiet' 165 | `--silent' 166 | `-q' 167 | Do not print messages saying which checks are being made. 168 | 169 | `--srcdir=DIR' 170 | Look for the package's source code in directory DIR. Usually 171 | `configure' can determine that directory automatically. 172 | 173 | `--version' 174 | Print the version of Autoconf used to generate the `configure' 175 | script, and exit. 176 | 177 | `configure' also accepts some other, not widely useful, options. 178 | -------------------------------------------------------------------------------- /BCI/LINUX/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = doc src 2 | 3 | EXTRA_DIST = CHANGELOG.md 4 | -------------------------------------------------------------------------------- /BCI/LINUX/compile: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Wrapper for compilers which do not understand '-c -o'. 3 | 4 | scriptversion=2012-10-14.11; # UTC 5 | 6 | # Copyright (C) 1999-2013 Free Software Foundation, Inc. 7 | # Written by Tom Tromey . 8 | # 9 | # This program is free software; you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation; either version 2, or (at your option) 12 | # any later version. 13 | # 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | # 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | 22 | # As a special exception to the GNU General Public License, if you 23 | # distribute this file as part of a program that contains a 24 | # configuration script generated by Autoconf, you may include it under 25 | # the same distribution terms that you use for the rest of that program. 26 | 27 | # This file is maintained in Automake, please report 28 | # bugs to or send patches to 29 | # . 30 | 31 | nl=' 32 | ' 33 | 34 | # We need space, tab and new line, in precisely that order. Quoting is 35 | # there to prevent tools from complaining about whitespace usage. 36 | IFS=" "" $nl" 37 | 38 | file_conv= 39 | 40 | # func_file_conv build_file lazy 41 | # Convert a $build file to $host form and store it in $file 42 | # Currently only supports Windows hosts. If the determined conversion 43 | # type is listed in (the comma separated) LAZY, no conversion will 44 | # take place. 45 | func_file_conv () 46 | { 47 | file=$1 48 | case $file in 49 | / | /[!/]*) # absolute file, and not a UNC file 50 | if test -z "$file_conv"; then 51 | # lazily determine how to convert abs files 52 | case `uname -s` in 53 | MINGW*) 54 | file_conv=mingw 55 | ;; 56 | CYGWIN*) 57 | file_conv=cygwin 58 | ;; 59 | *) 60 | file_conv=wine 61 | ;; 62 | esac 63 | fi 64 | case $file_conv/,$2, in 65 | *,$file_conv,*) 66 | ;; 67 | mingw/*) 68 | file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` 69 | ;; 70 | cygwin/*) 71 | file=`cygpath -m "$file" || echo "$file"` 72 | ;; 73 | wine/*) 74 | file=`winepath -w "$file" || echo "$file"` 75 | ;; 76 | esac 77 | ;; 78 | esac 79 | } 80 | 81 | # func_cl_dashL linkdir 82 | # Make cl look for libraries in LINKDIR 83 | func_cl_dashL () 84 | { 85 | func_file_conv "$1" 86 | if test -z "$lib_path"; then 87 | lib_path=$file 88 | else 89 | lib_path="$lib_path;$file" 90 | fi 91 | linker_opts="$linker_opts -LIBPATH:$file" 92 | } 93 | 94 | # func_cl_dashl library 95 | # Do a library search-path lookup for cl 96 | func_cl_dashl () 97 | { 98 | lib=$1 99 | found=no 100 | save_IFS=$IFS 101 | IFS=';' 102 | for dir in $lib_path $LIB 103 | do 104 | IFS=$save_IFS 105 | if $shared && test -f "$dir/$lib.dll.lib"; then 106 | found=yes 107 | lib=$dir/$lib.dll.lib 108 | break 109 | fi 110 | if test -f "$dir/$lib.lib"; then 111 | found=yes 112 | lib=$dir/$lib.lib 113 | break 114 | fi 115 | if test -f "$dir/lib$lib.a"; then 116 | found=yes 117 | lib=$dir/lib$lib.a 118 | break 119 | fi 120 | done 121 | IFS=$save_IFS 122 | 123 | if test "$found" != yes; then 124 | lib=$lib.lib 125 | fi 126 | } 127 | 128 | # func_cl_wrapper cl arg... 129 | # Adjust compile command to suit cl 130 | func_cl_wrapper () 131 | { 132 | # Assume a capable shell 133 | lib_path= 134 | shared=: 135 | linker_opts= 136 | for arg 137 | do 138 | if test -n "$eat"; then 139 | eat= 140 | else 141 | case $1 in 142 | -o) 143 | # configure might choose to run compile as 'compile cc -o foo foo.c'. 144 | eat=1 145 | case $2 in 146 | *.o | *.[oO][bB][jJ]) 147 | func_file_conv "$2" 148 | set x "$@" -Fo"$file" 149 | shift 150 | ;; 151 | *) 152 | func_file_conv "$2" 153 | set x "$@" -Fe"$file" 154 | shift 155 | ;; 156 | esac 157 | ;; 158 | -I) 159 | eat=1 160 | func_file_conv "$2" mingw 161 | set x "$@" -I"$file" 162 | shift 163 | ;; 164 | -I*) 165 | func_file_conv "${1#-I}" mingw 166 | set x "$@" -I"$file" 167 | shift 168 | ;; 169 | -l) 170 | eat=1 171 | func_cl_dashl "$2" 172 | set x "$@" "$lib" 173 | shift 174 | ;; 175 | -l*) 176 | func_cl_dashl "${1#-l}" 177 | set x "$@" "$lib" 178 | shift 179 | ;; 180 | -L) 181 | eat=1 182 | func_cl_dashL "$2" 183 | ;; 184 | -L*) 185 | func_cl_dashL "${1#-L}" 186 | ;; 187 | -static) 188 | shared=false 189 | ;; 190 | -Wl,*) 191 | arg=${1#-Wl,} 192 | save_ifs="$IFS"; IFS=',' 193 | for flag in $arg; do 194 | IFS="$save_ifs" 195 | linker_opts="$linker_opts $flag" 196 | done 197 | IFS="$save_ifs" 198 | ;; 199 | -Xlinker) 200 | eat=1 201 | linker_opts="$linker_opts $2" 202 | ;; 203 | -*) 204 | set x "$@" "$1" 205 | shift 206 | ;; 207 | *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) 208 | func_file_conv "$1" 209 | set x "$@" -Tp"$file" 210 | shift 211 | ;; 212 | *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) 213 | func_file_conv "$1" mingw 214 | set x "$@" "$file" 215 | shift 216 | ;; 217 | *) 218 | set x "$@" "$1" 219 | shift 220 | ;; 221 | esac 222 | fi 223 | shift 224 | done 225 | if test -n "$linker_opts"; then 226 | linker_opts="-link$linker_opts" 227 | fi 228 | exec "$@" $linker_opts 229 | exit 1 230 | } 231 | 232 | eat= 233 | 234 | case $1 in 235 | '') 236 | echo "$0: No command. Try '$0 --help' for more information." 1>&2 237 | exit 1; 238 | ;; 239 | -h | --h*) 240 | cat <<\EOF 241 | Usage: compile [--help] [--version] PROGRAM [ARGS] 242 | 243 | Wrapper for compilers which do not understand '-c -o'. 244 | Remove '-o dest.o' from ARGS, run PROGRAM with the remaining 245 | arguments, and rename the output as expected. 246 | 247 | If you are trying to build a whole package this is not the 248 | right script to run: please start by reading the file 'INSTALL'. 249 | 250 | Report bugs to . 251 | EOF 252 | exit $? 253 | ;; 254 | -v | --v*) 255 | echo "compile $scriptversion" 256 | exit $? 257 | ;; 258 | cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) 259 | func_cl_wrapper "$@" # Doesn't return... 260 | ;; 261 | esac 262 | 263 | ofile= 264 | cfile= 265 | 266 | for arg 267 | do 268 | if test -n "$eat"; then 269 | eat= 270 | else 271 | case $1 in 272 | -o) 273 | # configure might choose to run compile as 'compile cc -o foo foo.c'. 274 | # So we strip '-o arg' only if arg is an object. 275 | eat=1 276 | case $2 in 277 | *.o | *.obj) 278 | ofile=$2 279 | ;; 280 | *) 281 | set x "$@" -o "$2" 282 | shift 283 | ;; 284 | esac 285 | ;; 286 | *.c) 287 | cfile=$1 288 | set x "$@" "$1" 289 | shift 290 | ;; 291 | *) 292 | set x "$@" "$1" 293 | shift 294 | ;; 295 | esac 296 | fi 297 | shift 298 | done 299 | 300 | if test -z "$ofile" || test -z "$cfile"; then 301 | # If no '-o' option was seen then we might have been invoked from a 302 | # pattern rule where we don't need one. That is ok -- this is a 303 | # normal compilation that the losing compiler can handle. If no 304 | # '.c' file was seen then we are probably linking. That is also 305 | # ok. 306 | exec "$@" 307 | fi 308 | 309 | # Name of file we expect compiler to create. 310 | cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` 311 | 312 | # Create the lock directory. 313 | # Note: use '[/\\:.-]' here to ensure that we don't use the same name 314 | # that we are using for the .o file. Also, base the name on the expected 315 | # object file name, since that is what matters with a parallel build. 316 | lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d 317 | while true; do 318 | if mkdir "$lockdir" >/dev/null 2>&1; then 319 | break 320 | fi 321 | sleep 1 322 | done 323 | # FIXME: race condition here if user kills between mkdir and trap. 324 | trap "rmdir '$lockdir'; exit 1" 1 2 15 325 | 326 | # Run the compile. 327 | "$@" 328 | ret=$? 329 | 330 | if test -f "$cofile"; then 331 | test "$cofile" = "$ofile" || mv "$cofile" "$ofile" 332 | elif test -f "${cofile}bj"; then 333 | test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" 334 | fi 335 | 336 | rmdir "$lockdir" 337 | exit $ret 338 | 339 | # Local Variables: 340 | # mode: shell-script 341 | # sh-indentation: 2 342 | # eval: (add-hook 'write-file-hooks 'time-stamp) 343 | # time-stamp-start: "scriptversion=" 344 | # time-stamp-format: "%:y-%02m-%02d.%02H" 345 | # time-stamp-time-zone: "UTC" 346 | # time-stamp-end: "; # UTC" 347 | # End: 348 | -------------------------------------------------------------------------------- /BCI/LINUX/config.h.in: -------------------------------------------------------------------------------- 1 | /* config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | 4 | #ifndef CONFIG_H 5 | #define CONFIG_H 6 | 7 | 8 | /* safe limits should be enforced */ 9 | #undef FPING_SAFE_LIMITS 10 | 11 | /* Define to 1 if you have the header file. */ 12 | #undef HAVE_INTTYPES_H 13 | 14 | /* Define to 1 if you have the `nsl' library (-lnsl). */ 15 | #undef HAVE_LIBNSL 16 | 17 | /* Define to 1 if you have the `socket' library (-lsocket). */ 18 | #undef HAVE_LIBSOCKET 19 | 20 | /* Define to 1 if you have the header file. */ 21 | #undef HAVE_MEMORY_H 22 | 23 | /* Define to 1 if you have the header file. */ 24 | #undef HAVE_NETINET_ICMP6_H 25 | 26 | /* SO_TIMESTAMP is defined */ 27 | #undef HAVE_SO_TIMESTAMP 28 | 29 | /* Define to 1 if you have the header file. */ 30 | #undef HAVE_STDINT_H 31 | 32 | /* Define to 1 if you have the header file. */ 33 | #undef HAVE_STDLIB_H 34 | 35 | /* Define to 1 if you have the header file. */ 36 | #undef HAVE_STRINGS_H 37 | 38 | /* Define to 1 if you have the header file. */ 39 | #undef HAVE_STRING_H 40 | 41 | /* Define to 1 if you have the header file. */ 42 | #undef HAVE_SYS_FILE_H 43 | 44 | /* Define to 1 if you have the header file. */ 45 | #undef HAVE_SYS_SELECT_H 46 | 47 | /* Define to 1 if you have the header file. */ 48 | #undef HAVE_SYS_STAT_H 49 | 50 | /* Define to 1 if you have the header file. */ 51 | #undef HAVE_SYS_TYPES_H 52 | 53 | /* Define to 1 if you have the header file. */ 54 | #undef HAVE_UNISTD_H 55 | 56 | /* IPv4 enabled */ 57 | #undef IPV4 58 | 59 | /* IPv6 enabled */ 60 | #undef IPV6 61 | 62 | /* Name of package */ 63 | #undef PACKAGE 64 | 65 | /* Define to the address where bug reports for this package should be sent. */ 66 | #undef PACKAGE_BUGREPORT 67 | 68 | /* Define to the full name of this package. */ 69 | #undef PACKAGE_NAME 70 | 71 | /* Define to the full name and version of this package. */ 72 | #undef PACKAGE_STRING 73 | 74 | /* Define to the one symbol short name of this package. */ 75 | #undef PACKAGE_TARNAME 76 | 77 | /* Define to the home page for this package. */ 78 | #undef PACKAGE_URL 79 | 80 | /* Define to the version of this package. */ 81 | #undef PACKAGE_VERSION 82 | 83 | /* Define to 1 if you have the ANSI C header files. */ 84 | #undef STDC_HEADERS 85 | 86 | /* Version number of package */ 87 | #undef VERSION 88 | 89 | 90 | /* some OSes do not define this ... lets take a wild guess */ 91 | 92 | #ifndef INADDR_NONE 93 | # define INADDR_NONE 0xffffffffU 94 | #endif 95 | 96 | #endif /* CONFIG_H */ 97 | 98 | 99 | -------------------------------------------------------------------------------- /BCI/LINUX/configure.ac: -------------------------------------------------------------------------------- 1 | dnl Process this file with autoconf to produce a configure script. 2 | 3 | dnl Minimum Autoconf version required. 4 | AC_PREREQ(2.59) 5 | 6 | AC_INIT([fping],[4.2]) 7 | 8 | dnl --disable-ipv4 9 | AC_ARG_ENABLE([ipv4], 10 | AS_HELP_STRING([--disable-ipv4], [Disable support for pinging IPv4 hosts])) 11 | AM_CONDITIONAL([IPV4], [test "x$enable_ipv4" != "xno"]) 12 | AM_COND_IF([IPV4], [AC_DEFINE([IPV4], [1], [IPv4 enabled])]) 13 | 14 | dnl --disable-ipv6 15 | AC_ARG_ENABLE([ipv6], 16 | AS_HELP_STRING([--disable-ipv6], [Disable support for pinging IPv6 hosts])) 17 | AS_IF([test "x$enable_ipv6" != "xno"], [ 18 | dnl Test if IPv6 is supported 19 | AC_CHECK_HEADERS([netinet/icmp6.h], [have_ipv6="yes"], [], [[ 20 | #include 21 | #include 22 | ]]) 23 | ]) 24 | dnl Can't disable both IPv4 and IPv6 25 | AS_IF([test "x$enable_ipv4" = "xno" -a "x$enable_ipv6" = "xno"], [ 26 | AC_MSG_ERROR([Need to enable IPv4 or IPv6. Can't disable both!)]) 27 | ]) 28 | dnl IPv6 required, but not supported? 29 | AS_IF([test \( "x$enable_ipv6" = "xyes" -o "x$enable_ipv4" = "xno" \) -a "x$have_ipv6" != "xyes" ], [ 30 | AC_MSG_ERROR([IPv6 not supported on this platform (netinet/icmp6.h header not found)]) 31 | ]) 32 | AM_CONDITIONAL([IPV6], [test "x$have_ipv6" = "xyes"]) 33 | AM_COND_IF([IPV6], [AC_DEFINE([IPV6], [1], [IPv6 enabled])]) 34 | 35 | AC_ARG_ENABLE([timestamp], 36 | AS_HELP_STRING([--disable-timestamp], [Disable kernel-based packet timestaping (SO_TIMESTAMP)])) 37 | AS_IF([test "x$enable_timestamp" != "xno"], [ 38 | AC_CHECK_DECL([SO_TIMESTAMP], [AC_DEFINE(HAVE_SO_TIMESTAMP, [1], [SO_TIMESTAMP is defined])], [have_so_timestamp="no"], [#include 39 | #include ]) 40 | ]) 41 | dnl Test if --enable-timestamp is explicitely enabled and make an error if this platform doesn't support it 42 | AS_IF([test "x$enable_timestamp" = "xyes" -a "x$have_so_timestamp" = "xno"], [ 43 | AC_MSG_ERROR([--enable-timestamp not supported on this platform]) 44 | ]) 45 | 46 | AC_ARG_ENABLE([safe-limits], 47 | AS_HELP_STRING([--enable-safe-limits], [Restrict timing parameters (-i, -p) within "safe" limits])) 48 | AS_IF([test "x$enable_safe_limits" = "xyes"], [ 49 | AC_DEFINE(FPING_SAFE_LIMITS, [1], [safe limits should be enforced])]) 50 | 51 | AC_CANONICAL_TARGET 52 | AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 53 | AM_MAINTAINER_MODE 54 | 55 | AC_CONFIG_HEADERS([config.h]) 56 | 57 | dnl Checks for programs. 58 | 59 | AC_PROG_CC 60 | AM_PROG_CC_C_O 61 | AC_PROG_CC_STDC 62 | AC_PROG_CPP 63 | AC_PROG_INSTALL 64 | 65 | dnl Checks for libraries. 66 | 67 | AC_CHECK_FUNC(gethostbyname) 68 | if test $ac_cv_func_gethostbyname = no; then 69 | AC_CHECK_LIB(nsl, gethostbyname) 70 | fi 71 | AC_CHECK_FUNC(connect) 72 | if test $ac_cv_func_connect = no; then 73 | AC_CHECK_LIB(socket, connect) 74 | fi 75 | 76 | AH_TOP([ 77 | #ifndef CONFIG_H 78 | #define CONFIG_H 79 | ]) 80 | 81 | AH_BOTTOM([ 82 | /* some OSes do not define this ... lets take a wild guess */ 83 | 84 | #ifndef INADDR_NONE 85 | # define INADDR_NONE 0xffffffffU 86 | #endif 87 | 88 | #endif /* CONFIG_H */ 89 | 90 | ]) 91 | 92 | dnl Checks for header files. 93 | AC_CHECK_HEADERS([unistd.h sys/file.h stdlib.h sys/select.h]) 94 | 95 | AC_CONFIG_FILES([Makefile 96 | doc/Makefile 97 | src/Makefile]) 98 | 99 | AC_OUTPUT 100 | -------------------------------------------------------------------------------- /BCI/LINUX/doc/Makefile.am: -------------------------------------------------------------------------------- 1 | man_MANS = fping.8 2 | 3 | EXTRA_DIST = fping.8 fping.pod README.1992 CHANGELOG.pre-v4 4 | 5 | fping.8: fping.pod 6 | pod2man -c "" -s 8 -r "fping" $< >$@ 7 | -------------------------------------------------------------------------------- /BCI/LINUX/doc/README.1992: -------------------------------------------------------------------------------- 1 | Original README (from 1992) 2 | 3 | fping - A tool to quickly ping N number of hosts to determine 4 | their reachability. 5 | 6 | Roland J. Schemers III - Stanford University 7 | schemers@Stanford.EDU 8 | 9 | fping is a ping(1) like program which uses the Internet Control 10 | Message Protocol (ICMP) echo request to determine if a host is 11 | up. fping is different from ping in that you can specify any 12 | number of hosts on the command line, or specify a file containing 13 | the lists of hosts to ping. Instead of trying one host until it 14 | timeouts or replies, fping will send out a ping packet and move 15 | on to the next host in a round-robin fashion. If a host replies, 16 | it is noted and removed from the list of hosts to check. If a host 17 | does not respond within a certain time limit and/or retry limit it 18 | will be considered unreachable. 19 | 20 | Site 21 | Stanford University has a large TCP/IP network with over 16,000 22 | assigned IP addresses and over 100 IP subnets. 23 | 24 | Problem and Issues 25 | 26 | With a large a number of IP addresses in use, its becomes more and 27 | more time consuming to check on which IP addresses are actively 28 | in use, and which critical machines (routers, bridges, servers, etc) 29 | are reachable. One example is we have a program which goes through 30 | all of our routers arp caches looking for IP addresses that are in 31 | use. After finding a list of IP addresses that aren't in any arp 32 | caches fping can then be used to see if these IP addresses really 33 | aren't being used, or are just behind the routers. Checking 2500 34 | hosts (99% of which are unreachable) via ping can take hours. 35 | 36 | fping was written to solve the problem of pinging N number of hosts 37 | in an efficient manner. By sending out pings in a round-robin fashion 38 | and checking on responses as they come in at random, a large number of 39 | hosts can be checked at once. 40 | 41 | Unlike ping, fping is meant to be used in scripts and its 42 | output is easy to parse. 43 | 44 | -------------------------------------------------------------------------------- /BCI/LINUX/doc/fping.8: -------------------------------------------------------------------------------- 1 | .\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) 2 | .\" 3 | .\" Standard preamble: 4 | .\" ======================================================================== 5 | .de Sp \" Vertical space (when we can't use .PP) 6 | .if t .sp .5v 7 | .if n .sp 8 | .. 9 | .de Vb \" Begin verbatim text 10 | .ft CW 11 | .nf 12 | .ne \\$1 13 | .. 14 | .de Ve \" End verbatim text 15 | .ft R 16 | .fi 17 | .. 18 | .\" Set up some character translations and predefined strings. \*(-- will 19 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 20 | .\" double quote, and \*(R" will give a right double quote. \*(C+ will 21 | .\" give a nicer C++. Capital omega is used to do unbreakable dashes and 22 | .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, 23 | .\" nothing in troff, for use with C<>. 24 | .tr \(*W- 25 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 26 | .ie n \{\ 27 | . ds -- \(*W- 28 | . ds PI pi 29 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 30 | . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 31 | . ds L" "" 32 | . ds R" "" 33 | . ds C` "" 34 | . ds C' "" 35 | 'br\} 36 | .el\{\ 37 | . ds -- \|\(em\| 38 | . ds PI \(*p 39 | . ds L" `` 40 | . ds R" '' 41 | . ds C` 42 | . ds C' 43 | 'br\} 44 | .\" 45 | .\" Escape single quotes in literal strings from groff's Unicode transform. 46 | .ie \n(.g .ds Aq \(aq 47 | .el .ds Aq ' 48 | .\" 49 | .\" If the F register is turned on, we'll generate index entries on stderr for 50 | .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index 51 | .\" entries marked with X<> in POD. Of course, you'll have to process the 52 | .\" output yourself in some meaningful fashion. 53 | .\" 54 | .\" Avoid warning from groff about undefined register 'F'. 55 | .de IX 56 | .. 57 | .nr rF 0 58 | .if \n(.g .if rF .nr rF 1 59 | .if (\n(rF:(\n(.g==0)) \{ 60 | . if \nF \{ 61 | . de IX 62 | . tm Index:\\$1\t\\n%\t"\\$2" 63 | .. 64 | . if !\nF==2 \{ 65 | . nr % 0 66 | . nr F 2 67 | . \} 68 | . \} 69 | .\} 70 | .rr rF 71 | .\" 72 | .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). 73 | .\" Fear. Run. Save yourself. No user-serviceable parts. 74 | . \" fudge factors for nroff and troff 75 | .if n \{\ 76 | . ds #H 0 77 | . ds #V .8m 78 | . ds #F .3m 79 | . ds #[ \f1 80 | . ds #] \fP 81 | .\} 82 | .if t \{\ 83 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) 84 | . ds #V .6m 85 | . ds #F 0 86 | . ds #[ \& 87 | . ds #] \& 88 | .\} 89 | . \" simple accents for nroff and troff 90 | .if n \{\ 91 | . ds ' \& 92 | . ds ` \& 93 | . ds ^ \& 94 | . ds , \& 95 | . ds ~ ~ 96 | . ds / 97 | .\} 98 | .if t \{\ 99 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 100 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 101 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 102 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 103 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 104 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 105 | .\} 106 | . \" troff and (daisy-wheel) nroff accents 107 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 108 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' 109 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 110 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 111 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 112 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 113 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 114 | .ds ae a\h'-(\w'a'u*4/10)'e 115 | .ds Ae A\h'-(\w'A'u*4/10)'E 116 | . \" corrections for vroff 117 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 118 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 119 | . \" for low resolution devices (crt and lpr) 120 | .if \n(.H>23 .if \n(.V>19 \ 121 | \{\ 122 | . ds : e 123 | . ds 8 ss 124 | . ds o a 125 | . ds d- d\h'-1'\(ga 126 | . ds D- D\h'-1'\(hy 127 | . ds th \o'bp' 128 | . ds Th \o'LP' 129 | . ds ae ae 130 | . ds Ae AE 131 | .\} 132 | .rm #[ #] #H #V #F C 133 | .\" ======================================================================== 134 | .\" 135 | .IX Title "FPING 8" 136 | .TH FPING 8 "2019-02-19" "fping" "" 137 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes 138 | .\" way too many mistakes in technical documents. 139 | .if n .ad l 140 | .nh 141 | .SH "NAME" 142 | fping \- send ICMP ECHO_REQUEST packets to network hosts 143 | .SH "SYNOPSIS" 144 | .IX Header "SYNOPSIS" 145 | \&\fBfping\fR [ \fIoptions\fR ] [ \fIsystems...\fR ] 146 | .SH "DESCRIPTION" 147 | .IX Header "DESCRIPTION" 148 | \&\fBfping\fR is a program like \fBping\fR which uses the Internet Control Message 149 | Protocol (\s-1ICMP\s0) echo request to determine if a target host is responding. 150 | \&\fBfping\fR differs from \fBping\fR in that you can specify any number of targets on the 151 | command line, or specify a file containing the lists of targets to ping. 152 | Instead of sending to one target until it times out or replies, \fBfping\fR will 153 | send out a ping packet and move on to the next target in a round-robin fashion. 154 | In the default mode, if a target replies, it is noted and removed from the list 155 | of targets to check; if a target does not respond within a certain time limit 156 | and/or retry limit it is designated as unreachable. \fBfping\fR also supports 157 | sending a specified number of pings to a target, or looping indefinitely (as in 158 | \&\fBping\fR ). Unlike \fBping\fR, \fBfping\fR is meant to be used in scripts, so its 159 | output is designed to be easy to parse. 160 | .SH "OPTIONS" 161 | .IX Header "OPTIONS" 162 | .IP "\fB\-4\fR, \fB\-\-ipv4\fR" 5 163 | .IX Item "-4, --ipv4" 164 | Restrict name resolution and IPs to IPv4 addresses. 165 | .IP "\fB\-6\fR, \fB\-\-ipv6\fR" 5 166 | .IX Item "-6, --ipv6" 167 | Restrict name resolution and IPs to IPv6 addresses. 168 | .IP "\fB\-a\fR, \fB\-\-alive\fR" 5 169 | .IX Item "-a, --alive" 170 | Show systems that are alive. 171 | .IP "\fB\-A\fR, \fB\-\-addr\fR" 5 172 | .IX Item "-A, --addr" 173 | Display targets by address rather than \s-1DNS\s0 name. Combined with \-d, the output 174 | will be both the ip and (if available) the hostname. 175 | .IP "\fB\-b\fR, \fB\-\-size\fR=\fI\s-1BYTES\s0\fR" 5 176 | .IX Item "-b, --size=BYTES" 177 | Number of bytes of ping data to send. The minimum size (normally 12) allows 178 | room for the data that \fBfping\fR needs to do its work (sequence number, 179 | timestamp). The reported received data size includes the \s-1IP\s0 header (normally 180 | 20 bytes) and \s-1ICMP\s0 header (8 bytes), so the minimum total size is 40 bytes. 181 | Default is 56, as in \fBping\fR. Maximum is the theoretical maximum \s-1IP\s0 datagram 182 | size (64K), though most systems limit this to a smaller, system-dependent 183 | number. 184 | .IP "\fB\-B\fR, \fB\-\-backoff\fR=\fIN\fR" 5 185 | .IX Item "-B, --backoff=N" 186 | Backoff factor. In the default mode, \fBfping\fR sends several requests to a 187 | target before giving up, waiting longer for a reply on each successive request. 188 | This parameter is the value by which the wait time (\fB\-t\fR) is multiplied on each 189 | successive request; it must be entered as a floating-point number (x.y). The 190 | default is 1.5. 191 | .IP "\fB\-c\fR, \fB\-\-count\fR=\fIN\fR" 5 192 | .IX Item "-c, --count=N" 193 | Number of request packets to send to each target. In this mode, a line is 194 | displayed for each received response (this can suppressed with \fB\-q\fR or \fB\-Q\fR). 195 | Also, statistics about responses for each target are displayed when all 196 | requests have been sent (or when interrupted). 197 | .IP "\fB\-C\fR, \fB\-\-vcount\fR=\fIN\fR" 5 198 | .IX Item "-C, --vcount=N" 199 | Similar to \fB\-c\fR, but the per-target statistics are displayed in a format 200 | designed for automated response-time statistics gathering. For example: 201 | .Sp 202 | .Vb 2 203 | \& $ fping \-C 5 \-q somehost 204 | \& somehost : 91.7 37.0 29.2 \- 36.8 205 | .Ve 206 | .Sp 207 | shows the response time in milliseconds for each of the five requests, with the 208 | \&\f(CW\*(C`\-\*(C'\fR indicating that no response was received to the fourth request. 209 | .IP "\fB\-d\fR, \fB\-\-rdns\fR" 5 210 | .IX Item "-d, --rdns" 211 | Use \s-1DNS\s0 to lookup address of return ping packet. This allows you to give fping 212 | a list of \s-1IP\s0 addresses as input and print hostnames in the output. This is similar 213 | to option \fB\-n\fR/\fB\-\-name\fR, but will force a reverse-DNS lookup even if you give 214 | hostnames as target (\s-1NAME\-\s0>\s-1IP\-\s0>\s-1NAME\s0). 215 | .IP "\fB\-D\fR, \fB\-\-timestamp\fR" 5 216 | .IX Item "-D, --timestamp" 217 | Add Unix timestamps in front of output lines generated with in looping or counting 218 | modes (\fB\-l\fR, \fB\-c\fR, or \fB\-C\fR). 219 | .IP "\fB\-e\fR, \fB\-\-elapsed\fR" 5 220 | .IX Item "-e, --elapsed" 221 | Show elapsed (round-trip) time of packets. 222 | .IP "\fB\-f\fR, \fB\-\-file\fR" 5 223 | .IX Item "-f, --file" 224 | Read list of targets from a file. This option can only be used by the root 225 | user. Regular users should pipe in the file via stdin: 226 | .Sp 227 | .Vb 1 228 | \& $ fping < targets_file 229 | .Ve 230 | .IP "\fB\-g\fR, \fB\-\-generate\fR \fIaddr/mask\fR" 5 231 | .IX Item "-g, --generate addr/mask" 232 | Generate a target list from a supplied \s-1IP\s0 netmask, or a starting and ending \s-1IP.\s0 233 | Specify the netmask or start/end in the targets portion of the command line. If 234 | a network with netmask is given, the network and broadcast addresses will be 235 | excluded. ex. To ping the network 192.168.1.0/24, the specified command line 236 | could look like either: 237 | .Sp 238 | .Vb 1 239 | \& $ fping \-g 192.168.1.0/24 240 | .Ve 241 | .Sp 242 | or 243 | .Sp 244 | .Vb 1 245 | \& $ fping \-g 192.168.1.1 192.168.1.254 246 | .Ve 247 | .IP "\fB\-h\fR, \fB\-\-help\fR" 5 248 | .IX Item "-h, --help" 249 | Print usage message. 250 | .IP "\fB\-H\fR, \fB\-\-ttl\fR=\fIN\fR" 5 251 | .IX Item "-H, --ttl=N" 252 | Set the \s-1IP TTL\s0 field (time to live hops). 253 | .IP "\fB\-i\fR, \fB\-\-interval\fR=\fI\s-1MSEC\s0\fR" 5 254 | .IX Item "-i, --interval=MSEC" 255 | The minimum amount of time (in milliseconds) between sending a ping packet 256 | to any target (default is 10, minimum is 1). 257 | .IP "\fB\-I\fR, \fB\-\-iface\fR=\fI\s-1IFACE\s0\fR" 5 258 | .IX Item "-I, --iface=IFACE" 259 | Set the interface (requires \s-1SO_BINDTODEVICE\s0 support). 260 | .IP "\fB\-l\fR, \fB\-\-loop\fR" 5 261 | .IX Item "-l, --loop" 262 | Loop sending packets to each target indefinitely. Can be interrupted with 263 | Ctrl-C; statistics about responses for each target are then displayed. 264 | .IP "\fB\-m\fR, \fB\-\-all\fR" 5 265 | .IX Item "-m, --all" 266 | Send pings to each of a target host's multiple \s-1IP\s0 addresses (use of option '\-A' 267 | is recommended). 268 | .IP "\fB\-M\fR, \fB\-\-dontfrag\fR" 5 269 | .IX Item "-M, --dontfrag" 270 | Set the \*(L"Don't Fragment\*(R" bit in the \s-1IP\s0 header (used to determine/test the \s-1MTU\s0). 271 | .IP "\fB\-n\fR, \fB\-\-name\fR" 5 272 | .IX Item "-n, --name" 273 | If targets are specified as \s-1IP\s0 addresses, do a reverse-DNS lookup on them 274 | to 275 | .IP "\fB\-N\fR, \fB\-\-netdata\fR" 5 276 | .IX Item "-N, --netdata" 277 | Format output for netdata (\-l \-Q are required). See: 278 | .IP "\fB\-o\fR, \fB\-\-outage\fR" 5 279 | .IX Item "-o, --outage" 280 | Calculate \*(L"outage time\*(R" based on the number of lost pings and the interval used (useful for network convergence tests). 281 | .IP "\fB\-O\fR, \fB\-\-tos\fR=\fIN\fR" 5 282 | .IX Item "-O, --tos=N" 283 | Set the typ of service flag (\s-1TOS\s0). \fIN\fR can be either decimal or hexadecimal 284 | (0xh) format. 285 | .IP "\fB\-p\fR, \fB\-\-period\fR=\fI\s-1MSEC\s0\fR" 5 286 | .IX Item "-p, --period=MSEC" 287 | In looping or counting modes (\fB\-l\fR, \fB\-c\fR, or \fB\-C\fR), this parameter sets 288 | the time in milliseconds that \fBfping\fR waits between successive packets to 289 | an individual target. Default is 1000 and minimum is 10. 290 | .IP "\fB\-q\fR, \fB\-\-quiet\fR" 5 291 | .IX Item "-q, --quiet" 292 | Quiet. Don't show per-probe results, but only the final summary. Also don't 293 | show \s-1ICMP\s0 error messages. 294 | .IP "\fB\-Q\fR, \fB\-\-squiet\fR=\fI\s-1SECS\s0\fR" 5 295 | .IX Item "-Q, --squiet=SECS" 296 | Like \fB\-q\fR, but show summary results every n seconds. 297 | .IP "\fB\-r\fR, \fB\-\-retry\fR=\fIN\fR" 5 298 | .IX Item "-r, --retry=N" 299 | Retry limit (default 3). This is the number of times an attempt at pinging 300 | a target will be made, not including the first try. 301 | .IP "\fB\-R\fR, \fB\-\-random\fR" 5 302 | .IX Item "-R, --random" 303 | Instead of using all-zeros as the packet data, generate random bytes. 304 | Use to defeat, e.g., link data compression. 305 | .IP "\fB\-s\fR, \fB\-\-src\fR" 5 306 | .IX Item "-s, --src" 307 | Print cumulative statistics upon exit. 308 | .IP "\fB\-S\fR, \fB\-\-src\fR=\fIaddr\fR" 5 309 | .IX Item "-S, --src=addr" 310 | Set source address. 311 | .IP "\fB\-t\fR, \fB\-\-timeout\fR=\fI\s-1MSEC\s0\fR" 5 312 | .IX Item "-t, --timeout=MSEC" 313 | Initial target timeout in milliseconds. In the default, non-loop mode, the 314 | default timeout is 500ms, and it represents the amount of time that \fBfping\fR 315 | waits for a response to its first request. Successive timeouts are multiplied 316 | by the backoff factor specified with \fB\-B\fR. 317 | .Sp 318 | In loop/count mode, the default timeout is automatically adjusted to match 319 | the \*(L"period\*(R" value (but not more than 2000ms). You can still adjust the timeout 320 | value with this option, if you wish to, but note that setting a value larger 321 | than \*(L"period\*(R" produces inconsistent results, because the timeout value can 322 | be respected only for the last ping. 323 | .Sp 324 | Also note that any received replies that are larger than the timeout value, will 325 | be discarded. 326 | .IP "\fB\-T\fR \fIn\fR" 5 327 | .IX Item "-T n" 328 | Ignored (for compatibility with fping 2.4). 329 | .IP "\fB\-u\fR, \fB\-\-unreach\fR" 5 330 | .IX Item "-u, --unreach" 331 | Show targets that are unreachable. 332 | .IP "\fB\-v\fR, \fB\-\-version\fR" 5 333 | .IX Item "-v, --version" 334 | Print \fBfping\fR version information. 335 | .IP "\fB\-x\fR, \fB\-\-reachable\fR=\fIN\fR" 5 336 | .IX Item "-x, --reachable=N" 337 | Given a list of hosts, this mode checks if number of reachable hosts is >= N 338 | and exits true in that case. 339 | .SH "EXAMPLES" 340 | .IX Header "EXAMPLES" 341 | Generate 20 pings to two hosts in ca. 1 second (i.e. one ping every 50 ms to 342 | each host), and report every ping \s-1RTT\s0 at the end: 343 | .PP 344 | .Vb 1 345 | \& $ fping \-\-quiet \-\-interval=1 \-\-vcount=20 \-\-period=50 127.0.0.1 127.0.0.2 346 | .Ve 347 | .SH "AUTHORS" 348 | .IX Header "AUTHORS" 349 | .IP "\(bu" 4 350 | Roland J. Schemers \s-1III,\s0 Stanford University, concept and versions 1.x 351 | .IP "\(bu" 4 352 | \&\s-1RL \s0\*(L"Bob\*(R" Morgan, Stanford University, versions 2.x 353 | .IP "\(bu" 4 354 | David Papp, versions 2.3x and up 355 | .IP "\(bu" 4 356 | David Schweikert, versions 3.0 and up 357 | .PP 358 | \&\fBfping website: \fR 359 | .SH "DIAGNOSTICS" 360 | .IX Header "DIAGNOSTICS" 361 | Exit status is 0 if all the hosts are reachable, 1 if some hosts 362 | were unreachable, 2 if any \s-1IP\s0 addresses were not found, 3 for invalid command 363 | line arguments, and 4 for a system call failure. 364 | .SH "RESTRICTIONS" 365 | .IX Header "RESTRICTIONS" 366 | If fping was configured with \f(CW\*(C`\-\-enable\-safe\-limits\*(C'\fR, the following values are 367 | not allowed for non-root users: 368 | .IP "\(bu" 4 369 | \&\fB\-i\fR \fIn\fR, where \fIn\fR < 1 msec 370 | .IP "\(bu" 4 371 | \&\fB\-p\fR \fIn\fR, where \fIn\fR < 10 msec 372 | .SH "SEE ALSO" 373 | .IX Header "SEE ALSO" 374 | \&\f(CWping(8)\fR 375 | -------------------------------------------------------------------------------- /BCI/LINUX/doc/fping.pod: -------------------------------------------------------------------------------- 1 | =head1 NAME 2 | 3 | fping - send ICMP ECHO_REQUEST packets to network hosts 4 | 5 | =head1 SYNOPSIS 6 | 7 | B [ I ] [ I ] 8 | 9 | =head1 DESCRIPTION 10 | 11 | B is a program like B which uses the Internet Control Message 12 | Protocol (ICMP) echo request to determine if a target host is responding. 13 | B differs from B in that you can specify any number of targets on the 14 | command line, or specify a file containing the lists of targets to ping. 15 | Instead of sending to one target until it times out or replies, B will 16 | send out a ping packet and move on to the next target in a round-robin fashion. 17 | In the default mode, if a target replies, it is noted and removed from the list 18 | of targets to check; if a target does not respond within a certain time limit 19 | and/or retry limit it is designated as unreachable. B also supports 20 | sending a specified number of pings to a target, or looping indefinitely (as in 21 | B ). Unlike B, B is meant to be used in scripts, so its 22 | output is designed to be easy to parse. 23 | 24 | =head1 OPTIONS 25 | 26 | =over 5 27 | 28 | =item B<-4>, B<--ipv4> 29 | 30 | Restrict name resolution and IPs to IPv4 addresses. 31 | 32 | =item B<-6>, B<--ipv6> 33 | 34 | Restrict name resolution and IPs to IPv6 addresses. 35 | 36 | =item B<-a>, B<--alive> 37 | 38 | Show systems that are alive. 39 | 40 | =item B<-A>, B<--addr> 41 | 42 | Display targets by address rather than DNS name. Combined with -d, the output 43 | will be both the ip and (if available) the hostname. 44 | 45 | =item B<-b>, B<--size>=I 46 | 47 | Number of bytes of ping data to send. The minimum size (normally 12) allows 48 | room for the data that B needs to do its work (sequence number, 49 | timestamp). The reported received data size includes the IP header (normally 50 | 20 bytes) and ICMP header (8 bytes), so the minimum total size is 40 bytes. 51 | Default is 56, as in B. Maximum is the theoretical maximum IP datagram 52 | size (64K), though most systems limit this to a smaller, system-dependent 53 | number. 54 | 55 | =item B<-B>, B<--backoff>=I 56 | 57 | Backoff factor. In the default mode, B sends several requests to a 58 | target before giving up, waiting longer for a reply on each successive request. 59 | This parameter is the value by which the wait time (B<-t>) is multiplied on each 60 | successive request; it must be entered as a floating-point number (x.y). The 61 | default is 1.5. 62 | 63 | =item B<-c>, B<--count>=I 64 | 65 | Number of request packets to send to each target. In this mode, a line is 66 | displayed for each received response (this can suppressed with B<-q> or B<-Q>). 67 | Also, statistics about responses for each target are displayed when all 68 | requests have been sent (or when interrupted). 69 | 70 | =item B<-C>, B<--vcount>=I 71 | 72 | Similar to B<-c>, but the per-target statistics are displayed in a format 73 | designed for automated response-time statistics gathering. For example: 74 | 75 | $ fping -C 5 -q somehost 76 | somehost : 91.7 37.0 29.2 - 36.8 77 | 78 | shows the response time in milliseconds for each of the five requests, with the 79 | C<-> indicating that no response was received to the fourth request. 80 | 81 | =item B<-d>, B<--rdns> 82 | 83 | Use DNS to lookup address of return ping packet. This allows you to give fping 84 | a list of IP addresses as input and print hostnames in the output. This is similar 85 | to option B<-n>/B<--name>, but will force a reverse-DNS lookup even if you give 86 | hostnames as target (NAME->IP->NAME). 87 | 88 | =item B<-D>, B<--timestamp> 89 | 90 | Add Unix timestamps in front of output lines generated with in looping or counting 91 | modes (B<-l>, B<-c>, or B<-C>). 92 | 93 | =item B<-e>, B<--elapsed> 94 | 95 | Show elapsed (round-trip) time of packets. 96 | 97 | =item B<-f>, B<--file> 98 | 99 | Read list of targets from a file. This option can only be used by the root 100 | user. Regular users should pipe in the file via stdin: 101 | 102 | $ fping < targets_file 103 | 104 | =item B<-g>, B<--generate> I 105 | 106 | Generate a target list from a supplied IP netmask, or a starting and ending IP. 107 | Specify the netmask or start/end in the targets portion of the command line. If 108 | a network with netmask is given, the network and broadcast addresses will be 109 | excluded. ex. To ping the network 192.168.1.0/24, the specified command line 110 | could look like either: 111 | 112 | $ fping -g 192.168.1.0/24 113 | 114 | or 115 | 116 | $ fping -g 192.168.1.1 192.168.1.254 117 | 118 | =item B<-h>, B<--help> 119 | 120 | Print usage message. 121 | 122 | =item B<-H>, B<--ttl>=I 123 | 124 | Set the IP TTL field (time to live hops). 125 | 126 | =item B<-i>, B<--interval>=I 127 | 128 | The minimum amount of time (in milliseconds) between sending a ping packet 129 | to any target (default is 10, minimum is 1). 130 | 131 | =item B<-I>, B<--iface>=I 132 | 133 | Set the interface (requires SO_BINDTODEVICE support). 134 | 135 | =item B<-l>, B<--loop> 136 | 137 | Loop sending packets to each target indefinitely. Can be interrupted with 138 | Ctrl-C; statistics about responses for each target are then displayed. 139 | 140 | =item B<-m>, B<--all> 141 | 142 | Send pings to each of a target host's multiple IP addresses (use of option '-A' 143 | is recommended). 144 | 145 | =item B<-M>, B<--dontfrag> 146 | 147 | Set the "Don't Fragment" bit in the IP header (used to determine/test the MTU). 148 | 149 | =item B<-n>, B<--name> 150 | 151 | If targets are specified as IP addresses, do a reverse-DNS lookup on them 152 | to 153 | 154 | =item B<-N>, B<--netdata> 155 | 156 | Format output for netdata (-l -Q are required). See: L 157 | 158 | =item B<-o>, B<--outage> 159 | 160 | Calculate "outage time" based on the number of lost pings and the interval used (useful for network convergence tests). 161 | 162 | =item B<-O>, B<--tos>=I 163 | 164 | Set the typ of service flag (TOS). I can be either decimal or hexadecimal 165 | (0xh) format. 166 | 167 | =item B<-p>, B<--period>=I 168 | 169 | In looping or counting modes (B<-l>, B<-c>, or B<-C>), this parameter sets 170 | the time in milliseconds that B waits between successive packets to 171 | an individual target. Default is 1000 and minimum is 10. 172 | 173 | =item B<-q>, B<--quiet> 174 | 175 | Quiet. Don't show per-probe results, but only the final summary. Also don't 176 | show ICMP error messages. 177 | 178 | =item B<-Q>, B<--squiet>=I 179 | 180 | Like B<-q>, but show summary results every n seconds. 181 | 182 | =item B<-r>, B<--retry>=I 183 | 184 | Retry limit (default 3). This is the number of times an attempt at pinging 185 | a target will be made, not including the first try. 186 | 187 | =item B<-R>, B<--random> 188 | 189 | Instead of using all-zeros as the packet data, generate random bytes. 190 | Use to defeat, e.g., link data compression. 191 | 192 | =item B<-s>, B<--src> 193 | 194 | Print cumulative statistics upon exit. 195 | 196 | =item B<-S>, B<--src>=I 197 | 198 | Set source address. 199 | 200 | =item B<-t>, B<--timeout>=I 201 | 202 | Initial target timeout in milliseconds. In the default, non-loop mode, the 203 | default timeout is 500ms, and it represents the amount of time that B 204 | waits for a response to its first request. Successive timeouts are multiplied 205 | by the backoff factor specified with B<-B>. 206 | 207 | In loop/count mode, the default timeout is automatically adjusted to match 208 | the "period" value (but not more than 2000ms). You can still adjust the timeout 209 | value with this option, if you wish to, but note that setting a value larger 210 | than "period" produces inconsistent results, because the timeout value can 211 | be respected only for the last ping. 212 | 213 | Also note that any received replies that are larger than the timeout value, will 214 | be discarded. 215 | 216 | =item B<-T> I 217 | 218 | Ignored (for compatibility with fping 2.4). 219 | 220 | =item B<-u>, B<--unreach> 221 | 222 | Show targets that are unreachable. 223 | 224 | =item B<-v>, B<--version> 225 | 226 | Print B version information. 227 | 228 | =item B<-x>, B<--reachable>=I 229 | 230 | Given a list of hosts, this mode checks if number of reachable hosts is >= N 231 | and exits true in that case. 232 | 233 | =back 234 | 235 | =head1 EXAMPLES 236 | 237 | Generate 20 pings to two hosts in ca. 1 second (i.e. one ping every 50 ms to 238 | each host), and report every ping RTT at the end: 239 | 240 | $ fping --quiet --interval=1 --vcount=20 --period=50 127.0.0.1 127.0.0.2 241 | 242 | =head1 AUTHORS 243 | 244 | =over 4 245 | 246 | =item * 247 | 248 | Roland J. Schemers III, Stanford University, concept and versions 1.x 249 | 250 | =item * 251 | 252 | RL "Bob" Morgan, Stanford University, versions 2.x 253 | 254 | =item * 255 | 256 | David Papp, versions 2.3x and up 257 | 258 | =item * 259 | 260 | David Schweikert, versions 3.0 and up 261 | 262 | =back 263 | 264 | B> 265 | 266 | =head1 DIAGNOSTICS 267 | 268 | Exit status is 0 if all the hosts are reachable, 1 if some hosts 269 | were unreachable, 2 if any IP addresses were not found, 3 for invalid command 270 | line arguments, and 4 for a system call failure. 271 | 272 | =head1 RESTRICTIONS 273 | 274 | If fping was configured with C<--enable-safe-limits>, the following values are 275 | not allowed for non-root users: 276 | 277 | =over 4 278 | 279 | =item * 280 | 281 | B<-i> I, where I < 1 msec 282 | 283 | =item * 284 | 285 | B<-p> I, where I < 10 msec 286 | 287 | =back 288 | 289 | =head1 SEE ALSO 290 | 291 | C 292 | -------------------------------------------------------------------------------- /BCI/LINUX/missing: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Common wrapper for a few potentially missing GNU programs. 3 | 4 | scriptversion=2013-10-28.13; # UTC 5 | 6 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. 7 | # Originally written by Fran,cois Pinard , 1996. 8 | 9 | # This program is free software; you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation; either version 2, or (at your option) 12 | # any later version. 13 | 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | 22 | # As a special exception to the GNU General Public License, if you 23 | # distribute this file as part of a program that contains a 24 | # configuration script generated by Autoconf, you may include it under 25 | # the same distribution terms that you use for the rest of that program. 26 | 27 | if test $# -eq 0; then 28 | echo 1>&2 "Try '$0 --help' for more information" 29 | exit 1 30 | fi 31 | 32 | case $1 in 33 | 34 | --is-lightweight) 35 | # Used by our autoconf macros to check whether the available missing 36 | # script is modern enough. 37 | exit 0 38 | ;; 39 | 40 | --run) 41 | # Back-compat with the calling convention used by older automake. 42 | shift 43 | ;; 44 | 45 | -h|--h|--he|--hel|--help) 46 | echo "\ 47 | $0 [OPTION]... PROGRAM [ARGUMENT]... 48 | 49 | Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due 50 | to PROGRAM being missing or too old. 51 | 52 | Options: 53 | -h, --help display this help and exit 54 | -v, --version output version information and exit 55 | 56 | Supported PROGRAM values: 57 | aclocal autoconf autoheader autom4te automake makeinfo 58 | bison yacc flex lex help2man 59 | 60 | Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 61 | 'g' are ignored when checking the name. 62 | 63 | Send bug reports to ." 64 | exit $? 65 | ;; 66 | 67 | -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 68 | echo "missing $scriptversion (GNU Automake)" 69 | exit $? 70 | ;; 71 | 72 | -*) 73 | echo 1>&2 "$0: unknown '$1' option" 74 | echo 1>&2 "Try '$0 --help' for more information" 75 | exit 1 76 | ;; 77 | 78 | esac 79 | 80 | # Run the given program, remember its exit status. 81 | "$@"; st=$? 82 | 83 | # If it succeeded, we are done. 84 | test $st -eq 0 && exit 0 85 | 86 | # Also exit now if we it failed (or wasn't found), and '--version' was 87 | # passed; such an option is passed most likely to detect whether the 88 | # program is present and works. 89 | case $2 in --version|--help) exit $st;; esac 90 | 91 | # Exit code 63 means version mismatch. This often happens when the user 92 | # tries to use an ancient version of a tool on a file that requires a 93 | # minimum version. 94 | if test $st -eq 63; then 95 | msg="probably too old" 96 | elif test $st -eq 127; then 97 | # Program was missing. 98 | msg="missing on your system" 99 | else 100 | # Program was found and executed, but failed. Give up. 101 | exit $st 102 | fi 103 | 104 | perl_URL=http://www.perl.org/ 105 | flex_URL=http://flex.sourceforge.net/ 106 | gnu_software_URL=http://www.gnu.org/software 107 | 108 | program_details () 109 | { 110 | case $1 in 111 | aclocal|automake) 112 | echo "The '$1' program is part of the GNU Automake package:" 113 | echo "<$gnu_software_URL/automake>" 114 | echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" 115 | echo "<$gnu_software_URL/autoconf>" 116 | echo "<$gnu_software_URL/m4/>" 117 | echo "<$perl_URL>" 118 | ;; 119 | autoconf|autom4te|autoheader) 120 | echo "The '$1' program is part of the GNU Autoconf package:" 121 | echo "<$gnu_software_URL/autoconf/>" 122 | echo "It also requires GNU m4 and Perl in order to run:" 123 | echo "<$gnu_software_URL/m4/>" 124 | echo "<$perl_URL>" 125 | ;; 126 | esac 127 | } 128 | 129 | give_advice () 130 | { 131 | # Normalize program name to check for. 132 | normalized_program=`echo "$1" | sed ' 133 | s/^gnu-//; t 134 | s/^gnu//; t 135 | s/^g//; t'` 136 | 137 | printf '%s\n' "'$1' is $msg." 138 | 139 | configure_deps="'configure.ac' or m4 files included by 'configure.ac'" 140 | case $normalized_program in 141 | autoconf*) 142 | echo "You should only need it if you modified 'configure.ac'," 143 | echo "or m4 files included by it." 144 | program_details 'autoconf' 145 | ;; 146 | autoheader*) 147 | echo "You should only need it if you modified 'acconfig.h' or" 148 | echo "$configure_deps." 149 | program_details 'autoheader' 150 | ;; 151 | automake*) 152 | echo "You should only need it if you modified 'Makefile.am' or" 153 | echo "$configure_deps." 154 | program_details 'automake' 155 | ;; 156 | aclocal*) 157 | echo "You should only need it if you modified 'acinclude.m4' or" 158 | echo "$configure_deps." 159 | program_details 'aclocal' 160 | ;; 161 | autom4te*) 162 | echo "You might have modified some maintainer files that require" 163 | echo "the 'autom4te' program to be rebuilt." 164 | program_details 'autom4te' 165 | ;; 166 | bison*|yacc*) 167 | echo "You should only need it if you modified a '.y' file." 168 | echo "You may want to install the GNU Bison package:" 169 | echo "<$gnu_software_URL/bison/>" 170 | ;; 171 | lex*|flex*) 172 | echo "You should only need it if you modified a '.l' file." 173 | echo "You may want to install the Fast Lexical Analyzer package:" 174 | echo "<$flex_URL>" 175 | ;; 176 | help2man*) 177 | echo "You should only need it if you modified a dependency" \ 178 | "of a man page." 179 | echo "You may want to install the GNU Help2man package:" 180 | echo "<$gnu_software_URL/help2man/>" 181 | ;; 182 | makeinfo*) 183 | echo "You should only need it if you modified a '.texi' file, or" 184 | echo "any other file indirectly affecting the aspect of the manual." 185 | echo "You might want to install the Texinfo package:" 186 | echo "<$gnu_software_URL/texinfo/>" 187 | echo "The spurious makeinfo call might also be the consequence of" 188 | echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" 189 | echo "want to install GNU make:" 190 | echo "<$gnu_software_URL/make/>" 191 | ;; 192 | *) 193 | echo "You might have modified some files without having the proper" 194 | echo "tools for further handling them. Check the 'README' file, it" 195 | echo "often tells you about the needed prerequisites for installing" 196 | echo "this package. You may also peek at any GNU archive site, in" 197 | echo "case some other package contains this missing '$1' program." 198 | ;; 199 | esac 200 | } 201 | 202 | give_advice "$1" | sed -e '1s/^/WARNING: /' \ 203 | -e '2,$s/^/ /' >&2 204 | 205 | # Propagate the correct exit status (expected to be 127 for a program 206 | # not found, 63 for a program that failed due to version mismatch). 207 | exit $st 208 | 209 | # Local variables: 210 | # eval: (add-hook 'write-file-hooks 'time-stamp) 211 | # time-stamp-start: "scriptversion=" 212 | # time-stamp-format: "%:y-%02m-%02d.%02H" 213 | # time-stamp-time-zone: "UTC" 214 | # time-stamp-end: "; # UTC" 215 | # End: 216 | -------------------------------------------------------------------------------- /BCI/LINUX/src/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CFLAGS = -Wall -Wextra -Wno-sign-compare 2 | 3 | sbin_PROGRAMS = fping 4 | 5 | fping_SOURCES = fping.c seqmap.c socket4.c fping.h options.h seqmap.h optparse.c optparse.h 6 | fping_DEPENDENCIES = ../config.h 7 | 8 | if IPV6 9 | fping_SOURCES += socket6.c 10 | fping_CFLAGS = $(AM_CFLAGS) -DIPV6 11 | endif 12 | -------------------------------------------------------------------------------- /BCI/LINUX/src/cf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # random cloudflare anycast ip 3 | declare -i bandwidth 4 | declare -i speed 5 | read -p "请设置期望到 CloudFlare 服务器的带宽大小(单位 Mbps):" bandwidth 6 | speed=bandwidth*128*1024 7 | starttime=`date +'%Y-%m-%d %H:%M:%S'` 8 | while true 9 | do 10 | while true 11 | do 12 | rm -rf temp ip.txt data.txt meta.txt log.txt temp.txt 13 | while true 14 | do 15 | if [ -f "resolve.txt" ] 16 | then 17 | echo 指向解析获取CF节点IP 18 | resolveip=$(cat resolve.txt) 19 | while true 20 | do 21 | if [ ! -f "meta.txt" ] 22 | then 23 | curl --ipv4 --resolve speed.cloudflare.com:443:$resolveip --retry 3 -v https://speed.cloudflare.com/__down>meta.txt 2>&1 24 | else 25 | asn=$(cat meta.txt | grep cf-meta-asn: | tr '\r' '\n' | awk '{print $3}') 26 | city=$(cat meta.txt | grep cf-meta-city: | tr '\r' '\n' | awk '{print $3}') 27 | latitude=$(cat meta.txt | grep cf-meta-latitude: | tr '\r' '\n' | awk '{print $3}') 28 | longitude=$(cat meta.txt | grep cf-meta-longitude: | tr '\r' '\n' | awk '{print $3}') 29 | curl --ipv4 --resolve service.udpfile.com:443:$resolveip --retry 3 "https://service.udpfile.com?asn="$asn"&city="$city"" -o data.txt -# 30 | break 31 | fi 32 | done 33 | else 34 | echo DNS解析获取CF节点IP 35 | while true 36 | do 37 | if [ ! -f "meta.txt" ] 38 | then 39 | curl --ipv4 --retry 3 -v https://speed.cloudflare.com/__down>meta.txt 2>&1 40 | else 41 | asn=$(cat meta.txt | grep cf-meta-asn: | tr '\r' '\n' | awk '{print $3}') 42 | city=$(cat meta.txt | grep cf-meta-city: | tr '\r' '\n' | awk '{print $3}') 43 | latitude=$(cat meta.txt | grep cf-meta-latitude: | tr '\r' '\n' | awk '{print $3}') 44 | longitude=$(cat meta.txt | grep cf-meta-longitude: | tr '\r' '\n' | awk '{print $3}') 45 | curl --ipv4 --retry 3 "https://service.udpfile.com?asn="$asn"&city="$city"" -o data.txt -# 46 | break 47 | fi 48 | done 49 | fi 50 | if [ -f "data.txt" ] 51 | then 52 | break 53 | fi 54 | done 55 | domain=$(cat data.txt | grep domain= | cut -f 2- -d'=') 56 | file=$(cat data.txt | grep file= | cut -f 2- -d'=') 57 | url=$(cat data.txt | grep url= | cut -f 2- -d'=') 58 | app=$(cat data.txt | grep app= | cut -f 2- -d'=') 59 | if [ "$app" != "20210315" ] 60 | then 61 | echo 发现新版本程序: $app 62 | echo 更新地址: $url 63 | echo 更新后才可以使用 64 | exit 65 | fi 66 | for i in `cat data.txt | sed '1,4d'` 67 | do 68 | echo $i>>ip.txt 69 | done 70 | rm -rf meta.txt data.txt 71 | ./fping -f ip.txt -c 20 -i 0 > fping.txt 72 | sort -t/ -n -k 5 -k 8 fping.txt | cut -f 1 -d: | sed '21,$d' > ip.txt 73 | rm -rf fping.txt 74 | echo 选取20个丢包率最少的IP地址下载测速 75 | mkdir temp 76 | for i in `cat ip.txt` 77 | do 78 | echo $i 启动测速 79 | curl --resolve $domain:443:$i https://$domain/$file -o temp/$i -s --connect-timeout 2 --max-time 10& 80 | done 81 | echo 等待测速进程结束,筛选出三个优选的IP 82 | sleep 15 83 | echo 测速完成 84 | ls -S temp > ip.txt 85 | rm -rf temp 86 | declare -i n 87 | n=$(wc -l ip.txt | awk '{print $1}') 88 | if [ $n -ge 3 ]; then 89 | first=$(sed -n '1p' ip.txt) 90 | second=$(sed -n '2p' ip.txt) 91 | third=$(sed -n '3p' ip.txt) 92 | rm -rf ip.txt 93 | echo 优选的IP地址为 $first - $second - $third 94 | echo 第一次测试 $first 95 | curl --resolve $domain:443:$first https://$domain/$file -o /dev/null --connect-timeout 5 --max-time 10 > log.txt 2>&1 96 | cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep -v 'k\|M' >> speed.txt 97 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep k | sed 's/k//g'` 98 | do 99 | declare -i k 100 | k=$i 101 | k=k*1024 102 | echo $k >> speed.txt 103 | done 104 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep M | sed 's/M//g'` 105 | do 106 | i=$(echo | awk '{print '$i'*10 }') 107 | declare -i M 108 | M=$i 109 | M=M*1024*1024/10 110 | echo $M >> speed.txt 111 | done 112 | declare -i max 113 | declare -i max1 114 | max=0 115 | for i in `cat speed.txt` 116 | do 117 | max=$i 118 | if [ $i -ge $max ]; then 119 | max=$i 120 | fi 121 | done 122 | rm -rf log.txt speed.txt 123 | if [ $max -ge $speed ]; then 124 | anycast=$first 125 | break 126 | fi 127 | max=$[$max/1024] 128 | max1=max 129 | echo 峰值速度 $max kB/s 130 | echo 第二次测试 $first 131 | curl --resolve $domain:443:$first https://$domain/$file -o /dev/null --connect-timeout 5 --max-time 10 > log.txt 2>&1 132 | cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep -v 'k\|M' >> speed.txt 133 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep k | sed 's/k//g'` 134 | do 135 | declare -i k 136 | k=$i 137 | k=k*1024 138 | echo $k >> speed.txt 139 | done 140 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep M | sed 's/M//g'` 141 | do 142 | i=$(echo | awk '{print '$i'*10 }') 143 | declare -i M 144 | M=$i 145 | M=M*1024*1024/10 146 | echo $M >> speed.txt 147 | done 148 | declare -i max 149 | declare -i max2 150 | max=0 151 | for i in `cat speed.txt` 152 | do 153 | max=$i 154 | if [ $i -ge $max ]; then 155 | max=$i 156 | fi 157 | done 158 | rm -rf log.txt speed.txt 159 | if [ $max -ge $speed ]; then 160 | anycast=$first 161 | break 162 | fi 163 | max=$[$max/1024] 164 | max2=max 165 | echo 峰值速度 $max kB/s 166 | if [ $max1 -ge $max2 ] 167 | then 168 | curl --ipv4 --resolve service.udpfile.com:443:$first --retry 3 -s -X POST -d ''20210315-$first-$max1'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o /dev/null --connect-timeout 5 --max-time 10 169 | else 170 | curl --ipv4 --resolve service.udpfile.com:443:$first --retry 3 -s -X POST -d ''20210315-$first-$max2'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o /dev/null --connect-timeout 5 --max-time 10 171 | fi 172 | echo 第一次测试 $second 173 | curl --resolve $domain:443:$second https://$domain/$file -o /dev/null --connect-timeout 5 --max-time 10 > log.txt 2>&1 174 | cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep -v 'k\|M' >> speed.txt 175 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep k | sed 's/k//g'` 176 | do 177 | declare -i k 178 | k=$i 179 | k=k*1024 180 | echo $k >> speed.txt 181 | done 182 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep M | sed 's/M//g'` 183 | do 184 | i=$(echo | awk '{print '$i'*10 }') 185 | declare -i M 186 | M=$i 187 | M=M*1024*1024/10 188 | echo $M >> speed.txt 189 | done 190 | declare -i max 191 | declare -i max1 192 | max=0 193 | for i in `cat speed.txt` 194 | do 195 | max=$i 196 | if [ $i -ge $max ]; then 197 | max=$i 198 | fi 199 | done 200 | rm -rf log.txt speed.txt 201 | if [ $max -ge $speed ]; then 202 | anycast=$second 203 | break 204 | fi 205 | max=$[$max/1024] 206 | max1=max 207 | echo 峰值速度 $max kB/s 208 | echo 第二次测试 $second 209 | curl --resolve $domain:443:$second https://$domain/$file -o /dev/null --connect-timeout 5 --max-time 10 > log.txt 2>&1 210 | cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep -v 'k\|M' >> speed.txt 211 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep k | sed 's/k//g'` 212 | do 213 | declare -i k 214 | k=$i 215 | k=k*1024 216 | echo $k >> speed.txt 217 | done 218 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep M | sed 's/M//g'` 219 | do 220 | i=$(echo | awk '{print '$i'*10 }') 221 | declare -i M 222 | M=$i 223 | M=M*1024*1024/10 224 | echo $M >> speed.txt 225 | done 226 | declare -i max 227 | declare -i max2 228 | max=0 229 | for i in `cat speed.txt` 230 | do 231 | max=$i 232 | if [ $i -ge $max ]; then 233 | max=$i 234 | fi 235 | done 236 | rm -rf log.txt speed.txt 237 | if [ $max -ge $speed ]; then 238 | anycast=$second 239 | break 240 | fi 241 | max=$[$max/1024] 242 | max2=max 243 | echo 峰值速度 $max kB/s 244 | if [ $max1 -ge $max2 ] 245 | then 246 | curl --ipv4 --resolve service.udpfile.com:443:$second --retry 3 -s -X POST -d ''20210315-$second-$max1'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o /dev/null --connect-timeout 5 --max-time 10 247 | else 248 | curl --ipv4 --resolve service.udpfile.com:443:$second --retry 3 -s -X POST -d ''20210315-$second-$max2'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o /dev/null --connect-timeout 5 --max-time 10 249 | fi 250 | echo 第一次测试 $third 251 | curl --resolve $domain:443:$third https://$domain/$file -o /dev/null --connect-timeout 5 --max-time 10 > log.txt 2>&1 252 | cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep -v 'k\|M' >> speed.txt 253 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep k | sed 's/k//g'` 254 | do 255 | declare -i k 256 | k=$i 257 | k=k*1024 258 | echo $k >> speed.txt 259 | done 260 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep M | sed 's/M//g'` 261 | do 262 | i=$(echo | awk '{print '$i'*10 }') 263 | declare -i M 264 | M=$i 265 | M=M*1024*1024/10 266 | echo $M >> speed.txt 267 | done 268 | declare -i max 269 | declare -i max1 270 | max=0 271 | for i in `cat speed.txt` 272 | do 273 | max=$i 274 | if [ $i -ge $max ]; then 275 | max=$i 276 | fi 277 | done 278 | rm -rf log.txt speed.txt 279 | if [ $max -ge $speed ]; then 280 | anycast=$third 281 | break 282 | fi 283 | max=$[$max/1024] 284 | max1=max 285 | echo 峰值速度 $max kB/s 286 | echo 第二次测试 $third 287 | curl --resolve $domain:443:$third https://$domain/$file -o /dev/null --connect-timeout 5 --max-time 10 > log.txt 2>&1 288 | cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep -v 'k\|M' >> speed.txt 289 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep k | sed 's/k//g'` 290 | do 291 | declare -i k 292 | k=$i 293 | k=k*1024 294 | echo $k >> speed.txt 295 | done 296 | for i in `cat log.txt | tr '\r' '\n' | awk '{print $NF}' | sed '1,3d;$d' | grep M | sed 's/M//g'` 297 | do 298 | i=$(echo | awk '{print '$i'*10 }') 299 | declare -i M 300 | M=$i 301 | M=M*1024*1024/10 302 | echo $M >> speed.txt 303 | done 304 | declare -i max 305 | declare -i max2 306 | max=0 307 | for i in `cat speed.txt` 308 | do 309 | max=$i 310 | if [ $i -ge $max ]; then 311 | max=$i 312 | fi 313 | done 314 | rm -rf log.txt speed.txt 315 | if [ $max -ge $speed ]; then 316 | anycast=$third 317 | break 318 | fi 319 | max=$[$max/1024] 320 | max2=max 321 | echo 峰值速度 $max kB/s 322 | if [ $max1 -ge $max2 ] 323 | then 324 | curl --ipv4 --resolve service.udpfile.com:443:$third --retry 3 -s -X POST -d ''20210315-$third-$max1'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o /dev/null --connect-timeout 5 --max-time 10 325 | else 326 | curl --ipv4 --resolve service.udpfile.com:443:$third --retry 3 -s -X POST -d ''20210315-$third-$max2'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o /dev/null --connect-timeout 5 --max-time 10 327 | fi 328 | fi 329 | done 330 | break 331 | done 332 | max=$[$max/1024] 333 | declare -i realbandwidth 334 | realbandwidth=max/128 335 | endtime=`date +'%Y-%m-%d %H:%M:%S'` 336 | start_seconds=$(date --date="$starttime" +%s) 337 | end_seconds=$(date --date="$endtime" +%s) 338 | clear 339 | curl --ipv4 --resolve service.udpfile.com:443:$anycast --retry 3 -s -X POST -d ''20210315-$anycast-$max'' "https://service.udpfile.com?asn="$asn"&city="$city"" -o temp.txt 340 | publicip=$(cat temp.txt | grep publicip= | cut -f 2- -d'=') 341 | colo=$(cat temp.txt | grep colo= | cut -f 2- -d'=') 342 | rm -rf temp.txt 343 | echo $anycast>resolve.txt 344 | echo 优选IP $anycast 满足 $bandwidth Mbps带宽需求 345 | echo 公网IP $publicip 346 | echo 自治域 AS$asn 347 | echo 经纬度 $longitude,$latitude 348 | echo META城市 $city 349 | echo 实测带宽 $realbandwidth Mbps 350 | echo 峰值速度 $max kB/s 351 | echo 数据中心 $colo 352 | echo 总计用时 $((end_seconds-start_seconds)) 秒 -------------------------------------------------------------------------------- /BCI/LINUX/src/fping.h: -------------------------------------------------------------------------------- 1 | #ifndef _FPING_H 2 | #define _FPING_H 3 | 4 | #define __APPLE_USE_RFC_3542 1 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | /* fping.c */ 11 | void crash_and_burn( char *message ); 12 | void errno_crash_and_burn( char *message ); 13 | int in_cksum( unsigned short *p, int n ); 14 | int random_data_flag; 15 | 16 | /* socket.c */ 17 | int open_ping_socket_ipv4(); 18 | void init_ping_buffer_ipv4(size_t ping_data_size); 19 | void socket_set_src_addr_ipv4(int s, struct in_addr *src_addr); 20 | int socket_sendto_ping_ipv4(int s, struct sockaddr *saddr, socklen_t saddr_len, uint16_t icmp_seq, uint16_t icmp_id); 21 | #ifdef IPV6 22 | int open_ping_socket_ipv6(); 23 | void init_ping_buffer_ipv6(size_t ping_data_size); 24 | void socket_set_src_addr_ipv6(int s, struct in6_addr *src_addr); 25 | int socket_sendto_ping_ipv6(int s, struct sockaddr *saddr, socklen_t saddr_len, uint16_t icmp_seq, uint16_t icmp_id); 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /BCI/LINUX/src/options.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Interval is the minimum amount of time between sending a ping packet to 4 | * any host. 5 | * 6 | * Perhost_interval is the minimum amount of time between sending a ping 7 | * packet to a particular responding host (when count is > 1) 8 | * 9 | * Timeout is the initial amount of time between sending a ping packet to 10 | * a particular non-responding host. 11 | * 12 | * Retry is the number of ping packets to send to a non-responding host 13 | * before giving up (in is-it-alive mode). 14 | * 15 | * Backoff factor is how much longer to wait on successive retries. 16 | * 17 | * 18 | */ 19 | 20 | /* constants */ 21 | 22 | #ifndef DEFAULT_INTERVAL 23 | #define DEFAULT_INTERVAL 10 /* default time between packets (msec) */ 24 | #endif 25 | 26 | #ifndef DEFAULT_PERHOST_INTERVAL /* default time between packets */ 27 | #define DEFAULT_PERHOST_INTERVAL 1000 /* to a particular destination */ 28 | #endif /* in counting/looping mode */ 29 | 30 | #ifndef DEFAULT_TIMEOUT 31 | #define DEFAULT_TIMEOUT 500 /* individual host timeouts */ 32 | #define AUTOTUNE_TIMEOUT_MAX 2000 33 | #endif 34 | 35 | 36 | #ifndef DEFAULT_RETRY 37 | #define DEFAULT_RETRY 3 /* number of times to retry a host */ 38 | #endif 39 | 40 | #ifndef DEFAULT_SELECT_TIME 41 | #define DEFAULT_SELECT_TIME 10 /* default time to wait during select() */ 42 | #endif 43 | 44 | #ifndef DEFAULT_BACKOFF_FACTOR 45 | #define DEFAULT_BACKOFF_FACTOR 1.5 /* exponential timeout factor */ 46 | #endif 47 | #define MIN_BACKOFF_FACTOR 1.0 /* exponential timeout factor */ 48 | #define MAX_BACKOFF_FACTOR 5.0 /* exponential timeout factor */ 49 | 50 | #ifndef DNS_TIMEOUT 51 | #define DNS_TIMEOUT 1000 /* time in micro_sec for dns retry */ 52 | #endif 53 | -------------------------------------------------------------------------------- /BCI/LINUX/src/optparse.c: -------------------------------------------------------------------------------- 1 | #include "optparse.h" 2 | 3 | #define MSG_INVALID "invalid option" 4 | #define MSG_MISSING "option requires an argument" 5 | #define MSG_TOOMANY "option takes no arguments" 6 | 7 | static int 8 | opterror(struct optparse *options, const char *message, const char *data) 9 | { 10 | unsigned p = 0; 11 | while (*message) 12 | options->errmsg[p++] = *message++; 13 | const char *sep = " -- '"; 14 | while (*sep) 15 | options->errmsg[p++] = *sep++; 16 | while (p < sizeof(options->errmsg) - 2 && *data) 17 | options->errmsg[p++] = *data++; 18 | options->errmsg[p++] = '\''; 19 | options->errmsg[p++] = '\0'; 20 | return '?'; 21 | } 22 | 23 | void optparse_init(struct optparse *options, char **argv) 24 | { 25 | options->argv = argv; 26 | options->permute = 1; 27 | options->optind = 1; 28 | options->subopt = 0; 29 | options->optarg = 0; 30 | options->errmsg[0] = '\0'; 31 | } 32 | 33 | static inline int 34 | is_dashdash(const char *arg) 35 | { 36 | return arg != 0 && arg[0] == '-' && arg[1] == '-' && arg[2] == '\0'; 37 | } 38 | 39 | static inline int 40 | is_shortopt(const char *arg) 41 | { 42 | return arg != 0 && arg[0] == '-' && arg[1] != '-' && arg[1] != '\0'; 43 | } 44 | 45 | static inline int 46 | is_longopt(const char *arg) 47 | { 48 | return arg != 0 && arg[0] == '-' && arg[1] == '-' && arg[2] != '\0'; 49 | } 50 | 51 | static void 52 | permute(struct optparse *options, int index) 53 | { 54 | char *nonoption = options->argv[index]; 55 | for (int i = index; i < options->optind - 1; i++) 56 | options->argv[i] = options->argv[i + 1]; 57 | options->argv[options->optind - 1] = nonoption; 58 | } 59 | 60 | static int 61 | argtype(const char *optstring, char c) 62 | { 63 | if (c == ':') 64 | return -1; 65 | for (; *optstring && c != *optstring; optstring++); 66 | if (!*optstring) 67 | return -1; 68 | int count = OPTPARSE_NONE; 69 | if (optstring[1] == ':') 70 | count += optstring[2] == ':' ? 2 : 1; 71 | return count; 72 | } 73 | 74 | int optparse(struct optparse *options, const char *optstring) 75 | { 76 | options->errmsg[0] = '\0'; 77 | options->optopt = 0; 78 | options->optarg = 0; 79 | char *option = options->argv[options->optind]; 80 | if (option == 0) { 81 | return -1; 82 | } else if (is_dashdash(option)) { 83 | options->optind++; /* consume "--" */ 84 | return -1; 85 | } else if (!is_shortopt(option)) { 86 | if (options->permute) { 87 | int index = options->optind; 88 | options->optind++; 89 | int r = optparse(options, optstring); 90 | permute(options, index); 91 | options->optind--; 92 | return r; 93 | } else { 94 | return -1; 95 | } 96 | } 97 | option += options->subopt + 1; 98 | options->optopt = option[0]; 99 | int type = argtype(optstring, option[0]); 100 | char *next = options->argv[options->optind + 1]; 101 | switch (type) { 102 | case -1: { 103 | options->optind++; 104 | char str[2] = {option[0]}; 105 | return opterror(options, MSG_INVALID, str); 106 | } 107 | case OPTPARSE_NONE: 108 | if (option[1]) { 109 | options->subopt++; 110 | } else { 111 | options->subopt = 0; 112 | options->optind++; 113 | } 114 | return option[0]; 115 | case OPTPARSE_REQUIRED: 116 | options->subopt = 0; 117 | options->optind++; 118 | if (option[1]) { 119 | options->optarg = option + 1; 120 | } else if (next != 0) { 121 | options->optarg = next; 122 | options->optind++; 123 | } else { 124 | options->optarg = 0; 125 | char str[2] = {option[0]}; 126 | return opterror(options, MSG_MISSING, str); 127 | } 128 | return option[0]; 129 | case OPTPARSE_OPTIONAL: 130 | options->subopt = 0; 131 | options->optind++; 132 | if (option[1]) 133 | options->optarg = option + 1; 134 | else 135 | options->optarg = 0; 136 | return option[0]; 137 | } 138 | return 0; 139 | } 140 | 141 | char *optparse_arg(struct optparse *options) 142 | { 143 | options->subopt = 0; 144 | char *option = options->argv[options->optind]; 145 | if (option != 0) 146 | options->optind++; 147 | return option; 148 | } 149 | 150 | static inline int 151 | longopts_end(const struct optparse_long *longopts, int i) 152 | { 153 | return !longopts[i].longname && !longopts[i].shortname; 154 | } 155 | 156 | static void 157 | optstring_from_long(const struct optparse_long *longopts, char *optstring) 158 | { 159 | char *p = optstring; 160 | for (int i = 0; !longopts_end(longopts, i); i++) { 161 | if (longopts[i].shortname) { 162 | *p++ = longopts[i].shortname; 163 | for (int a = 0; a < (int)longopts[i].argtype; a++) 164 | *p++ = ':'; 165 | } 166 | } 167 | *p = '\0'; 168 | } 169 | 170 | /* Unlike strcmp(), handles options containing "=". */ 171 | static int 172 | longopts_match(const char *longname, const char *option) 173 | { 174 | if (longname == 0) 175 | return 0; 176 | const char *a = option, *n = longname; 177 | for (; *a && *n && *a != '='; a++, n++) 178 | if (*a != *n) 179 | return 0; 180 | return *n == '\0' && (*a == '\0' || *a == '='); 181 | } 182 | 183 | /* Return the part after "=", or NULL. */ 184 | static char * 185 | longopts_arg(char *option) 186 | { 187 | for (; *option && *option != '='; option++); 188 | if (*option == '=') 189 | return option + 1; 190 | else 191 | return 0; 192 | } 193 | 194 | static int 195 | long_fallback(struct optparse *options, 196 | const struct optparse_long *longopts, 197 | int *longindex) 198 | { 199 | char optstring[96 * 3 + 1]; /* 96 ASCII printable characters */ 200 | optstring_from_long(longopts, optstring); 201 | int result = optparse(options, optstring); 202 | if (longindex != 0) { 203 | *longindex = -1; 204 | if (result != -1) 205 | for (int i = 0; !longopts_end(longopts, i); i++) 206 | if (longopts[i].shortname == options->optopt) 207 | *longindex = i; 208 | } 209 | return result; 210 | } 211 | 212 | int 213 | optparse_long(struct optparse *options, 214 | const struct optparse_long *longopts, 215 | int *longindex) 216 | { 217 | char *option = options->argv[options->optind]; 218 | if (option == 0) { 219 | return -1; 220 | } else if (is_dashdash(option)) { 221 | options->optind++; /* consume "--" */ 222 | return -1; 223 | } else if (is_shortopt(option)) { 224 | return long_fallback(options, longopts, longindex); 225 | } else if (!is_longopt(option)) { 226 | if (options->permute) { 227 | int index = options->optind; 228 | options->optind++; 229 | int r = optparse_long(options, longopts, longindex); 230 | permute(options, index); 231 | options->optind--; 232 | return r; 233 | } else { 234 | return -1; 235 | } 236 | } 237 | 238 | /* Parse as long option. */ 239 | options->errmsg[0] = '\0'; 240 | options->optopt = 0; 241 | options->optarg = 0; 242 | option += 2; /* skip "--" */ 243 | options->optind++; 244 | for (int i = 0; !longopts_end(longopts, i); i++) { 245 | const char *name = longopts[i].longname; 246 | if (longopts_match(name, option)) { 247 | if (longindex) 248 | *longindex = i; 249 | options->optopt = longopts[i].shortname; 250 | char *arg = longopts_arg(option); 251 | if (longopts[i].argtype == OPTPARSE_NONE && arg != 0) { 252 | return opterror(options, MSG_TOOMANY, name); 253 | } if (arg != 0) { 254 | options->optarg = arg; 255 | } else if (longopts[i].argtype == OPTPARSE_REQUIRED) { 256 | options->optarg = options->argv[options->optind++]; 257 | if (options->optarg == 0) 258 | return opterror(options, MSG_MISSING, name); 259 | } 260 | return options->optopt; 261 | } 262 | } 263 | return opterror(options, MSG_INVALID, option); 264 | } 265 | -------------------------------------------------------------------------------- /BCI/LINUX/src/optparse.h: -------------------------------------------------------------------------------- 1 | #ifndef OPTPARSE_H 2 | #define OPTPARSE_H 3 | 4 | /** 5 | * Optparse -- portable, reentrant, embeddable, getopt-like option parser 6 | * 7 | * The POSIX getopt() option parser has three fatal flaws. These flaws 8 | * are solved by Optparse. 9 | * 10 | * 1) Parser state is stored entirely in global variables, some of 11 | * which are static and inaccessible. This means only one thread can 12 | * use getopt(). It also means it's not possible to recursively parse 13 | * nested sub-arguments while in the middle of argument parsing. 14 | * Optparse fixes this by storing all state on a local struct. 15 | * 16 | * 2) The POSIX standard provides no way to properly reset the parser. 17 | * This means for portable code that getopt() is only good for one 18 | * run, over one argv with one optstring. It also means subcommand 19 | * options cannot be processed with getopt(). Most implementations 20 | * provide a method to reset the parser, but it's not portable. 21 | * Optparse provides an optparse_arg() function for stepping over 22 | * subcommands and continuing parsing of options with another 23 | * optstring. The Optparse struct itself can be passed around to 24 | * subcommand handlers for additional subcommand option parsing. A 25 | * full reset can be achieved by with an additional optparse_init(). 26 | * 27 | * 3) Error messages are printed to stderr. This can be disabled with 28 | * opterr, but the messages themselves are still inaccessible. 29 | * Optparse solves this by writing an error message in its errmsg 30 | * field. The downside to Optparse is that this error message will 31 | * always be in English rather than the current locale. 32 | * 33 | * Optparse should be familiar with anyone accustomed to getopt(), and 34 | * it could be a nearly drop-in replacement. The optstring is the same 35 | * and the fields have the same names as the getopt() global variables 36 | * (optarg, optind, optopt). 37 | * 38 | * Optparse also supports GNU-style long options with optparse_long(). 39 | * The interface is slightly different and simpler than getopt_long(). 40 | * 41 | * By default, argv is permuted as it is parsed, moving non-option 42 | * arguments to the end. This can be disabled by setting the `permute` 43 | * field to 0 after initialization. 44 | */ 45 | 46 | struct optparse { 47 | char **argv; 48 | int permute; 49 | int optind; 50 | int optopt; 51 | char *optarg; 52 | char errmsg[64]; 53 | int subopt; 54 | }; 55 | 56 | enum optparse_argtype { OPTPARSE_NONE, OPTPARSE_REQUIRED, OPTPARSE_OPTIONAL }; 57 | 58 | struct optparse_long { 59 | const char *longname; 60 | int shortname; 61 | enum optparse_argtype argtype; 62 | }; 63 | 64 | /** 65 | * Initializes the parser state. 66 | */ 67 | void optparse_init(struct optparse *options, char **argv); 68 | 69 | /** 70 | * Read the next option in the argv array. 71 | * @param optstring a getopt()-formatted option string. 72 | * @return the next option character, -1 for done, or '?' for error 73 | * 74 | * Just like getopt(), a character followed by no colons means no 75 | * argument. One colon means the option has a required argument. Two 76 | * colons means the option takes an optional argument. 77 | */ 78 | int optparse(struct optparse *options, const char *optstring); 79 | 80 | /** 81 | * Handles GNU-style long options in addition to getopt() options. 82 | * This works a lot like GNU's getopt_long(). The last option in 83 | * longopts must be all zeros, marking the end of the array. The 84 | * longindex argument may be NULL. 85 | */ 86 | int 87 | optparse_long(struct optparse *options, 88 | const struct optparse_long *longopts, 89 | int *longindex); 90 | 91 | /** 92 | * Used for stepping over non-option arguments. 93 | * @return the next non-option argument, or NULL for no more arguments 94 | * 95 | * Argument parsing can continue with optparse() after using this 96 | * function. That would be used to parse the options for the 97 | * subcommand returned by optparse_arg(). This function allows you to 98 | * ignore the value of optind. 99 | */ 100 | char *optparse_arg(struct optparse *options); 101 | 102 | #endif 103 | -------------------------------------------------------------------------------- /BCI/LINUX/src/seqmap.c: -------------------------------------------------------------------------------- 1 | /* 2 | * fping: fast-ping, file-ping, favorite-ping, funky-ping 3 | * 4 | * Ping a list of target hosts in a round robin fashion. 5 | * A better ping overall. 6 | * 7 | * fping website: http://www.fping.org 8 | * 9 | * Current maintainer of fping: David Schweikert 10 | * Please send suggestions and patches to: david@schweikert.ch 11 | * 12 | * 13 | * Original author: Roland Schemers 14 | * IPv6 Support: Jeroen Massar 15 | * Improved main loop: David Schweikert 16 | * Debian Merge, TOS settings: Tobi Oetiker 17 | * Bugfixes, byte order & senseful seq.-numbers: Stephan Fuhrmann (stephan.fuhrmann AT 1und1.de) 18 | * 19 | * 20 | * Redistribution and use in source and binary forms are permitted 21 | * provided that the above copyright notice and this paragraph are 22 | * duplicated in all such forms and that any documentation, 23 | * advertising materials, and other materials related to such 24 | * distribution and use acknowledge that the software was developed 25 | * by Stanford University. The name of the University may not be used 26 | * to endorse or promote products derived from this software without 27 | * specific prior written permission. 28 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 29 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 30 | * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 31 | * 32 | * seqmap.c: implementation of a mapping between sequence number and (host, ping_nr) 33 | * we can't just use ping_nr*host_count + host_nr, because it can 34 | * overflow the 16 bit of the icmp header field. See also: 35 | * https://github.com/schweikert/fping/issues/48 36 | */ 37 | 38 | #include "seqmap.h" 39 | #include "limits.h" 40 | #include "options.h" 41 | 42 | #include 43 | #include 44 | 45 | /* description of the data structure used: 46 | * 47 | * - we assume that no more than SEQMAP_MAXSEQ (65535) pings are sent in 48 | * the timeout interval (SEQMAP_TIMEOUT_IN_S) 49 | * - we store the values in an array with SEQMAP_MAXSEQ elements 50 | * - current sequence number % SEQMAP_MAXSEQ gives the current index 51 | * - when entering a value, we check that the current entry is expired 52 | */ 53 | 54 | static SEQMAP_VALUE* seqmap_map = NULL; 55 | static unsigned int seqmap_next_id = 0; 56 | 57 | #define SEQMAP_TIMEOUT_IN_S 10 58 | #define SEQMAP_UNASSIGNED_HOST_NR UINT_MAX 59 | 60 | void seqmap_init() 61 | { 62 | seqmap_map = calloc(SEQMAP_MAXSEQ, sizeof(SEQMAP_VALUE)); 63 | if (seqmap_map == NULL) { 64 | perror("malloc error (can't allocate seqmap_map)"); 65 | } 66 | } 67 | 68 | unsigned int seqmap_add(unsigned int host_nr, unsigned int ping_count, struct timeval* now) 69 | { 70 | unsigned int current_id; 71 | SEQMAP_VALUE* next_value; 72 | 73 | if (!seqmap_map) { 74 | fprintf(stderr, "fping internal error: seqmap not initialized.\n"); 75 | exit(4); 76 | } 77 | 78 | /* check if expired (note that unused seqmap values will have fields set to 79 | * 0, so will be seen as expired */ 80 | next_value = &seqmap_map[seqmap_next_id]; 81 | if (next_value->ping_ts.tv_sec != 0 && (now->tv_sec - next_value->ping_ts.tv_sec) < SEQMAP_TIMEOUT_IN_S) { 82 | fprintf(stderr, "fping error: not enough sequence numbers available! (expire_timeout=%d, host_nr=%d, ping_count=%d, seqmap_next_id=%d)\n", 83 | SEQMAP_TIMEOUT_IN_S, host_nr, ping_count, seqmap_next_id); 84 | exit(4); 85 | } 86 | 87 | /* store the value */ 88 | next_value->host_nr = host_nr; 89 | next_value->ping_count = ping_count; 90 | next_value->ping_ts.tv_sec = now->tv_sec; 91 | next_value->ping_ts.tv_usec = now->tv_usec; 92 | 93 | /* increase next id */ 94 | current_id = seqmap_next_id; 95 | seqmap_next_id = (seqmap_next_id + 1) % SEQMAP_MAXSEQ; 96 | 97 | return current_id; 98 | } 99 | 100 | SEQMAP_VALUE* seqmap_fetch(unsigned int id, struct timeval* now) 101 | { 102 | SEQMAP_VALUE* value; 103 | 104 | if (id > SEQMAP_MAXSEQ) { 105 | return NULL; 106 | } 107 | 108 | value = &seqmap_map[id]; 109 | 110 | /* verify that value is not expired */ 111 | if (now->tv_sec - value->ping_ts.tv_sec >= SEQMAP_TIMEOUT_IN_S) { 112 | return NULL; 113 | } 114 | 115 | return value; 116 | } 117 | -------------------------------------------------------------------------------- /BCI/LINUX/src/seqmap.h: -------------------------------------------------------------------------------- 1 | #ifndef SEQMAP_H 2 | #define SEQMAP_H 3 | 4 | #include 5 | 6 | typedef struct seqmap_value 7 | { 8 | unsigned int host_nr; 9 | unsigned int ping_count; 10 | struct timeval ping_ts; 11 | 12 | } SEQMAP_VALUE; 13 | 14 | #define SEQMAP_MAXSEQ 65535 15 | 16 | void seqmap_init(); 17 | unsigned int seqmap_add(unsigned int host_nr, unsigned int ping_count, struct timeval *now); 18 | SEQMAP_VALUE *seqmap_fetch(unsigned int id, struct timeval *now); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /BCI/LINUX/src/socket4.c: -------------------------------------------------------------------------------- 1 | /* 2 | * fping: fast-ping, file-ping, favorite-ping, funky-ping 3 | * 4 | * Ping a list of target hosts in a round robin fashion. 5 | * A better ping overall. 6 | * 7 | * fping website: http://www.fping.org 8 | * 9 | * Current maintainer of fping: David Schweikert 10 | * Please send suggestions and patches to: david@schweikert.ch 11 | * 12 | * 13 | * Original author: Roland Schemers 14 | * IPv6 Support: Jeroen Massar 15 | * Improved main loop: David Schweikert 16 | * Debian Merge, TOS settings: Tobi Oetiker 17 | * Bugfixes, byte order & senseful seq.-numbers: Stephan Fuhrmann (stephan.fuhrmann AT 1und1.de) 18 | * 19 | * 20 | * Redistribution and use in source and binary forms are permitted 21 | * provided that the above copyright notice and this paragraph are 22 | * duplicated in all such forms and that any documentation, 23 | * advertising materials, and other materials related to such 24 | * distribution and use acknowledge that the software was developed 25 | * by Stanford University. The name of the University may not be used 26 | * to endorse or promote products derived from this software without 27 | * specific prior written permission. 28 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 29 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 30 | * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 31 | */ 32 | 33 | #include "config.h" 34 | #include "fping.h" 35 | 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | 47 | char* ping_buffer_ipv4 = 0; 48 | size_t ping_pkt_size_ipv4; 49 | 50 | int open_ping_socket_ipv4() 51 | { 52 | struct protoent* proto; 53 | int s; 54 | 55 | /* confirm that ICMP is available on this machine */ 56 | if ((proto = getprotobyname("icmp")) == NULL) 57 | crash_and_burn("icmp: unknown protocol"); 58 | 59 | /* create raw socket for ICMP calls (ping) */ 60 | s = socket(AF_INET, SOCK_RAW, proto->p_proto); 61 | if (s < 0) { 62 | /* try non-privileged icmp (works on Mac OSX without privileges, for example) */ 63 | s = socket(AF_INET, SOCK_DGRAM, proto->p_proto); 64 | if (s < 0) { 65 | return -1; 66 | } 67 | } 68 | 69 | /* Make sure that we use non-blocking IO */ 70 | { 71 | int flags; 72 | 73 | if ((flags = fcntl(s, F_GETFL, 0)) < 0) 74 | perror("fcntl"); 75 | 76 | if (fcntl(s, F_SETFL, flags | O_NONBLOCK) < 0) 77 | perror("fcntl"); 78 | } 79 | 80 | return s; 81 | } 82 | 83 | void init_ping_buffer_ipv4(size_t ping_data_size) 84 | { 85 | /* allocate ping buffer */ 86 | ping_pkt_size_ipv4 = ping_data_size + ICMP_MINLEN; 87 | ping_buffer_ipv4 = (char*)calloc(1, ping_pkt_size_ipv4); 88 | if (!ping_buffer_ipv4) 89 | crash_and_burn("can't malloc ping packet"); 90 | } 91 | 92 | void socket_set_src_addr_ipv4(int s, struct in_addr* src_addr) 93 | { 94 | struct sockaddr_in sa; 95 | memset(&sa, 0, sizeof(sa)); 96 | sa.sin_family = AF_INET; 97 | sa.sin_addr = *src_addr; 98 | 99 | if (bind(s, (struct sockaddr*)&sa, sizeof(sa)) < 0) 100 | errno_crash_and_burn("cannot bind source address"); 101 | } 102 | 103 | unsigned short calcsum(unsigned short* buffer, int length) 104 | { 105 | unsigned long sum; 106 | 107 | /* initialize sum to zero and loop until length (in words) is 0 */ 108 | for (sum = 0; length > 1; length -= 2) /* sizeof() returns number of bytes, we're interested in number of words */ 109 | sum += *buffer++; /* add 1 word of buffer to sum and proceed to the next */ 110 | 111 | /* we may have an extra byte */ 112 | if (length == 1) 113 | sum += (char)*buffer; 114 | 115 | sum = (sum >> 16) + (sum & 0xFFFF); /* add high 16 to low 16 */ 116 | sum += (sum >> 16); /* add carry */ 117 | return ~sum; 118 | } 119 | 120 | int socket_sendto_ping_ipv4(int s, struct sockaddr* saddr, socklen_t saddr_len, uint16_t icmp_seq_nr, uint16_t icmp_id_nr) 121 | { 122 | struct icmp* icp; 123 | int n; 124 | 125 | icp = (struct icmp*)ping_buffer_ipv4; 126 | 127 | icp->icmp_type = ICMP_ECHO; 128 | icp->icmp_code = 0; 129 | icp->icmp_cksum = 0; 130 | icp->icmp_seq = htons(icmp_seq_nr); 131 | icp->icmp_id = htons(icmp_id_nr); 132 | 133 | if (random_data_flag) { 134 | for (n = ((char*)&icp->icmp_data - (char*)icp); n < ping_pkt_size_ipv4; ++n) { 135 | ping_buffer_ipv4[n] = random() & 0xFF; 136 | } 137 | } 138 | 139 | icp->icmp_cksum = calcsum((unsigned short*)icp, ping_pkt_size_ipv4); 140 | 141 | n = sendto(s, icp, ping_pkt_size_ipv4, 0, saddr, saddr_len); 142 | 143 | return n; 144 | } 145 | -------------------------------------------------------------------------------- /BCI/LINUX/src/socket6.c: -------------------------------------------------------------------------------- 1 | /* 2 | * fping: fast-ping, file-ping, favorite-ping, funky-ping 3 | * 4 | * Ping a list of target hosts in a round robin fashion. 5 | * A better ping overall. 6 | * 7 | * fping website: http://www.fping.org 8 | * 9 | * Current maintainer of fping: David Schweikert 10 | * Please send suggestions and patches to: david@schweikert.ch 11 | * 12 | * 13 | * Original author: Roland Schemers 14 | * IPv6 Support: Jeroen Massar 15 | * Improved main loop: David Schweikert 16 | * Debian Merge, TOS settings: Tobi Oetiker 17 | * Bugfixes, byte order & senseful seq.-numbers: Stephan Fuhrmann (stephan.fuhrmann AT 1und1.de) 18 | * 19 | * 20 | * Redistribution and use in source and binary forms are permitted 21 | * provided that the above copyright notice and this paragraph are 22 | * duplicated in all such forms and that any documentation, 23 | * advertising materials, and other materials related to such 24 | * distribution and use acknowledge that the software was developed 25 | * by Stanford University. The name of the University may not be used 26 | * to endorse or promote products derived from this software without 27 | * specific prior written permission. 28 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 29 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 30 | * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 31 | */ 32 | 33 | #include "config.h" 34 | #include "fping.h" 35 | 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | 44 | #include 45 | 46 | char* ping_buffer_ipv6 = 0; 47 | size_t ping_pkt_size_ipv6; 48 | 49 | int open_ping_socket_ipv6() 50 | { 51 | struct protoent* proto; 52 | int s; 53 | 54 | /* confirm that ICMP is available on this machine */ 55 | if ((proto = getprotobyname("ipv6-icmp")) == NULL) 56 | crash_and_burn("icmp: unknown protocol"); 57 | 58 | /* create raw socket for ICMP calls (ping) */ 59 | s = socket(AF_INET6, SOCK_RAW, proto->p_proto); 60 | if (s < 0) { 61 | /* try non-privileged icmp (works on Mac OSX without privileges, for example) */ 62 | s = socket(AF_INET6, SOCK_DGRAM, proto->p_proto); 63 | if (s < 0) { 64 | return -1; 65 | } 66 | } 67 | 68 | /* Make sure that we use non-blocking IO */ 69 | { 70 | int flags; 71 | 72 | if ((flags = fcntl(s, F_GETFL, 0)) < 0) 73 | perror("fcntl"); 74 | 75 | if (fcntl(s, F_SETFL, flags | O_NONBLOCK) < 0) 76 | perror("fcntl"); 77 | } 78 | 79 | return s; 80 | } 81 | 82 | void init_ping_buffer_ipv6(size_t ping_data_size) 83 | { 84 | /* allocate ping buffer */ 85 | ping_pkt_size_ipv6 = ping_data_size + sizeof(struct icmp6_hdr); 86 | ping_buffer_ipv6 = (char*)calloc(1, ping_pkt_size_ipv6); 87 | if (!ping_buffer_ipv6) 88 | crash_and_burn("can't malloc ping packet"); 89 | } 90 | 91 | void socket_set_src_addr_ipv6(int s, struct in6_addr* src_addr) 92 | { 93 | struct sockaddr_in6 sa; 94 | memset(&sa, 0, sizeof(sa)); 95 | sa.sin6_family = AF_INET6; 96 | sa.sin6_addr = *src_addr; 97 | 98 | if (bind(s, (struct sockaddr*)&sa, sizeof(sa)) < 0) 99 | errno_crash_and_burn("cannot bind source address"); 100 | } 101 | 102 | int socket_sendto_ping_ipv6(int s, struct sockaddr* saddr, socklen_t saddr_len, uint16_t icmp_seq_nr, uint16_t icmp_id_nr) 103 | { 104 | struct icmp6_hdr* icp; 105 | int n; 106 | 107 | icp = (struct icmp6_hdr*)ping_buffer_ipv6; 108 | icp->icmp6_type = ICMP6_ECHO_REQUEST; 109 | icp->icmp6_code = 0; 110 | icp->icmp6_seq = htons(icmp_seq_nr); 111 | icp->icmp6_id = htons(icmp_id_nr); 112 | 113 | if (random_data_flag) { 114 | for (n = sizeof(struct icmp6_hdr); n < ping_pkt_size_ipv6; ++n) { 115 | ping_buffer_ipv6[n] = random() & 0xFF; 116 | } 117 | } 118 | 119 | icp->icmp6_cksum = 0; /* The IPv6 stack calculates the checksum for us... */ 120 | 121 | n = sendto(s, icp, ping_pkt_size_ipv6, 0, saddr, saddr_len); 122 | 123 | return n; 124 | } 125 | -------------------------------------------------------------------------------- /BCI/WIN/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/CF优选IP.bat -------------------------------------------------------------------------------- /BCI/WIN/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/CR2CRLF.exe -------------------------------------------------------------------------------- /BCI/WIN/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/Colo提取.bat -------------------------------------------------------------------------------- /BCI/WIN/data.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Origin DNS error | service.udpfile.com | Cloudflare 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 |
22 |
23 |

24 | Error 25 | 1016 26 |

27 | Ray ID: 6d7338282b8d7073 • 28 | 2022-02-02 11:53:29 UTC 29 |

Origin DNS error

30 |
31 | 32 |
33 |
34 |

What happened?

35 |

You've requested a page on a website (service.udpfile.com) that is on the Cloudflare network. Cloudflare is currently unable to resolve your requested domain (service.udpfile.com). 36 | 37 |

38 | 39 | 40 |
41 |

What can I do?

42 |

If you are a visitor of this website:
Please try again in a few minutes.

If you are the owner of this website:
Check your DNS settings. If you are using a CNAME origin record, make sure it is valid and resolvable. Additional troubleshooting information here.

43 |
44 | 45 |
46 | 47 | 57 | 58 | 59 |
60 |
61 | 62 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /BCI/WIN/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/fping.exe -------------------------------------------------------------------------------- /BCI/WIN/ip.txt: -------------------------------------------------------------------------------- 1 | <--[if 2 | 3 | Origin 4 | <meta 5 | <meta 6 | <meta 7 | <meta 8 | <meta 9 | <link 10 | <script 11 | </head> 12 | <body> 13 | <div 14 | <div 15 | <div 16 | <header 17 | <h1 18 | <span 19 | <span>1016</span> 20 | </h1> 21 | <span 22 | <span 23 | <h2 24 | </header> 25 | <section 26 | <div 27 | <h2 28 | <p>You've 29 | </div> 30 | <div 31 | <h2 32 | <p><strong>If 33 | </div> 34 | </section> 35 | <div 36 | <p 37 | <span 38 | <span 39 | <span 40 | <span 41 | <span 42 | </p> 43 | </div><-- 44 | </div><-- 45 | </div><-- 46 | <script 47 | window._cf_translation 48 | </script> 49 | </body> 50 | </html> 51 | -------------------------------------------------------------------------------- /BCI/WIN/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/msys-2.0.dll -------------------------------------------------------------------------------- /BCI/WIN/resolve.txt: -------------------------------------------------------------------------------- 1 | 104.19.172.240 2 | -------------------------------------------------------------------------------- /BCI/WIN/使用说明.txt: -------------------------------------------------------------------------------- 1 | 2 | Windows 7 系统没有自带curl,首次使用前需要先运行 双击自解压curl.exe 自动解压 curl.exe 运行文件到当前目录 3 | 4 | Windows 10 用户忽略此使用说明直接运行 CF优选IP.bat 启动程序即可 5 | 6 | 部分系统运行需要管理员权限,请将整个目录复制到C盘根目录后管理员权限运行 -------------------------------------------------------------------------------- /BCI/WIN/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/单IP测速.bat -------------------------------------------------------------------------------- /BCI/WIN/双击自解压curl.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/BCI/WIN/双击自解压curl.exe -------------------------------------------------------------------------------- /CFIP/2.2/CF优选IP-JP-Only.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/CF优选IP-JP-Only.bat -------------------------------------------------------------------------------- /CFIP/2.2/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/2.2/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/2.2/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/2.2/dataJP.txt: -------------------------------------------------------------------------------- 1 | publicip=240e:378:901:f400:1097:7005:8f38:a735 2 | colo=LAX 3 | domain=speed.haoren.ml 4 | file=cache.jpg 5 | url=https://github.com/badafans/better-cloudflare-ip 6 | app=20201208 7 | database=20201208 8 | 172.64.228. 9 | 172.64.228. 10 | 172.64.228. 11 | 172.64.228. 12 | 172.64.228. 13 | 172.64.228. 14 | 172.64.228. 15 | 172.64.228. 16 | 172.64.228. 17 | 172.64.228. 18 | 172.64.228. 19 | 172.64.228. 20 | 172.64.228. 21 | 172.64.228. 22 | 172.64.228. 23 | 172.64.228. 24 | 172.64.228. 25 | 172.64.228. 26 | 172.64.228. 27 | 172.64.228. 28 | 172.64.228. 29 | 172.64.228. 30 | 172.64.228. 31 | 172.64.228. 32 | 172.64.228. 33 | 172.64.228. 34 | 172.64.228. 35 | 172.64.228. 36 | 172.64.228. 37 | 172.64.228. 38 | 172.64.228. 39 | 172.64.228. 40 | 172.64.228. 41 | 172.64.228. 42 | 172.64.228. 43 | 172.64.228. 44 | 172.64.228. 45 | 172.64.228. 46 | 172.64.228. 47 | 172.64.228. 48 | 172.64.228. 49 | 172.64.228. 50 | 172.64.228. 51 | 172.64.228. 52 | 172.64.228. 53 | 172.64.228. 54 | 172.64.228. 55 | 172.64.228. 56 | 172.64.228. 57 | 172.64.228. 58 | 172.64.228. 59 | 172.64.228. 60 | 172.64.228. 61 | 172.64.228. 62 | 172.64.228. 63 | 172.64.228. 64 | 172.64.228. 65 | 172.64.228. 66 | 172.64.228. 67 | 172.64.228. 68 | 172.64.228. 69 | 172.64.228. 70 | 172.64.228. 71 | 172.64.228. 72 | 172.64.228. 73 | 172.64.228. 74 | 172.64.228. 75 | 172.64.228. 76 | 172.64.228. 77 | 172.64.228. 78 | 172.64.228. 79 | 172.64.228. 80 | 172.64.228. 81 | 172.64.228. 82 | 172.64.228. 83 | 172.64.228. 84 | 172.64.228. 85 | 172.64.228. 86 | 172.64.228. 87 | 172.64.228. 88 | 172.64.228. 89 | 172.64.228. 90 | 172.64.228. 91 | 172.64.228. 92 | 172.64.228. 93 | 172.64.228. 94 | 172.64.228. 95 | 172.64.228. 96 | 172.64.228. 97 | 172.64.228. 98 | 172.64.228. 99 | 172.64.228. 100 | 172.64.228. 101 | 172.64.228. 102 | 172.64.228. 103 | 172.64.228. 104 | 172.64.228. 105 | 172.64.228. 106 | 172.64.228. 107 | 172.64.228. 108 | 172.64.228. 109 | 172.64.228. 110 | 172.64.228. 111 | 172.64.228. 112 | 172.64.228. 113 | 172.64.228. 114 | 172.64.228. 115 | 172.64.228. 116 | 172.64.228. 117 | 172.64.228. 118 | 172.64.228. 119 | 172.64.228. 120 | 172.64.228. 121 | 172.64.228. 122 | 172.64.228. 123 | 172.64.228. 124 | 172.64.228. 125 | 172.64.228. 126 | 172.64.228. 127 | 172.64.228. 128 | 172.64.228. 129 | 172.64.228. 130 | 172.64.228. 131 | 172.64.228. 132 | 172.64.228. 133 | 172.64.228. 134 | 172.64.228. 135 | 172.64.228. 136 | 172.64.228. 137 | 172.64.228. 138 | 172.64.228. 139 | 172.64.228. 140 | 172.64.228. 141 | 172.64.228. 142 | 172.64.228. 143 | 172.64.228. 144 | 172.64.228. 145 | 172.64.228. 146 | 172.64.228. 147 | 172.64.228. 148 | 172.64.228. 149 | 172.64.228. 150 | 172.64.228. 151 | 172.64.228. 152 | 172.64.228. 153 | 172.64.228. 154 | 172.64.228. 155 | 172.64.228. 156 | 172.64.228. 157 | 172.64.228. 158 | 172.64.228. 159 | 172.64.228. 160 | 172.64.228. 161 | 172.64.228. 162 | 172.64.228. 163 | 172.64.228. 164 | 172.64.228. 165 | 172.64.228. 166 | 172.64.228. 167 | 172.64.228. 168 | 172.64.228. 169 | 172.64.228. 170 | 172.64.228. 171 | 172.64.228. 172 | 172.64.228. 173 | 172.64.228. 174 | 172.64.228. 175 | 172.64.228. 176 | 172.64.228. 177 | 172.64.228. 178 | 172.64.228. 179 | 172.64.228. 180 | 172.64.228. 181 | 172.64.228. 182 | 172.64.228. 183 | 172.64.228. 184 | 172.64.228. 185 | 172.64.228. 186 | 172.64.228. 187 | 172.64.228. 188 | 172.64.228. 189 | 172.64.228. 190 | 172.64.228. 191 | 172.64.228. 192 | 172.64.228. 193 | 172.64.228. 194 | 172.64.228. 195 | 172.64.228. 196 | 172.64.228. 197 | 172.64.228. 198 | 172.64.228. 199 | 172.64.228. 200 | 172.64.228. 201 | 172.64.228. 202 | 172.64.228. 203 | 172.64.228. 204 | 172.64.228. 205 | 172.64.228. 206 | 172.64.228. 207 | 172.64.228. 208 | 172.64.228. 209 | 172.64.228. 210 | 172.64.228. 211 | 172.64.228. 212 | 172.64.228. 213 | 172.64.228. 214 | 172.64.228. 215 | 172.64.228. 216 | 172.64.228. 217 | 172.64.228. 218 | 172.64.228. 219 | 172.64.228. 220 | 172.64.228. 221 | 172.64.228. 222 | 172.64.228. 223 | 172.64.228. 224 | 172.64.228. 225 | 172.64.228. 226 | 172.64.228. 227 | 172.64.228. 228 | 172.64.228. 229 | 172.64.228. 230 | 172.64.228. 231 | 172.64.228. 232 | 172.64.228. 233 | 172.64.228. 234 | 172.64.228. 235 | 172.64.228. 236 | 172.64.228. 237 | 172.64.228. 238 | 172.64.228. 239 | 172.64.228. 240 | 172.64.228. 241 | 172.64.228. 242 | 172.64.228. 243 | 172.64.228. 244 | 172.64.228. 245 | 172.64.228. 246 | 172.64.228. 247 | 172.64.228. 248 | 172.64.228. 249 | 172.64.228. 250 | 172.64.228. 251 | 172.64.228. 252 | 172.64.228. 253 | 172.64.228. 254 | 172.64.228. 255 | 172.64.228. 256 | 172.64.228. 257 | 172.64.228. 258 | 172.64.228. 259 | 172.64.228. 260 | 172.64.228. 261 | 172.64.228. 262 | 172.64.228. 263 | 172.64.228. 264 | 172.64.228. 265 | 172.64.228. 266 | 172.64.228. 267 | 172.64.228. 268 | 172.64.228. 269 | 172.64.228. 270 | 172.64.228. 271 | 172.64.228. 272 | 172.64.228. 273 | 172.64.228. 274 | 172.64.228. 275 | 172.64.228. 276 | 172.64.228. 277 | 172.64.228. 278 | 172.64.228. 279 | 172.64.228. 280 | 172.64.228. 281 | 172.64.228. 282 | 172.64.228. 283 | 172.64.228. 284 | 172.64.228. 285 | 172.64.228. 286 | 172.64.228. 287 | 172.64.228. 288 | 172.64.228. 289 | 172.64.228. 290 | 172.64.228. 291 | 172.64.228. 292 | 172.64.228. 293 | 172.64.228. 294 | 172.64.228. 295 | 172.64.228. 296 | 172.64.228. 297 | 172.64.228. 298 | 172.64.228. 299 | 172.64.228. 300 | 172.64.228. 301 | 172.64.228. 302 | 172.64.228. 303 | 172.64.228. 304 | 172.64.228. 305 | 172.64.228. 306 | 172.64.228. 307 | 172.64.228. 308 | 172.64.228. 309 | 172.64.228. 310 | 172.64.228. 311 | 172.64.228. 312 | 172.64.228. 313 | 172.64.228. 314 | 172.64.228. 315 | 172.64.228. 316 | 172.64.228. 317 | 172.64.228. 318 | 172.64.228. 319 | 172.64.228. 320 | 172.64.228. 321 | 172.64.228. 322 | 172.64.228. 323 | 172.64.228. 324 | 172.64.228. 325 | 172.64.228. 326 | 172.64.228. 327 | 172.64.228. 328 | 172.64.228. 329 | 172.64.228. 330 | 172.64.228. 331 | 172.64.228. 332 | 172.64.228. 333 | 172.64.228. 334 | 172.64.228. 335 | 172.64.228. 336 | 172.64.228. 337 | 172.64.228. 338 | 172.64.228. 339 | 172.64.228. 340 | 172.64.228. 341 | 172.64.228. 342 | 172.64.228. 343 | 172.64.228. 344 | 172.64.228. 345 | 172.64.228. 346 | 172.64.228. 347 | 172.64.228. 348 | 172.64.228. 349 | 172.64.228. 350 | 172.64.228. 351 | 172.64.228. 352 | 172.64.228. 353 | 172.64.228. 354 | 172.64.228. 355 | 172.64.228. 356 | 172.64.228. 357 | 172.64.228. 358 | 172.64.228. 359 | 172.64.228. 360 | 172.64.228. 361 | 172.64.228. 362 | 172.64.228. 363 | 172.64.228. 364 | 172.64.228. 365 | 172.64.228. 366 | 172.64.228. 367 | 172.64.228. 368 | 172.64.228. 369 | 172.64.228. 370 | 172.64.228. 371 | 172.64.228. 372 | 172.64.228. 373 | 172.64.228. 374 | 172.64.228. 375 | 172.64.228. 376 | 172.64.228. 377 | 172.64.228. 378 | 172.64.228. 379 | 172.64.228. 380 | 172.64.228. 381 | 172.64.228. 382 | 172.64.228. 383 | 172.64.228. 384 | 172.64.228. 385 | 172.64.228. 386 | 172.64.228. 387 | 172.64.228. 388 | 172.64.228. 389 | 172.64.228. 390 | 172.64.228. 391 | 172.64.228. -------------------------------------------------------------------------------- /CFIP/2.2/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/fping.exe -------------------------------------------------------------------------------- /CFIP/2.2/ip.txt: -------------------------------------------------------------------------------- 1 | 104.16.0.248 2 | 104.16.5.241 3 | 104.16.10.172 4 | 104.16.15.180 5 | 104.16.20.100 6 | 104.16.25.176 7 | 104.16.30.163 8 | 104.16.35.117 9 | 104.16.40.115 10 | 104.16.45.204 11 | 104.16.50.180 12 | 104.16.55.81 13 | 104.16.60.233 14 | 104.16.65.136 15 | 104.16.70.103 16 | 104.16.75.201 17 | 104.16.80.21 18 | 104.16.85.134 19 | 104.16.90.36 20 | 104.16.95.173 21 | 104.16.100.87 22 | 104.16.105.58 23 | 104.16.110.224 24 | 104.16.115.50 25 | 104.16.120.223 26 | 104.16.125.158 27 | 104.16.130.252 28 | 104.16.135.68 29 | 104.16.140.183 30 | 104.16.145.39 31 | 104.16.150.105 32 | 104.16.155.29 33 | 104.16.160.4 34 | 104.16.165.248 35 | 104.16.170.17 36 | 104.16.175.23 37 | 104.16.180.137 38 | 104.16.185.87 39 | 104.16.190.114 40 | 104.16.195.190 41 | 104.16.200.108 42 | 104.16.205.93 43 | 104.16.210.140 44 | 104.16.215.42 45 | 104.16.220.61 46 | 104.16.225.241 47 | 104.16.230.254 48 | 104.16.235.140 49 | 104.16.240.52 50 | 104.16.245.247 51 | 104.16.250.108 52 | 104.16.255.6 53 | 104.17.4.186 54 | 104.17.9.196 55 | 104.17.14.35 56 | 104.17.19.192 57 | 104.17.24.43 58 | 104.17.29.213 59 | 104.17.34.0 60 | 104.17.39.56 61 | 104.17.44.219 62 | 104.17.49.193 63 | 104.17.54.142 64 | 104.17.59.217 65 | 104.17.64.87 66 | 104.17.69.109 67 | 104.17.74.110 68 | 104.17.79.208 69 | 104.17.84.237 70 | 104.17.89.127 71 | 104.17.94.252 72 | 104.17.99.27 73 | 104.17.104.110 74 | 104.17.109.21 75 | 104.17.114.47 76 | 104.17.119.226 77 | 104.17.124.50 78 | 104.17.129.182 79 | 104.17.134.193 80 | 104.17.139.11 81 | 104.17.144.93 82 | 104.17.149.137 83 | 104.17.154.144 84 | 104.17.159.9 85 | 104.17.164.97 86 | 104.17.169.196 87 | 104.17.174.69 88 | 104.17.179.244 89 | 104.17.184.196 90 | 104.17.189.104 91 | 104.17.194.51 92 | 104.17.199.223 93 | 104.17.204.36 94 | 104.17.209.44 95 | 104.17.214.130 96 | 104.17.219.102 97 | 104.17.224.120 98 | 104.17.229.182 99 | 104.17.234.140 100 | 104.17.239.134 101 | 104.17.244.152 102 | 104.17.249.17 103 | 104.17.254.135 104 | 104.18.3.178 105 | 104.18.8.0 106 | 104.18.13.92 107 | 104.18.18.101 108 | 104.18.23.34 109 | 104.18.28.208 110 | 104.18.33.191 111 | 104.18.38.248 112 | 104.18.43.111 113 | 104.18.48.24 114 | 104.18.53.164 115 | 104.18.58.90 116 | 104.18.63.93 117 | 104.18.68.83 118 | 104.18.73.35 119 | 104.18.78.140 120 | 104.18.83.247 121 | 104.18.88.49 122 | 104.18.93.189 123 | 104.18.98.93 124 | 104.18.103.226 125 | 104.18.108.154 126 | 104.18.113.78 127 | 104.18.118.141 128 | 104.18.123.235 129 | 104.18.128.239 130 | 104.18.133.61 131 | 104.18.138.51 132 | 104.18.143.226 133 | 104.18.148.147 134 | 104.18.153.246 135 | 104.18.158.92 136 | 104.18.163.171 137 | 104.18.168.170 138 | 104.18.173.154 139 | 104.18.178.245 140 | 104.18.183.146 141 | 104.18.188.32 142 | 104.18.193.244 143 | 104.18.198.235 144 | 104.18.203.223 145 | 104.18.208.237 146 | 104.18.213.176 147 | 104.18.218.144 148 | 104.18.223.170 149 | 104.18.228.152 150 | 104.18.233.199 151 | 104.18.238.65 152 | 104.18.243.241 153 | 104.18.248.250 154 | 104.18.253.62 155 | 104.19.2.70 156 | 104.19.7.232 157 | 104.19.12.69 158 | 104.19.17.16 159 | 104.19.22.249 160 | 104.19.27.144 161 | 104.19.32.69 162 | 104.19.37.105 163 | 104.19.42.42 164 | 104.19.47.139 165 | 104.19.52.229 166 | 104.19.57.20 167 | 104.19.62.195 168 | 104.19.67.47 169 | 104.19.72.244 170 | 104.19.77.55 171 | 104.19.82.168 172 | 104.19.87.217 173 | 104.19.92.41 174 | 104.19.97.62 175 | 104.19.102.225 176 | 104.19.107.132 177 | 104.19.112.101 178 | 104.19.117.21 179 | 104.19.122.251 180 | 104.19.127.154 181 | 104.19.132.57 182 | 104.19.137.154 183 | 104.19.142.171 184 | 104.19.147.9 185 | 104.19.152.168 186 | 104.19.157.82 187 | 104.19.162.181 188 | 104.19.167.154 189 | 104.19.172.46 190 | 104.19.177.90 191 | 104.19.182.12 192 | 104.19.187.127 193 | 104.19.192.1 194 | 104.19.197.161 195 | 104.19.202.59 196 | 104.19.207.42 197 | 104.19.212.150 198 | 104.19.217.85 199 | 104.19.222.3 200 | 104.19.227.102 201 | 104.19.232.103 202 | 104.19.237.155 203 | 104.19.242.70 204 | 104.19.247.160 205 | 104.19.252.244 206 | 104.20.1.131 207 | 104.20.6.36 208 | 104.20.11.133 209 | 104.20.16.7 210 | 104.20.21.59 211 | 104.20.26.99 212 | 104.20.31.211 213 | 104.20.36.61 214 | 104.20.41.131 215 | 104.20.46.20 216 | 104.20.51.104 217 | 104.20.56.194 218 | 104.20.61.96 219 | 104.20.66.115 220 | 104.20.71.160 221 | 104.20.76.92 222 | 104.20.81.21 223 | 104.20.86.16 224 | 104.20.91.221 225 | 104.20.96.171 226 | 104.20.101.79 227 | 104.20.106.44 228 | 104.20.111.103 229 | 104.20.116.175 230 | 104.20.121.160 231 | 104.20.126.102 232 | 104.20.131.119 233 | 104.20.136.138 234 | 104.20.141.46 235 | 104.20.146.151 236 | 104.20.151.142 237 | 104.20.156.135 238 | 104.20.161.173 239 | 104.20.166.250 240 | 104.20.171.11 241 | 104.20.176.92 242 | 104.20.181.138 243 | 104.20.186.144 244 | 104.20.191.253 245 | 104.20.196.172 246 | 104.20.201.105 247 | 104.20.206.194 248 | 104.20.211.54 249 | 104.20.216.208 250 | 104.20.221.210 251 | 104.20.226.73 252 | 104.20.231.161 253 | 104.20.236.215 254 | 104.20.241.39 255 | 104.20.246.75 256 | 104.20.251.213 257 | 104.21.0.203 258 | 104.21.5.218 259 | 104.21.10.198 260 | 104.21.15.233 261 | 104.21.20.54 262 | 104.21.25.220 263 | 104.21.30.50 264 | 104.21.35.138 265 | 104.21.40.229 266 | 104.21.45.89 267 | 104.21.50.98 268 | 104.21.55.76 269 | 104.21.60.236 270 | 104.21.65.162 271 | 104.21.70.172 272 | 104.21.75.62 273 | 104.21.80.235 274 | 104.21.85.107 275 | 104.21.90.73 276 | 104.21.95.193 277 | 104.21.100.143 278 | 104.21.105.54 279 | 104.21.110.254 280 | 104.21.115.154 281 | 104.21.120.91 282 | 104.21.125.15 283 | 104.21.194.252 284 | 104.21.199.69 285 | 104.21.204.168 286 | 104.21.209.122 287 | 104.21.214.6 288 | 104.21.219.140 289 | 104.21.224.234 290 | 104.21.229.170 291 | 104.21.234.209 292 | 104.21.239.89 293 | 104.22.4.54 294 | 104.22.9.243 295 | 104.22.14.176 296 | 104.22.19.201 297 | 104.22.24.1 298 | 104.22.29.130 299 | 104.22.34.113 300 | 104.22.39.129 301 | 104.22.44.43 302 | 104.22.49.76 303 | 104.22.54.129 304 | 104.22.59.69 305 | 104.22.64.60 306 | 104.22.69.68 307 | 104.22.74.87 308 | 104.22.79.199 309 | 104.23.100.237 310 | 104.23.105.209 311 | 104.23.110.16 312 | 104.23.115.188 313 | 104.23.120.234 314 | 104.23.125.127 315 | 104.23.130.87 316 | 104.23.135.53 317 | 104.23.140.214 318 | 104.24.1.245 319 | 104.24.6.136 320 | 104.24.11.45 321 | 104.24.16.143 322 | 104.24.21.39 323 | 104.24.26.21 324 | 104.24.31.94 325 | 104.24.36.180 326 | 104.24.41.204 327 | 104.24.46.40 328 | 104.24.51.90 329 | 104.24.56.101 330 | 104.24.61.19 331 | 104.24.66.138 332 | 104.24.71.214 333 | 104.24.76.74 334 | 104.24.81.145 335 | 104.24.86.195 336 | 104.24.91.73 337 | 104.24.96.215 338 | 104.24.101.126 339 | 104.24.106.131 340 | 104.24.111.182 341 | 104.24.116.206 342 | 104.24.121.34 343 | 104.24.126.64 344 | 104.24.131.197 345 | 104.24.136.5 346 | 104.24.141.138 347 | 104.24.146.33 348 | 104.24.151.25 349 | 104.24.156.105 350 | 104.24.161.127 351 | 104.24.166.27 352 | 104.24.171.222 353 | 104.24.176.67 354 | 104.24.181.185 355 | 104.24.186.90 356 | 104.24.191.161 357 | 104.24.196.186 358 | 104.24.201.79 359 | 104.24.206.226 360 | 104.24.211.101 361 | 104.24.216.153 362 | 104.24.221.114 363 | 104.24.226.118 364 | 104.24.231.243 365 | 104.24.236.83 366 | 104.24.241.91 367 | 104.24.246.184 368 | 104.24.251.113 369 | 104.25.0.69 370 | 104.25.5.130 371 | 104.25.10.147 372 | 104.25.15.54 373 | 104.25.20.58 374 | 104.25.25.17 375 | 104.25.30.214 376 | 104.25.35.221 377 | 104.25.40.52 378 | 104.25.45.152 379 | 104.25.50.33 380 | 104.25.55.152 381 | 104.25.60.106 382 | 104.25.65.2 383 | 104.25.70.5 384 | 104.25.75.199 385 | 104.25.80.141 386 | 104.25.85.200 387 | 104.25.90.103 388 | 104.25.95.202 389 | 104.25.100.79 390 | 104.25.105.100 391 | 104.25.110.37 392 | 104.25.115.19 393 | 104.25.120.38 394 | 104.25.125.9 395 | 104.25.130.253 396 | 104.25.135.127 397 | 104.25.140.77 398 | 104.25.145.145 399 | 104.25.150.170 400 | 104.25.155.230 401 | 104.25.160.13 402 | 104.25.165.183 403 | 104.25.170.79 404 | 104.25.175.241 405 | 104.25.180.58 406 | 104.25.185.134 407 | 104.25.190.25 408 | 104.25.195.43 409 | 104.25.200.0 410 | 104.25.205.17 411 | 104.25.210.32 412 | 104.25.215.91 413 | 104.25.220.224 414 | 104.25.225.101 415 | 104.25.230.143 416 | 104.25.235.18 417 | 104.25.240.245 418 | 104.25.245.188 419 | 104.25.250.5 420 | 104.25.255.128 421 | 104.26.4.124 422 | 104.26.9.243 423 | 104.26.14.59 424 | 104.27.3.139 425 | 104.27.8.147 426 | 104.27.13.62 427 | 104.27.18.230 428 | 104.27.23.35 429 | 104.27.28.65 430 | 104.27.33.27 431 | 104.27.38.223 432 | 104.27.43.207 433 | 104.27.48.183 434 | 104.27.53.132 435 | 104.27.58.129 436 | 104.27.63.140 437 | 104.27.68.213 438 | 104.27.73.105 439 | 104.27.78.82 440 | 104.27.83.216 441 | 104.27.88.240 442 | 104.27.93.93 443 | 104.27.98.230 444 | 104.27.103.10 445 | 104.27.108.211 446 | 104.27.113.144 447 | 104.27.118.1 448 | 104.27.123.228 449 | 104.27.128.3 450 | 104.27.133.253 451 | 104.27.138.252 452 | 104.27.143.107 453 | 104.27.148.72 454 | 104.27.153.228 455 | 104.27.158.106 456 | 104.27.163.246 457 | 104.27.168.104 458 | 104.27.173.123 459 | 104.27.178.251 460 | 104.27.183.134 461 | 104.27.188.54 462 | 104.27.193.225 463 | 104.27.198.160 464 | 104.27.203.85 465 | 104.28.0.203 466 | 104.28.5.83 467 | 104.28.10.239 468 | 104.28.15.178 469 | 104.28.20.20 470 | 104.28.25.162 471 | 104.28.30.202 472 | 104.28.35.11 473 | 104.28.40.141 474 | 104.28.45.228 475 | 104.28.50.59 476 | 104.28.55.76 477 | 104.28.60.75 478 | 104.28.65.106 479 | 104.28.70.163 480 | 104.28.75.104 481 | 104.28.80.64 482 | 104.28.85.243 483 | 104.28.90.20 484 | 104.28.95.52 485 | 104.28.100.187 486 | 104.28.105.31 487 | 104.28.110.251 488 | 104.28.115.124 489 | 104.28.120.46 490 | 104.28.125.39 491 | 104.28.130.2 492 | 104.28.135.81 493 | 104.28.140.52 494 | 104.28.145.202 495 | 104.28.150.52 496 | 104.28.155.160 497 | 104.28.160.210 498 | 104.28.165.139 499 | 104.28.170.98 500 | 104.28.175.9 501 | 104.28.180.253 502 | 104.28.185.25 503 | 104.28.190.198 504 | 104.28.195.237 505 | 104.28.200.93 506 | 104.28.205.15 507 | 104.28.210.231 508 | 104.28.215.201 509 | 104.28.220.81 510 | 104.28.225.221 511 | 104.28.230.188 512 | 104.28.235.195 513 | 104.28.240.51 514 | 104.28.245.6 515 | 104.28.250.20 516 | 104.28.255.131 517 | 104.31.4.221 518 | 104.31.9.141 519 | 104.31.14.54 520 | 104.31.67.68 521 | 104.31.72.108 522 | 104.31.77.169 523 | 104.31.82.196 524 | 104.31.87.43 525 | 104.31.92.68 526 | 104.31.129.192 527 | 104.31.134.229 528 | 104.31.139.215 529 | 104.31.144.84 530 | 104.31.149.147 531 | 104.31.154.162 532 | 104.31.159.57 533 | 104.31.164.155 534 | 104.31.169.183 535 | 104.31.174.145 536 | 104.31.179.166 537 | 104.31.184.234 538 | 104.31.189.68 539 | 104.31.194.177 540 | 104.31.199.42 541 | 104.31.204.236 542 | 104.31.209.209 543 | 104.31.214.150 544 | 104.31.219.32 545 | 104.31.224.101 546 | 104.31.229.159 547 | 104.31.234.198 548 | 104.31.239.255 549 | 104.31.244.183 550 | 104.31.249.20 551 | 104.31.254.98 552 | 141.101.120.119 553 | 162.159.46.170 554 | 162.159.132.107 555 | 162.159.137.9 556 | 162.159.192.189 557 | 162.159.201.108 558 | 162.159.212.171 559 | 162.159.217.249 560 | 162.159.222.35 561 | 162.159.227.215 562 | 162.159.232.213 563 | 162.159.237.119 564 | 162.159.242.235 565 | 162.159.247.243 566 | 162.159.252.98 567 | 172.64.37.114 568 | 172.64.68.93 569 | 172.64.73.188 570 | 172.64.78.236 571 | 172.64.83.99 572 | 172.64.88.23 573 | 172.64.93.37 574 | 172.64.98.44 575 | 172.64.103.119 576 | 172.64.108.165 577 | 172.64.129.92 578 | 172.64.134.36 579 | 172.64.139.240 580 | 172.64.160.81 581 | 172.64.165.80 582 | 172.64.170.157 583 | 172.64.175.200 584 | 172.64.196.60 585 | 172.64.201.113 586 | 172.64.206.212 587 | 172.67.2.152 588 | 172.67.7.174 589 | 172.67.12.182 590 | 172.67.17.113 591 | 172.67.22.185 592 | 172.67.27.171 593 | 172.67.32.229 594 | 172.67.37.184 595 | 172.67.42.169 596 | 172.67.47.199 597 | 172.67.52.15 598 | 172.67.57.3 599 | 172.67.62.176 600 | 172.67.67.59 601 | 172.67.72.89 602 | 172.67.77.112 603 | 172.67.82.195 604 | 172.67.87.55 605 | 172.67.92.3 606 | 172.67.97.215 607 | 172.67.102.168 608 | 172.67.107.122 609 | 172.67.112.162 610 | 172.67.117.255 611 | 172.67.122.91 612 | 172.67.127.33 613 | 172.67.132.176 614 | 172.67.137.17 615 | 172.67.142.177 616 | 172.67.147.188 617 | 172.67.152.71 618 | 172.67.157.76 619 | 172.67.162.59 620 | 172.67.167.167 621 | 172.67.172.42 622 | 172.67.177.251 623 | 172.67.182.109 624 | 172.67.187.152 625 | 172.67.192.5 626 | 172.67.197.164 627 | 172.67.202.255 628 | 172.67.207.116 629 | 172.67.212.246 630 | 172.67.217.131 631 | 172.67.222.148 632 | 172.67.227.103 633 | 172.67.232.75 634 | 172.67.237.54 635 | 172.67.242.154 636 | 172.67.247.51 637 | 172.67.252.142 638 | 190.93.244.186 639 | 198.41.209.113 640 | 198.41.220.200 641 | -------------------------------------------------------------------------------- /CFIP/2.2/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/2.2/ping.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/ping.csv -------------------------------------------------------------------------------- /CFIP/2.2/单IP测速-backup.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/单IP测速-backup.bat -------------------------------------------------------------------------------- /CFIP/2.2/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.2/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/2.3/CF优选IP-JP-Only.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/CF优选IP-JP-Only.bat -------------------------------------------------------------------------------- /CFIP/2.3/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/2.3/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/2.3/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/2.3/dataJP.txt: -------------------------------------------------------------------------------- 1 | domain=speed.haoren.ml 2 | file=cache.jpg 3 | 172.64.228. 4 | 172.64.228. 5 | 172.64.228. 6 | 172.64.228. 7 | 172.64.228. 8 | 172.64.228. 9 | 172.64.228. 10 | 172.64.228. 11 | 172.64.228. 12 | 172.64.228. 13 | 172.64.228. 14 | 172.64.228. 15 | 172.64.228. 16 | 172.64.228. 17 | 172.64.228. 18 | 172.64.228. 19 | 172.64.228. 20 | 172.64.228. 21 | 172.64.228. 22 | 172.64.228. 23 | 172.64.228. 24 | 172.64.228. 25 | 172.64.228. 26 | 172.64.228. 27 | 172.64.228. 28 | 172.64.228. 29 | 172.64.228. 30 | 172.64.228. 31 | 172.64.228. 32 | 172.64.228. 33 | 172.64.228. 34 | 172.64.228. 35 | 172.64.228. 36 | 172.64.228. 37 | 172.64.228. 38 | 172.64.228. 39 | 172.64.228. 40 | 172.64.228. 41 | 172.64.228. 42 | 172.64.228. 43 | 172.64.228. 44 | 172.64.228. 45 | 172.64.228. 46 | 172.64.228. 47 | 172.64.228. 48 | 172.64.228. 49 | 172.64.228. 50 | 172.64.228. 51 | 172.64.228. 52 | 172.64.228. 53 | 172.64.228. 54 | 172.64.228. 55 | 172.64.228. 56 | 172.64.228. 57 | 172.64.228. 58 | 172.64.228. 59 | 172.64.228. 60 | 172.64.228. 61 | 172.64.228. 62 | 172.64.228. 63 | 172.64.228. 64 | 172.64.228. 65 | 172.64.228. 66 | 172.64.228. 67 | 172.64.228. 68 | 172.64.228. 69 | 172.64.228. 70 | 172.64.228. 71 | 172.64.228. 72 | 172.64.228. 73 | 172.64.228. 74 | 172.64.228. 75 | 172.64.228. 76 | 172.64.228. 77 | 172.64.228. 78 | 172.64.228. 79 | 172.64.228. 80 | 172.64.228. 81 | 172.64.228. 82 | 172.64.228. 83 | 172.64.228. 84 | 172.64.228. 85 | 172.64.228. 86 | 172.64.228. 87 | 172.64.228. 88 | 172.64.228. 89 | 172.64.228. 90 | 172.64.228. 91 | 172.64.228. 92 | 172.64.228. 93 | 172.64.228. 94 | 172.64.228. 95 | 172.64.228. 96 | 172.64.228. 97 | 172.64.228. 98 | 172.64.228. 99 | 172.64.228. 100 | 172.64.228. 101 | 172.64.228. 102 | 172.64.228. 103 | 172.64.228. 104 | 172.64.228. 105 | 172.64.228. 106 | 172.64.228. 107 | 172.64.228. 108 | 172.64.228. 109 | 172.64.228. 110 | 172.64.228. 111 | 172.64.228. 112 | 172.64.228. 113 | 172.64.228. 114 | 172.64.228. 115 | 172.64.228. 116 | 172.64.228. 117 | 172.64.228. 118 | 172.64.228. 119 | 172.64.228. 120 | 172.64.228. 121 | 172.64.228. 122 | 172.64.228. 123 | 172.64.228. 124 | 172.64.228. 125 | 172.64.228. 126 | 172.64.228. 127 | 172.64.228. 128 | 172.64.228. 129 | 172.64.228. 130 | 172.64.228. 131 | 172.64.228. 132 | 172.64.228. 133 | 172.64.228. 134 | 172.64.228. 135 | 172.64.228. 136 | 172.64.228. 137 | 172.64.228. 138 | 172.64.228. 139 | 172.64.228. 140 | 172.64.228. 141 | 172.64.228. 142 | 172.64.228. 143 | 172.64.228. 144 | 172.64.228. 145 | 172.64.228. 146 | 172.64.228. 147 | 172.64.228. 148 | 172.64.228. 149 | 172.64.228. 150 | 172.64.228. 151 | 172.64.228. 152 | 172.64.228. 153 | 172.64.228. 154 | 172.64.228. 155 | 172.64.228. 156 | 172.64.228. 157 | 172.64.228. 158 | 172.64.228. 159 | 172.64.228. 160 | 172.64.228. 161 | 172.64.228. 162 | 172.64.228. 163 | 172.64.228. 164 | 172.64.228. 165 | 172.64.228. 166 | 172.64.228. 167 | 172.64.228. 168 | 172.64.228. 169 | 172.64.228. 170 | 172.64.228. 171 | 172.64.228. 172 | 172.64.228. 173 | 172.64.228. 174 | 172.64.228. 175 | 172.64.228. 176 | 172.64.228. 177 | 172.64.228. 178 | 172.64.228. 179 | 172.64.228. 180 | 172.64.228. 181 | 172.64.228. 182 | 172.64.228. 183 | 172.64.228. 184 | 172.64.228. 185 | 172.64.228. 186 | 172.64.228. 187 | 172.64.228. 188 | 172.64.228. 189 | 172.64.228. 190 | 172.64.228. 191 | 172.64.228. 192 | 172.64.228. 193 | 172.64.228. 194 | 172.64.228. 195 | 172.64.228. 196 | 172.64.228. 197 | 172.64.228. 198 | 172.64.228. 199 | 172.64.228. 200 | 172.64.228. 201 | 172.64.228. 202 | 172.64.228. 203 | 172.64.228. 204 | 172.64.228. 205 | 172.64.228. 206 | 172.64.228. 207 | 172.64.228. 208 | 172.64.228. 209 | 172.64.228. 210 | 172.64.228. 211 | 172.64.228. 212 | 172.64.228. 213 | 172.64.228. 214 | 172.64.228. 215 | 172.64.228. 216 | 172.64.228. 217 | 172.64.228. 218 | 172.64.228. 219 | 172.64.228. 220 | 172.64.228. 221 | 172.64.228. 222 | 172.64.228. 223 | 172.64.228. 224 | 172.64.228. 225 | 172.64.228. 226 | 172.64.228. 227 | 172.64.228. 228 | 172.64.228. 229 | 172.64.228. 230 | 172.64.228. 231 | 172.64.228. 232 | 172.64.228. 233 | 172.64.228. 234 | 172.64.228. 235 | 172.64.228. 236 | 172.64.228. 237 | 172.64.228. 238 | 172.64.228. 239 | 172.64.228. 240 | 172.64.228. 241 | 172.64.228. 242 | 172.64.228. 243 | 172.64.228. 244 | 172.64.228. 245 | 172.64.228. 246 | 172.64.228. 247 | 172.64.228. 248 | 172.64.228. 249 | 172.64.228. 250 | 172.64.228. 251 | 172.64.228. 252 | 172.64.228. 253 | 172.64.228. 254 | 172.64.228. 255 | 172.64.228. 256 | 172.64.228. 257 | 172.64.228. 258 | 172.64.228. 259 | 172.64.228. 260 | 172.64.228. 261 | 172.64.228. 262 | 172.64.228. 263 | 172.64.228. 264 | 172.64.228. 265 | 172.64.228. 266 | 172.64.228. 267 | 172.64.228. 268 | 172.64.228. 269 | 172.64.228. 270 | 172.64.228. 271 | 172.64.228. 272 | 172.64.228. 273 | 172.64.228. 274 | 172.64.228. 275 | 172.64.228. 276 | 172.64.228. 277 | 172.64.228. 278 | 172.64.228. 279 | 172.64.228. 280 | 172.64.228. 281 | 172.64.228. 282 | 172.64.228. 283 | 172.64.228. 284 | 172.64.228. 285 | 172.64.228. 286 | 172.64.228. 287 | 172.64.228. 288 | 172.64.228. 289 | 172.64.228. 290 | 172.64.228. 291 | 172.64.228. 292 | 172.64.228. 293 | 172.64.228. 294 | 172.64.228. 295 | 172.64.228. 296 | 172.64.228. 297 | 172.64.228. 298 | 172.64.228. 299 | 172.64.228. 300 | 172.64.228. 301 | 172.64.228. 302 | 172.64.228. 303 | 172.64.228. 304 | 172.64.228. 305 | 172.64.228. 306 | 172.64.228. 307 | 172.64.228. 308 | 172.64.228. 309 | 172.64.228. 310 | 172.64.228. 311 | 172.64.228. 312 | 172.64.228. 313 | 172.64.228. 314 | 172.64.228. 315 | 172.64.228. 316 | 172.64.228. 317 | 172.64.228. 318 | 172.64.228. 319 | 172.64.228. 320 | 172.64.228. 321 | 172.64.228. 322 | 172.64.228. 323 | 172.64.228. 324 | 172.64.228. 325 | 172.64.228. 326 | 172.64.228. 327 | 172.64.228. 328 | 172.64.228. 329 | 172.64.228. 330 | 172.64.228. 331 | 172.64.228. 332 | 172.64.228. 333 | 172.64.228. 334 | 172.64.228. 335 | 172.64.228. 336 | 172.64.228. 337 | 172.64.228. 338 | 172.64.228. 339 | 172.64.228. 340 | 172.64.228. 341 | 172.64.228. 342 | 172.64.228. 343 | 172.64.228. 344 | 172.64.228. 345 | 172.64.228. 346 | 172.64.228. 347 | 172.64.228. 348 | 172.64.228. 349 | 172.64.228. 350 | 172.64.228. 351 | 172.64.228. 352 | 172.64.228. 353 | 172.64.228. 354 | 172.64.228. 355 | 172.64.228. 356 | 172.64.228. 357 | 172.64.228. 358 | 172.64.228. 359 | 172.64.228. 360 | 172.64.228. 361 | 172.64.228. 362 | 172.64.228. 363 | 172.64.228. 364 | 172.64.228. 365 | 172.64.228. 366 | 172.64.228. 367 | 172.64.228. 368 | 172.64.228. 369 | 172.64.228. 370 | 172.64.228. 371 | 172.64.228. 372 | 172.64.228. 373 | 172.64.228. 374 | 172.64.228. 375 | 172.64.228. 376 | 172.64.228. 377 | 172.64.228. 378 | 172.64.228. 379 | 172.64.228. 380 | 172.64.228. 381 | 172.64.228. 382 | 172.64.228. 383 | 172.64.228. 384 | 172.64.228. 385 | 172.64.228. 386 | 172.64.228. -------------------------------------------------------------------------------- /CFIP/2.3/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/fping.exe -------------------------------------------------------------------------------- /CFIP/2.3/ip.txt: -------------------------------------------------------------------------------- 1 | 104.16.5.65 2 | 104.16.10.151 3 | 104.16.15.81 4 | 104.16.20.159 5 | 104.16.25.47 6 | 104.16.30.69 7 | 104.16.35.36 8 | 104.16.40.211 9 | 104.16.45.212 10 | 104.16.50.219 11 | 104.16.55.25 12 | 104.16.60.21 13 | 104.16.65.237 14 | 104.16.70.46 15 | 104.16.75.123 16 | 104.16.80.18 17 | 104.16.85.199 18 | 104.16.90.112 19 | 104.16.95.143 20 | 104.16.100.145 21 | 104.16.105.92 22 | 104.16.110.185 23 | 104.16.115.210 24 | 104.16.120.166 25 | 104.16.125.191 26 | 104.16.130.231 27 | 104.16.135.131 28 | 104.16.140.40 29 | 104.16.145.187 30 | 104.16.150.168 31 | 104.16.155.97 32 | 104.16.160.102 33 | 104.16.165.183 34 | 104.16.170.213 35 | 104.16.175.182 36 | 104.16.180.22 37 | 104.16.185.221 38 | 104.16.190.2 39 | 104.16.195.148 40 | 104.16.200.142 41 | 104.16.205.124 42 | 104.16.210.83 43 | 104.16.215.95 44 | 104.16.220.55 45 | 104.16.225.170 46 | 104.16.230.145 47 | 104.16.235.139 48 | 104.16.240.62 49 | 104.16.245.45 50 | 104.16.250.124 51 | 104.16.255.167 52 | 104.17.4.140 53 | 104.17.9.156 54 | 104.17.14.99 55 | 104.17.19.155 56 | 104.17.24.249 57 | 104.17.29.193 58 | 104.17.34.243 59 | 104.17.39.46 60 | 104.17.44.188 61 | 104.17.49.66 62 | 104.17.54.77 63 | 104.17.59.203 64 | 104.17.64.38 65 | 104.17.69.128 66 | 104.17.74.91 67 | 104.17.79.132 68 | 104.17.84.145 69 | 104.17.89.192 70 | 104.17.94.99 71 | 104.17.99.87 72 | 104.17.104.147 73 | 104.17.109.137 74 | 104.17.114.220 75 | 104.17.119.176 76 | 104.17.124.119 77 | 104.17.129.76 78 | 104.17.134.129 79 | 104.17.139.48 80 | 104.17.144.237 81 | 104.17.149.75 82 | 104.17.154.165 83 | 104.17.159.173 84 | 104.17.164.0 85 | 104.17.169.179 86 | 104.17.174.198 87 | 104.17.179.122 88 | 104.17.184.73 89 | 104.17.189.11 90 | 104.17.194.100 91 | 104.17.199.232 92 | 104.17.204.98 93 | 104.17.209.210 94 | 104.17.214.19 95 | 104.17.219.12 96 | 104.17.224.158 97 | 104.17.229.100 98 | 104.17.234.208 99 | 104.17.239.195 100 | 104.17.244.247 101 | 104.17.249.30 102 | 104.17.254.145 103 | 104.18.3.244 104 | 104.18.8.72 105 | 104.18.13.194 106 | 104.18.18.32 107 | 104.18.23.21 108 | 104.18.28.189 109 | 104.18.33.29 110 | 104.18.38.40 111 | 104.18.43.241 112 | 104.18.48.135 113 | 104.18.53.231 114 | 104.18.58.144 115 | 104.18.63.168 116 | 104.18.68.212 117 | 104.18.73.234 118 | 104.18.78.9 119 | 104.18.83.247 120 | 104.18.88.254 121 | 104.18.93.103 122 | 104.18.98.227 123 | 104.18.103.185 124 | 104.18.108.2 125 | 104.18.113.181 126 | 104.18.118.37 127 | 104.18.123.174 128 | 104.18.128.53 129 | 104.18.133.43 130 | 104.18.138.220 131 | 104.18.143.124 132 | 104.18.148.50 133 | 104.18.153.64 134 | 104.18.158.179 135 | 104.18.163.243 136 | 104.18.168.23 137 | 104.18.173.241 138 | 104.18.178.196 139 | 104.18.183.149 140 | 104.18.188.241 141 | 104.18.193.99 142 | 104.18.198.174 143 | 104.18.203.86 144 | 104.18.208.116 145 | 104.18.213.202 146 | 104.18.218.232 147 | 104.18.223.160 148 | 104.18.228.240 149 | 104.18.233.137 150 | 104.18.238.85 151 | 104.18.243.154 152 | 104.18.248.128 153 | 104.18.253.155 154 | 104.19.2.24 155 | 104.19.7.170 156 | 104.19.12.133 157 | 104.19.17.49 158 | 104.19.22.169 159 | 104.19.27.57 160 | 104.19.32.82 161 | 104.19.37.156 162 | 104.19.42.40 163 | 104.19.47.182 164 | 104.19.52.41 165 | 104.19.57.110 166 | 104.19.62.242 167 | 104.19.67.221 168 | 104.19.72.103 169 | 104.19.77.220 170 | 104.19.82.115 171 | 104.19.87.57 172 | 104.19.92.251 173 | 104.19.97.103 174 | 104.19.102.59 175 | 104.19.107.231 176 | 104.19.112.28 177 | 104.19.117.188 178 | 104.19.122.83 179 | 104.19.127.158 180 | 104.19.132.60 181 | 104.19.137.216 182 | 104.19.142.209 183 | 104.19.147.236 184 | 104.19.152.55 185 | 104.19.157.111 186 | 104.19.162.170 187 | 104.19.167.194 188 | 104.19.172.209 189 | 104.19.177.143 190 | 104.19.182.200 191 | 104.19.187.51 192 | 104.19.192.95 193 | 104.19.197.129 194 | 104.19.202.92 195 | 104.19.207.121 196 | 104.19.212.196 197 | 104.19.217.240 198 | 104.19.222.118 199 | 104.19.227.57 200 | 104.19.232.159 201 | 104.19.237.76 202 | 104.19.242.211 203 | 104.19.247.8 204 | 104.19.252.195 205 | 104.20.1.113 206 | 104.20.6.245 207 | 104.20.11.45 208 | 104.20.16.232 209 | 104.20.21.132 210 | 104.20.26.121 211 | 104.20.31.168 212 | 104.20.36.160 213 | 104.20.41.30 214 | 104.20.46.166 215 | 104.20.51.116 216 | 104.20.56.140 217 | 104.20.61.173 218 | 104.20.66.66 219 | 104.20.71.10 220 | 104.20.76.207 221 | 104.20.81.23 222 | 104.20.86.169 223 | 104.20.91.38 224 | 104.20.96.195 225 | 104.20.101.160 226 | 104.20.106.32 227 | 104.20.111.205 228 | 104.20.116.235 229 | 104.20.121.13 230 | 104.20.126.102 231 | 104.20.131.143 232 | 104.20.136.41 233 | 104.20.141.9 234 | 104.20.146.140 235 | 104.20.151.10 236 | 104.20.156.49 237 | 104.20.161.201 238 | 104.20.166.7 239 | 104.20.171.175 240 | 104.20.176.62 241 | 104.20.181.236 242 | 104.20.186.4 243 | 104.20.191.201 244 | 104.20.196.4 245 | 104.20.201.165 246 | 104.20.206.251 247 | 104.20.211.186 248 | 104.20.216.229 249 | 104.20.221.27 250 | 104.20.226.135 251 | 104.20.231.136 252 | 104.20.236.103 253 | 104.20.241.16 254 | 104.20.246.117 255 | 104.20.251.153 256 | 104.21.0.230 257 | 104.21.5.193 258 | 104.21.10.26 259 | 104.21.15.187 260 | 104.21.20.134 261 | 104.21.25.14 262 | 104.21.30.234 263 | 104.21.35.104 264 | 104.21.40.108 265 | 104.21.45.219 266 | 104.21.50.71 267 | 104.21.55.71 268 | 104.21.60.46 269 | 104.21.65.182 270 | 104.21.70.151 271 | 104.21.75.245 272 | 104.21.80.135 273 | 104.21.85.186 274 | 104.21.90.153 275 | 104.21.95.6 276 | 104.21.100.80 277 | 104.21.105.179 278 | 104.21.110.249 279 | 104.21.115.71 280 | 104.21.120.171 281 | 104.21.125.131 282 | 104.21.194.34 283 | 104.21.199.70 284 | 104.21.204.130 285 | 104.21.209.196 286 | 104.21.214.83 287 | 104.21.219.21 288 | 104.21.224.48 289 | 104.21.229.174 290 | 104.21.234.245 291 | 104.21.239.74 292 | 104.22.4.125 293 | 104.22.9.59 294 | 104.22.14.44 295 | 104.22.19.74 296 | 104.22.24.208 297 | 104.22.29.138 298 | 104.22.34.172 299 | 104.22.39.200 300 | 104.22.44.160 301 | 104.22.49.129 302 | 104.22.54.206 303 | 104.22.59.136 304 | 104.22.64.44 305 | 104.22.69.183 306 | 104.22.74.226 307 | 104.22.79.105 308 | 104.23.100.108 309 | 104.23.105.145 310 | 104.23.110.199 311 | 104.23.115.162 312 | 104.23.120.71 313 | 104.23.125.171 314 | 104.23.130.186 315 | 104.23.135.76 316 | 104.23.140.6 317 | 104.24.1.121 318 | 104.24.6.108 319 | 104.24.11.33 320 | 104.24.16.9 321 | 104.24.21.46 322 | 104.24.26.87 323 | 104.24.31.131 324 | 104.24.36.184 325 | 104.24.41.220 326 | 104.24.46.81 327 | 104.24.51.192 328 | 104.24.56.189 329 | 104.24.61.221 330 | 104.24.66.98 331 | 104.24.71.148 332 | 104.24.76.113 333 | 104.24.81.115 334 | 104.24.86.211 335 | 104.24.91.239 336 | 104.24.96.147 337 | 104.24.101.171 338 | 104.24.106.135 339 | 104.24.111.249 340 | 104.24.116.64 341 | 104.24.121.135 342 | 104.24.126.143 343 | 104.24.131.83 344 | 104.24.136.31 345 | 104.24.141.91 346 | 104.24.146.248 347 | 104.24.151.160 348 | 104.24.156.221 349 | 104.24.161.120 350 | 104.24.166.231 351 | 104.24.171.69 352 | 104.24.176.217 353 | 104.24.181.8 354 | 104.24.186.233 355 | 104.24.191.108 356 | 104.24.196.32 357 | 104.24.201.57 358 | 104.24.206.132 359 | 104.24.211.79 360 | 104.24.216.155 361 | 104.24.221.158 362 | 104.24.226.18 363 | 104.24.231.179 364 | 104.24.236.135 365 | 104.24.241.210 366 | 104.24.246.207 367 | 104.24.251.178 368 | 104.25.0.38 369 | 104.25.5.94 370 | 104.25.10.48 371 | 104.25.15.190 372 | 104.25.20.180 373 | 104.25.25.220 374 | 104.25.30.118 375 | 104.25.35.227 376 | 104.25.40.157 377 | 104.25.45.93 378 | 104.25.50.132 379 | 104.25.55.76 380 | 104.25.60.237 381 | 104.25.65.9 382 | 104.25.70.237 383 | 104.25.75.9 384 | 104.25.80.8 385 | 104.25.85.5 386 | 104.25.90.82 387 | 104.25.95.16 388 | 104.25.100.155 389 | 104.25.105.154 390 | 104.25.110.235 391 | 104.25.115.129 392 | 104.25.120.210 393 | 104.25.125.147 394 | 104.25.130.99 395 | 104.25.135.46 396 | 104.25.140.204 397 | 104.25.145.230 398 | 104.25.150.233 399 | 104.25.155.90 400 | 104.25.160.76 401 | 104.25.165.151 402 | 104.25.170.132 403 | 104.25.175.193 404 | 104.25.180.177 405 | 104.25.185.218 406 | 104.25.190.166 407 | 104.25.195.217 408 | 104.25.200.40 409 | 104.25.205.120 410 | 104.25.210.5 411 | 104.25.215.88 412 | 104.25.220.32 413 | 104.25.225.115 414 | 104.25.230.166 415 | 104.25.235.246 416 | 104.25.240.254 417 | 104.25.245.237 418 | 104.25.250.58 419 | 104.25.255.116 420 | 104.26.4.18 421 | 104.26.9.70 422 | 104.26.14.174 423 | 104.27.3.221 424 | 104.27.8.202 425 | 104.27.13.133 426 | 104.27.18.254 427 | 104.27.23.12 428 | 104.27.28.38 429 | 104.27.33.249 430 | 104.27.38.74 431 | 104.27.43.110 432 | 104.27.48.108 433 | 104.27.53.32 434 | 104.27.58.43 435 | 104.27.63.9 436 | 104.27.68.29 437 | 104.27.73.199 438 | 104.27.78.71 439 | 104.27.83.189 440 | 104.27.88.39 441 | 104.27.93.115 442 | 104.27.98.35 443 | 104.27.103.202 444 | 104.27.108.92 445 | 104.27.113.0 446 | 104.27.118.57 447 | 104.27.123.147 448 | 104.27.128.35 449 | 104.27.133.136 450 | 104.27.138.75 451 | 104.27.143.162 452 | 104.27.148.110 453 | 104.27.153.134 454 | 104.27.158.246 455 | 104.27.163.235 456 | 104.27.168.236 457 | 104.27.173.59 458 | 104.27.178.138 459 | 104.27.183.85 460 | 104.27.188.127 461 | 104.27.193.81 462 | 104.27.198.25 463 | 104.27.203.118 464 | 104.28.0.240 465 | 104.28.5.191 466 | 104.28.10.206 467 | 104.28.15.158 468 | 104.28.20.226 469 | 104.28.25.236 470 | 104.28.30.128 471 | 104.28.35.24 472 | 104.28.40.4 473 | 104.28.45.23 474 | 104.28.50.135 475 | 104.28.55.172 476 | 104.28.60.139 477 | 104.28.65.246 478 | 104.28.70.207 479 | 104.28.75.104 480 | 104.28.80.224 481 | 104.28.85.157 482 | 104.28.90.43 483 | 104.28.95.161 484 | 104.28.100.149 485 | 104.28.105.162 486 | 104.28.110.235 487 | 104.28.115.52 488 | 104.28.120.158 489 | 104.28.125.127 490 | 104.28.130.176 491 | 104.28.135.17 492 | 104.28.140.190 493 | 104.28.145.55 494 | 104.28.150.127 495 | 104.28.155.251 496 | 104.28.160.63 497 | 104.28.165.61 498 | 104.28.170.21 499 | 104.28.175.137 500 | 104.28.180.230 501 | 104.28.185.145 502 | 104.28.190.122 503 | 104.28.195.113 504 | 104.28.200.38 505 | 104.28.205.44 506 | 104.28.210.217 507 | 104.28.215.5 508 | 104.28.220.148 509 | 104.28.225.158 510 | 104.28.230.143 511 | 104.28.235.254 512 | 104.28.240.155 513 | 104.28.245.246 514 | 104.28.250.130 515 | 104.28.255.121 516 | 104.31.4.113 517 | 104.31.9.226 518 | 104.31.14.180 519 | 104.31.67.63 520 | 104.31.72.73 521 | 104.31.77.23 522 | 104.31.82.24 523 | 104.31.87.73 524 | 104.31.92.203 525 | 104.31.129.243 526 | 104.31.134.164 527 | 104.31.139.132 528 | 104.31.144.193 529 | 104.31.149.97 530 | 104.31.154.167 531 | 104.31.159.209 532 | 104.31.164.19 533 | 104.31.169.254 534 | 104.31.174.93 535 | 104.31.179.80 536 | 104.31.184.245 537 | 104.31.189.122 538 | 104.31.194.192 539 | 104.31.199.222 540 | 104.31.204.95 541 | 104.31.209.64 542 | 104.31.214.162 543 | 104.31.219.220 544 | 104.31.224.189 545 | 104.31.229.89 546 | 104.31.234.249 547 | 104.31.239.51 548 | 104.31.244.233 549 | 104.31.249.141 550 | 104.31.254.122 551 | 141.101.120.148 552 | 162.159.46.86 553 | 162.159.132.204 554 | 162.159.137.105 555 | 162.159.192.5 556 | 162.159.201.142 557 | 162.159.212.205 558 | 162.159.217.175 559 | 162.159.222.153 560 | 162.159.227.222 561 | 162.159.232.245 562 | 162.159.237.45 563 | 162.159.242.126 564 | 162.159.247.79 565 | 162.159.252.122 566 | 172.64.37.80 567 | 172.64.68.61 568 | 172.64.73.217 569 | 172.64.78.200 570 | 172.64.83.229 571 | 172.64.88.62 572 | 172.64.93.212 573 | 172.64.98.36 574 | 172.64.103.47 575 | 172.64.108.139 576 | 172.64.129.175 577 | 172.64.134.143 578 | 172.64.139.55 579 | 172.64.160.213 580 | 172.64.165.228 581 | 172.64.170.237 582 | 172.64.175.100 583 | 172.64.196.188 584 | 172.64.201.43 585 | 172.64.206.102 586 | 172.67.2.75 587 | 172.67.7.75 588 | 172.67.12.239 589 | 172.67.17.13 590 | 172.67.22.200 591 | 172.67.27.194 592 | 172.67.32.254 593 | 172.67.37.191 594 | 172.67.42.78 595 | 172.67.47.153 596 | 172.67.52.132 597 | 172.67.57.78 598 | 172.67.62.123 599 | 172.67.67.193 600 | 172.67.72.58 601 | 172.67.77.223 602 | 172.67.82.240 603 | 172.67.87.45 604 | 172.67.92.219 605 | 172.67.97.145 606 | 172.67.102.95 607 | 172.67.107.145 608 | 172.67.112.216 609 | 172.67.117.96 610 | 172.67.122.229 611 | 172.67.127.106 612 | 172.67.132.76 613 | 172.67.137.72 614 | 172.67.142.155 615 | 172.67.147.62 616 | 172.67.152.50 617 | 172.67.157.173 618 | 172.67.162.104 619 | 172.67.167.37 620 | 172.67.172.214 621 | 172.67.177.250 622 | 172.67.182.25 623 | 172.67.187.136 624 | 172.67.192.137 625 | 172.67.197.137 626 | 172.67.202.179 627 | 172.67.207.41 628 | 172.67.212.153 629 | 172.67.217.195 630 | 172.67.222.7 631 | 172.67.227.99 632 | 172.67.232.128 633 | 172.67.237.136 634 | 172.67.242.136 635 | 172.67.247.180 636 | 172.67.252.92 637 | 190.93.244.209 638 | 198.41.209.90 639 | 198.41.220.120 640 | -------------------------------------------------------------------------------- /CFIP/2.3/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/2.3/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.3/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/2.4/CF优选IP-JP-Only.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/CF优选IP-JP-Only.bat -------------------------------------------------------------------------------- /CFIP/2.4/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/2.4/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/2.4/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/2.4/dataJP.txt: -------------------------------------------------------------------------------- 1 | domain=cfip.hey.pw 2 | file=moon_81m.png 3 | 172.64.228. 4 | 172.64.228. 5 | 172.64.228. 6 | 172.64.228. 7 | 172.64.228. 8 | 172.64.228. 9 | 172.64.228. 10 | 172.64.228. 11 | 172.64.228. 12 | 172.64.228. 13 | 172.64.228. 14 | 172.64.228. 15 | 172.64.228. 16 | 172.64.228. 17 | 172.64.228. 18 | 172.64.228. 19 | 172.64.228. 20 | 172.64.228. 21 | 172.64.228. 22 | 172.64.228. 23 | 172.64.228. 24 | 172.64.228. 25 | 172.64.228. 26 | 172.64.228. 27 | 172.64.228. 28 | 172.64.228. 29 | 172.64.228. 30 | 172.64.228. 31 | 172.64.228. 32 | 172.64.228. 33 | 172.64.228. 34 | 172.64.228. 35 | 172.64.228. 36 | 172.64.228. 37 | 172.64.228. 38 | 172.64.228. 39 | 172.64.228. 40 | 172.64.228. 41 | 172.64.228. 42 | 172.64.228. 43 | 172.64.228. 44 | 172.64.228. 45 | 172.64.228. 46 | 172.64.228. 47 | 172.64.228. 48 | 172.64.228. 49 | 172.64.228. 50 | 172.64.228. 51 | 172.64.228. 52 | 172.64.228. 53 | 172.64.228. 54 | 172.64.228. 55 | 172.64.228. 56 | 172.64.228. 57 | 172.64.228. 58 | 172.64.228. 59 | 172.64.228. 60 | 172.64.228. 61 | 172.64.228. 62 | 172.64.228. 63 | 172.64.228. 64 | 172.64.228. 65 | 172.64.228. 66 | 172.64.228. 67 | 172.64.228. 68 | 172.64.228. 69 | 172.64.228. 70 | 172.64.228. 71 | 172.64.228. 72 | 172.64.228. 73 | 172.64.228. 74 | 172.64.228. 75 | 172.64.228. 76 | 172.64.228. 77 | 172.64.228. 78 | 172.64.228. 79 | 172.64.228. 80 | 172.64.228. 81 | 172.64.228. 82 | 172.64.228. 83 | 172.64.228. 84 | 172.64.228. 85 | 172.64.228. 86 | 172.64.228. 87 | 172.64.228. 88 | 172.64.228. 89 | 172.64.228. 90 | 172.64.228. 91 | 172.64.228. 92 | 172.64.228. 93 | 172.64.228. 94 | 172.64.228. 95 | 172.64.228. 96 | 172.64.228. 97 | 172.64.228. 98 | 172.64.228. 99 | 172.64.228. 100 | 172.64.228. 101 | 172.64.228. 102 | 172.64.228. 103 | 172.64.228. 104 | 172.64.228. 105 | 172.64.228. 106 | 172.64.228. 107 | 172.64.228. 108 | 172.64.228. 109 | 172.64.228. 110 | 172.64.228. 111 | 172.64.228. 112 | 172.64.228. 113 | 172.64.228. 114 | 172.64.228. 115 | 172.64.228. 116 | 172.64.228. 117 | 172.64.228. 118 | 172.64.228. 119 | 172.64.228. 120 | 172.64.228. 121 | 172.64.228. 122 | 172.64.228. 123 | 172.64.228. 124 | 172.64.228. 125 | 172.64.228. 126 | 172.64.228. 127 | 172.64.228. 128 | 172.64.228. 129 | 172.64.228. 130 | 172.64.228. 131 | 172.64.228. 132 | 172.64.228. 133 | 172.64.228. 134 | 172.64.228. 135 | 172.64.228. 136 | 172.64.228. 137 | 172.64.228. 138 | 172.64.228. 139 | 172.64.228. 140 | 172.64.228. 141 | 172.64.228. 142 | 172.64.228. 143 | 172.64.228. 144 | 172.64.228. 145 | 172.64.228. 146 | 172.64.228. 147 | 172.64.228. 148 | 172.64.228. 149 | 172.64.228. 150 | 172.64.228. 151 | 172.64.228. 152 | 172.64.228. 153 | 172.64.228. 154 | 172.64.228. 155 | 172.64.228. 156 | 172.64.228. 157 | 172.64.228. 158 | 172.64.228. 159 | 172.64.228. 160 | 172.64.228. 161 | 172.64.228. 162 | 172.64.228. 163 | 172.64.228. 164 | 172.64.228. 165 | 172.64.228. 166 | 172.64.228. 167 | 172.64.228. 168 | 172.64.228. 169 | 172.64.228. 170 | 172.64.228. 171 | 172.64.228. 172 | 172.64.228. 173 | 172.64.228. 174 | 172.64.228. 175 | 172.64.228. 176 | 172.64.228. 177 | 172.64.228. 178 | 172.64.228. 179 | 172.64.228. 180 | 172.64.228. 181 | 172.64.228. 182 | 172.64.228. 183 | 172.64.228. 184 | 172.64.228. 185 | 172.64.228. 186 | 172.64.228. 187 | 172.64.228. 188 | 172.64.228. 189 | 172.64.228. 190 | 172.64.228. 191 | 172.64.228. 192 | 172.64.228. 193 | 172.64.228. 194 | 172.64.228. 195 | 172.64.228. 196 | 172.64.228. 197 | 172.64.228. 198 | 172.64.228. 199 | 172.64.228. 200 | 172.64.228. 201 | 172.64.228. 202 | 172.64.228. 203 | 172.64.228. 204 | 172.64.228. 205 | 172.64.228. 206 | 172.64.228. 207 | 172.64.228. 208 | 172.64.228. 209 | 172.64.228. 210 | 172.64.228. 211 | 172.64.228. 212 | 172.64.228. 213 | 172.64.228. 214 | 172.64.228. 215 | 172.64.228. 216 | 172.64.228. 217 | 172.64.228. 218 | 172.64.228. 219 | 172.64.228. 220 | 172.64.228. 221 | 172.64.228. 222 | 172.64.228. 223 | 172.64.228. 224 | 172.64.228. 225 | 172.64.228. 226 | 172.64.228. 227 | 172.64.228. 228 | 172.64.228. 229 | 172.64.228. 230 | 172.64.228. 231 | 172.64.228. 232 | 172.64.228. 233 | 172.64.228. 234 | 172.64.228. 235 | 172.64.228. 236 | 172.64.228. 237 | 172.64.228. 238 | 172.64.228. 239 | 172.64.228. 240 | 172.64.228. 241 | 172.64.228. 242 | 172.64.228. 243 | 172.64.228. 244 | 172.64.228. 245 | 172.64.228. 246 | 172.64.228. 247 | 172.64.228. 248 | 172.64.228. 249 | 172.64.228. 250 | 172.64.228. 251 | 172.64.228. 252 | 172.64.228. 253 | 172.64.228. 254 | 172.64.228. 255 | 172.64.228. 256 | 172.64.228. 257 | 172.64.228. 258 | 172.64.228. 259 | 172.64.228. 260 | 172.64.228. 261 | 172.64.228. 262 | 172.64.228. 263 | 172.64.228. 264 | 172.64.228. 265 | 172.64.228. 266 | 172.64.228. 267 | 172.64.228. 268 | 172.64.228. 269 | 172.64.228. 270 | 172.64.228. 271 | 172.64.228. 272 | 172.64.228. 273 | 172.64.228. 274 | 172.64.228. 275 | 172.64.228. 276 | 172.64.228. 277 | 172.64.228. 278 | 172.64.228. 279 | 172.64.228. 280 | 172.64.228. 281 | 172.64.228. 282 | 172.64.228. 283 | 172.64.228. 284 | 172.64.228. 285 | 172.64.228. 286 | 172.64.228. 287 | 172.64.228. 288 | 172.64.228. 289 | 172.64.228. 290 | 172.64.228. 291 | 172.64.228. 292 | 172.64.228. 293 | 172.64.228. 294 | 172.64.228. 295 | 172.64.228. 296 | 172.64.228. 297 | 172.64.228. 298 | 172.64.228. 299 | 172.64.228. 300 | 172.64.228. 301 | 172.64.228. 302 | 172.64.228. 303 | 172.64.228. 304 | 172.64.228. 305 | 172.64.228. 306 | 172.64.228. 307 | 172.64.228. 308 | 172.64.228. 309 | 172.64.228. 310 | 172.64.228. 311 | 172.64.228. 312 | 172.64.228. 313 | 172.64.228. 314 | 172.64.228. 315 | 172.64.228. 316 | 172.64.228. 317 | 172.64.228. 318 | 172.64.228. 319 | 172.64.228. 320 | 172.64.228. 321 | 172.64.228. 322 | 172.64.228. 323 | 172.64.228. 324 | 172.64.228. 325 | 172.64.228. 326 | 172.64.228. 327 | 172.64.228. 328 | 172.64.228. 329 | 172.64.228. 330 | 172.64.228. 331 | 172.64.228. 332 | 172.64.228. 333 | 172.64.228. 334 | 172.64.228. 335 | 172.64.228. 336 | 172.64.228. 337 | 172.64.228. 338 | 172.64.228. 339 | 172.64.228. 340 | 172.64.228. 341 | 172.64.228. 342 | 172.64.228. 343 | 172.64.228. 344 | 172.64.228. 345 | 172.64.228. 346 | 172.64.228. 347 | 172.64.228. 348 | 172.64.228. 349 | 172.64.228. 350 | 172.64.228. 351 | 172.64.228. 352 | 172.64.228. 353 | 172.64.228. 354 | 172.64.228. 355 | 172.64.228. 356 | 172.64.228. 357 | 172.64.228. 358 | 172.64.228. 359 | 172.64.228. 360 | 172.64.228. 361 | 172.64.228. 362 | 172.64.228. 363 | 172.64.228. 364 | 172.64.228. 365 | 172.64.228. 366 | 172.64.228. 367 | 172.64.228. 368 | 172.64.228. 369 | 172.64.228. 370 | 172.64.228. 371 | 172.64.228. 372 | 172.64.228. 373 | 172.64.228. 374 | 172.64.228. 375 | 172.64.228. 376 | 172.64.228. 377 | 172.64.228. 378 | 172.64.228. 379 | 172.64.228. 380 | 172.64.228. 381 | 172.64.228. 382 | 172.64.228. 383 | 172.64.228. 384 | 172.64.228. 385 | 172.64.228. 386 | 172.64.228. -------------------------------------------------------------------------------- /CFIP/2.4/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/fping.exe -------------------------------------------------------------------------------- /CFIP/2.4/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/2.4/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.4/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/2.5/CF优选IP-JP-Only.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/CF优选IP-JP-Only.bat -------------------------------------------------------------------------------- /CFIP/2.5/CF优选IP-横向优化算法.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/CF优选IP-横向优化算法.bat -------------------------------------------------------------------------------- /CFIP/2.5/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/2.5/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/2.5/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/2.5/dataJP.txt: -------------------------------------------------------------------------------- 1 | domain=cfip.hey.pw 2 | file=moon_81m.png 3 | 172.64.228. 4 | 172.64.228. 5 | 172.64.228. 6 | 172.64.228. 7 | 172.64.228. 8 | 172.64.228. 9 | 172.64.228. 10 | 172.64.228. 11 | 172.64.228. 12 | 172.64.228. 13 | 172.64.228. 14 | 172.64.228. 15 | 172.64.228. 16 | 172.64.228. 17 | 172.64.228. 18 | 172.64.228. 19 | 172.64.228. 20 | 172.64.228. 21 | 172.64.228. 22 | 172.64.228. 23 | 172.64.228. 24 | 172.64.228. 25 | 172.64.228. 26 | 172.64.228. 27 | 172.64.228. 28 | 172.64.228. 29 | 172.64.228. 30 | 172.64.228. 31 | 172.64.228. 32 | 172.64.228. 33 | 172.64.228. 34 | 172.64.228. 35 | 172.64.228. 36 | 172.64.228. 37 | 172.64.228. 38 | 172.64.228. 39 | 172.64.228. 40 | 172.64.228. 41 | 172.64.228. 42 | 172.64.228. 43 | 172.64.228. 44 | 172.64.228. 45 | 172.64.228. 46 | 172.64.228. 47 | 172.64.228. 48 | 172.64.228. 49 | 172.64.228. 50 | 172.64.228. 51 | 172.64.228. 52 | 172.64.228. 53 | 172.64.228. 54 | 172.64.228. 55 | 172.64.228. 56 | 172.64.228. 57 | 172.64.228. 58 | 172.64.228. 59 | 172.64.228. 60 | 172.64.228. 61 | 172.64.228. 62 | 172.64.228. 63 | 172.64.228. 64 | 172.64.228. 65 | 172.64.228. 66 | 172.64.228. 67 | 172.64.228. 68 | 172.64.228. 69 | 172.64.228. 70 | 172.64.228. 71 | 172.64.228. 72 | 172.64.228. 73 | 172.64.228. 74 | 172.64.228. 75 | 172.64.228. 76 | 172.64.228. 77 | 172.64.228. 78 | 172.64.228. 79 | 172.64.228. 80 | 172.64.228. 81 | 172.64.228. 82 | 172.64.228. 83 | 172.64.228. 84 | 172.64.228. 85 | 172.64.228. 86 | 172.64.228. 87 | 172.64.228. 88 | 172.64.228. 89 | 172.64.228. 90 | 172.64.228. 91 | 172.64.228. 92 | 172.64.228. 93 | 172.64.228. 94 | 172.64.228. 95 | 172.64.228. 96 | 172.64.228. 97 | 172.64.228. 98 | 172.64.228. 99 | 172.64.228. 100 | 172.64.228. 101 | 172.64.228. 102 | 172.64.228. 103 | 172.64.228. 104 | 172.64.228. 105 | 172.64.228. 106 | 172.64.228. 107 | 172.64.228. 108 | 172.64.228. 109 | 172.64.228. 110 | 172.64.228. 111 | 172.64.228. 112 | 172.64.228. 113 | 172.64.228. 114 | 172.64.228. 115 | 172.64.228. 116 | 172.64.228. 117 | 172.64.228. 118 | 172.64.228. 119 | 172.64.228. 120 | 172.64.228. 121 | 172.64.228. 122 | 172.64.228. 123 | 172.64.228. 124 | 172.64.228. 125 | 172.64.228. 126 | 172.64.228. 127 | 172.64.228. 128 | 172.64.228. 129 | 172.64.228. 130 | 172.64.228. 131 | 172.64.228. 132 | 172.64.228. 133 | 172.64.228. 134 | 172.64.228. 135 | 172.64.228. 136 | 172.64.228. 137 | 172.64.228. 138 | 172.64.228. 139 | 172.64.228. 140 | 172.64.228. 141 | 172.64.228. 142 | 172.64.228. 143 | 172.64.228. 144 | 172.64.228. 145 | 172.64.228. 146 | 172.64.228. 147 | 172.64.228. 148 | 172.64.228. 149 | 172.64.228. 150 | 172.64.228. 151 | 172.64.228. 152 | 172.64.228. 153 | 172.64.228. 154 | 172.64.228. 155 | 172.64.228. 156 | 172.64.228. 157 | 172.64.228. 158 | 172.64.228. 159 | 172.64.228. 160 | 172.64.228. 161 | 172.64.228. 162 | 172.64.228. 163 | 172.64.228. 164 | 172.64.228. 165 | 172.64.228. 166 | 172.64.228. 167 | 172.64.228. 168 | 172.64.228. 169 | 172.64.228. 170 | 172.64.228. 171 | 172.64.228. 172 | 172.64.228. 173 | 172.64.228. 174 | 172.64.228. 175 | 172.64.228. 176 | 172.64.228. 177 | 172.64.228. 178 | 172.64.228. 179 | 172.64.228. 180 | 172.64.228. 181 | 172.64.228. 182 | 172.64.228. 183 | 172.64.228. 184 | 172.64.228. 185 | 172.64.228. 186 | 172.64.228. 187 | 172.64.228. 188 | 172.64.228. 189 | 172.64.228. 190 | 172.64.228. 191 | 172.64.228. 192 | 172.64.228. 193 | 172.64.228. 194 | 172.64.228. 195 | 172.64.228. 196 | 172.64.228. 197 | 172.64.228. 198 | 172.64.228. 199 | 172.64.228. 200 | 172.64.228. 201 | 172.64.228. 202 | 172.64.228. 203 | 172.64.228. 204 | 172.64.228. 205 | 172.64.228. 206 | 172.64.228. 207 | 172.64.228. 208 | 172.64.228. 209 | 172.64.228. 210 | 172.64.228. 211 | 172.64.228. 212 | 172.64.228. 213 | 172.64.228. 214 | 172.64.228. 215 | 172.64.228. 216 | 172.64.228. 217 | 172.64.228. 218 | 172.64.228. 219 | 172.64.228. 220 | 172.64.228. 221 | 172.64.228. 222 | 172.64.228. 223 | 172.64.228. 224 | 172.64.228. 225 | 172.64.228. 226 | 172.64.228. 227 | 172.64.228. 228 | 172.64.228. 229 | 172.64.228. 230 | 172.64.228. 231 | 172.64.228. 232 | 172.64.228. 233 | 172.64.228. 234 | 172.64.228. 235 | 172.64.228. 236 | 172.64.228. 237 | 172.64.228. 238 | 172.64.228. 239 | 172.64.228. 240 | 172.64.228. 241 | 172.64.228. 242 | 172.64.228. 243 | 172.64.228. 244 | 172.64.228. 245 | 172.64.228. 246 | 172.64.228. 247 | 172.64.228. 248 | 172.64.228. 249 | 172.64.228. 250 | 172.64.228. 251 | 172.64.228. 252 | 172.64.228. 253 | 172.64.228. 254 | 172.64.228. 255 | 172.64.228. 256 | 172.64.228. 257 | 172.64.228. 258 | 172.64.228. 259 | 172.64.228. 260 | 172.64.228. 261 | 172.64.228. 262 | 172.64.228. 263 | 172.64.228. 264 | 172.64.228. 265 | 172.64.228. 266 | 172.64.228. 267 | 172.64.228. 268 | 172.64.228. 269 | 172.64.228. 270 | 172.64.228. 271 | 172.64.228. 272 | 172.64.228. 273 | 172.64.228. 274 | 172.64.228. 275 | 172.64.228. 276 | 172.64.228. 277 | 172.64.228. 278 | 172.64.228. 279 | 172.64.228. 280 | 172.64.228. 281 | 172.64.228. 282 | 172.64.228. 283 | 172.64.228. 284 | 172.64.228. 285 | 172.64.228. 286 | 172.64.228. 287 | 172.64.228. 288 | 172.64.228. 289 | 172.64.228. 290 | 172.64.228. 291 | 172.64.228. 292 | 172.64.228. 293 | 172.64.228. 294 | 172.64.228. 295 | 172.64.228. 296 | 172.64.228. 297 | 172.64.228. 298 | 172.64.228. 299 | 172.64.228. 300 | 172.64.228. 301 | 172.64.228. 302 | 172.64.228. 303 | 172.64.228. 304 | 172.64.228. 305 | 172.64.228. 306 | 172.64.228. 307 | 172.64.228. 308 | 172.64.228. 309 | 172.64.228. 310 | 172.64.228. 311 | 172.64.228. 312 | 172.64.228. 313 | 172.64.228. 314 | 172.64.228. 315 | 172.64.228. 316 | 172.64.228. 317 | 172.64.228. 318 | 172.64.228. 319 | 172.64.228. 320 | 172.64.228. 321 | 172.64.228. 322 | 172.64.228. 323 | 172.64.228. 324 | 172.64.228. 325 | 172.64.228. 326 | 172.64.228. 327 | 172.64.228. 328 | 172.64.228. 329 | 172.64.228. 330 | 172.64.228. 331 | 172.64.228. 332 | 172.64.228. 333 | 172.64.228. 334 | 172.64.228. 335 | 172.64.228. 336 | 172.64.228. 337 | 172.64.228. 338 | 172.64.228. 339 | 172.64.228. 340 | 172.64.228. 341 | 172.64.228. 342 | 172.64.228. 343 | 172.64.228. 344 | 172.64.228. 345 | 172.64.228. 346 | 172.64.228. 347 | 172.64.228. 348 | 172.64.228. 349 | 172.64.228. 350 | 172.64.228. 351 | 172.64.228. 352 | 172.64.228. 353 | 172.64.228. 354 | 172.64.228. 355 | 172.64.228. 356 | 172.64.228. 357 | 172.64.228. 358 | 172.64.228. 359 | 172.64.228. 360 | 172.64.228. 361 | 172.64.228. 362 | 172.64.228. 363 | 172.64.228. 364 | 172.64.228. 365 | 172.64.228. 366 | 172.64.228. 367 | 172.64.228. 368 | 172.64.228. 369 | 172.64.228. 370 | 172.64.228. 371 | 172.64.228. 372 | 172.64.228. 373 | 172.64.228. 374 | 172.64.228. 375 | 172.64.228. 376 | 172.64.228. 377 | 172.64.228. 378 | 172.64.228. 379 | 172.64.228. 380 | 172.64.228. 381 | 172.64.228. 382 | 172.64.228. 383 | 172.64.228. 384 | 172.64.228. 385 | 172.64.228. 386 | 172.64.228. -------------------------------------------------------------------------------- /CFIP/2.5/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/fping.exe -------------------------------------------------------------------------------- /CFIP/2.5/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/2.5/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.5/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/2.5/测速资源链接.txt: -------------------------------------------------------------------------------- 1 | domain=cfip.hey.pw 2 | file=moon_81m.png 3 | 4 | domain=cf.xiu2.xyz 5 | file=Github/CloudflareSpeedTest.png 6 | 7 | domain=cfip.000714.cn/cache.jpg 8 | file=cache.jpg 9 | -------------------------------------------------------------------------------- /CFIP/2.6/CF优选IP-EU.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/CF优选IP-EU.bat -------------------------------------------------------------------------------- /CFIP/2.6/CF优选IP-横向优化算法.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/CF优选IP-横向优化算法.bat -------------------------------------------------------------------------------- /CFIP/2.6/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/2.6/CR.txt: -------------------------------------------------------------------------------- 1 | % Total % Received % Xferd Average Speed Time Time Time Current 2 | Dload Upload Total Spent Left Speed 3 | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 500M 0 216 0 0 285 0 21d 07h --:--:-- 21d 07h 284^C -------------------------------------------------------------------------------- /CFIP/2.6/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/2.6/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/2.6/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/fping.exe -------------------------------------------------------------------------------- /CFIP/2.6/ip.txt: -------------------------------------------------------------------------------- 1 | 162.159.136.168, 2 | 104.17.203.171 3 | 162.159.36.61 4 | 172.67.166.24 5 | 104.17.243.52 6 | 172.67.171.42 7 | 104.20.200.46 8 | 172.64.87.155 9 | 104.22.68.176 10 | 104.25.194.140 11 | 104.24.240.243 12 | 104.20.250.9 13 | 104.17.253.151 14 | 162.159.236.59 15 | 104.19.151.0 16 | 104.19.131.67 17 | 104.19.6.136 18 | 104.19.71.91 19 | 104.24.150.43 20 | 104.23.119.177 21 | 104.18.77.215 22 | 173.245.49.88 23 | 104.17.43.92 24 | 104.27.127.157 25 | 104.24.210.83 26 | 104.19.136.183 27 | 104.17.228.60 28 | 104.16.74.177 29 | 104.17.193.9 30 | 104.17.98.44 31 | -------------------------------------------------------------------------------- /CFIP/2.6/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/2.6/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/2.6/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/2.6/日志.txt: -------------------------------------------------------------------------------- 1 | 【欧洲负载均衡】 2 | 162.159.128. 3 | 162.159.129. 4 | 162.159.130. 5 | 162.159.131. 6 | 162.159.132. 7 | 162.159.133. 8 | 162.159.134. 9 | 162.159.135. 10 | 162.159.136. 11 | 162.159.137. 12 | 162.159.138. 13 | 162.159.152. 14 | 162.159.153. 15 | 162.159.200. 16 | 104.27.128. 17 | 104.27.129. 18 | 104.27.130. 19 | 104.27.131. 20 | 104.27.132. 21 | 104.27.133. 22 | 104.27.134. 23 | 104.27.135. 24 | 104.27.136. 25 | 104.27.137. 26 | 104.27.138. 27 | 104.27.139. 28 | 104.27.140. 29 | 104.27.141. 30 | 104.27.142. 31 | 104.27.143. 32 | 198.41.211. -------------------------------------------------------------------------------- /CFIP/2.6/测速资源链接.txt: -------------------------------------------------------------------------------- 1 | domain=cfip.hey.pw 2 | file=moon_81m.png 3 | 4 | domain=cf.xiu2.xyz 5 | file=Github/CloudflareSpeedTest.png 6 | 7 | domain=cfip.great-fire-wall.cn 8 | file=cache.jpg 9 | -------------------------------------------------------------------------------- /CFIP/3.1/CF优选IP-EU.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/CF优选IP-EU.bat -------------------------------------------------------------------------------- /CFIP/3.1/CF优选IP-横向优化算法.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/CF优选IP-横向优化算法.bat -------------------------------------------------------------------------------- /CFIP/3.1/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/3.1/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/3.1/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/CloudflareST.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/WINv2.0.2/CloudflareST.exe -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/cfst_3proxy.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/WINv2.0.2/cfst_3proxy.bat -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/cfst_hosts.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/WINv2.0.2/cfst_hosts.bat -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/ip.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/17 15 | 172.64.128.0/18 16 | 172.64.192.0/19 17 | 172.64.224.0/22 18 | 172.64.229.0/24 19 | 172.64.230.0/23 20 | 172.64.232.0/21 21 | 172.64.240.0/21 22 | 172.64.248.0/21 23 | 172.65.0.0/16 24 | 172.66.0.0/16 25 | 172.67.0.0/16 26 | 131.0.72.0/22 -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/ipv6.txt: -------------------------------------------------------------------------------- 1 | 2606:4700::/32 2 | 2606:4700::6810:0/112 3 | 2606:4700:10::/96 4 | 2606:4700:10::6814:0/112 5 | 2606:4700:10::ac43:0/112 6 | 2606:4700:130::/48 7 | 2606:4700:130:436c::/64 8 | 2606:4700:130:436c:6f75::/80 9 | 2606:4700:130:436c:6f75:6466::/96 10 | 2606:4700:130:436c:6f75:6466:6c61:0/112 11 | 2606:4700:3000::/48 12 | 2606:4700:3001::/48 13 | 2606:4700:3002::/48 14 | 2606:4700:3003::/48 15 | 2606:4700:3004::/48 16 | 2606:4700:3005::/48 17 | 2606:4700:3006::/48 18 | 2606:4700:3007::/48 19 | 2606:4700:3008::/48 20 | 2606:4700:3009::/48 21 | 2606:4700:3010::/48 22 | 2606:4700:3011::/48 23 | 2606:4700:3012::/48 24 | 2606:4700:3013::/48 25 | 2606:4700:3014::/48 26 | 2606:4700:3015::/48 27 | 2606:4700:3016::/48 28 | 2606:4700:3017::/48 29 | 2606:4700:3018::/48 30 | 2606:4700:3019::/48 31 | 2606:4700:3020::/48 32 | 2606:4700:3021::/48 33 | 2606:4700:3022::/48 34 | 2606:4700:3023::/48 35 | 2606:4700:3024::/48 36 | 2606:4700:3025::/48 37 | 2606:4700:3026::/48 38 | 2606:4700:3027::/48 39 | 2606:4700:3028::/48 40 | 2606:4700:3029::/48 41 | 2606:4700:3030::/48 42 | 2606:4700:3031::/48 43 | 2606:4700:3032::/48 44 | 2606:4700:3033::/48 45 | 2606:4700:3034::/48 46 | 2606:4700:3035::/48 47 | 2606:4700:3036::/48 48 | 2606:4700:3037::/48 49 | 2606:4700:3038::/48 50 | 2606:4700:3039::/48 51 | 2606:4700:3000::/96 52 | 2606:4700:3001::/96 53 | 2606:4700:3002::/96 54 | 2606:4700:3003::/96 55 | 2606:4700:3004::/96 56 | 2606:4700:3005::/96 57 | 2606:4700:3006::/96 58 | 2606:4700:3007::/96 59 | 2606:4700:3008::/96 60 | 2606:4700:3009::/96 61 | 2606:4700:3010::/96 62 | 2606:4700:3011::/96 63 | 2606:4700:3012::/96 64 | 2606:4700:3013::/96 65 | 2606:4700:3014::/96 66 | 2606:4700:3015::/96 67 | 2606:4700:3016::/96 68 | 2606:4700:3017::/96 69 | 2606:4700:3018::/96 70 | 2606:4700:3019::/96 71 | 2606:4700:3020::/96 72 | 2606:4700:3021::/96 73 | 2606:4700:3022::/96 74 | 2606:4700:3023::/96 75 | 2606:4700:3024::/96 76 | 2606:4700:3025::/96 77 | 2606:4700:3026::/96 78 | 2606:4700:3027::/96 79 | 2606:4700:3028::/96 80 | 2606:4700:3029::/96 81 | 2606:4700:3030::/96 82 | 2606:4700:3031::/96 83 | 2606:4700:3032::/96 84 | 2606:4700:3033::/96 85 | 2606:4700:3034::/96 86 | 2606:4700:3035::/96 87 | 2606:4700:3036::/96 88 | 2606:4700:3037::/96 89 | 2606:4700:3038::/96 90 | 2606:4700:3039::/96 -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/result.csv: -------------------------------------------------------------------------------- 1 | IP 地址,已发送,已接收,丢包率,平均延迟,下载速度 (MB/s) 2 | 104.17.253.58,4,4,0.00,150.38,17.78 3 | 104.18.80.160,4,4,0.00,150.80,16.44 4 | 198.41.208.130,4,4,0.00,148.90,15.60 5 | 104.16.43.9,4,4,0.00,151.07,15.30 6 | 104.19.115.166,4,4,0.00,150.01,13.47 7 | 104.19.105.220,4,4,0.00,151.16,11.32 8 | 104.18.128.198,4,4,0.00,144.55,8.36 9 | 104.18.140.145,4,4,0.00,149.44,6.53 10 | 172.64.174.89,4,4,0.00,148.90,5.86 11 | 104.16.187.44,4,4,0.00,150.22,5.38 12 | 104.17.47.43,4,4,0.00,151.61,4.39 13 | 104.17.95.226,4,4,0.00,150.03,3.60 14 | 104.17.201.240,4,4,0.00,151.29,2.41 15 | 104.20.155.5,4,4,0.00,150.31,2.22 16 | 104.18.99.145,4,4,0.00,151.68,2.17 17 | 104.17.212.138,4,4,0.00,150.32,1.42 18 | 104.17.97.230,4,4,0.00,150.42,0.97 19 | 172.65.240.234,4,4,0.00,147.59,0.00 20 | 104.16.215.2,4,4,0.00,151.50,0.00 21 | 172.65.247.5,4,4,0.00,150.53,0.00 22 | -------------------------------------------------------------------------------- /CFIP/3.1/WINv2.0.2/使用+错误+反馈说明.txt: -------------------------------------------------------------------------------- 1 | 详细使用说明请看: 2 | 3 | - Github:https://github.com/XIU2/CloudflareSpeedTest 4 | - 知乎:https://zhuanlan.zhihu.com/p/207315892 5 | 6 | 可以去这两个网站向我 [反馈问题、提供建议、询问使用方法] ! 7 | =================================== 8 | # 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。 9 | # 如果延迟很低 (几十ms),且你也不是移动 (香港直连),那么你就是遇到假墙 IP 了,记得加上 -tll 参数。 10 | # 如果在路由器上运行(如 OpenWrt),请先关闭路由器内的代理,否则测速结果会不准确且无法使用。 11 | =================================== 12 | # 因为默认下载测速地址的文件大小只有 300MB,如果你速度太快的话,测速结果可能会低于实际速度。 13 | # 官方 500MB (可自定义大小) 下载测速地址:https://speed.cloudflare.com/__down?bytes=500000000 14 | # 因为每次测速都是在每个 IP 段中随机 IP,所以每次的测速结果都不可能相同,这是正常的! 15 | =================================== 16 | # 脚本【cfst_host.bat】的作用是 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。 17 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273768 18 | =================================== 19 | # 脚本【cfst_3proxy.bat】的作用为 CloudflareST 测速后获取最快 IP 并替换 3Proxy 配置文件中的 Cloudflare CDN IP。 20 | # 可以把所有 Cloudflare CDN IP 都重定向至最快 IP,实现一劳永逸的加速所有使用 Cloudflare CDN 的网站(不需要一个个添加域名到 Hosts 了)。 21 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/discussions/71 22 | =================================== 23 | ip.txt 为 IPv4 数据文件(移除了回源 IP、被真墙的 IP 等) 24 | ipv6.txt 为 IPv6 数据文件 25 | 26 | 可以使用 -f xx.txt 参数来指定不同的 IP 数据文件,如: 27 | CloudflareST.exe -f ip1.txt 28 | 29 | 注意:如果要指定 -f ipv6.txt ,则需要同时加上 -ipv6 参数,才会正确测速 IPv6: 30 | CloudflareST.exe -f ipv6.txt -ipv6 -------------------------------------------------------------------------------- /CFIP/3.1/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/fping.exe -------------------------------------------------------------------------------- /CFIP/3.1/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/3.1/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.1/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/3.1/日志.txt: -------------------------------------------------------------------------------- 1 | 【欧洲负载均衡】 2 | 162.159.128. 3 | 162.159.129. 4 | 162.159.130. 5 | 162.159.131. 6 | 162.159.132. 7 | 162.159.133. 8 | 162.159.134. 9 | 162.159.135. 10 | 162.159.136. 11 | 162.159.137. 12 | 162.159.138. 13 | 162.159.152. 14 | 162.159.153. 15 | 162.159.200. 16 | 104.27.128. 17 | 104.27.129. 18 | 104.27.130. 19 | 104.27.131. 20 | 104.27.132. 21 | 104.27.133. 22 | 104.27.134. 23 | 104.27.135. 24 | 104.27.136. 25 | 104.27.137. 26 | 104.27.138. 27 | 104.27.139. 28 | 104.27.140. 29 | 104.27.141. 30 | 104.27.142. 31 | 104.27.143. 32 | 198.41.211. -------------------------------------------------------------------------------- /CFIP/3.1/测速资源链接.txt: -------------------------------------------------------------------------------- 1 | domain=cfip.hey.pw 2 | file=moon_81m.png 3 | 4 | domain=cf.xiu2.xyz 5 | file=Github/CloudflareSpeedTest.png 6 | 7 | domain=cfip.great-fire-wall.cn 8 | file=cache.jpg 9 | -------------------------------------------------------------------------------- /CFIP/3.2/CloudflareST.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.2/CloudflareST.exe -------------------------------------------------------------------------------- /CFIP/3.2/cfipreview.txt: -------------------------------------------------------------------------------- 1 | 172.67.64.0/21 联通目前被墙 2 | 172.66.40.0/21 综合不错 3 | 203.30.188.0/22 综合不错 4 | 203.30.188.0/22 部分不稳定 5 | 188.114.96.0/22 联通目前被墙 6 | 172.66.40.0/21 移动不稳定 -------------------------------------------------------------------------------- /CFIP/3.2/cfst_3proxy.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.2/cfst_3proxy.bat -------------------------------------------------------------------------------- /CFIP/3.2/cfst_hosts.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.2/cfst_hosts.bat -------------------------------------------------------------------------------- /CFIP/3.2/ip - 副本.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/17 15 | 198.41.128.0/17 16 | 162.158.0.0/15 17 | 104.16.0.0/13 18 | 104.24.0.0/14 19 | 172.64.0.0/17 20 | 198.41.128.0/17 21 | 162.158.0.0/15 22 | 104.16.0.0/13 23 | 104.24.0.0/14 24 | 172.64.0.0/17 25 | 172.64.128.0/18 26 | 172.64.192.0/19 27 | 172.64.224.0/22 28 | 172.64.229.0/24 29 | 172.64.230.0/23 30 | 172.64.232.0/21 31 | 172.64.240.0/21 32 | 172.64.248.0/21 33 | 172.65.0.0/16 34 | 172.66.0.0/16 35 | 172.67.0.0/16 36 | 131.0.72.0/22 37 | 172.65.0.0/16 38 | 172.66.0.0/16 39 | 172.67.0.0/16 40 | 131.0.72.0/22 41 | 172.65.0.0/16 42 | 172.66.0.0/16 43 | 172.67.0.0/16 44 | 131.0.72.0/22 45 | 172.65.0.0/16 46 | 172.66.0.0/16 47 | 172.67.0.0/16 48 | 131.0.72.0/22 -------------------------------------------------------------------------------- /CFIP/3.2/ip.txt: -------------------------------------------------------------------------------- 1 | 203.30.188.1/22 2 | 203.30.188.1/22 3 | 203.30.188.1/22 4 | 203.30.188.1/22 5 | 172.66.40.0/21 6 | 172.66.40.0/21 7 | 172.66.40.0/21 8 | 172.66.40.0/21 -------------------------------------------------------------------------------- /CFIP/3.2/ipcfs.txt: -------------------------------------------------------------------------------- 1 | 172.66.40.0/21 2 | 203.30.188.0/22 3 | -------------------------------------------------------------------------------- /CFIP/3.2/ipv4-cf.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/17 15 | 172.64.128.0/18 16 | 172.64.192.0/19 17 | 172.64.224.0/22 18 | 172.64.229.0/24 19 | 172.64.230.0/23 20 | 172.64.232.0/21 21 | 172.64.240.0/21 22 | 172.64.248.0/21 23 | 172.65.0.0/16 24 | 172.66.0.0/16 25 | 172.67.0.0/16 26 | 131.0.72.0/22 27 | 203.30.188.1/22 -------------------------------------------------------------------------------- /CFIP/3.2/ipv6-cf.txt: -------------------------------------------------------------------------------- 1 | 2606:4700::/32 2 | 2606:4700::6810:0/112 3 | 2606:4700:10::/96 4 | 2606:4700:10::6814:0/112 5 | 2606:4700:10::ac43:0/112 6 | 2606:4700:130::/48 7 | 2606:4700:130:436c::/64 8 | 2606:4700:130:436c:6f75::/80 9 | 2606:4700:130:436c:6f75:6466::/96 10 | 2606:4700:130:436c:6f75:6466:6c61:0/112 11 | 2606:4700:3000::/48 12 | 2606:4700:3001::/48 13 | 2606:4700:3002::/48 14 | 2606:4700:3003::/48 15 | 2606:4700:3004::/48 16 | 2606:4700:3005::/48 17 | 2606:4700:3006::/48 18 | 2606:4700:3007::/48 19 | 2606:4700:3008::/48 20 | 2606:4700:3009::/48 21 | 2606:4700:3010::/48 22 | 2606:4700:3011::/48 23 | 2606:4700:3012::/48 24 | 2606:4700:3013::/48 25 | 2606:4700:3014::/48 26 | 2606:4700:3015::/48 27 | 2606:4700:3016::/48 28 | 2606:4700:3017::/48 29 | 2606:4700:3018::/48 30 | 2606:4700:3019::/48 31 | 2606:4700:3020::/48 32 | 2606:4700:3021::/48 33 | 2606:4700:3022::/48 34 | 2606:4700:3023::/48 35 | 2606:4700:3024::/48 36 | 2606:4700:3025::/48 37 | 2606:4700:3026::/48 38 | 2606:4700:3027::/48 39 | 2606:4700:3028::/48 40 | 2606:4700:3029::/48 41 | 2606:4700:3030::/48 42 | 2606:4700:3031::/48 43 | 2606:4700:3032::/48 44 | 2606:4700:3033::/48 45 | 2606:4700:3034::/48 46 | 2606:4700:3035::/48 47 | 2606:4700:3036::/48 48 | 2606:4700:3037::/48 49 | 2606:4700:3038::/48 50 | 2606:4700:3039::/48 51 | 2606:4700:3000::/96 52 | 2606:4700:3001::/96 53 | 2606:4700:3002::/96 54 | 2606:4700:3003::/96 55 | 2606:4700:3004::/96 56 | 2606:4700:3005::/96 57 | 2606:4700:3006::/96 58 | 2606:4700:3007::/96 59 | 2606:4700:3008::/96 60 | 2606:4700:3009::/96 61 | 2606:4700:3010::/96 62 | 2606:4700:3011::/96 63 | 2606:4700:3012::/96 64 | 2606:4700:3013::/96 65 | 2606:4700:3014::/96 66 | 2606:4700:3015::/96 67 | 2606:4700:3016::/96 68 | 2606:4700:3017::/96 69 | 2606:4700:3018::/96 70 | 2606:4700:3019::/96 71 | 2606:4700:3020::/96 72 | 2606:4700:3021::/96 73 | 2606:4700:3022::/96 74 | 2606:4700:3023::/96 75 | 2606:4700:3024::/96 76 | 2606:4700:3025::/96 77 | 2606:4700:3026::/96 78 | 2606:4700:3027::/96 79 | 2606:4700:3028::/96 80 | 2606:4700:3029::/96 81 | 2606:4700:3030::/96 82 | 2606:4700:3031::/96 83 | 2606:4700:3032::/96 84 | 2606:4700:3033::/96 85 | 2606:4700:3034::/96 86 | 2606:4700:3035::/96 87 | 2606:4700:3036::/96 88 | 2606:4700:3037::/96 89 | 2606:4700:3038::/96 90 | 2606:4700:3039::/96 -------------------------------------------------------------------------------- /CFIP/3.2/result.csv: -------------------------------------------------------------------------------- 1 | IP 地址,已发送,已接收,丢包率,平均延迟,下载速度 (MB/s) 2 | 203.30.188.70,4,4,0.00,145.57,23.62 3 | 172.66.45.185,4,4,0.00,153.85,15.86 4 | 203.30.190.210,4,4,0.00,163.12,10.69 5 | 172.66.43.120,4,4,0.00,166.71,10.03 6 | 203.30.191.182,4,4,0.00,165.82,9.75 7 | 203.30.191.140,4,4,0.00,161.50,5.95 8 | 172.66.40.62,4,4,0.00,165.93,5.32 9 | 203.30.189.76,4,4,0.00,166.20,4.98 10 | 172.66.45.34,4,4,0.00,162.85,4.33 11 | 172.66.46.46,4,4,0.00,162.49,3.98 12 | -------------------------------------------------------------------------------- /CFIP/3.2/使用+错误+反馈说明.txt: -------------------------------------------------------------------------------- 1 | 详细使用说明请看: 2 | 3 | - Github:https://github.com/XIU2/CloudflareSpeedTest 4 | - 知乎:https://zhuanlan.zhihu.com/p/207315892 5 | 6 | 可以去这两个网站向我 [反馈问题、提供建议、询问使用方法] ! 7 | =================================== 8 | # 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。 9 | # 如果延迟很低 (几十ms),且你也不是移动 (香港直连),那么你就是遇到假墙 IP 了,记得加上 -tll 参数。 10 | # 如果在路由器上运行(如 OpenWrt),请先关闭路由器内的代理,否则测速结果会不准确且无法使用。 11 | =================================== 12 | # 因为默认下载测速地址的文件大小只有 300MB,如果你速度太快的话,测速结果可能会低于实际速度。 13 | # 官方 500MB (可自定义大小) 下载测速地址:https://speed.cloudflare.com/__down?bytes=500000000 14 | # 因为每次测速都是在每个 IP 段中随机 IP,所以每次的测速结果都不可能相同,这是正常的! 15 | =================================== 16 | # 脚本【cfst_host.bat】的作用是 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。 17 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273768 18 | =================================== 19 | # 脚本【cfst_3proxy.bat】的作用为 CloudflareST 测速后获取最快 IP 并替换 3Proxy 配置文件中的 Cloudflare CDN IP。 20 | # 可以把所有 Cloudflare CDN IP 都重定向至最快 IP,实现一劳永逸的加速所有使用 Cloudflare CDN 的网站(不需要一个个添加域名到 Hosts 了)。 21 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/discussions/71 22 | =================================== 23 | ip.txt 为 IPv4 数据文件(移除了回源 IP、被真墙的 IP 等) 24 | ipv6.txt 为 IPv6 数据文件 25 | 26 | 可以使用 -f xx.txt 参数来指定不同的 IP 数据文件,如: 27 | CloudflareST.exe -f ip1.txt 28 | 29 | 注意:如果要指定 -f ipv6.txt ,则需要同时加上 -ipv6 参数,才会正确测速 IPv6: 30 | CloudflareST.exe -f ipv6.txt -ipv6 31 | 32 | G:\Github\CFIP\CFIP\3.2\CloudflareST.exe -url https://cfcf.skyit.uk/cache.jpg -f G:\Github\CFIP\CFIP\3.2\ip.txt -------------------------------------------------------------------------------- /CFIP/3.3/CF优选IP-EU.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/CF优选IP-EU.bat -------------------------------------------------------------------------------- /CFIP/3.3/CF优选IP-横向优化算法.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/CF优选IP-横向优化算法.bat -------------------------------------------------------------------------------- /CFIP/3.3/CF优选IP.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/CF优选IP.bat -------------------------------------------------------------------------------- /CFIP/3.3/CR2CRLF.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/CR2CRLF.exe -------------------------------------------------------------------------------- /CFIP/3.3/Colo提取.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/Colo提取.bat -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/CloudflareST.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/WINv2.0.2/CloudflareST.exe -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/cfipreview.txt: -------------------------------------------------------------------------------- 1 | 172.67.64.0/21 联通目前被墙 2 | 172.66.40.0/21 综合不错 3 | 203.30.188.0/22 综合不错 4 | 203.30.188.0/22 部分不稳定 5 | 188.114.96.0/22 联通目前被墙 6 | 172.66.40.0/21 移动不稳定 -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/cfst_3proxy.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/WINv2.0.2/cfst_3proxy.bat -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/cfst_hosts.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/WINv2.0.2/cfst_hosts.bat -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/ip - 副本.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/17 15 | 198.41.128.0/17 16 | 162.158.0.0/15 17 | 104.16.0.0/13 18 | 104.24.0.0/14 19 | 172.64.0.0/17 20 | 198.41.128.0/17 21 | 162.158.0.0/15 22 | 104.16.0.0/13 23 | 104.24.0.0/14 24 | 172.64.0.0/17 25 | 172.64.128.0/18 26 | 172.64.192.0/19 27 | 172.64.224.0/22 28 | 172.64.229.0/24 29 | 172.64.230.0/23 30 | 172.64.232.0/21 31 | 172.64.240.0/21 32 | 172.64.248.0/21 33 | 172.65.0.0/16 34 | 172.66.0.0/16 35 | 172.67.0.0/16 36 | 131.0.72.0/22 37 | 172.65.0.0/16 38 | 172.66.0.0/16 39 | 172.67.0.0/16 40 | 131.0.72.0/22 41 | 172.65.0.0/16 42 | 172.66.0.0/16 43 | 172.67.0.0/16 44 | 131.0.72.0/22 45 | 172.65.0.0/16 46 | 172.66.0.0/16 47 | 172.67.0.0/16 48 | 131.0.72.0/22 -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/ip.txt: -------------------------------------------------------------------------------- 1 | 203.30.188.1/22 2 | 203.30.188.1/22 3 | 203.30.188.1/22 4 | 203.30.188.1/22 5 | 172.66.40.0/21 6 | 172.66.40.0/21 7 | 172.66.40.0/21 8 | 172.66.40.0/21 -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/ipcfs.txt: -------------------------------------------------------------------------------- 1 | 172.66.40.0/21 2 | 203.30.188.0/22 3 | -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/ipv4-cf.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/17 15 | 172.64.128.0/18 16 | 172.64.192.0/19 17 | 172.64.224.0/22 18 | 172.64.229.0/24 19 | 172.64.230.0/23 20 | 172.64.232.0/21 21 | 172.64.240.0/21 22 | 172.64.248.0/21 23 | 172.65.0.0/16 24 | 172.66.0.0/16 25 | 172.67.0.0/16 26 | 131.0.72.0/22 27 | 203.30.188.1/22 -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/ipv6-cf.txt: -------------------------------------------------------------------------------- 1 | 2606:4700::/32 2 | 2606:4700::6810:0/112 3 | 2606:4700:10::/96 4 | 2606:4700:10::6814:0/112 5 | 2606:4700:10::ac43:0/112 6 | 2606:4700:130::/48 7 | 2606:4700:130:436c::/64 8 | 2606:4700:130:436c:6f75::/80 9 | 2606:4700:130:436c:6f75:6466::/96 10 | 2606:4700:130:436c:6f75:6466:6c61:0/112 11 | 2606:4700:3000::/48 12 | 2606:4700:3001::/48 13 | 2606:4700:3002::/48 14 | 2606:4700:3003::/48 15 | 2606:4700:3004::/48 16 | 2606:4700:3005::/48 17 | 2606:4700:3006::/48 18 | 2606:4700:3007::/48 19 | 2606:4700:3008::/48 20 | 2606:4700:3009::/48 21 | 2606:4700:3010::/48 22 | 2606:4700:3011::/48 23 | 2606:4700:3012::/48 24 | 2606:4700:3013::/48 25 | 2606:4700:3014::/48 26 | 2606:4700:3015::/48 27 | 2606:4700:3016::/48 28 | 2606:4700:3017::/48 29 | 2606:4700:3018::/48 30 | 2606:4700:3019::/48 31 | 2606:4700:3020::/48 32 | 2606:4700:3021::/48 33 | 2606:4700:3022::/48 34 | 2606:4700:3023::/48 35 | 2606:4700:3024::/48 36 | 2606:4700:3025::/48 37 | 2606:4700:3026::/48 38 | 2606:4700:3027::/48 39 | 2606:4700:3028::/48 40 | 2606:4700:3029::/48 41 | 2606:4700:3030::/48 42 | 2606:4700:3031::/48 43 | 2606:4700:3032::/48 44 | 2606:4700:3033::/48 45 | 2606:4700:3034::/48 46 | 2606:4700:3035::/48 47 | 2606:4700:3036::/48 48 | 2606:4700:3037::/48 49 | 2606:4700:3038::/48 50 | 2606:4700:3039::/48 51 | 2606:4700:3000::/96 52 | 2606:4700:3001::/96 53 | 2606:4700:3002::/96 54 | 2606:4700:3003::/96 55 | 2606:4700:3004::/96 56 | 2606:4700:3005::/96 57 | 2606:4700:3006::/96 58 | 2606:4700:3007::/96 59 | 2606:4700:3008::/96 60 | 2606:4700:3009::/96 61 | 2606:4700:3010::/96 62 | 2606:4700:3011::/96 63 | 2606:4700:3012::/96 64 | 2606:4700:3013::/96 65 | 2606:4700:3014::/96 66 | 2606:4700:3015::/96 67 | 2606:4700:3016::/96 68 | 2606:4700:3017::/96 69 | 2606:4700:3018::/96 70 | 2606:4700:3019::/96 71 | 2606:4700:3020::/96 72 | 2606:4700:3021::/96 73 | 2606:4700:3022::/96 74 | 2606:4700:3023::/96 75 | 2606:4700:3024::/96 76 | 2606:4700:3025::/96 77 | 2606:4700:3026::/96 78 | 2606:4700:3027::/96 79 | 2606:4700:3028::/96 80 | 2606:4700:3029::/96 81 | 2606:4700:3030::/96 82 | 2606:4700:3031::/96 83 | 2606:4700:3032::/96 84 | 2606:4700:3033::/96 85 | 2606:4700:3034::/96 86 | 2606:4700:3035::/96 87 | 2606:4700:3036::/96 88 | 2606:4700:3037::/96 89 | 2606:4700:3038::/96 90 | 2606:4700:3039::/96 -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/ipv6.txt: -------------------------------------------------------------------------------- 1 | 2606:4700::/32 2 | 2606:4700::6810:0/112 3 | 2606:4700:10::/96 4 | 2606:4700:10::6814:0/112 5 | 2606:4700:10::ac43:0/112 6 | 2606:4700:130::/48 7 | 2606:4700:130:436c::/64 8 | 2606:4700:130:436c:6f75::/80 9 | 2606:4700:130:436c:6f75:6466::/96 10 | 2606:4700:130:436c:6f75:6466:6c61:0/112 11 | 2606:4700:3000::/48 12 | 2606:4700:3001::/48 13 | 2606:4700:3002::/48 14 | 2606:4700:3003::/48 15 | 2606:4700:3004::/48 16 | 2606:4700:3005::/48 17 | 2606:4700:3006::/48 18 | 2606:4700:3007::/48 19 | 2606:4700:3008::/48 20 | 2606:4700:3009::/48 21 | 2606:4700:3010::/48 22 | 2606:4700:3011::/48 23 | 2606:4700:3012::/48 24 | 2606:4700:3013::/48 25 | 2606:4700:3014::/48 26 | 2606:4700:3015::/48 27 | 2606:4700:3016::/48 28 | 2606:4700:3017::/48 29 | 2606:4700:3018::/48 30 | 2606:4700:3019::/48 31 | 2606:4700:3020::/48 32 | 2606:4700:3021::/48 33 | 2606:4700:3022::/48 34 | 2606:4700:3023::/48 35 | 2606:4700:3024::/48 36 | 2606:4700:3025::/48 37 | 2606:4700:3026::/48 38 | 2606:4700:3027::/48 39 | 2606:4700:3028::/48 40 | 2606:4700:3029::/48 41 | 2606:4700:3030::/48 42 | 2606:4700:3031::/48 43 | 2606:4700:3032::/48 44 | 2606:4700:3033::/48 45 | 2606:4700:3034::/48 46 | 2606:4700:3035::/48 47 | 2606:4700:3036::/48 48 | 2606:4700:3037::/48 49 | 2606:4700:3038::/48 50 | 2606:4700:3039::/48 51 | 2606:4700:3000::/96 52 | 2606:4700:3001::/96 53 | 2606:4700:3002::/96 54 | 2606:4700:3003::/96 55 | 2606:4700:3004::/96 56 | 2606:4700:3005::/96 57 | 2606:4700:3006::/96 58 | 2606:4700:3007::/96 59 | 2606:4700:3008::/96 60 | 2606:4700:3009::/96 61 | 2606:4700:3010::/96 62 | 2606:4700:3011::/96 63 | 2606:4700:3012::/96 64 | 2606:4700:3013::/96 65 | 2606:4700:3014::/96 66 | 2606:4700:3015::/96 67 | 2606:4700:3016::/96 68 | 2606:4700:3017::/96 69 | 2606:4700:3018::/96 70 | 2606:4700:3019::/96 71 | 2606:4700:3020::/96 72 | 2606:4700:3021::/96 73 | 2606:4700:3022::/96 74 | 2606:4700:3023::/96 75 | 2606:4700:3024::/96 76 | 2606:4700:3025::/96 77 | 2606:4700:3026::/96 78 | 2606:4700:3027::/96 79 | 2606:4700:3028::/96 80 | 2606:4700:3029::/96 81 | 2606:4700:3030::/96 82 | 2606:4700:3031::/96 83 | 2606:4700:3032::/96 84 | 2606:4700:3033::/96 85 | 2606:4700:3034::/96 86 | 2606:4700:3035::/96 87 | 2606:4700:3036::/96 88 | 2606:4700:3037::/96 89 | 2606:4700:3038::/96 90 | 2606:4700:3039::/96 -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/result.csv: -------------------------------------------------------------------------------- 1 | IP 地址,已发送,已接收,丢包率,平均延迟,下载速度 (MB/s) 2 | 203.30.188.70,4,4,0.00,145.57,23.62 3 | 172.66.45.185,4,4,0.00,153.85,15.86 4 | 203.30.190.210,4,4,0.00,163.12,10.69 5 | 172.66.43.120,4,4,0.00,166.71,10.03 6 | 203.30.191.182,4,4,0.00,165.82,9.75 7 | 203.30.191.140,4,4,0.00,161.50,5.95 8 | 172.66.40.62,4,4,0.00,165.93,5.32 9 | 203.30.189.76,4,4,0.00,166.20,4.98 10 | 172.66.45.34,4,4,0.00,162.85,4.33 11 | 172.66.46.46,4,4,0.00,162.49,3.98 12 | -------------------------------------------------------------------------------- /CFIP/3.3/WINv2.0.2/使用+错误+反馈说明.txt: -------------------------------------------------------------------------------- 1 | 详细使用说明请看: 2 | 3 | - Github:https://github.com/XIU2/CloudflareSpeedTest 4 | - 知乎:https://zhuanlan.zhihu.com/p/207315892 5 | 6 | 可以去这两个网站向我 [反馈问题、提供建议、询问使用方法] ! 7 | =================================== 8 | # 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。 9 | # 如果延迟很低 (几十ms),且你也不是移动 (香港直连),那么你就是遇到假墙 IP 了,记得加上 -tll 参数。 10 | # 如果在路由器上运行(如 OpenWrt),请先关闭路由器内的代理,否则测速结果会不准确且无法使用。 11 | =================================== 12 | # 因为默认下载测速地址的文件大小只有 300MB,如果你速度太快的话,测速结果可能会低于实际速度。 13 | # 官方 500MB (可自定义大小) 下载测速地址:https://speed.cloudflare.com/__down?bytes=500000000 14 | # 因为每次测速都是在每个 IP 段中随机 IP,所以每次的测速结果都不可能相同,这是正常的! 15 | =================================== 16 | # 脚本【cfst_host.bat】的作用是 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。 17 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273768 18 | =================================== 19 | # 脚本【cfst_3proxy.bat】的作用为 CloudflareST 测速后获取最快 IP 并替换 3Proxy 配置文件中的 Cloudflare CDN IP。 20 | # 可以把所有 Cloudflare CDN IP 都重定向至最快 IP,实现一劳永逸的加速所有使用 Cloudflare CDN 的网站(不需要一个个添加域名到 Hosts 了)。 21 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/discussions/71 22 | =================================== 23 | ip.txt 为 IPv4 数据文件(移除了回源 IP、被真墙的 IP 等) 24 | ipv6.txt 为 IPv6 数据文件 25 | 26 | 可以使用 -f xx.txt 参数来指定不同的 IP 数据文件,如: 27 | CloudflareST.exe -f ip1.txt 28 | 29 | 注意:如果要指定 -f ipv6.txt ,则需要同时加上 -ipv6 参数,才会正确测速 IPv6: 30 | CloudflareST.exe -f ipv6.txt -ipv6 31 | 32 | G:\Github\CFIP\CFIP\3.2\CloudflareST.exe -url https://cfcf.skyit.uk/cache.jpg -f G:\Github\CFIP\CFIP\3.2\ip.txt -------------------------------------------------------------------------------- /CFIP/3.3/fping.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/fping.exe -------------------------------------------------------------------------------- /CFIP/3.3/msys-2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/msys-2.0.dll -------------------------------------------------------------------------------- /CFIP/3.3/tempCodeRunnerFile.bat: -------------------------------------------------------------------------------- 1 | https://cfip.pages.dev -------------------------------------------------------------------------------- /CFIP/3.3/单IP测速.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/单IP测速.bat -------------------------------------------------------------------------------- /CFIP/3.3/单IP测速1.bat: -------------------------------------------------------------------------------- 1 | chcp 936 2 | @echo off 3 | cd %~dp0 4 | color A 5 | setlocal enabledelayedexpansion 6 | cls 7 | set /p a=��������ѡ IP : 8 | curl --ipv4 --resolve cfip.pages.dev:443:%a% https://cfip.pages.dev -o temp.txt -# 9 | for /f "tokens=2 delims==" %%a in ('findstr /C:"domain" temp.txt') do ( 10 | set domain=%%a 11 | ) 12 | for /f "tokens=2 delims==" %%a in ('findstr /C:"file" temp.txt') do ( 13 | set file=%%a 14 | ) 15 | del temp.txt 16 | title ���ڲ��� %a% 17 | curl --resolve !domain!:443:%a% https://!domain!/!file! -o nul 18 | pause 19 | -------------------------------------------------------------------------------- /CFIP/3.3/单IP测速2.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/单IP测速2.bat -------------------------------------------------------------------------------- /CFIP/3.3/单IP测速3.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFIP/3.3/单IP测速3.bat -------------------------------------------------------------------------------- /CFIP/3.3/日志.txt: -------------------------------------------------------------------------------- 1 | 【欧洲负载均衡】 2 | 162.159.128. 3 | 162.159.129. 4 | 162.159.130. 5 | 162.159.131. 6 | 162.159.132. 7 | 162.159.133. 8 | 162.159.134. 9 | 162.159.135. 10 | 162.159.136. 11 | 162.159.137. 12 | 162.159.138. 13 | 162.159.152. 14 | 162.159.153. 15 | 162.159.200. 16 | 104.27.128. 17 | 104.27.129. 18 | 104.27.130. 19 | 104.27.131. 20 | 104.27.132. 21 | 104.27.133. 22 | 104.27.134. 23 | 104.27.135. 24 | 104.27.136. 25 | 104.27.137. 26 | 104.27.138. 27 | 104.27.139. 28 | 104.27.140. 29 | 104.27.141. 30 | 104.27.142. 31 | 104.27.143. 32 | 198.41.211. -------------------------------------------------------------------------------- /CFIP/3.3/测速资源链接.txt: -------------------------------------------------------------------------------- 1 | domain=cfip.hey.pw 2 | file=moon_81m.png 3 | 4 | domain=cf.xiu2.xyz 5 | file=Github/CloudflareSpeedTest.png 6 | 7 | domain=cfip.great-fire-wall.cn 8 | file=cache.jpg 9 | -------------------------------------------------------------------------------- /CFST/LINUX/CloudflareST: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/LINUX/CloudflareST -------------------------------------------------------------------------------- /CFST/LINUX/cfst_hosts.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 3 | export PATH 4 | # -------------------------------------------------------------- 5 | # 项目: CloudflareSpeedTest 自动更新 Hosts 6 | # 版本: 1.0.0 7 | # 作者: XIU2 8 | # 项目: https://github.com/XIU2/CloudflareSpeedTest 9 | # -------------------------------------------------------------- 10 | 11 | _CHECK() { 12 | while true 13 | do 14 | if [[ ! -e "nowip.txt" ]]; then 15 | echo -e "该脚本的作用为 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。\n使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273848" 16 | echo -e "第一次使用,请先将 Hosts 中所有 Cloudflare CDN IP 统一改为一个 IP。" 17 | read -e -p "输入该 Cloudflare CDN IP 并回车(后续不再需要该步骤):" NOWIP 18 | if [[ ! -z "${NOWIP}" ]]; then 19 | echo ${NOWIP} > nowip.txt 20 | break 21 | else 22 | echo "该 IP 不能是空!" 23 | fi 24 | else 25 | break 26 | fi 27 | done 28 | } 29 | 30 | _UPDATE() { 31 | echo -e "开始测速..." 32 | NOWIP=$(head -1 nowip.txt) 33 | ./CloudflareST 34 | BESTIP=$(sed -n "2,1p" result.csv | awk -F, '{print $1}') 35 | echo ${BESTIP} > nowip.txt 36 | echo -e "\n旧 IP 为 ${NOWIP}\n新 IP 为 ${BESTIP}\n" 37 | 38 | echo "开始备份 Hosts 文件(hosts_backup)..." 39 | \cp -f /etc/hosts /etc/hosts_backup 40 | 41 | echo -e "开始替换..." 42 | sed -i 's/'${NOWIP}'/'${BESTIP}'/g' /etc/hosts 43 | echo -e "完成..." 44 | } 45 | 46 | _CHECK 47 | _UPDATE -------------------------------------------------------------------------------- /CFST/LINUX/ip.txt: -------------------------------------------------------------------------------- 1 | 1.1.1.0/24 2 | 1.0.0.0/24 3 | 1.1.1.1/32 4 | 1.0.0.1/32 5 | 173.245.49.0/24 6 | 103.21.244.0/24 7 | 141.101.64.0/18 8 | 190.93.240.0/20 9 | 198.41.128.0/17 10 | 162.159.0.0/16 11 | 104.16.0.0/12 12 | 172.64.0.0/17 13 | 172.64.128.0/18 14 | 172.64.192.0/19 15 | 172.64.224.0/22 16 | 172.64.229.0/24 17 | 172.64.230.0/23 18 | 172.64.232.0/21 19 | 172.64.240.0/21 20 | 172.64.248.0/21 21 | 172.65.0.0/16 22 | 172.67.0.0/16 -------------------------------------------------------------------------------- /CFST/LINUX/ipv6.txt: -------------------------------------------------------------------------------- 1 | 2606:4700:10::6814:0/112 2 | 2606:4700:10::ac43:0/112 3 | 2606:4700:3000::/48 4 | 2606:4700:3001::/48 5 | 2606:4700:3002::/48 6 | 2606:4700:3003::/48 7 | 2606:4700:3004::/48 8 | 2606:4700:3005::/48 9 | 2606:4700:3006::/48 10 | 2606:4700:3007::/48 11 | 2606:4700:3008::/48 12 | 2606:4700:3009::/48 13 | 2606:4700:3010::/48 14 | 2606:4700:3011::/48 15 | 2606:4700:3012::/48 16 | 2606:4700:3013::/48 17 | 2606:4700:3014::/48 18 | 2606:4700:3015::/48 19 | 2606:4700:3016::/48 20 | 2606:4700:3017::/48 21 | 2606:4700:3018::/48 22 | 2606:4700:3019::/48 23 | 2606:4700:3020::/48 24 | 2606:4700:3021::/48 25 | 2606:4700:3022::/48 26 | 2606:4700:3023::/48 27 | 2606:4700:3024::/48 28 | 2606:4700:3025::/48 29 | 2606:4700:3026::/48 30 | 2606:4700:3027::/48 31 | 2606:4700:3028::/48 32 | 2606:4700:3029::/48 33 | 2606:4700:3030::/48 34 | 2606:4700:3031::/48 35 | 2606:4700:3032::/48 36 | 2606:4700:3033::/48 37 | 2606:4700:3034::/48 38 | 2606:4700:3035::/48 39 | 2606:4700:3036::/48 40 | 2606:4700:3037::/48 41 | 2606:4700:3038::/48 42 | 2606:4700:3039::/48 -------------------------------------------------------------------------------- /CFST/LINUX/使用+错误+反馈说明.txt: -------------------------------------------------------------------------------- 1 | 详细使用说明请看: 2 | 3 | - Github:https://github.com/XIU2/CloudflareSpeedTest 4 | - 知乎:https://zhuanlan.zhihu.com/p/207315892 5 | 6 | 可以去这两个网站向我 [反馈问题、提供建议、询问使用方法] ! 7 | 8 | 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。 9 | 如果在路由器上运行(如 OpenWrt),请先关闭路由器内的代理,否则测速结果会不准确且无法使用。 10 | 11 | 脚本【cfst_host.sh】的作用是 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。 12 | 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273848 13 | 14 | 在对应路径 15 | ./CloudflareST -ipv6 -f ipv6.txt -------------------------------------------------------------------------------- /CFST/WIN/CloudflareST.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/WIN/CloudflareST.exe -------------------------------------------------------------------------------- /CFST/WIN/cfst_3proxy.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/WIN/cfst_3proxy.bat -------------------------------------------------------------------------------- /CFST/WIN/cfst_hosts.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/WIN/cfst_hosts.bat -------------------------------------------------------------------------------- /CFST/WIN/ip.txt: -------------------------------------------------------------------------------- 1 | 1.1.1.0/24 2 | 1.0.0.0/24 3 | 1.1.1.1/32 4 | 1.0.0.1/32 5 | 173.245.49.0/24 6 | 103.21.244.0/24 7 | 141.101.64.0/18 8 | 190.93.240.0/20 9 | 198.41.128.0/17 10 | 162.159.0.0/16 11 | 104.16.0.0/12 12 | 172.64.0.0/17 13 | 172.64.128.0/18 14 | 172.64.192.0/19 15 | 172.64.224.0/22 16 | 172.64.229.0/24 17 | 172.64.230.0/23 18 | 172.64.232.0/21 19 | 172.64.240.0/21 20 | 172.64.248.0/21 21 | 172.65.0.0/16 22 | 172.67.0.0/16 -------------------------------------------------------------------------------- /CFST/WIN/ipv6.txt: -------------------------------------------------------------------------------- 1 | 2606:4700:10::6814:0/112 2 | 2606:4700:10::ac43:0/112 3 | 2606:4700:3000::/48 4 | 2606:4700:3001::/48 5 | 2606:4700:3002::/48 6 | 2606:4700:3003::/48 7 | 2606:4700:3004::/48 8 | 2606:4700:3005::/48 9 | 2606:4700:3006::/48 10 | 2606:4700:3007::/48 11 | 2606:4700:3008::/48 12 | 2606:4700:3009::/48 13 | 2606:4700:3010::/48 14 | 2606:4700:3011::/48 15 | 2606:4700:3012::/48 16 | 2606:4700:3013::/48 17 | 2606:4700:3014::/48 18 | 2606:4700:3015::/48 19 | 2606:4700:3016::/48 20 | 2606:4700:3017::/48 21 | 2606:4700:3018::/48 22 | 2606:4700:3019::/48 23 | 2606:4700:3020::/48 24 | 2606:4700:3021::/48 25 | 2606:4700:3022::/48 26 | 2606:4700:3023::/48 27 | 2606:4700:3024::/48 28 | 2606:4700:3025::/48 29 | 2606:4700:3026::/48 30 | 2606:4700:3027::/48 31 | 2606:4700:3028::/48 32 | 2606:4700:3029::/48 33 | 2606:4700:3030::/48 34 | 2606:4700:3031::/48 35 | 2606:4700:3032::/48 36 | 2606:4700:3033::/48 37 | 2606:4700:3034::/48 38 | 2606:4700:3035::/48 39 | 2606:4700:3036::/48 40 | 2606:4700:3037::/48 41 | 2606:4700:3038::/48 42 | 2606:4700:3039::/48 -------------------------------------------------------------------------------- /CFST/WIN/result.csv: -------------------------------------------------------------------------------- 1 | IP 地址,已发送,已接收,丢包率,平均延迟,下载速度 (MB/s) 2 | 104.16.74.45,4,4,0.00,175.71,20.10 3 | 104.16.168.88,4,4,0.00,171.15,19.79 4 | 104.22.0.54,4,4,0.00,176.02,19.15 5 | 104.17.84.241,4,4,0.00,176.13,19.10 6 | 104.17.141.206,4,4,0.00,176.15,18.97 7 | 104.17.136.31,4,4,0.00,174.86,18.83 8 | 104.17.138.93,4,4,0.00,173.38,18.80 9 | 104.21.209.35,4,4,0.00,174.08,18.55 10 | 104.17.76.85,4,4,0.00,173.30,18.19 11 | 104.16.164.248,4,4,0.00,175.42,18.12 12 | 173.245.49.155,4,4,0.00,173.87,17.94 13 | 104.16.18.89,4,4,0.00,175.31,17.91 14 | 104.16.114.210,4,4,0.00,175.80,15.07 15 | 162.159.194.249,4,4,0.00,167.07,15.02 16 | 104.18.25.154,4,4,0.00,175.03,13.70 17 | 104.18.38.65,4,4,0.00,169.99,11.31 18 | 104.17.74.195,4,4,0.00,174.45,10.72 19 | 104.17.62.130,4,4,0.00,173.59,8.32 20 | 104.17.146.125,4,4,0.00,175.76,3.00 21 | 1.1.1.149,4,4,0.00,174.25,0.00 22 | -------------------------------------------------------------------------------- /CFST/WIN/使用+错误+反馈说明.txt: -------------------------------------------------------------------------------- 1 | 详细使用说明请看: 2 | 3 | - Github:https://github.com/XIU2/CloudflareSpeedTest 4 | - 知乎:https://zhuanlan.zhihu.com/p/207315892 5 | 6 | 可以去这两个网站向我 [反馈问题、提供建议、询问使用方法] ! 7 | 8 | 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。 9 | 如果在路由器上运行(如 OpenWrt),请先关闭路由器内的代理,否则测速结果会不准确且无法使用。 10 | 11 | IPV6测试 12 | 在对应路径 13 | CloudflareST -ipv6 -f ipv6.txt 14 | 15 | 16 | 脚本【cfst_host.bat】的作用是 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。 17 | 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273768 18 | 19 | 20 | 脚本【cfst_3proxy.bat】的作用为 CloudflareST 测速后获取最快 IP 并替换 3Proxy 配置文件中的 Cloudflare CDN IP。 21 | 可以把所有 Cloudflare CDN IP 都重定向至最快 IP,实现一劳永逸的加速所有使用 Cloudflare CDN 的网站(不需要一个个添加域名到 Hosts 了)。 22 | 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/discussions/71 -------------------------------------------------------------------------------- /CFST/WINv2.0.2/CloudflareST.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/WINv2.0.2/CloudflareST.exe -------------------------------------------------------------------------------- /CFST/WINv2.0.2/cfst_3proxy.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/WINv2.0.2/cfst_3proxy.bat -------------------------------------------------------------------------------- /CFST/WINv2.0.2/cfst_hosts.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlueSkyXN/CFIP/2b3c1903b0dc0755c0a4fdea220e3739cecc9417/CFST/WINv2.0.2/cfst_hosts.bat -------------------------------------------------------------------------------- /CFST/WINv2.0.2/ip.txt: -------------------------------------------------------------------------------- 1 | 173.245.48.0/20 2 | 103.21.244.0/22 3 | 103.22.200.0/22 4 | 103.31.4.0/22 5 | 141.101.64.0/18 6 | 108.162.192.0/18 7 | 190.93.240.0/20 8 | 188.114.96.0/20 9 | 197.234.240.0/22 10 | 198.41.128.0/17 11 | 162.158.0.0/15 12 | 104.16.0.0/13 13 | 104.24.0.0/14 14 | 172.64.0.0/17 15 | 172.64.128.0/18 16 | 172.64.192.0/19 17 | 172.64.224.0/22 18 | 172.64.229.0/24 19 | 172.64.230.0/23 20 | 172.64.232.0/21 21 | 172.64.240.0/21 22 | 172.64.248.0/21 23 | 172.65.0.0/16 24 | 172.66.0.0/16 25 | 172.67.0.0/16 26 | 131.0.72.0/22 -------------------------------------------------------------------------------- /CFST/WINv2.0.2/ipv6.txt: -------------------------------------------------------------------------------- 1 | 2606:4700::/32 2 | 2606:4700::6810:0/112 3 | 2606:4700:10::/96 4 | 2606:4700:10::6814:0/112 5 | 2606:4700:10::ac43:0/112 6 | 2606:4700:130::/48 7 | 2606:4700:130:436c::/64 8 | 2606:4700:130:436c:6f75::/80 9 | 2606:4700:130:436c:6f75:6466::/96 10 | 2606:4700:130:436c:6f75:6466:6c61:0/112 11 | 2606:4700:3000::/48 12 | 2606:4700:3001::/48 13 | 2606:4700:3002::/48 14 | 2606:4700:3003::/48 15 | 2606:4700:3004::/48 16 | 2606:4700:3005::/48 17 | 2606:4700:3006::/48 18 | 2606:4700:3007::/48 19 | 2606:4700:3008::/48 20 | 2606:4700:3009::/48 21 | 2606:4700:3010::/48 22 | 2606:4700:3011::/48 23 | 2606:4700:3012::/48 24 | 2606:4700:3013::/48 25 | 2606:4700:3014::/48 26 | 2606:4700:3015::/48 27 | 2606:4700:3016::/48 28 | 2606:4700:3017::/48 29 | 2606:4700:3018::/48 30 | 2606:4700:3019::/48 31 | 2606:4700:3020::/48 32 | 2606:4700:3021::/48 33 | 2606:4700:3022::/48 34 | 2606:4700:3023::/48 35 | 2606:4700:3024::/48 36 | 2606:4700:3025::/48 37 | 2606:4700:3026::/48 38 | 2606:4700:3027::/48 39 | 2606:4700:3028::/48 40 | 2606:4700:3029::/48 41 | 2606:4700:3030::/48 42 | 2606:4700:3031::/48 43 | 2606:4700:3032::/48 44 | 2606:4700:3033::/48 45 | 2606:4700:3034::/48 46 | 2606:4700:3035::/48 47 | 2606:4700:3036::/48 48 | 2606:4700:3037::/48 49 | 2606:4700:3038::/48 50 | 2606:4700:3039::/48 51 | 2606:4700:3000::/96 52 | 2606:4700:3001::/96 53 | 2606:4700:3002::/96 54 | 2606:4700:3003::/96 55 | 2606:4700:3004::/96 56 | 2606:4700:3005::/96 57 | 2606:4700:3006::/96 58 | 2606:4700:3007::/96 59 | 2606:4700:3008::/96 60 | 2606:4700:3009::/96 61 | 2606:4700:3010::/96 62 | 2606:4700:3011::/96 63 | 2606:4700:3012::/96 64 | 2606:4700:3013::/96 65 | 2606:4700:3014::/96 66 | 2606:4700:3015::/96 67 | 2606:4700:3016::/96 68 | 2606:4700:3017::/96 69 | 2606:4700:3018::/96 70 | 2606:4700:3019::/96 71 | 2606:4700:3020::/96 72 | 2606:4700:3021::/96 73 | 2606:4700:3022::/96 74 | 2606:4700:3023::/96 75 | 2606:4700:3024::/96 76 | 2606:4700:3025::/96 77 | 2606:4700:3026::/96 78 | 2606:4700:3027::/96 79 | 2606:4700:3028::/96 80 | 2606:4700:3029::/96 81 | 2606:4700:3030::/96 82 | 2606:4700:3031::/96 83 | 2606:4700:3032::/96 84 | 2606:4700:3033::/96 85 | 2606:4700:3034::/96 86 | 2606:4700:3035::/96 87 | 2606:4700:3036::/96 88 | 2606:4700:3037::/96 89 | 2606:4700:3038::/96 90 | 2606:4700:3039::/96 -------------------------------------------------------------------------------- /CFST/WINv2.0.2/result.csv: -------------------------------------------------------------------------------- 1 | IP 地址,已发送,已接收,丢包率,平均延迟,下载速度 (MB/s) 2 | 104.18.75.249,4,4,0.00,156.55,0.00 3 | 162.159.226.33,4,4,0.00,157.54,0.00 4 | 104.19.228.26,4,4,0.00,157.83,0.00 5 | 104.19.37.188,4,4,0.00,158.69,0.00 6 | 104.16.110.158,4,4,0.00,158.95,0.00 7 | 104.20.190.249,4,4,0.00,159.54,0.00 8 | 104.20.55.210,4,4,0.00,159.56,0.00 9 | 104.16.105.131,4,4,0.00,159.64,0.00 10 | 104.16.123.79,4,4,0.00,160.15,0.00 11 | 104.16.8.95,4,4,0.00,160.30,0.00 12 | -------------------------------------------------------------------------------- /CFST/WINv2.0.2/使用+错误+反馈说明.txt: -------------------------------------------------------------------------------- 1 | 详细使用说明请看: 2 | 3 | - Github:https://github.com/XIU2/CloudflareSpeedTest 4 | - 知乎:https://zhuanlan.zhihu.com/p/207315892 5 | 6 | 可以去这两个网站向我 [反馈问题、提供建议、询问使用方法] ! 7 | =================================== 8 | # 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。 9 | # 如果延迟很低 (几十ms),且你也不是移动 (香港直连),那么你就是遇到假墙 IP 了,记得加上 -tll 参数。 10 | # 如果在路由器上运行(如 OpenWrt),请先关闭路由器内的代理,否则测速结果会不准确且无法使用。 11 | =================================== 12 | # 因为默认下载测速地址的文件大小只有 300MB,如果你速度太快的话,测速结果可能会低于实际速度。 13 | # 官方 500MB (可自定义大小) 下载测速地址:https://speed.cloudflare.com/__down?bytes=500000000 14 | # 因为每次测速都是在每个 IP 段中随机 IP,所以每次的测速结果都不可能相同,这是正常的! 15 | =================================== 16 | # 脚本【cfst_host.bat】的作用是 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。 17 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273768 18 | =================================== 19 | # 脚本【cfst_3proxy.bat】的作用为 CloudflareST 测速后获取最快 IP 并替换 3Proxy 配置文件中的 Cloudflare CDN IP。 20 | # 可以把所有 Cloudflare CDN IP 都重定向至最快 IP,实现一劳永逸的加速所有使用 Cloudflare CDN 的网站(不需要一个个添加域名到 Hosts 了)。 21 | # 使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/discussions/71 22 | =================================== 23 | ip.txt 为 IPv4 数据文件(移除了回源 IP、被真墙的 IP 等) 24 | ipv6.txt 为 IPv6 数据文件 25 | 26 | 可以使用 -f xx.txt 参数来指定不同的 IP 数据文件,如: 27 | CloudflareST.exe -f ip1.txt 28 | 29 | 注意:如果要指定 -f ipv6.txt ,则需要同时加上 -ipv6 参数,才会正确测速 IPv6: 30 | CloudflareST.exe -f ipv6.txt -ipv6 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CFIP 2 | 3 | 查找适合自己当前网络环境的优选Cloudflare Anycast IP 4 | 5 | 关注频道获取最新咨询:https://t.me/blueskyxnblog 6 | 7 | # 推荐使用 8 | 没空折腾,用其他人的吧 9 | 10 | https://github.com/badafans/better-cloudflare-ip 11 | 12 | https://github.com/XIU2/CloudflareSpeedTest 13 | 14 | 15 | 16 | ## 魔改日志 17 | 18 | 20210223,V2.1,在Win版本上,新增日本专用测速BAT和日本专用IP数据文件,然后加了个备份,顺便把日本IP加到原数据文件中 https://www.blueskyxn.com/202102/4205.html 19 | 20 | 20210224, V2.2, 在Win版本上,替换原先的测速资源(Workers->pages) https://www.blueskyxn.com/202102/4217.html [请下载完整内容,否则会提示更新] 21 | 22 | 20210310, V2.3, 移除更新提示,优化了Data.txt和DataJP.txt获取,完善备份,移除没准备开发的版本,需要注意原作者新版本和我基于旧版本二开的有较大差异,随便用哪个,目前测速图还没挂,等挂了再修 23 | 24 | 20210311, V2.4, 测速图挂了,已经修复 25 | 26 | 20210313,V2.5,调整了日本IP算法参数,另外新增横向搜索优化测速脚本【单批次时长变长,但是更容易筛选出高速IP】 27 | 28 | 20210315,V2.6,增加CT-EU专享测速文件,移除已死的日本CF。注意,欧洲网速拉跨,只能当玩具,而且4地负载均衡【德国2,荷兰1,英国1】 29 | 30 | 31 | ## 原作better-cloudflare-ip的相关介绍 32 | 33 | https://github.com/badafans/better-cloudflare-ip/blob/master/README.md 34 | --------------------------------------------------------------------------------