Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

一键脚本自动优选Cloudflare_IP解析到免费域名下

By: wayen
12 January 2024 at 01:40

一键脚本自动优选Cloudflare_IP解析到免费域名下

发表于|更新于|实用教程
|字数总计:830|阅读时长:4分钟|阅读量:

说明

之前有人免费提供解析Cloudflare_IP的域名,但很快就被DNS污染了,因此此教程适合自己使用不建议分享。实现的原理很简单,第一使用CloudflareSpeedTest程序进行测速,选出质量高的IP地址;第二使用免费ddns将域名解析到优选的IP;第三使用cron定时执行任务。脚本适用amd64、arm64、arm架构的Linux服务器,安卓手机Termux使用需要做一定的修改,请点击目录直接查看内容。

Dynv6

需要借助Dynv6来获取免费域名和ddns,hostname是注册的二级域名,token位于网站首页左上角Documentation-> APIs页面内,空格之后的不要。两项复制之后在脚本执行后按提示输入即可。

自定义

echo "0 0 * * * timeout 10m $path/bestip.sh > /dev/null 2>&1" | crontab -
双引号内的内容是定时执行命令,为每日0时。
$path/CloudflareST -f $path/ip.txt -tl 200 -sl 6 -dn 5 -dt 10 -o "bestip"
CloudflareST的使用可参考,以上为选择时延小于200ms的IP进行测试,每个测试10秒限制6mb/s以上,得到5个合格IP。
ipv6=$(grep -oE "\b([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}\b" $path/bestip | head -1)
如果对ipv6有需求,请将ip.txt改为ipv6.txt,并将脚本内的ipv4改为ipv6。

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh

check_() {
# 检查服务器架构
architecture=$(uname -m)
case $architecture in
x86_64)
platform="amd64"
;;
aarch64)
platform="arm64"
;;
arm*)
platform="armv7"
;;
*)
echo "脚本不支持 $architecture"
exit 1
;;
esac
}

