标签 cloudflare 下的文章

零、参考文章

推荐大家查阅,里头讲清楚了邪修节点部分原理:
【邪修】自建稳定能用的节点教程 - 开发调优 / 开发调优,Lv1 - LINUX DO

一、前置准备

  1. 一个域名。可以是白嫖的,或者买一个.xyz 的域名很便宜
  2. 一个 VPS, 我用的是 RN 的小鸡
  3. 一个 CloudFlare 账号
  4. 一个 Gemini/GPT 账号 (可选) 用于回答你期间可能出现的问题

二、邪修节点

3x-ui 部署

3x-ui 官方安装文档

1. 进入 VPS 终端,执行以下命令

docker run -itd \
 -e XRAY_VMESS_AEAD_FORCED=false \
 -e XUI_ENABLE_FAIL2BAN=true \
 -v $PWD/db/:/etc/x-ui/ \
 -v $PWD/cert/:/root/cert/ \
 --network=host \
 --restart=unless-stopped \
 --name 3x-ui \
 ghcr.io/mhsanaei/3x-ui:latest

2. 初步配置 3x-ui, 以下为示例,以你实际参数为准,

$docker ps

输出:
CONTAINER ID   IMAGE                           COMMAND                  CREATED       STATUS       PORTS                      NAMES
0597ee21536a   ghcr.io/mhsanaei/3x-ui:latest   "/app/DockerEntrypoi…"   6 hours ago   Up 6 hours         

$docker exec -it 0597ee /bin/sh

$/app/x-ui setting -username 用于登录3x-ui面板的用户名 -password 密码

$exit 

3. 打开浏览器访问: http:// 你的 vps-ip:2053 进入面板

4. 添加邪修节点,按图配置点击创建


注意:如果不需要 nginx 可以直接用 80 端口

点击三点,导出链接

打开 v2rayN, ctrl+v 添加节点,并修改如图圈起位置为对应参数

先确定保存,这个时候是不通的

5.cloudflare 配置

登录 cloudflare, 找到要使用的域名编辑 DNS 记录,添加一个 A 记录指向 VPS, 并关闭小黄云

添加 worker 并部署,注意看注释

addEventListener("fetch", event => {
  let url = new URL(event.request.url);
  url.hostname = "刚刚得到的子域名 如rn.abc.com";
  url.protocol = 'http';

  // 注意: 如果不需要nginx, 下面这一行一定要解除注释, 并且端口号与入站节点要保持一致 // url.port = '8080'; let newHeaders = new Headers(event.request.headers);
  newHeaders.set("Host", "rn.ringgav.xyz");

  let request = new Request(url, {
    method: event.request.method,
    headers: newHeaders,
    body: event.request.body,
    redirect: 'manual'
  });

  event.respondWith(fetch(request));
});

而后添加一个路由规则



SSL/TLS 修改为灵活 (Flexible)

此时回到 v2rayN 对刚刚修改后的节点测速,应该是有延迟的

6. 增加 cdn 节点

此处请跳转参考以下文章小节 “继续新增如下解析,注意都关闭小黄云” 添加 N 个 CNAME

这篇文章是本教程的核心,推荐大家查阅,里头讲清楚了为什么叫 "邪修":
【邪修】自建稳定能用的节点教程 - 开发调优 / 开发调优,Lv1 - LINUX DO

添加完成后如图

** 回到 V2RayN, 选中刚刚那个节点,ctrl+c 而后 ctrl+v 若干次,可以和 CNAME 的个数一致,并双击复制节点,修改地址 (address) 为: 数字 cdn.abc.com **
3x-ui 部署白嫖大厂 CDN 节点历程备忘存档11

最后都搞到代理软件里就好,为了负载均衡,我最终用的是 clash party (不熟悉 V2RayN), 可以自己部署一个 sublink_converter 转换一下

贴一个手机热点速度

我这属于慢的,我看参考源站有飙到 500 + 的

优选节点,我也不知道算不算哈哈哈

开启 BBR

出站 warp

VPS 安全

WebDAV 备份

安装 rclone

sudo apt install rclone -y

添加 webdav 仓库,此处以坚果云为例

rclone config 
#!/bin/bash

