Cloudflare 优选 IP,科学上网

1. 指定 v2ray 中的 IP

在 v2rayN 软件,地址 字段中,填写指定 CloudFlare 的 IP。伪装域名 不变,仍然是 CloudFlare 代理的域名。

可以看到 IP 首部是包裹在 TCP 首部和应用数据外面的,所以这种指定 IP 的做法是可行的。

补充:可能有的人会纳闷,我的 Nginx(对应 CloudFlare 的服务器) 配置了不能直接通过 IP 访问啊?怎么采用这种方式也能正常访问?这是因为 Nginxs 的配置在网络模型中是应用层的,Nginx 仍然需要操作系统提供 TCP 包,TCP 包是操作系统解析 IP 包得来的,所以指定 IP 包的 IP 地址(对应 v2rayN 软件,地址字段),然后在应用层指定域名(对应 v2rayN 软件,伪装域名字段),就能正常访问,Nginx 也不会感知到任何差别。

2. CloudflareSpeedTest 优选IP

在 GitHub 中的 releases 页面下载 windows 格式的,解压运行即可。

可如图新建快捷方式,然后指定参数 -tl 1000 -dd -n 1000,表示最高延迟 1000ms(只输出低于指定这个延迟的 IP),禁用下载测速(费时间,没有需求还是禁用的好),测试线程 1000(测试延时的线程数量)。

测速完毕后,默认会显示最快的 10 个 IP,选一个满意的填写到 v2rayN 软件,地址 字段中即可。

IP 地址           已发送  已接收  丢包率  平均延迟  下载速度 (MB/s)
104.27.200.69     4       4       0.00    146.23    28.64
172.67.60.78      4       4       0.00    139.82    15.02
104.25.140.153    4       4       0.00    146.49    14.90
104.27.192.65     4       4       0.00    140.28    14.07
172.67.62.214     4       4       0.00    139.29    12.71
104.27.207.5      4       4       0.00    145.92    11.95
172.67.54.193     4       4       0.00    146.71    11.55
104.22.66.8       4       4       0.00    147.42    11.11
104.27.197.63     4       4       0.00    131.29    10.26
172.67.58.91      4       4       0.00    140.19    9.14

3. 安卓安装 Termux,运行 CloudflareSpeedTest 优选IP

3.1 更换软件源

echo '#deb https://termux.org/packages/ stable main' > $PREFIX/etc/apt/sources.list
echo 'deb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main' >> $PREFIX/etc/apt/sources.list

3.2 开启 sshd 服务

开启后,就能在电脑上连接手机,进行操作了。

pkg install openssh -y
# 设置passwd
passwd
# 打开sshd服务
sshd
# 打开 termux app 自启
echo "sshd" >> ~/.bashrc
# sshd端口
ssh [email protected] -p 8022

3.3 pkg 命令

Termux 除了支持 apt 命令外,还在此基础上封装了 pkg 命令,pkg 命令向下兼容 apt 命令。apt 命令大家应该都比较熟悉了,pkg 命令每次安装的时候自动执行 apt update 命令,这里直接简单的介绍下 pkg 命令:

pkg update -y                   # 更新源
pkg search <query>              # 搜索包
pkg install <package>           # 安装包
pkg uninstall <package>         # 卸载包
pkg reinstall <package>         # 重新安装包
pkg upgrade                     # 升级软件包
pkg list-all                    # 列出可供安装的所有包
pkg list-installed              # 列出已经安装的包
pkg show <package>              # 显示某个包的详细信息
pkg files <package>             # 显示某个包的相关文件夹路径

3.4 使用安卓硬件(需要安装 termux-api APP)

pkg install termux-api

termux-battery-status 获取设备的电池信息.
termux-brightness 设置屏幕亮度, 值域为 [0, 255].
termux-camera-info 获取设备摄像头的信息.
termux-camera-photo 调用相机拍摄照片, 保存为 JPEG 格式.
termux-clipboard-get 获取系统剪贴板.
termux-clipboard-set 设置系统剪贴板.
termux-contact-list 列出联系人信息.
termux-dialog 显示文本输入对话框.
termux-fingerprint 在设备上使用指纹传感器验证身份.
termux-location 获取地理位置信息.
termux-notification 显示系统通知.
termux-sensor 获取有关传感器类型和实时数据的信息.
termux-telephony-call 拨打电话号码.
termux-toast 显示临时弹出通知.
termux-torch 在设备上切换 LED 灯.
termux-vibrate 振动设备.
termux-volume 更改系统音量。
termux-wallpaper 更改桌面壁纸.
termux-wifi-connectioninfo 获取当前连接的 WIFI 信息.
termux-wifi-enable 连接/断开 WIFI.
termux-wifi-scaninfo 获取上次 WIFI 扫描信息.

3.5 Termux 与标准 Linux 目录结构的区别

与大多数 Linux 发行版不同,Ter­mux 不遵循文件系统层次结构标准,你无法在标准路径找到 /bin/etc/usr/tmp 等目录。为了方便,Termux 提供了一个特殊的环境变量:PREFIX,它相当于 /usr 目录。

cd $PREFIX

此外用户主目录也在非常规位置。

cd $HOME