first_() {
# 下载测速工具并定时每日0点执行
mkdir -p $path && cd $path
latest_release=$(curl -s https://api.github.com/repos/XIU2/CloudflareSpeedTest/releases/latest | grep "tag_name" | awk '{print $2}' | tr -d '",')
download_url="https://github.com/XIU2/CloudflareSpeedTest/releases/download/$latest_release/CloudflareST_linux_$platform.tar.gz"
curl -LO $download_url || exit 1
tar -xvf CloudflareST_linux_$platform.tar.gz && rm CloudflareST_linux_$platform.tar.gz && chmod +x CloudflareST
echo "0 0 * * * timeout 10m $path/bestip.sh > /dev/null 2>&1" | crontab -
read -p "请输入 hostname:" hostname
read -p "请输入 token:" token
}

start_() {
# 测速并更新IP
cat <<EOF > $path/bestip.sh
#!/bin/sh

$path/CloudflareST -f $path/ip.txt -tl 200 -sl 6 -dn 5 -dt 10 -o "bestip"
ipv4=\`grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" $path/bestip | head -1\`
curl -Ls "http://dynv6.com/api/update?hostname=$hostname&token=$token&ipv4=\$ipv4"
EOF
chmod +x $path/bestip.sh && timeout 10m $path/bestip.sh
}

path="/opt/CloudflareST"
check_
first_
start_
exit

Termux

手机使用不必设置定时,mkdir bestip && cd bestip后执行脚本即可。之后每次执行cd bestip && ./bestip.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

first_() {
# 下载测速工具
latest_release=$(curl -s https://api.github.com/repos/XIU2/CloudflareSpeedTest/releases/latest | grep "tag_name" | awk '{print $2}' | tr -d '",')
download_url="https://github.com/XIU2/CloudflareSpeedTest/releases/download/$latest_release/CloudflareST_linux_arm64.tar.gz"
curl -LO $download_url || exit 1
tar -xvf CloudflareST_linux_arm64.tar.gz && rm CloudflareST_linux_arm64.tar.gz && chmod +x CloudflareST
read -p "请输入 hostname:" hostname
read -p "请输入 token:" token
}

start_() {
# 测速并更新IP
cat <<EOF > bestip.sh
#!/bin/sh

./CloudflareST -tl 200 -sl 6 -dn 5 -dt 10 -o "bestip"
ipv4=\`grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" bestip | head -1\`
curl -Ls "http://dynv6.com/api/update?hostname=$hostname&token=$token&ipv4=\$ipv4"
EOF
chmod +x bestip.sh && ./bestip.sh
}

first_
start_
exit
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

如何在Alpine上安装Cloudflare_tunnel

By: wayen
3 August 2023 at 22:29

如何在Alpine上安装Cloudflare_tunnel

发表于|更新于|实用教程
|字数总计:255|阅读时长:1分钟|阅读量:

说明

Tunnel支持Windows/Mac/Debian/RedHat/Docker,你可以在Alpine上使用Docker安装,但Alpine并不见得总是适合Docker。当机器内存过小,或一些其他原因不能使用Docker时,你可以手动安装Tunnel。

安装过程

首先你要下载Tunnel的运行程序,然后让它保持后台运行,这在其他系统中通常只是一行命令。其他相同操作请参照Cloudflare_tunnel内网穿透

下载运行程序

点击下载cloudflared-linux-amd64,如果你的服务器架构不同,请自行选择,但不要下载安装包。

1
2
3
chmod +x cloudflared-linux-amd64
mv ./cloudflared-linux-amd64 cloudflared
mv ./cloudflared /usr/bin/

添加后台运行

通常会在Tunnel选择系统页面看到一长串的字母,比如cloudflared.exe service install eyJhI***,将${token}替换为eyJhI***即可。

1
2
3
4
5
6
7
8
9
10
11
12
echo '#!/sbin/openrc-run

command="/usr/bin/cloudflared"
command_args="tunnel --no-autoupdate run --token ${token}"
command_background="yes"
pidfile="/run/cloudflared.pid"

depend() {
need net
}' >> /etc/init.d/cloudflared
rc-service cloudflared start
rc-update add cloudflared default
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Cloudflare: Quota limit exceeded

By: wayen
26 July 2023 at 14:23

Cloudflare: Quota limit exceeded

发表于|更新于|实用教程
|字数总计:76|阅读时长:1分钟|阅读量:

说明

刚刚在用域名给Tunnel授权时提示Quota limit exceeded. You can create no more than 50 tokens (Code: 1001),换了个域名仍然不成功。这是因为Cloudflare的API令牌数量超过了数量50的限制,删除掉不使用的就好了。

解决方法

https://dash.cloudflare.com/profile/api-tokens

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

通过Cloudflare_tunnel实现远程SSH

By: wayen
24 July 2023 at 15:31

通过Cloudflare_tunnel实现远程SSH

发表于|更新于|实用教程
|字数总计:281|阅读时长:1分钟|阅读量:

说明

搭建Cloudflare_tunnel完成后似乎可以内网穿透了,但如果还要使用远程SSH仍需要几个步骤,本教程将介绍通过Cloudflare_tunnel实现远程SSH三种方法。

搭建Tunnel

给自己的SSH控制端也搭建Tunnel,可以使用代理命令<file path>/cloudflared access ssh --hostname ssh.xml.wiki通过SSH工具连接。

添加认证程序

首先打开工作台,点击左侧Access下的Applications创建应用。类型选择Self-hosted
09
然后本页按照下图填写内容,其他保持默认即可。
10
在添加规则页面,Policy name随便填写,具体的规则可按照下图填写,其他保持默认即可。
11
最后一页请如下图选择SSH,其他保持默认即可。
12
别忘记在Tunnel中的Public Hostname创建SSH规则,之后访问网站进行邮箱验证码登录即可。
08

SSH over WEB

简单来讲就是使用工具将SSH转为Web,再由Tunnel进行内网穿透。

ttyd

下载ttyd,默认监听7681端口,可通过参数-p指定。

1
2
chmod +x ttyd
./ttyd login

sshwifty

另见。使用Tunnel可不用配置SSL证书。

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Cloudflare_tunnel内网穿透

By: wayen
23 July 2023 at 20:06

Cloudflare_tunnel内网穿透

发表于|更新于|实用教程
|字数总计:340|阅读时长:1分钟|阅读量:

说明

借助Cloudflare_tunnel可以实现访问没有公网的主机服务,也可以安全保护自己代理公网端口,甚至在没有标准端口的Nat_vps上白嫖CDN。不需要花费一分钱的内网穿透,只需你添加一张信用卡即可。

教程

首先进入工作台,任意填写你的团队名称,选择Free Plan添加付款方式即可。
然后点击左侧Access下的Tunnels,创建一个Tunnel。
04
05
接着你可以选择自己的操作系统,以Onecloud为例选择Debianarm32bit,到页面下方复制左侧的命令到SSH窗口回车即可。下一步输入自己的Tunnel名称,点击保存。
06
之后填写自己想要穿透的内网端口。Subdomain是二级域名前缀,不要填解析过的;Path是网页路径,没有需求留空;Type选择http,URL是localhost+端口号。
07
最后在SSH窗口输入cloudflared tunnel login会输出一个网址,复制到浏览器打开,选择使用的域名授权即可。

远程SSH

服务中选择Type时请不要选择SSH,直接使用是无效的,你必须在SSH控制端同样安装Tunnel,或者在工作台新建一个SSH应用登录认证后使用。当然,最简单的办法就是把SSH通过Web分享出来再由Tunnel代理。
教程

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

❌
❌