# --- 基础配置 ---
HOSTNAME=$(hostname)
BACKUP_TEMP="/root/server_backup/temp_folder"
BACKUP_FINAL="/root/server_backup/final"
REMOTE_PATH="jianguoyun:/vps-rclone"
MAX_BACKUPS=20
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
FILE_TIME=$(date +%Y%m%d_%H%M%S)
COMPOSE_DIR="/root/3x-ui"

# --- 企业微信 Webhook 配置 ---
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的企微key"
# 通知函数
send_wechat_notice() {
    local status=$1
    local message=$2
    local color="info"
    [ "$status" == "失败" ] && color="warning"

    curl -s -X POST "$WEBHOOK_URL" \
        -H "Content-Type: application/json" \
        -d "{
        \"msgtype\": \"markdown\",
        \"markdown\": {
            \"content\": \"**VPS 备份提醒**\n> 状态: <font color=\\\"$color\\\">$status</font>\n> 主机: $HOSTNAME\n> 时间: $DATETIME\n> 详情: $message\"
        }
    }"
}

# 1. 环境准备与恢复脚本生成
mkdir -p $BACKUP_TEMP
mkdir -p $BACKUP_FINAL

cat <<EOF > $BACKUP_TEMP/restore.sh
#!/bin/bash
echo "开始恢复备份..."
if [ -d "./nginx_config" ]; then
    rm -rf /etc/nginx/*
    cp -r ./nginx_config/* /etc/nginx/
fi
mkdir -p $COMPOSE_DIR
cp -r ./3xui_db $COMPOSE_DIR/db
cp -r ./3xui_cert $COMPOSE_DIR/cert
cp ./docker-compose.yml $COMPOSE_DIR/
nginx -t && systemctl restart nginx
cd $COMPOSE_DIR && docker-compose up -d
echo "恢复完成。"
EOF
chmod +x $BACKUP_TEMP/restore.sh

# 2. 打包流程
cp -r /etc/nginx $BACKUP_TEMP/nginx_config
cp -r $COMPOSE_DIR/db $BACKUP_TEMP/3xui_db
cp -r $COMPOSE_DIR/cert $BACKUP_TEMP/3xui_cert
cp $COMPOSE_DIR/docker-compose.yml $BACKUP_TEMP/
# 备份脚本也打包进去
cp "$0" $BACKUP_TEMP/vps-backup.sh

FILENAME="${HOSTNAME}_full_bak_${FILE_TIME}.tar.gz"
tar -czf $BACKUP_FINAL/$FILENAME -C $BACKUP_TEMP .

# 3. 上传与通知
if rclone copy $BACKUP_FINAL $REMOTE_PATH -P; then
    # --- 保持最多 20 个备份逻辑 ---
    file_list=$(rclone lsf $REMOTE_PATH | grep "${HOSTNAME}" | sort)
    # 计算当前备份文件的总数
    file_count=$(echo "$file_list" | grep -v '^$' | wc -l)

    if [ $file_count -gt $MAX_BACKUPS ]; then
        # 计算需要删除的文件数量
        remove_count=$((file_count - MAX_BACKUPS))
        # 提取最旧的 N 个文件名并循环删除
        echo "$file_list" | head -n $remove_count | while read -r line; do
            rclone delete "$REMOTE_PATH/$line"
        done
    fi
    send_wechat_notice "成功" "备份已同步至坚果云,包名:$FILENAME"
else
    send_wechat_notice "失败" "rclone 同步过程出错,请检查网络或配置。"
fi

# 4. 清理本地临时文件
rm -rf $BACKUP_TEMP
rm -rf $BACKUP_FINAL

好晚了凌晨 5 点,改天补内容


📌 转载信息
原作者:
RinggaV
转载时间:
2026/1/3 11:55:58

拉取 cf ip 写入到配置文件,不存在 /etc/nftables.d 先手动 mkdir 创建一下

#!/usr/bin/env sh set -eu

DIR="/etc/nftables.d"
OUT4="${DIR}/cf-set-v4.nft"
OUT6="${DIR}/cf-set-v6.nft" mkdir -p "$DIR"

tmp4="$(mktemp)"
tmp6="$(mktemp)" # v4 set block
{
  echo "set cf_ipv4 {" echo "        type ipv4_addr;" echo "        flags interval;" echo "        elements = {"
  curl -fsSL https://www.cloudflare.com/ips-v4 \
    | awk 'NF{print "                " $0 ","}' echo "        }" echo "}"
} > "$tmp4" # v6 set block
{
  echo "set cf_ipv6 {" echo "        type ipv6_addr;" echo "        flags interval;" echo "        elements = {"
  curl -fsSL https://www.cloudflare.com/ips-v6 \
    | awk 'NF{print "                " $0 ","}' echo "        }" echo "}"
} > "$tmp6"

install -m 0644 "$tmp4" "$OUT4"
install -m 0644 "$tmp6" "$OUT6" rm -f "$tmp4" "$tmp6" 

生成的配置文件类似

set cf_ipv4 {
        type ipv4_addr;
        flags interval;
        elements = {
                173.245.48.0/20,
                103.21.244.0/22,
                103.22.200.0/22,
                103.31.4.0/22,
                141.101.64.0/18,
                108.162.192.0/18,
                190.93.240.0/20,
                188.114.96.0/20,
                197.234.240.0/22,
                198.41.128.0/17,
                162.158.0.0/15,
                104.16.0.0/13,
                104.24.0.0/14,
                172.64.0.0/13,
                131.0.72.0/22,
        }
}

修改 /etc/nftables.conf

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        include "/etc/nftables.d/cf-set-v4.nft"
        include "/etc/nftables.d/cf-set-v6.nft"

        chain input {
                type filter hook input priority filter;
                iif lo accept;
                ct state established,related accept;

                # SSH
                tcp dport 22 accept;
                
                # 这里是关键配置,以80为例子,只允许cf的ip访问,其他的drop
                tcp dport 80 ip  saddr @cf_ipv4 accept;
                tcp dport 80 ip6 saddr @cf_ipv6 accept;
                tcp dport 80 drop;
        }

        chain forward {
                type filter hook forward priority filter;
        }

        chain output {
                type filter hook output priority filter;
        }
}

使其生效

nft -f /etc/nftables.conf

检查规则集合是否正确

nft list set inet filter cf_ipv6
nft list set inet filter cf_ipv4

检查 nftables 是否启动

systemctl status nftables
systemctl enable nftables
systemctl restart nftables

📌 转载信息
原作者:
dhb
转载时间:
2025/12/30 12:15:53

老老贴编辑不了啦,只能开新贴啦。距离上次水贴可太久了,来续一下项目新的更新, 距离上次陆陆续续加了一点东西,用起来挺顺手的对于 Serverless 部署,算是压榨完了大善人。当然还是提醒一下 毕竟涉及到大批量上传下载功能,推荐自用即可

老帖地址:基于 Cloudflare 的在线文本 / 大文件分享平台,支持多种语法 Markdown 渲染、阅后即焚、R2~B2 等 S3 聚合存储、密码保护等功能,可作为 WebDav 挂载,支持 Docker 部署。

老老贴: 基于 Cloudflare Worker 部署的在线剪切板,支持 markdown 和文件分享(优化更新 10)

部署的教程也优化到最简了,基本动动手指运行一下 github action 就一键部署了,支持前后端分离,当然也可以单 worker 部署。

简单介绍下项目具体功能


多存储支持

  • S3 兼容:Cloudflare R2、Backblaze B2、AWS S3、阿里云 OSS、腾讯云 COS、MinIO 等
  • 网盘集成:WebDAV、OneDrive、Google Drive、Telegram、GitHub API/Releases(只读)等等
  • 本地存储:Docker 部署支持本地文件系统
  • 智能上传:前端预签名直传 + 流式上传 + 分片断点续传,进度实时显示,最大限度摆脱 cf 限制
  • 文件预览:支持 30 + 种格式直接预览(图片、视频、音频、PDF、Office、代码、电子书等),其余可通过外部 IFrame 嵌入 KKFileview 预览
  • 定时任务:支持定时清理上传会话、存储同步、搜索索引重建等自动化任务
  • 统一管理:可视化配置多存储,灵活切换默认存储源

Markdown 编辑器

  • Vditor 集成:支持 GitHub 风格 Markdown、数学公式、流程图、思维导图
  • 实时预览:所见即所得编辑体验
  • 多格式导出:PDF、HTML、PNG、Word 一键导出
  • 安全分享:密码保护、过期时间、访问次数限制
  • Raw 直链:类似 GitHub Raw,适合配置文件托管

WebDAV 协议支持

  • 标准协议:支持任意 WebDAV 客户端挂载为网络驱动器
  • 完整操作:目录创建、文件上传、删除、重命名、移动
  • 权限控制:API 密钥授权,细粒度访问控制
  • 缓存优化:可配置 TTL,减少上游请求

以及一些部分小功能…


Github: GitHub - ling-drag0n/CloudPaste: A Cloudflare-based online text/file sharing platform that supports multiple syntax Markdown rendering, self-destructing messages, S3/WebDav/OneDrive/GoogleDrive/TG/GithubAPI/Local aggregated storage, password protection, and more. It can be mounted as WebDAV and supports Docker deployment.
demo 地址 [游客令牌:guest]: CloudPaste - 安全分享您的内容
文档地址: https://doc.cloudpaste.qzz.io/

部分 demo 图展示:

水完咯收工
当然还是求求小小的 start 啦


📌 转载信息
原作者:
2512132839
转载时间:
2025/12/27 21:19:29

[bsgit user="ChinaSiro"]CloudFlare-RealiP-nginx[/bsgit]

我每个站点都优选到了CF,但是回来的都是CF后的IP。
也就是我们nginx日志中出现的都不是用户真实IP,而是加速后的。

虽然我做的东西都不限制IP频次,但我也不想无法控制。
避免有人利用攻击导致我封了CF的IP让大量用户无法访问。

写了一段配置放到nginx.conf中的可以获取

# ===== Cloudflare Real IP Support =====
# 2025/10/13 by Huo0.com
# IPv4
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;

# IPv6
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;

# Use Cloudflare header for real IP
real_ip_header CF-Connecting-IP;

但站点太多,手动太麻烦。
就又写到git 直接 命令行一键配置+重载

宝塔云+debian¢os 一键脚本

CF_URL='https://raw.githubusercontent.com/ChinaSiro/CloudFlare-RealiP-nginx/main/realip.conf'; TARGET='/www/server/panel/vhost/nginx/realip.conf'; sudo mkdir -p "$(dirname "$TARGET")" && sudo curl -fsSL "$CF_URL" -o "$TARGET" && sudo nginx -t && sudo /www/server/nginx/sbin/nginx -s reload

今天看到文章:添加 MASQUE 支持:在 Cloudflare WARP 中构建新协议

简单描述总结下 MASQUE 协议的优势:

  1. 基于 QUIC 的隧道技术,与 HTTP/3 使用相同的协议、端口,相比与目前 warp 使用的 wireguard 协议更难被阻断
  2. Cloudflare 团队对于 Multipath QUIC技术十分兴奋:可以使用多个网络接口创建同一个逻辑链接,可以无缝切换 LTE 网络以及 Wi-Fi 网络。(个人展开:高通的 5G 双数据连接,还有一些厂商的 5G+Wi-Fi 双连接技术,都能很好的利用起来)
    目前 IOS 17 的用户可以测试这个应用,需要使用 testflight ,注册链接: https://www.cloudflare.com/lp/masque-building-a-new-protocol-into-cloudflare-warp/

个人想法:

  1. 技术很好,可以说是接入隧道技术的未来了。
  2. Cloudflare 的 IP 又得被墙一批
  3. QUIC 协议在大陆不知道会不会被禁

我用的依旧是免费版 zero trust 。

今天去后台看到可以用了,尝试打开试了一下连接可用。比如说这样的命令:

ssh -p 8022 100.73.0.9

warp 终于离真正的 vpn 更进一步了:它似乎还不能指定 IP 地址,也有可能是我没找到如何设置。

配置路径:


dashboard / zero trust / settings / network / firewall / proxy / warp-to-warp

不过它还处于 beta 阶段,未必所有人的账号都开通了。如果你那里还没有出现的话,不妨每月去看看。