由于没有 root 权限,想对根目录进行操作是不可能的。

$ ls /
ls: cannot open directory '/': Permission denied

对此可以安装 proot,并使用 termux-chroot 命令可以模拟 root 环境与标准的 Linux 目录结构。

$ pkg i -y proot
$ termux-chroot
$ ls /
bin  data  dev  etc  home  lib  proc  root  sbin  share  storage  system  tmp  usr  var  vendor
$ ls /usr
bin  etc  include  lib  libexec  share  src  tmp  var

这对某些必须要用到标准路径的一些程序会非常有用。

3.6 访问外部存储

Ter­mux 默认只能访问自身内部的数据,如果要访问手机中其它的数据,输入下面的命令后,手机弹出对请求权限的窗口,允许即可。

termux-setup-storage

这个操作将创建 $HOME/storage 目录,此目录中的子目录将通过符号链接到手机存储中的一些常用目录。

$ tree storage
storage
├── dcim -> /storage/emulated/0/DCIM
├── downloads -> /storage/emulated/0/Download
├── movies -> /storage/emulated/0/Movies
├── music -> /storage/emulated/0/Music
├── pictures -> /storage/emulated/0/Pictures
└── shared -> /storage/emulated/0

此外还可以通过 /sdcard 来访问外部存储的根目录。

3.7 安装 CloudflareSpeedTest

pkg install wget -y

# 镜像站下载对应版本的CloudflareSpeedTest
wget -N https://download.fastgit.org/XIU2/CloudflareSpeedTest/releases/download/v2.0.3/CloudflareST_linux_arm64.tar.gz
mkdir CloudflareST
tar -xvzf CloudflareST_linux_arm64.tar.gz -C CloudflareST
cd CloudflareST
# 赋予执行权限
chmod +x CloudflareST
# 运行
./CloudflareST

CloudflareSpeedTest 常用参数:

# 仅指定 [平均延迟上限] 条件,且只延迟测速,不下载测速
# 即只输出低于 200ms 的 IP,且不再下载测速(因为不再下载测速,所以 -dn 参数就无效了)
./CloudflareST -tl 200 -dd

# 同时指定 [平均延迟上限] + [下载速度下限] 条件
# 平均延迟上限、下载速度下限均支持小数(如 -sl 0.5)
# 即需要找到 10 个平均延迟低于 200 ms 且下载速度高于 5 .6MB/s 的 IP 才会停止测速
./CloudflareST -tl 200 -sl 5.6 -dn 10

4. CloudflareSpeedTest 参数说明

C:\>CloudflareST.exe -h

CloudflareSpeedTest vX.X.X
测试 Cloudflare CDN 所有 IP 的延迟和速度,获取最快 IP (IPv4+IPv6)!
https://github.com/XIU2/CloudflareSpeedTest

参数:
    -n 200
        测速线程数量;越多测速越快,性能弱的设备 (如路由器) 请勿太高;(默认 200 最多 1000 )
    -t 4
        延迟测速次数;单个 IP 延迟测速次数,为 1 时将过滤丢包的IP,TCP协议;(默认 4 次)
    -tp 443
        指定测速端口;延迟测速/下载测速时使用的端口;(默认 443 端口)
    -dn 10
        下载测速数量;延迟测速并排序后,从最低延迟起下载测速的数量;(默认 10 个)
    -dt 10
        下载测速时间;单个 IP 下载测速最长时间,不能太短;(默认 10 秒)
    -url https://cf.xiu2.xyz/url
        下载测速地址;用来下载测速的 Cloudflare CDN 文件地址,默认地址不保证可用性,建议自建;
    -tl 200
        平均延迟上限;只输出低于指定平均延迟的 IP,可与其他上限/下限搭配;(默认 9999 ms)
    -tll 40
        平均延迟下限;只输出高于指定平均延迟的 IP,可与其他上限/下限搭配、过滤假墙 IP;(默认 0 ms)
    -sl 5
        下载速度下限;只输出高于指定下载速度的 IP,凑够指定数量 [-dn] 才会停止测速;(默认 0.00 MB/s)
    -p 10
        显示结果数量;测速后直接显示指定数量的结果,为 0 时不显示结果直接退出;(默认 10 个)
    -f ip.txt
        IP段数据文件;如路径含有空格请加上引号;支持其他 CDN IP段;(默认 ip.txt)
    -o result.csv
        写入结果文件;如路径含有空格请加上引号;值为空时不写入文件 [-o ""];(默认 result.csv)
    -dd
        禁用下载测速;禁用后测速结果会按延迟排序 (默认按下载速度排序);(默认 启用)
    -ipv6
        IPv6测速模式;确保 IP 段数据文件内只包含 IPv6 IP段,软件不支持同时测速 IPv4+IPv6;(默认 IPv4)
    -allip
        测速全部的IP;对 IP 段中的每个 IP (仅支持 IPv4) 进行测速;(默认 每个 IP 段随机测速一个 IP)
    -v
        打印程序版本+检查版本更新
    -h
        打印帮助说明
Copyright © 2022,枫糖, 版权所有,禁止转载、演绎、商用。
离开前,建议您浏览一下 归档 页面,或许有更多相关的、有趣的内容!

添加评论

code

目录