标签 cloudflare 下的文章

Cloudflare 最近发布了一项名为“Code Orange: Fail Small”的详细韧性计划,以防止过去六周内连续发生的两次重大网络中断导致的大规模服务中断再次发生。该计划优先考虑受控发布、改进故障模式处理以及简化应急流程,以使其全球网络更加稳健,并减少因配置错误而造成的脆弱性。

 

Cloudflare 的网络在 2025 年11月18日12月5日遭受了两次严重的中断。第一次事件导致流量交付中断了约 2 小时 10 分钟,而第二次事件则影响了其网络背后约 28%的应用程序,持续了约 25 分钟。这些事件发生在即时的全球配置更改之后,尽管这些更改旨在提高安全性或机器人检测能力,但它们在数百个数据中心迅速传播了错误的设置,从而引发了广泛的服务故障。

 

“Code Orange: Fail Small”计划规定,配置更改必须以受控的、分阶段的方式进行,类似于 Cloudflare 现有的软件发布流程Health Mediated Deployment(HMD),其中包括分阶段验证和自动回滚机制。历史上,配置更新(如 DNS 记录或安全规则)会通过内部的Quicksilver系统在几秒钟内向全球范围传播,当错误的更改传播过快时,这就成为了一个隐患。在新策略下,配置更新需要通过监控门禁并采用渐进式部署,以便在问题影响到大范围基础设施之前尽早发现它们并降低影响。

 

Cloudflare 还计划审查和改进网络流量处理系统中的所有故障模式,旨在确保每个组件在错误条件下都能做出可预测的响应,并且不会将故障级联到不相关的服务。这包括验证关键产品之间的接口契约,并建立合理的默认值,以便即使依赖的子系统发生故障,流量也能继续流动。

 

除此之外,该公司正在彻底改革紧急访问程序和内部工具的访问权限,以减少在过去的中断事件中拖慢事件响应速度的循环依赖。增强的培训和简化的应急访问协议旨在帮助工程师更快地应对关键故障,同时不损害安全防护措施。

 

Cloudflare 的计划正在逐步推进,通过单独的更新以改善整体的性韧性,而不是一次性地进行大规模更新。该公司预计到 2026 年第一季度末,所有生产系统都将使用增强后的 HMD 配置流程,故障模式将得到更好的定义和测试,应急响应访问也将得到改进。

 

这些努力是在日益严格的审查背景下进行的。Cloudflare 的中断事件引起了广泛的关注,事件影响了 LinkedIn、Zoom 和 Shopify 等主要网站,并引发了关于集中式互联网基础设施风险的讨论。尽管社区的一些反应表达了不满,但许多讨论平台上的用户也对 Cloudflare 坦诚承认问题及其结构性改进的承诺表示了欢迎。

 

Cloudflare 正在努力重建信心,“Code Orange: Fail Small”计划凸显了该公司向更谨慎的部署实践的转变,并对故障的出现做出更强的预期,以便在问题升级为扰乱互联网生态系统大范围的全球中断之前将其控制住。

 

原文链接:

Cloudflare Launches ‘Code Orange: Fail Small’ Resilience Plan After Multiple Global Outages

RustFS 默认通过 9001 端口登录控制台,9000 端口使用 API,为了安全合规,通常采用启用 HTTPS、反向代理(诸如 nginx、traefik、caddy 等)的方式来更加安全的使用 RustFS。本文分享一种更加安全的方式,通过 Cloudflare tunnel 来访问你的 RustFS 实例。

安装 RustFS

RustFS 支持二进制、Docker 以及 Helm Chart 的安装方式,详细方法可以查看官网安装指南。将如下内容写入 docker-compose.yml 文件:

services:
  rustfs:
    image: rustfs/rustfs:latest
    container_name: rustfs
    hostname: rustfs
    environment:
      - RUSTFS_VOLUMES=/data/rustfs{1...4}
      - RUSTFS_ADDRESS=0.0.0.0:9000
      - RUSTFS_CONSOLE_ENABLE=true
      - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
      - RUSTFS_ACCESS_KEY=rustfsadmin
      - RUSTFS_SECRET_KEY=rustfsadmin
      - RUSTFS_TLS_PATH=/opt/tls
    ports:
      - "9000:9000"  # API endpoint
      - "9001:9001"  # Console
    volumes:
      - data1:/data/rustfs1
      - data2:/data/rustfs2
      - data3:/data/rustfs3
      - data4:/data/rustfs4
      - ./certs:/opt/tls

    networks:
      - rustfs

networks:
  rustfs:
    driver: bridge
    name: rustfs

volumes:
  data1:
  data2:
  data3:
  data4:

运行如下命令

docker compose up -d

即可安装好一个 RustFS 实例:

docker compose ps
NAME      IMAGE                          COMMAND                  SERVICE   CREATED          STATUS          PORTS
rustfs    rustfs/rustfs:1.0.0-alpha.81   "/entrypoint.sh rust…"   rustfs    22 minutes ago   Up 22 minutes   0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp

配置 Cloudflare tunnel

配置 Cloudflare tunnel 大体分为 域名配置tunnel 配置 两部分。

域名配置

域名配置是为了后期能够更方便的访问 RustFS。

  • 使用 Cloudflare 账号登录 Cloudflare Domain 界面;
  • 在左侧导航栏,Account home,如果你已经有域名,则选择 Onboard a domain,否则可选择 Buy a domain
  • 如果选择 Onboard a domain,点击该选项后,在出现的界面中输入你的域名,然后继续往下走,直到在最后选择 Continue to activation
  • 如果一切顺利,可以在域名管理首页看到添加成功的域名,其 Status 会显示为 Active

image.png

tunnel 配置

  • 使用 Cloudflare 账号登录 Cloudflare Dashboard
  • 在左侧导航栏,选择 Networks -> Connectors,在右侧界面点击 Create a tunnel
  • 在 tunnel 类型中,选择 Select Clouflared
  • Install and run connectors 中,根据 RustFS 实例所在服务器的操作系统信息,选择相应的安装方式。安装完毕后,可以在服务器上查看 cloudflared 服务的状态。运行正常后点击 Next

    systemctl status cloudflared
    ● cloudflared.service - cloudflared
         Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
         Active: active (running) since Fri 2026-01-16 21:18:53 CST; 6 days ago
       Main PID: 2538004 (cloudflared)
          Tasks: 10 (limit: 4375)
         Memory: 31.3M (peak: 38.7M swap: 8.2M swap peak: 15.3M)
            CPU: 18min 16.159s
         CGroup: /system.slice/cloudflared.service
  • Route Traffic 中,配置 HostnameService 信息。

    • Hostname 中填写的域名可用于后续访问 RustFS 实例,可以在 Domain 字段中选择 域名配置 部分添加好的域名。如果想通过子域名访问,也可以在 Subdomain 字段中输入子域名名称。
    • Service 选择服务类型和 URL。对于上述安装的 RustFS 实例,Type 可以选择 HTTP/HTTPS(如果启用了 HTTPS,可选择 HTTPS,否则用 HTTP),URL 为 localhost:9001

    image.png

  • 点击 Complete setup 完成配置。

上述配置结束后,可以在 Connectors 界面看到添加好的 tunnel,如果一切顺利,则可以看到 Status 为绿色的 HEALTHY

在 Hostname 和 Service 设置页面的 Additional application settings 部分,点击 HTTP Settings,在 HTTP Host Header 部分,输入访问 RustFS 的域名,这是为了避免后续使用出现签名错误。

登录验证

恭喜你,如果你顺利完成了上述两部分的配置后,那么现在你就可以通过你配置好的域名来访问 RustFS 实例了。本文配置的域名为 rustfs.xiaomage.vip,所以在浏览器中输入 https://rustfs.xiaomage.vip 即可访问 RustFS 实例:

image.png

输入 rustfsadmin/rustfsadmin 即可登录。

接下来就可以通过多种方式来使用 RustFS 实例了,比如 mcrc 以及 rclone

通过 mc 使用 RustFS

mc 是 Minio 的专属客户端,由于 RustFS 是 S3 兼容的,而且是 Minio 的平替,所以可以用 mc 来操作 RustFS。

前提

mc --version
mc version RELEASE.2025-08-29T21-30-41Z (commit-id=f7560841be167a94b7014bf8a504e0820843247f)
Runtime: go1.24.6 darwin/arm64
Copyright (c) 2015-2025 MinIO, Inc.
MinIO Enterprise License

使用

# 添加 `alias`
mc alias set rustfs https://rustfs.xiaomage.vip rustfsadmin rustfsadmin

# 创建存储桶
mc mb rustfs/hello

# 列出存储桶
mc ls rustfs
[2026-01-23 21:39:36 CST]     0B hello/
[2026-01-23 20:12:59 CST]     0B test/

# 上传文件到存储桶
echo "123456" > 1.txt
mc cp 1.txt rustfs/hello
/tmp/1.txt:                         ██████████████████████████████████████████████████████████████████████████████████ 100.0% 7 B       1 B/s      

# 查看上传的文件
mc ls rustfs/hello
[2026-01-23 21:40:44 CST]     7B STANDARD 1.txt

更多用法可自行探索。

通过 rclone 使用 RustFS

rclone是一个命令行工具,可以对不同云提供商上的文件和目录进行同步。

前提

rclone --version
rclone v1.72.1
- os/version: ubuntu 24.04 (64 bit)
- os/kernel: 6.8.0-71-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.25.5
- go/linking: static
- go/tags: none

使用

  • 配置 rclone

执行 rclone config 命令,根据 RustFS 实例信息,一步步进行配置。配置完成后,会生成一个 ~/.config/rclone/rclone.conf 文件,一般内容如下:

[rustfs]
type = s3
provider = Minio
access_key_id = rustfsadmin
secret_access_key = rustfsadmin
endpoint = https://rustfs.xiaomage.vip
region = us-east-1
force_path_style = true
由于目前 RustFS 还未向 rclone 官方提 PR 以增加 RustFS provider 信息,因此使用 Minio 作为 provider。
  • 开始使用
# 列出存储桶和对象

rclone ls rustfs: --s3-sign-accept-encoding=false
        7 hello/1.txt
    11792 test/1.log
   520512 test/123.mp3
     7394 test/2.log
   147240 test/321.mp3
   

# 查看某个对象内容
rclone cat rustfs:hello/1.txt --s3-sign-accept-encoding=false
123456 

对于其他用法,可以通过 rclone --help 来自行探索。

注意:添加 --s3-sign-accept-encoding=false 参数是因为 Cloudflare 会对 Accept-Encoding 参数进行修改,在 S3 协议中,这种变更会导致 SignatureDoesNotMatch 错误,详情可以查看 RustFS issue

通过 rc 使用 RustFS

rc 是 RustFS 的 Client,用来对 RustFS 进行操作。目前,刚发布 0.1.1。可以使用 cargo 或源码编译安装。

rc --version
rc 0.1.1

目前提供 aliaslsmbrb 等多种常规命令。使用方式和 mc 类似。

# 设置 alias
rc alias set rustfs https://rustfs.xiaomage.vip rustfsadmin rustfsadmin
✓ Alias 'rustfs' configured successfully.

# 列出存储桶
rc ls rustfs
[2026-01-23 13:39:36]         0B hello/
[2026-01-23 13:56:57]         0B rclone/
[2026-01-23 12:12:59]         0B test/

# 创建存储桶
rc mb rustfs/client
✓ Bucket 'rustfs/client' created successfully.

更多用法,可以通过 rc --help 进行查看并自行探索,使用过程中有任何问题,可以在 GitHub Issue中进行反馈。

这是一场典型的“看起来只是删了几行配置,实际把闸门拆了”的事故。

2026 年 1 月 22 日,Cloudflare 在美国迈阿密(Miami)的一个数据中心路由器上,因为自动化路由策略配置错误,把一部分原本只该在内部传播的 IPv6 BGP 前缀意外对外宣告了出去,形成 BGP Route Leak(路由泄漏)。事故持续 25 分钟,导致迈阿密骨干链路拥塞、部分客户流量丢包/延迟升高,同时还把一些外部网络的流量“误导”进迈阿密,最终被 Cloudflare 的防火墙过滤规则丢弃(峰值丢了约 12Gbps 入口流量)。

听起来像网络圈的“蝴蝶效应”:你只是在路由策略里挪了一块砖,结果半个街区的车流都改道了🚧。


什么是 Route Leak:

不是“断网”,是“指错路”

路由泄漏的本质非常直白:某个 AS 告诉整个互联网:来我这走,我能带你到终点——但它其实不该这么说。

BGP 里有个“潜规则”:从上游(provider)和对等(peer)学到的路由,不能再转发给另一个 peer 或 provider,否则就违反所谓的 valley-free routing。一旦违反,流量会被吸到不该承载它的网络上,轻则拥塞、抖动,重则大范围不可达。

image

这次事故就是类似的“指路牌摆反了”:Cloudflare 在迈阿密把从一些 peer 学到的路由,又转手“推销”给了其他 peer 和 transit provider,属于 RFC7908 里提到的多种 route leak 类型混合体(简单理解:该往下游走的路,被错误地往上/平行扩散了)。


时间线:从合并代码到止血,只花了 25 分钟(但足够难受)

这次节奏很“现代工程化”:代码合并 → 自动化跑配置 → 线上立刻出事 → 人肉回滚止血 → 再回滚代码。

Time (UTC)Event
2026-01-22 19:52 UTC触发路由策略 bug 的变更合并进网络自动化代码仓库
2026-01-22 20:25 UTC自动化在迈阿密单台边缘路由器运行,开始向 transit/peer 异常宣告(IMPACT START)
2026-01-22 20:40 UTC网络团队开始排查迈阿密的异常 BGP 广告
2026-01-22 20:44 UTC事故升级,开始协同处置
2026-01-22 20:50 UTC操作员手动回滚坏配置,并暂停该路由器的自动化(IMPACT STOP)
2026-01-22 21:47 UTC触发泄漏的代码提交被回滚
2026-01-22 22:07 UTC确认自动化恢复健康,可重新在迈阿密路由器运行
2026-01-22 22:40 UTC迈阿密单台路由器解除自动化暂停

“删掉 Bogotá 的前缀”怎么删成了“全都放行”?

事故起点其实很合理:Cloudflare 之前会把一部分 IPv6 流量经迈阿密转发到哥伦比亚波哥大(Bogotá)数据中心,但随着基础设施升级,这个绕路不需要了,于是要把 Bogotá 相关前缀从迈阿密撤掉。

变更 diff 大概长这样(看着很“无害”对吧?):

[edit policy-options policy-statement 6-COGENT-ACCEPT-EXPORT term ADV-SITELOCAL-GRE-RECEIVER from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-COMCAST-ACCEPT-EXPORT term ADV-SITELOCAL-GRE-RECEIVER from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-GTT-ACCEPT-EXPORT term ADV-SITELOCAL-GRE-RECEIVER from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-LEVEL3-ACCEPT-EXPORT term ADV-SITELOCAL-GRE-RECEIVER from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-PRIVATE-PEER-ANYCAST-OUT term ADV-SITELOCAL from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-PUBLIC-PEER-ANYCAST-OUT term ADV-SITELOCAL from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-PUBLIC-PEER-OUT term ADV-SITELOCAL from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-TELEFONICA-ACCEPT-EXPORT term ADV-SITELOCAL-GRE-RECEIVER from]
-      prefix-list 6-BOG04-SITE-LOCAL;
[edit policy-options policy-statement 6-TELIA-ACCEPT-EXPORT term ADV-SITELOCAL-GRE-RECEIVER from]
-      prefix-list 6-BOG04-SITE-LOCAL;

问题就出在:把 prefix-list 条件删掉后,策略项的匹配条件变得过于宽松,直接变成了“只要是 internal route-type,我就 accept,然后对外 export”。

policy-options policy-statement 6-TELIA-ACCEPT-EXPORT {
    term ADV-SITELOCAL-GRE-RECEIVER {
        from route-type internal;
        then {
            community add STATIC-ROUTE;
            community add SITE-LOCAL-ROUTE;
            community add MIA01;
            community add NORTH-AMERICA;
            accept;
        }
    }
}

这里有个 JunOS/JunOS EVO 的坑点:route-type internal 会匹配所有非 external 的路由类型,包括 IBGP 学到的内部路由。于是本来只想“内部可见”的 IPv6 前缀,被这条 export policy 直接放行对外广播了。

一句话:原来靠 prefix-list 当“门禁”,删了门禁后,剩下的条件相当于“只要你是小区住户,就能把快递站里的所有包裹搬出去”——策略写得再“优雅”,accept 一落地就成了事故开关🔘。


影响面:拥塞、丢包、延迟上升,还顺带“误伤”外部网络

当迈阿密开始对外宣告这些不该宣告的 IPv6 前缀后,互联网路由收敛会让部分流量被吸到迈阿密。结果就是:

  • 迈阿密—亚特兰大骨干链路出现拥塞,导致一些 Cloudflare 客户流量出现更高的延迟/丢包
  • 被泄漏的前缀所属网络(外部网络)的一部分流量也被引向迈阿密,但 Cloudflare 路由器的防火墙过滤器只允许 Cloudflare/客户相关前缀的流量,导致这部分流量被丢弃(峰值约 12Gbps)

image

image

同时,路由泄漏的证据也能在路由收集器的历史数据里看到,比如这段 monocle 检索结果(注意 AS path 中 Cloudflare AS13335 出现在不该出现的位置上):

➜  ~ monocle search --start-ts 2026-01-22T20:24:00Z --end-ts 2026-01-22T20:30:00Z --as-path ".*13335[ d$]32934$*"
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f077::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f091::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f16f::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f17c::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f26f::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f27c::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113609.854028|2801:14:9000::6:4112:1|64112|2a03:2880:f33f::/48|64112 22850 174 3356 13335 32934|IGP|2801:14:9000::6:4112:1|0|0|22850:65151|false|||pit.scl
A|1769113583.095278|2001:504:d::4:9544:1|49544|2a03:2880:f17c::/48|49544 1299 3356 13335 32934|IGP|2001:504:d::4:9544:1|0|0|1299:25000 1299:25800 49544:16000 49544:16106|false|||route-views.isc
A|1769113583.095278|2001:504:d::4:9544:1|49544|2a03:2880:f27c::/48|49544 1299 3356 13335 32934|IGP|2001:504:d::4:9544:1|0|0|1299:25000 1299:25800 49544:16000 49544:16106|false|||route-views.isc
A|1769113583.095278|2001:504:d::4:9544:1|49544|2a03:2880:f091::/48|49544 1299 3356 13335 32934|IGP|2001:504:d::4:9544:1|0|0|1299:25000 1299:25800 49544:16000 49544:16106|false|||route-views.isc
A|1769113584.324483|2001:504:d::19:9524:1|199524|2a03:2880:f091::/48|199524 1299 3356 13335 32934|IGP|2001:2035:0:2bfd::1|0|0||false|||route-views.isc
A|1769113584.324483|2001:504:d::19:9524:1|199524|2a03:2880:f17c::/48|199524 1299 3356 13335 32934|IGP|2001:2035:0:2bfd::1|0|0||false|||route-views.isc
A|1769113584.324483|2001:504:d::19:9524:1|199524|2a03:2880:f27c::/48|199524 1299 3356 13335 32934|IGP|2001:2035:0:2bfd::1|0|0||false|||route-views.isc
{trimmed}

别再迷信“自动化=不会错”

这次事故最扎心的一点是:自动化没有坏,坏的是策略生成逻辑里那个“空条件”缺口。自动化把错误放大得更快、更一致、更“全自动”,所以也更需要“刹车系统”。

Cloudflare 的改进方向很有代表性,基本可以当成网络自动化团队的“安全 checklist”:

  • 立刻修补路由策略自动化里导致错误放行的缺陷,并在同类风险点上补洞
  • 在路由策略里加更强的基于 BGP community 的防护:对外 export policy 上明确拒绝“来自 peer/provider 的路由”
  • 在 CI/CD 里做自动化策略评估:重点抓“空/错误的 policy term”(像这次就是删 prefix-list 后 term 还 accept)
  • 提前告警:更早发现配置异常与自动化变更的负面效应
  • 更长期的路由安全:验证并推进 RFC9234(BGP Roles / Only-to-Customer)等机制,从“协议能力”层面降低本地 AS route leak 的概率
  • 促进 RPKI ASPA 之类能力的采用,让异常 AS path 更容易被自动拒绝

结语

网络世界最怕的不是“改配置”,是“改配置还以为没事”😅

这场 25 分钟的泄漏,杀伤力并不靠持续时间,而靠 BGP 的传播速度 + 流量的惯性。更现实的是:只要系统允许“内部路由被 accept 并 export”,那就等于把“内部车道”直接连到了高速入口——迟早会堵。

真正能让系统更稳的,不是“以后小心点”,而是工程化地把风险钉死:

  • 关键策略项不能出现“条件被删空但仍 accept”
  • 对外 export 必须能识别并拒绝来自 peer/provider 的路由
  • 自动化要配“策略单测 + 变更评估 + 审计与回滚”三件套

毕竟,互联网的路由不是你家路口的指示牌,摆歪了,整座城市都可能跟着绕路。😵‍💫


喜欢就奖励一个“👍”和“在看”呗~

image

由于大厂研发出身,技术选型上我还是有些追求,目前我的项目使用 cloudflare/vercel 部署前端接入层,用 GKE 部署后端服务,很多人也会用到 redis ,如果从网络延迟来考虑服务之间的部署,应该首选 google 的 redis 服务,然后通过内网直连达到最低的延迟,但是 google 太贵了光是 GKE 就已经有一笔成本了,还没赚到钱就不想花这么高的成本再去一个边缘的服务上去,推荐一家几乎免费的 redis 服务商 upstash 首先他们提供了免费额度:存储 256 MB 的数据,每月可以发出 500 000 次命令,默认最大数据库数量是 1 个。这免费的门槛可能就够你用了,如果你有多个服务,之间需要隔离的话,需要注意的一点是他们不支持 redis db 的选择,默认只有一个 db ,要薅羊毛你可以用多个账号,每个账号创建一个 redis 实例。付费的话也很目前我从 GKE 的 us-central1 通过公网链接到 upstash 的实例在首次链接建立后,通过长连接执行 command 的延迟是 1ms ,几乎和内网没什么区别。upstash 首先他们提供了免费额度:

存储 256 MB 的数据,每月可以发出 500 000 次命令,默认最大数据库数量是 1 个。

这免费的门槛可能就够你用了,如果你有多个服务,之间需要隔离的话,需要注意的一点是他们不支持 redis db 的选择,默认只有一个 db ,要薅羊毛你可以用多个账号,每个账号创建一个 redis 实例。

付费的话也很便宜,如果你也嫌管理太多账号太麻烦,可以选择按使用量计费( PAY AS YOU GO ):

1 、按每 100 000 次约 0.20 美元计费(这个价格是读写命令总和,不包括某些内部操作命令)

2 、存储空间按每 GB 大约 0.25 美元计费(每个数据库第一个 GB 通常免费)

3 、带宽月度前 200 GB 免费,之后按每 GB 大约 0.03 美元收费

我的服务使用 redis 量很小,这么算几乎一个月只需要不到 10 块钱人民币,这个成本比起 google 要低太多了,它还有其他高阶套餐这里留给大家自己去探索吧。

目前我从 GKE 的 us-central1 通过公网链接到 upstash 的实例的 us-central1 地区,在首次链接建立后,通过长连接执行 command 的延迟是 1ms ,几乎和内网没什么区别。


垂死病中惊坐起,爬虫偷走了你的信息 ww!

可能就是很单纯的… 把邮箱… 放在简介,然鹅就算 202X 年了还有人靠电子邮箱发广告和垃圾邮件,虽然眼不见心不烦,哎爬虫怎么这么坏

就是这些坏东西的方法很多… 真的很多,古早时候就有把 @写成 #的邪法,就以上面那个 Demo 为例,它本身就自带 cloudflare 有形的大手,首先,cf 会编码 "可能是像电子邮箱的东西",任何能够执行 js 的浏览器会自动解码它,更别提人机验证了,直接把目录填进安全规则托管质询

不过能 "折腾就折腾",有没有什么更神奇的方法,不依赖现有的基础设施,而且很方便?有的有的,这是工作量验证

原理

这种工作验证基于 AES,ChaCha32 等对称加密算法和一串摘要值,密码被故意设计成弱口令,这使得用户可以靠猜测比对推出密码

在个别 pow 验证码中也提供了这类小组件,为了效率,通常使用 WASM,JS 好写

因为是反爬虫所以也不需要很高强度的防护,大战 GPU 这种(X)

简单实现

找哈基米写的,就很舒服 (√)

弱口令的产生方法是公开的,为了防止预先推出就加上了一串公开的 uuid 合并为一个 key,加上了一些改进

用来反爬也没什么问题


↑ Demo


📌 转载信息
原作者:
arch_linux
转载时间:
2026/1/24 06:44:59

[菜鸟教程] 零基础 Cloudflare 优选教程 继续讨论:
之前看到有佬友问本优选是否有为一些地区 / 运营商配置特定的节点.
其实 saas.sin.fan 一开始就有为特定的城市配置特定的节点,例如海南移动,电信东北地区…

经过测试,部分 DNS 无法正确返回我们的 GeoDNS 配置,以下是兼容性列表.
列表较长,可以使用 ctrl+f 快速跳转到你使用的 DNS.

阿里云 (saas.sin.fan 的托管服务商):

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

腾讯云:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

Google:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

Cloudflare:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

OpenDNS:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

114.114.114.114:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

360:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

百度:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

字节跳动:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

CNNIC:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

OneDNS:

  • 此服务商可以根据运营商返回对应的节点
  • 此服务商可以根据省级地区返回对应的节点
  • 此服务商遵循 saas.sin.fan 配置的节点权重设置

📌 转载信息
原作者:
MIYUSAMA
转载时间:
2026/1/21 22:32:37

上篇搭了个 HTTPS 入口,这篇继续部署 CLIProxyAPI 作为 API 网关,让 Claude Code 能用上更多模型。

架构

走 Cloudflare 橙云代理,源站跑 Docker。

部署

写了个一键脚本:CLIProxyAPI AWS EC2 一键部署脚本・GitHub

准备工作:

  • EC2 能 SSH、有 sudo

  • Cloudflare DNS A 记录指向 EC2 IP,开橙云

  • 安全组放行 2096

执行:

 # 下载脚本 mkdir -p ~/cli-proxy && cd ~/cli-proxy

curl -fsSLO https://gist.githubusercontent.com/xrf9268-hue/18c81e1c5225aa2e6541a52deeabbe82/raw/cli-proxy-setup.sh

curl -fsSLO https://gist.githubusercontent.com/xrf9268-hue/18c81e1c5225aa2e6541a52deeabbe82/raw/cli-proxy-config.yaml

curl -fsSLO https://gist.githubusercontent.com/xrf9268-hue/18c81e1c5225aa2e6541a52deeabbe82/raw/cli-proxy-docker-compose.yml

# 执行安装 chmod +x cli-proxy-setup.sh

./cli-proxy-setup.sh install --domain your.domain.com

脚本会自动装 Docker、生成自签证书、随机 API Key、拉镜像起服务。Key 会打印在屏幕上,记一下。

Provider 登录

部分 Provider 需要 OAuth 登录。回调端口只绑 127.0.0.1,得用 SSH 通道。

 # 开通道(保持不关)

ssh -L 51121:127.0.0.1:51121 <user>@<host>

# 在通道里执行登录(以 antigravity 为例) sudo docker compose -f ~/CLIProxyAPI/docker-compose.yml exec cli-proxy-api ./CLIProxyAPI --antigravity-login --no-browser

会输出授权链接,本地浏览器打开、登录、授权完成。

Claude Code 配置

 export ANTHROPIC_BASE_URL="https://your.domain.com:2096" export ANTHROPIC_AUTH_TOKEN="你的key" export ANTHROPIC_DEFAULT_OPUS_MODEL="gemini-claude-opus-4-5-thinking" export ANTHROPIC_DEFAULT_SONNET_MODEL="gemini-claude-sonnet-4-5-thinking" export ANTHROPIC_DEFAULT_HAIKU_MODEL="gemini-claude-sonnet-4-5" 

测试:

 # 用 jq 格式化

curl "https://your.domain.com:2096/v1/models" -H "Authorization: Bearer 你的key" | jq

# 或用 python

curl "https://your.domain.com:2096/v1/models" -H "Authorization: Bearer 你的key" | python3 -m json.tool

能返回模型列表就成了。


📌 转载信息
转载时间:
2026/1/20 17:38:37

原公益节点帖子

mihomo (clash) ECH 订阅地址

这个地址仅供测试,它无法改动,只支持 mihomo (clash) https://download.nature.qq.com/SnsShare/Windy/1768620180_b65eb5ff_ech-mihomo

前言

公益节点的域名,用的人一多,就会被墙,我注册了好多域名,也死了一堆,在不断抗争中不断头大。

抗封锁的进展

这几天在 TG 群里看到 CMLiussss 更新了 v2ray/mihomo/singbox 一些 ECH 相关的功能。

ech 是什么?

ech 就是把你真实访问的目标加密传给 cloudflare,
但是 cloudflare 能解密真实目标,对外只知道你往 cloudflare-ech.com 连接。
全球大量免费的 cloudflare 套餐都强制开启 ech,
墙如果杀掉 cloudflare-ech.com 会导致大量误伤。
所以目前看还是挺稳的

存在的问题

但是 sing-box/xray/shadowRocket(小火箭) 等软件,需要固定的 ech 密钥,cloudflare 的 ech 是四个小时一变,就算要做订阅,也是需要设置 4 小时更新一次,用起来不是很方便。

推荐的方法

mihomo (clash 系列的继承者) 能自动抓取 ech 密钥,非常方便。


订阅里依然使用 sni.111000.de5.net 这个被大部分地区屏蔽的域名,但不影响使用。

推荐客户端

安卓端:ClashMetaForAndroid v2.11.22 Releases · MetaCubeX/ClashMetaForAndroid · GitHub

苹果端:clash mi ‎Clash Mi App - App Store

PC 端 / 路由器 (nikki),基本都能更新内核,更新到 v1.19.18 及以上版本即可。


📌 转载信息
转载时间:
2026/1/18 09:41:59

引言:加入 L 站以来,小白也算是慢慢折腾,了解机场 VPS 等一系列网络基础设施概念后,尝试自己当一回赛博工人,借鉴大伙的智慧,手把手从里到外开始建站,装点一下属于自己的博客。再就是自己在 L 站也水了太多,没有自己的产出,督促自己写一篇文档,记录自己折腾的日子。整篇文档仅供参考,望大家轻喷。

参考资料:
1.[教程] Cloudflare 单域名 SaaS 优选教程。让 Cloudflare 不再成为中国减速器,最低延迟低至 10ms!
2. 菜鸟教程零基础 Cloudflare 优选教程
3.0 成本 10 分钟用 Cloudflare + GitHub + Astro 搭建一个全球秒开、永久免费的顶级个人博客

技术栈简要

  • 博客托管:Netlify(稳定、免费、支持 Astro SSR)
  • 优选传输:Cloudflare SaaS(免费证书、自定义主机名)
  • 智能分流:DNSPod(国内优选,海外直连)

当然整个搭建过程也不是一帆风顺的,在我看来并不是按照大佬们的操作指示,一步一步来就会成功,这其中涉及到许多概念的理解,感谢新时代的 AI 技术为我答疑解惑。接着来分别阐述一下为什么选这些技术栈,具体技术就不做介绍了,这里着重说明为什么选 A 而不选 B 此类的问题。

整体流程

[ 用户浏览器]
      |
| 1. DNS查询: "主站在哪?"
v
[ DNSPod 智能解析 ] | |
| (国内用户) | (境外用户)
| 2a. 返回【优选IP】 | 2b. 返回【官方Anycast IP】
| (来自 saas.sin.fan) | (来自 cloudflare 回源域名)
v v
[ Cloudflare 边缘节点 ] <================================+ |
| 3. 携带请求头: Host: 主站
| 识别 SaaS 证书, 建立加密连接 (TLS)
|
| 4. 触发 Fallback Origin (回源后备)
| 通过内部骨干网转发至: 回源域名
v
[ Netlify 目标服务器 ] |
| 5. 匹配 Domain Alias (域名别名)
| 确认 Host: 主站域名是“自己人”
|
| 6. 读取 Astro 构建的静态文件 (dist)
| 返回数据 (且不触发 301 重定向)
v
[ 用户浏览器 (成功渲染) ]

用简单的词汇描述一下整个过程,总的来说需要四个域名,其中两个是我们自己准备并托管的(A 和 B),另外两个分别是第三方服务分配或者维护的(C 和 D),我们只需要拿来用即可:

  • 主域名 A(店面招牌):相当于你经营了一家店,大家记住了你的店名,全世界的人都根据这个店名来访问,只提供了一条引路的作用,在资源访问等涉及效率方面没有优化
  • 回源域名 B(内部通道):托管在 Cloudflare 上(后文简称 CF ),因为 CF 在世界范围内有大量机房(距报告说的是每天 20% 的流量都会从它家走,还是很恐怖的),加上 Anycast 技术可以让你接入延迟最低的 CF 网络。由于主域名 A 不在 CF 托管,CF 默认不让进门,于是需要一个 “内部员工” B 来为 A 担保,相当于访问 A 也可以走 CF 专线了
  • 优选域名 C(专业导航):由三方大佬维护,既不存博客内容,也不管店名,作用是每天都去看哪条路接入 CF 是最快的,然后把这些最快的路告诉你们,实现绕过公网堵塞,实现秒开
  • pages 域名 D(内容仓库):在各种平台站托管时会给你分配一个 pages 域名,这是真正存放博客网站源文件的地方,只负责把网页内容通过回源域名 B 输出去

总结:数据怎么跑的?

  1. 用户看你的招牌(A)
  2. 招牌(A)根据导航(C)的建议,把用户引向最快的 CF 大门
  3. 大门(CF)看到是自己人(B)担保的请求,立即放行
  4. 大门内部通过专线去仓库(D)获取网页内容
  5. 原路返回用户

博客托管

这里解决的是博客存储在哪的问题,刚开始时我以为博客文件都要存在 VPS 服务器上,然后请求的数据流是 [主机 → VPS],后来我才发现静态博客大多采取第三方托管的方式,这里比较有名的托管服务有 Cloudflare Pages, Netlify, Vercel, GitHub Pages 等等。

首先尝试了 Cloudflare Pages,但 Cloudflare Pages 的问题在于,不托管在 Cloudflare 上的域名无法添加到 Pages 主页的自定义域名,具体情况如下图所示。

Cloudflare Pages 行不通,就去看看别人家。由于我搭建博客的时候阅读了 Astro 的官方文档,其中建议我在 Netlify 进行托管,后续的操作中我也就这么做了,整体没有遇到 Cloudflare 那样不认域名的问题,在此不赘述有关 Netlify 具体如何托管博客站,文档非常明白。

图:Astro 官方推荐的托管方式

图:在 Netlify 托管可以手动添加三方域名

优选传输

为什么采取两个域名分开托管的方式?

这是由 CF 自己的托管逻辑决定的,一旦你开启了小黄云托管,CF 会自动接管域名流量,分配一组 Anycast IP,但在 CF 内部,用户是无法修改这一部分的 IP 的,也就是说无法根据外部线路实现动态优化,在大陆内的访问无法得到保障。

在这样的情况下,引入 CF 的 SaaS (Custom Hostnames)服务,即使我们的主域名不在 CF 托管,只要有一个回源域名在担保,也可以给主域名访问提供加速和 SSL 证书。

主域名在 CF 外,我们可以自己定义 DNS 怎么解析,分线路优化。回源域名在 CF 内,保留了海外访问加速通道。

具体到我的情况,我的主域名是在阿里云购买的,然后在 DNSHE 免费申请了一个.de5.net 的域名当回源,藏在后面的域名,不用太好看,能用就行。

图:DNSHE 免费域名

下列为托管的具体步骤,参考了 MIYUSAMA 的贴菜鸟教程零基础 Cloudflare 优选教程,自认为非常详细了,几乎一模一样,有不懂的可以问问 Gemini 等 AI,然后实在不知道的,我有空看到了也会回复大家。

智能分流

一开始我的主域名托管在阿里云上的,毕竟就是从阿里买的,平台的技术力也毋庸置疑,但是用着用着发现,阿里云 DNS 解析没办法指定海外线路,这一点在分流的时候影响还挺大的。相比而言,同样免费套餐的腾讯 DNSPod 默认有海外线路解析。

图:阿里云免费版不支持选取境外解析线路

图:DNSPod 解析列表有境外解析选项

DNS 托管迁移很简单,以我从阿里云托管到腾讯为例,首先找到腾讯的 NX 服务器,一般来说是一对,然后填入阿里云的 NX 服务器配置就行了,这一步的作用是,腾讯告诉阿里,我拿到了这个域名的解析权,后面你就不用管了。

优选结果

图:优选前,DNS 解析权托管在 CF 上

优选后,DNS 解析托管在 DNSPod 上,加速线路分别交给 CF 和 saas.sin.fan (看起来好像没什么变化)

失败的尝试

cloudflare 优选域名加速个人博客求助

L 站很多帖子是对子域名进行优化,技术路线是:CF 回源域名 + CF Pages + 主域名阿里云解析,这一套方法在我尝试下来行不通,原因和前文提到的一样,无法将托管在其他平台上的主域名,加入到 Pages 的自定义域名列表中。

Gemini 给出过解决方案,重写 rules 或者 用 workers,主要思路是改 Host 头为主域名,但实际没有成功过,只能访问回源域名,然后主域名解析不到内容,我猜测原因是在同一个 CF 账号下,Pages 的自动路由策略会干扰 SaaS 的手动回源策略,导致回源域名根本拉不动 Pages 的内容。

图:Gemini 的胡说八道

结束语

技术在于折腾,看起来好像没啥提速效果,但是从整个网络数据流走向,以及架构方面,我有了很多新的收获,也感谢 L 站的各位积极分享!


📌 转载信息
转载时间:
2026/1/14 17:59:59

Cloudflare 通过实施基础设施即代码和自动化策略执行,消除了数百个生产账户中的手动配置错误,每天处理大约 30 个合并请求,并在部署前而不是事件发生后捕捉安全违规。

 

公司的 Customer Zero 团队面临一个关键问题:单一配置错误可能在几秒钟内传播到 Cloudflare 的全球边缘,可能会导致员工被锁定或生产服务瘫痪。在这种规模下,对数百个账户进行手动仪表板管理为人为错误创造了太多机会。

 

该解决方案的核心是将所有基础设施配置视为代码,进行强制性的同行评审和自动化安全检查。现在,每个生产变更都要经过一个验证管道,该管道在部署前执行大约 50 个安全策略。团队仍然使用仪表板进行分析和可观测性,但关键的生产变更需要提交与用户、工单和自动化合规性检查相关联的代码。

 

根据 Cloudflare 团队的 Chase Catelli、Ryan Pesek 和 Derek Pitts 的说法,这种左移方法将安全验证转移到开发的早期阶段,在补救成本最低时捕捉问题。该模型防止事件发生,而不是对事件作出响应,同时通过让团队相信他们的变更是合规的,从而实际上提高了工程速度。

 

实施以TerraformCloudflare Terraform Provider为中心,集成到一个自定义的持续集成和部署管道中,该管道在Atlantis上运行并与GitLab集成。所有生产账户配置都存储在一个集中的单体存储库中,各个团队作为指定的代码所有者拥有和部署他们的特定部分。

Cloudflare 的基础设施即代码数据流图

 

一个名为 tfstate-butler 的自定义 Go 程序充当 Terraform 的 HTTP 后端,充当安全状态文件代理。该设计通过确保每个状态文件的唯一加密密钥来优先考虑安全性,从而限制了任何妥协的潜在爆炸半径。

 

策略执行使用Open Policy Agent框架和Rego语言来验证安全要求。策略在每个合并请求上自动运行,并以两种模式运行:允许部署并带有评论的警告,或者完全阻止变更的拒绝。异常处理需要基于 Jira 的正式批准,然后是一个拉取请求来记录偏差。

 

迁移揭示了扩展基础设施扩展即代码(Infrastructure as Code)的关键教训。最初,由于团队之间的 Terraform 熟练程度不同,进入门槛很高,阻碍了最初的采用。cf-terraforming 命令行实用程序,它自动从 Cloudflare API 生成 Terraform 代码,通过消除手动资源导入,显著加速了上手速度。

 

当团队在事件期间进行紧急仪表板变更时,配置漂移就会出现,从而使 Terraform 状态与部署配置不同步。Cloudflare 实施了自动漂移检测,该检测连续比较状态文件与部署配置,并在检测到差异时自动创建具有服务级别协议的补救工单。

 

Cloudflare Terraform Provider 落后于 API 能力,因为 Cloudflare 的快速产品创新速度超过了 Terraform 的支持。v5 提供者版本通过从 OpenAPI 规范自动生成代码,解决了这个问题,保持了产品 API 和基础设施代码能力之间的持续对齐。

 

左移模型展示了组织如何在保持严格的安全治理的同时扩展基础设施即代码。通过将验证从反应性审计转移到主动自动化检查,Cloudflare 既提高了安全性,又提高了工程速度。

 

许多公司正在采用左移方法。谷歌云指出,在生产中定位安全问题可能导致重大的财务处罚,例如高达全球收入 4%的 GDPR 罚款。通过自动化 CI/CD 安全检查进行早期检测可以大大降低补救成本,减少对架构更改的需求。OpsMx指出了实施障碍、自动化差距、复杂工具和组织孤岛等挑战,同时强调使用 NIST 和 OWASP 等框架的自动化策略执行可以帮助团队识别和优先考虑风险,而不会给开发人员带来负担。根据Splunk的研究,73%的公司认为缺乏自动化是他们在左移实践中的主要挑战,但 AI 驱动的工具正在通过智能自动化迅速改进安全测试,采用率在短短一年内从 64%体升到 78%。

 

左移运动已经超越了简单地将安全检查提前。组织现在正在追求通过自动化扫描(SASTSCADAST、秘密管理)、策略即代码执行和 AI 驱动的漏洞优先级排序进行持续的安全验证,在现有的工作流程中为开发人员提供即时、可操作的反馈。

 

原文链接:

https://www.infoq.com/news/2026/01/cloudflare-security-shift-left/

全新版本,可能有点问题(但我目前没发现)如果有的话麻烦佬友提 issue 或者 pr 了

大致使用就是接入 OIDC 后,
首先新建渠道

然后创建个配置,定义一下模型输入和输出格式就好


然后添加以下渠道

如下是一些配置项:
Cursor 自带的 Opus-4.5 带 thinking 的模型名称为
claude-4.5-opus-high-thinking
不带 thinking 的叫
claude-4.5-opus-high

其中响应处理器 [“thinkingTags”] 的作用是将响应的 reason 转为 content 中的 … ,如此就能在 Cursor 中展示思考内容

仓库地址:GitHub - NickJerome/tiny-ai-api-hub

虽然最后的目标是想实现 Claude Code 也可用(测了下好像可以,但是感觉哪里怪怪的)


📌 转载信息
转载时间:
2026/1/14 11:03:21

国务院开展外卖市场竞争调查评估

1 月 9 日,国务院反垄断反不正当竞争委员会办公室宣布,对外卖平台服务行业市场竞争状况开展调查、评估。

该部门负责人表示,近段时间以来,外卖平台服务行业拼补贴、拼价格、控流量等问题突出,挤压实体经济,加剧行业「内卷式」竞争,社会各方面反映强烈。本次调查评估将通过现场核实、当面访谈、问卷调查等方式,深入了解外卖平台竞争行为,广泛听取平台内经营者、新就业群体、消费者等各方意见,全面调查市场竞争状况,组织开展分析论证,传导监管压力,提出处置措施。

随后,美团、淘宝闪购均发文表示将积极配合。

此前在 2025 年 2 月,京东进军外卖业务,成为外卖补贴战的起点。阿里在 4 月底宣布入局参战,并将淘宝天猫旗下即时零售业务「小时达」升级为「淘宝闪购」,高调补贴外卖,并在 7 月 2 日进一步宣布 500 亿元补贴计划。面对竞争,美团也随之跟进,加入补贴。

对此,2025 年 5 月和 7 月,市场监管总局会等部门两次约谈饿了么、美团、京东三家企业。9 月,市场监管总局组织起草《外卖平台服务管理基本要求(征求意见稿)》,并在 12 月作为推荐性国家标准实施,对商户管理、收费与促销行为、用工管理及争议处理等作出规定。


Claude Code 封禁第三方兼容工具接入

1 月 9 日,Anthropic 确认已部署技术措施,禁止以流行终端 AI 编程工具 OpenCode 为代表的第三方应用伪装成其官方工具 Claude Code 接入模型,打击规避商业 API 费用的行为。

对此,Anthropic 解释称,第三方非授权接入引发了难以诊断的技术故障,导致平台稳定性下降。此外,有 xAI 员工利用 Cursor IDE 大规模调用 Claude 辅助自家模型研发,违反了 Claude 服务条款中关于禁止使用其服务构建竞品的排他规定。

然而,社区讨论普遍认为,经济考虑才是此次封禁的主要动机。Claude Max 订阅计划定价为 200 美元,订阅者可获高额用量。相比之下,如果通过按量计费的 API 调用同等规模算力,月成本极易超过 1000 美元。

面对封锁,OpenCode 迅速推出了每月 200 美元的 OpenCode Black 服务,转而通过企业级 API 接入 Claude。


知名开源框架 Tailwind CSS 受 AI 影响大幅裁员

知名开源 CSS 框架 Tailwind CSS 的开发商 Tailwind Labs 本周证实,受 AI 的「残酷冲击」,公司被迫裁减四名开发团队成员中的三名,即整个团队的 75%。CEO Adam Wathan 透露,虽然 Tailwind CSS 的使用量正以创纪录的速度增长,但公司营收却暴跌近 80%,若不重组,公司资金预计将在六个月内耗尽。

Wathan 指出,AI 编程工具的普及改变了开发者的工作习惯,导致官网文档页面的访问量在两年内下降了 40%。Tailwind Labs 的主要商业模式是向访问文档的开发者销售「终身买断制」的 Tailwind UI 组件库和模板。由于开发者现在直接通过 AI 获取代码,不再需要访问官网,也不需要购买付费组件库,上述商业模式难以为继。

Tailwind CSS 发布于 2019 年,是最受欢迎的 CSS 框架之一,许多 AI 模型擅长编写其代码,并且倾向于主动使用该框架。

Wathan 是在近期的一起 GitHub 社区争议中公开该情况的。此前,有贡献者提议优化文档格式,以便于大语言模型抓取和学习,但被 Wathan 拒绝。他解释称,让 AI 更容易免费获取内容会使业务「更加不可持续」,并可能导致项目因无人维护而成为「废弃软件」,并说明了上述背景。

该裁员消息引发技术社区广泛讨论,并引起了对行业巨头使用开源项目、用开源代码训练 AI,却不给予回报的批评。Vercel 和谷歌 AI Studio 随后宣布成为 Tailwind CSS 的赞助商。


伊朗发生大规模断网

据新华社报道,当地时间 1 月 8 日晚 8 时左右,伊朗首都德黑兰互联网服务出现中断。监控全球上网情况的国际非政府组织 NetBlock ,伊朗正在实施全国性网络管制,这与多地持续的抗议活动相关。Cloudflare 的路由信息显示,伊朗的 IPv4 链接在 8 日到 9 日期间大幅下降,此后略有恢复;IPv6 链接则完全归零。(IPv6 流量在技术上较 IPv4 更难审查。)

据《卫报》援引专家分析,此次断网在覆盖范围和技术手段上均创下新高,导致该国约 90% 的网络流量瞬间消失。此次断网实施了白名单机制,例如伊朗最高领袖哈梅内伊仍能在 X 发帖。

除断网之外,伊朗境内国际长途通话被阻断,移动通信服务全面瘫痪,大部分地区处于无信号、无服务的数字真空状态。曾在 2022 年抗议期间维持通讯的星链(Starlink)卫星互联网系统,此次也受到针对性信号干扰。


Cloudflare 遭意大利罚款,威胁停止冬奥会网络安保服务

近日,意大利通信管理局(AGCOM)因 Cloudflare 未能配合该国「反盗版盾牌」(Piracy Shield)系统屏蔽盗版内容,对其处以 1400 万欧元(约合 1.14 亿元)罚款。对此,Cloudflare 威胁将停止为即将到来的 2026 米兰—科尔蒂纳冬奥会提供网络安全服务,并考虑全面撤出意大利市场。

意大利实施的反盗版盾牌法案要求,互联网服务商在收到版权方举报后,必须在 30 分钟内无条件封锁涉嫌侵权的 IP 地址和域名。该系统自 2024 年启用以来在技术界备受争议,批评者指出其自动化封锁机制缺乏透明度,要求 DNS 解析器在极短时间内进行封锁,极易导致误伤合法网站。例如,其此前曾因误封 Google Drive 等合法服务,造成大范围网络中断。

Cloudflare CEO Matthew Prince 在 X 上激烈抨击该机制是「缺乏司法监督的审查计划」,指责其试图迫使 Cloudflare 的公共 DNS 服务(1.1.1.1)在全球范围内执行封锁,而非仅限于意大利。Prince 表示将坚决上诉,并计划下周前往华盛顿和洛桑,分别与美国政府及国际奥委会(IOC)商讨此事。

作为反制措施,Prince 列出了四项潜在行动:终止为冬奥会提供的数百万美元公益网络安全支持、停止向所有意大利用户提供免费服务、移除在意大利境内的所有服务器,以及取消在当地设立办事处的投资计划。鉴于冬奥会将于 2 月 6 日开幕,若 Cloudflare 此时撤出,可能导致赛事面临严重的网络攻击风险。


iOS 26 升级率低于过往版本同期水平

据网络流量分析机构 StatCounter 发布的数据,在 2026 年 1 月,全球范围内仅有约 15% 至 16% 的活跃 iPhone 运行 iOS 26‌,仍有超过 60% 的设备停留在 iOS 18。

基于这些数据,‌iOS 26 ‌的使用率似乎不到前几代系统在相同时间后的四分之一。例如,StatCounter 2025 年 1 月的数据显示,在 iOS 18 发布约四个月后,约有 63% 的 iPhone 运行着该系统的某个版本。2024 年 1 月,iOS 17 在类似时间段内达到了约 54% 的使用率,而 iOS 16 在 2023 年 1 月前已有超过 60% 的使用率。

StatCounter 的估算源自网络流量分析,通过全球参与其统计的网站页面追踪操作系统版本。采用不同统计方法的网站给出了不同数据。例如,TelemetryDeck 显示 iOS 26 有 60% 的使用率,而 iOS 18 仍有 37% 的使用率。

知名苹果资讯网站 MacRumors 表示,去年一月的第一周,89.3% 的访客使用 iOS 18 版本。而今年同期,只有 25.7% 的读者在使用 iOS 26 版本。由于苹果官方尚未公布数据,真实的 iOS 26 普及率尚不得而知,但这些数据表明,用户对 iOS 26 的犹豫程度是近年来前所未有的。


看看就行的小道消息

  • 据社交媒体消息,国产 Linux 发行版统信 UOS 的董事长因着装原因解雇了一名内核工程师。该公司最近临时通知员工年会必须自备西装参加,而一位负责 Linux 内核开发的骨干工程师在群里问了句「没西装怎么办」,董事长随后将其解雇。
  • 据网友近日咨询招商银行客服获得的说法,招行旗下 Visa 信用卡 1 月 15 日起可绑定至苹果 Apple Pay。此前在中国内地,Apple Pay 只能绑定银联借记卡、信用卡。此前,苹果已修改 Apple Pay 支持卡列表文案,从原本的表述「银联信用卡和借记卡」改为「银行卡」。
  • Wccftech 声称,从几家捷克电商的网站数据发现,Steam Machine 的 512GB 版本售价约为 19,826 捷克克朗(约 6,622 元),2TB 版本的售价约为 22,305 捷克克朗(约 7,450 元)。不过,欧洲地区的电子产品零售价通常包含约 20% 的增值税,且第三方零售商往往会添加额外的渠道溢价。
  • 1 月 11 日,近日受到关注的独居安全应用「死了么」团队就应用名称和开始收费的决定回应称,感谢网友对于新名称的积极建议,团队都会认真研究和考虑;为了让项目能够健康、持续地发展,并覆盖日益增长的短信、服务器等成本,将基于成本推出 8 元的收费方案。同时,团队也欢迎更多资本方关注和联系,会选择最能助力项目成长的机构或个人进行合作;最后,想呼吁更多人关注独居群体,给予他们更多关怀与理解。在「死了么」app 中,用户需要设置紧急联系人并签到,若连续多日没在应用内签到,系统将于次日自动发送邮件告知紧急联系人。


少数派的近期动态

  • 年末「夯」一下!少数派 2025 年度盘点正式上线
  • 少数派会员年终福利来袭,引荐比例限时上调至 15%,邀请好友享 85 折入会优惠。参与活动
  • 好玩又实用,还有迪士尼授权配件可选,少数派「扭扭宝」充电宝火爆开售。来一个试试
  • GAMEBABY for iPhone 17 Pro & 17 Pro Max 系列现已上市。进一步了解
  • 《蓝皮书》系列新版上架,一起探索全新 iOS 和 macOS 的精彩。试读并选购


你可能错过的好文章


    主要用来解决纯前端发起 api 请求时的 cors 跨域问题,直接透传给目标 api

    支持在线调试,为了防止大串 base64 干扰,Body 里会显示高亮占位符,真实请求时自动替换为图片 base64


    📌 转载信息
    原作者:
    fish2018
    转载时间:
    2026/1/11 08:37:04

    参考:

    省流:

    1. https://tunnelbroker.net 创建隧道
    2. 解析 ipv6/64 地址,得到一个很丑的 *.ip6.arpa 域名
    3. 前往 dash.cloudflare.com ,添加域名,激活
    4. 回到 https://tunnelbroker.net ,查看隧道,找到下面的 rDNS,把 cf 提供的 Nameserver 填进去,一共两个,点 Save
    5. 片刻后,去 cf 手动触发一次激活验证,刷新几下
    6. 在 cf 复制 ZoneID、GlobalKey、你注册 cf 的邮箱地址,在终端执行 (出处):
    curl --location --request PATCH 'https://api.cloudflare.com/client/v4/zones/<你的区域ID>/ssl/universal/settings' \
    --header 'X-Auth-Email: 你的CF注册邮箱' \
    --header 'X-Auth-Key: 你的CF全局APIKey' \
    --header 'Content-Type: application/json' \
    --data-raw '{"enabled":true,"certificate_authority":"ssl_com"}' 

    更换 SSL 证书签发商(仅在 cf 有效)
    7. 这样你就得到了一个很丑的 17 级域名
    8. 关于 “无限” 的玩法:使用 he.net 获取近乎无限且永久的域名 - Lim's Blog

    理论上讲,只要是支持 ipv6/64 rDNS 的都可以

    玩玩即可,不要滥用,滥用会封号

    The hostname is part of a banned domain. This web property cannot be added to Cloudflare at this time. If you are an Enterprise customer, please contact your Customer Success Manager. Otherwise, please email abusereply@cloudflare.com with the name of the web property and a detailed explanation of your association with this web property.

    已经被 cf 拉黑了…


    📌 转载信息
    原作者:
    Clancy
    转载时间:
    2026/1/11 08:30:56

    家里的宽带,打电话开通了公网 IP ,所以需要定时更新公网 IP ,防止重启后 dns 记录不更新。因为是托管在 cloudflare 上的域名,没有找到现成的工具,所以自己用 github copilot 写了一个脚本。自己测试了一下,比较符合预期:

    ./ddns_sync_public_ip.sh --setup-cron
    

    添加到定时任务里面,就不用管了,默认每 5 分钟同步一次。

    注:优惠券 30 天使用期限
    注 2: 可以免费 push, 开号与注册域名几乎无限制

    之前的 eu.cc. 可以托管到 cf 了

    域名邮箱注册就能领三张免费注册 eu.cc 一年的优惠券,应该是不能用来续费,手机号地址随便填就行,可托管到 cloudflare


    📌 转载信息
    原作者:
    Yinli
    转载时间:
    2026/1/6 19:23:41

    上集回顾:[公益 + 开源] BetterClaude:更流畅的 Claude 使用体验,代理公益站如 Anyrouter

    1) 更新重点:结合 Axisnow GTM 做 “智能路由再优化”

    这次升级的核心,是把入口域名做成全局调度 + 边缘执行的架构:

    用户依旧只需要记一个域名,但系统会按地区把流量调度到更合适的节点。

    Axisnow GTM 文档(可复制):自建 CDN 并优化中国访问 | AxisNow Docs

    架构图

    架构解读

    1. 入口层 (Entry Layer)
      • 用户始终访问统一顶级域名:betterclau.de
    2. 全局调度层 (GTM Layer)
      • betterclau.de 通过 CNAME 将 DNS 解析权转交给 gtm.betterclau.de
      • 这层是 “大脑”:根据用户来源 IP(地理位置 / 运营商特征)做初步分流
    3. 执行 / 边缘层 (Edge Layer)
      • 默认 / 海外路径(紫色):大多数地区 → cf.betterclau.de → Cloudflare
      • 优化 / 国内路径(绿色):大陆→ jp-01 / hk-01 等优化节点(国内线路更优,降低 RTT / 丢包)
    4. 安全
      • 如果 JP 和 HK 节点受到攻击,系统会停用亚太 CDN 节点,回退到 CF 节点来进行防御。

    简单说:用户只访问一个入口,但 “入口会自己把你送到最适合你的那条路上”。


    2) 使用方式

    方式 A:开源自建

    方式 B:直接用现成服务(最简单)

    规则非常简单:在原域名前加 BetterClaude 前缀即可。

    Claude 代理

    格式:https://betterclau.de/claude/{host}

    示例(anyrouter):

    原站: https://anyrouter.top
    加速: https://betterclau.de/claude/anyrouter.top
    
    

    OpenAI 代理(0.1+)

    Chat Completions:
    原站: https://api.openai.com/v1/chat/completions
    加速: https://betterclau.de/openai/api.openai.com/v1/chat/completions
    
    
    Responses API:
    原站: https://api.openai.com/v1/responses
    加速: https://betterclau.de/openai/api.openai.com/v1/responses
    
    

    Gemini 代理(0.1+)

    格式:https://betterclau.de/gemini/{host}/{path}

    示例(Gemini 官方):

    原站: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
    加速: https://betterclau.de/gemini/generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
    
    

    Gemini CLI 多种登录方式里,我只测了 API Key。Google Account / Vertex AI 是否完全可用不确定,欢迎经常用的大佬反馈。


    3) 运行统计 + 加速地址直达(12/25–1/5)

    公益站信息:https://linux.do/t/topic/1354149

    统计时间:从 BetterClaude 上线 2025/12/252026/01/05 截止。

    说明:

    • 成功率仅供参考,数据量可能因配置错误、速度测试等导致不准确
    • 速度测试接口会固定返回 401,可能影响成功率
    • 部分公益站通过 BetterClaude 的使用量不大,样本偏少
    • 如有公益站长不希望允许使用 BetterClaude 的服务,可以私信我。我会在 WAF 上面直接阻断对应域名。
    公益站地址 (Host)归属 / 名称总请求数量成功率BetterClaude 加速地址
    anyrouter.top(未知)157,27792.3%https://betterclau.de/claude/anyrouter.top
    runanytime.hxi.mehenryxiaoyang18,46889.1%https://betterclau.de/claude/runanytime.hxi.me
    wzw.pp.uaWONG 公益站11,13695.2%https://betterclau.de/claude/wzw.pp.ua
    free.duckcoding.comCyrus (鸭佬)6,28287.9%https://betterclau.de/claude/free.duckcoding.com
    elysiver.h-e.topByteBender92043.8%https://betterclau.de/claude/elysiver.h-e.top
    api.224442.xyzbeizhi (Wind Hub)62060.6%https://betterclau.de/claude/api.224442.xyz
    kfc-api.sxxe.netkkkyyx (不过减速带)28061.8%https://betterclau.de/claude/kfc-api.sxxe.net
    gyapi.zxiaoruan.cn钟阮18062.8%https://betterclau.de/claude/gyapi.zxiaoruan.cn
    api.dev88.techsc0152 (DEV88)11295.5%https://betterclau.de/claude/api.dev88.tech
    new.184772.xyzZeroLiya (小呆)9240.2%https://betterclau.de/claude/new.184772.xyz
    welfare.apikey.ccfreenessfish8273.2%https://betterclau.de/claude/welfare.apikey.cc
    api.mitchll.comMitchll6795.5%https://betterclau.de/claude/api.mitchll.com
    api.hotaruapi.topmazhichen 等四位大佬4897.9%https://betterclau.de/claude/api.hotaruapi.top
    aidrouter.qzz.ioTechnologyStar25100.0%https://betterclau.de/claude/aidrouter.qzz.io
    ai.zzhdsgsss.xyzSimonzhu1580.0%https://betterclau.de/claude/ai.zzhdsgsss.xyz



    📌 转载信息
    转载时间:
    2026/1/5 16:19:30

    DNSHE 为全球开发者、学生和开源爱好者提供免费域名服务
    ✓ 无需信用卡绑定
    ✓ 无隐藏费用
    ✓ 支持全类型 DNS 记录解析
    ✓ 即时上线各类数字项目
    https://my.dnshe.com

    ・初始额度:可注册 3 个域名


    选择后缀,开始注册


    注册后登录 CloudFlare
    https://dash.cloudflare.com/login
    加入域,输入域名 → 选择 Free 套餐 → 继续前往激活


    选择免费计划


    回到 DNSHE 配置


    配置 DNS 将下列的内容复制进去
    margaret.ns.cloudflare.com
    nikon.ns.cloudflare.com


    继续前往激活


    任务完成


    📌 转载信息
    原作者:
    user554
    转载时间:
    2026/1/4 12:26:43

    开发者可以在本地环境,通过 Web 端管理和交互 Cloudflare 资源。

    功能点:

    * D1 Database Studio:浏览数据库表、运行 SQL 查询(带语法高亮)、编辑/增删数据行。
    * KV Browser:查看、编辑和批量删除键值对 (Key-Value),支持 JSON 格式。
    * R2 File Manager:类似于对象存储管理,支持浏览、上传、下载和删除存储桶中的文件。
    * Queue Inspector:监控队列消息,并支持发送测试消息。
    * Durable Objects:查看活跃的 DO 实例并检查其状态。
    * Zero Config:自动读取项目中的 wrangler.toml 配置文件。
    

    📌 转载信息
    原作者:
    sunnysun
    转载时间:
    2026/1/4 12:17:50

    〇. 前言

    文本教程面向建站新手,因此会跳过一些对新手来说难以理解的信息,也会不厌其烦的讲解一些重要内容。如果你认为本文过于笼统,说明本文不适合你.

    本文默认你已经完成了 Cloudflare 的接入部分。如果你连接入 Cloudflare 都不会,本文对你来说没有意义,请退出.

    一。接入了 Cloudflare, 我的网站就不怕 CC/DDoS 了吗?

    先说结论: 并不是 , Cloudflare 的五秒盾 (交互式质询 / JS 质询) 是可以被绕过的.
    通常情况下,Cloudflare 会给通过质询的浏览器下发一个名为 cf_clearance 的 cookie, 同子网 (/24) UA 下的请求可以携带这个 cookie 直接在有效期内跳过质询。意味着攻击者可以在第一次请求时使用真实浏览器进行过盾,之后则直接进行自动化请求.

    同理,还有更多方法绕过 Cloudflare 的五秒盾。这里不再赘述.

    二。自助的付费计划对我来说有用吗?

    付费计划会提供更好的 TTFB, 以及更多的功能。以及 Cloudflare 托管的 WAF 规则。可根据自身网站的体量做取舍.

    注:如果你只是单纯想优化用户到边缘的连接速度,你其实并不需要购买付费计划。有关这部分内容,请参考 [菜鸟教程] 零基础 Cloudflare 优选教程 - 开发调优 - LINUX DO.

    三。基础的 WAF 规则配置.

    从这里开始就是正式的配置教程了.

    转到 Cloudflare 域面板中的 安全性 / 安全规则 下,本章节的操作会在这里进行.

    1. 为已知机器人跳过之后的 WAF 规则

    创建自定义规则,

    找到 已知自动程序,配置为是 (开)


    当然,你也可以手动选择允许的机器人类别。你可以在 此处 看到所有经过 Cloudflare 验证的机器人和其类别.

    往下滑,选择操作为跳过,注意放置位置一定要放到第一个

    完成后点击保存.

    2. 为你的 API 创建跳过规则

    如果你的网站没有需要外部服务器 / 用户调用的 API, 可以跳过此步骤.

    新建一个自定义规则,请根据你的 API 路径,方法 自行修改示例规则中的内容


    此段规则的表达式为

    (http.host eq "api.sin.fan" and 
    http.request.uri wildcard r"/api/pub/v1/users/*" and
    http.request.method eq "POST")
    

    如果要创建更多的路径,在该小节规则后接一个 OR 重复即可.

    往下滑,选择操作为跳过,位置应该放在上一个已验证机器人跳过规则后.


    请注意,这些 API 通常会被自动程序调用,因此还需要跳过 自动程序攻击模式.

    3. 质询可疑的请求

    这部分推荐还是自己写,这里给出几个建议.

    A. 从 radar 获得 ASN Bot 流量占比,并对高流量占比的 ASN 进行质询


    比如上面这些 ASN. 在之后我会单独提供一个现成的高 Bot 流量占比的 ASN 列表.

    B. 质询使用旧版本 HTTP 的请求

    此规则在我站点上的通过率仅为 0.07%
    [菜鸟教程] 零基础 Cloudflare 配置教程6
    表达式为

    (http.request.version in {"HTTP/1.0" "HTTP/1.1" "HTTP/1.2"})
    

    X. 可选:质询所有第一次访问网站的请求

    如果网站正在被攻击,可以使用此规则进行质询。此规则与 I'm under attack 模式的最大区别就是不会对 API 流量进行质询。因为 API 请求已经被之前的规则标记为跳过了.

    表达式为

    (http.request.uri wildcard r"/*")
    

    4. 限速策略

    创建一个限速策略规则,表达式为

    (not cf.bot_management.verified_bot)
    

    向下滑动,找到 当速率超过… 部分,
    你需要根据你的网站自行调整设置。可以根据以下步骤进行配置:

    1. 进入你的网站,按下 F12
    2. 转到网络选项卡
    3. 勾选关闭缓存检查框,按下 F5 刷新网页
    4. 待页面加载完成后,查看下方的数据

    [菜鸟教程] 零基础 Cloudflare 配置教程7
    我的网站一次访问需要 37 次请求,我假设我的用户会在 10 秒 内强制刷新 5 次 (ctrl+F5), 然后关闭缓存访问 5 个新页面,那么 10 秒 内的请求是 370 次。那么你应该在 请求 部分填写 370.

    向下滑动,如果你是 Free 计划,你的操作只能选择 阻止 10 秒.
    选择完成后点击保存.

    四。托管规则调整.

    转到 安全性 / 安全规则,选择 DDoS 保护 选项卡。创建替代
    [菜鸟教程] 零基础 Cloudflare 配置教程10

    规则集操作修改为阻止

    点击浏览规则,搜索 imp, 将操作全部改为阻止.

    搜索 likely, 将仅有的一条规则改为阻止.

    五。安全设置调整.

    转到 安全性 / 设置,本章节接下来的操作会在此页面完成.
    向下滑动,

    找到 质询通过期 设置,默认为 30 分钟。你可以根据需求调整为更短或更长的时间。本文之前提到过,攻击者可以通过合法的 cf_clearance cookie 跳过质询,因此不推荐将该时间设置的特别长,通常情况下默认的 30 分钟已经足够了。如果你需要一定的安全性,可以修改为 15 分钟.

    继续向下,你会找到 自动程序攻击模式 / 超级自动程序攻击模式.
    Free 中,此设置默认为关。可以开启.
    付费计划中,调整为如下设置

    提一嘴:此检查聊胜于无。只能拦截一部分唐逼脚本小子的 CC. 甚至经过我的测试,一部分提供免费 CC 服务中基础的 HTTP SPAM 中部分请求 (≈30%) 都能得到较高的 bot score.

    Free 中 自动程序攻击模式 的纯摆设,没啥作用.

    付费计划中,Cloudflare 会根据 TLS 指纹,ja4/ja3, IP 在 Cloudflare 数据库中的纯净度计算出一个 bot score. 通常情况下,已知的自动化请求会得 1 分,也就是 绝对自动化流量 , 但是目前的绝大部分爬虫都能自定义 TLS 指纹,UA, 以及有不是那么脏的 IP 代理池。甚至 itdog 的部分节点进行 HTTP 测速都能得到较高的分数 (>1 分).
    在 Pro 中允许对 =1分 的请求进行质询或阻止,Business 中允许对 2-29分 的请求进行阻止或质询.

    六。速度优化

    转到 速度 / 设置
    点击启用所有可用设置。然后转到 内容优化 选项卡.

    向下滑动,可以考虑是否开启 Cloudflare Fonts 优化。如同 Cloudflare 的介绍,这会内联并缓存 Google Fonts.

    向下滑动,可以考虑是否开启 Rocket Loader 优化。此选项会异步执行你的 JS 脚本,从而加快页面渲染的速度。对 WP 站有奇效。但是此设置也有可能导致部分依靠 JS 脚本的功能损坏。你可以根据 Cloudflare 的文档 忽略单个脚本.

    七。缓存优化

    1. 配置

    转到 缓存 / 配置

    向下滑动,找到 浏览器缓存 TTL 选项,此设置影响一个文件在浏览器中的缓存时长。通常可以修改为更长的时间,例如 14 天 甚至更长.

    向下滑动,找到 Crawler Hints 选项,设置为开.

    2. 缓存规则

    转到 缓存 / Cache Rules

    新建规则,选择 缓存默认文件扩展名 模板,这些都是默认的静态文件,通常可以设置更高的边缘缓存 TTL 和 浏览器缓存 TTL.
    设置完成后,点击保存.

    默认情况下,cloudflare 不会缓存没有后缀名的文件 / HTML 文件,因此通常情况下,你不需要单独为 API 路径设置一个绕过规则.

    3. Tiered Cache

    转到 缓存 / Tiered Cache

    设置为开.

    八。规则修改

    转到 规则 / 设置
    修改设置如下

    九. SSL 设置.

    转到 SSL/TLS/ 概述

    通常情况下,推荐设置为完全,你需要在源服务器上配置一个 SSL 证书 (推荐使用 Cloudflare 的自签名源服务器 SSL 证书).
    为了安全,你还需要关闭服务器的 80 端口并限制 443 端口只能被 Cloudflare 的 IP 访问.
    通常推荐在服务商防火墙进行设置,如果你的服务商没有提供防火墙,则直接使用服务器防火墙即可,以下是 ufw 命令示例.

    sudo ufw allow from 173.245.48.0/20 to any port 443
    sudo ufw allow from 103.21.244.0/22 to any port 443
    sudo ufw allow from 103.22.200.0/22 to any port 443
    sudo ufw allow from 103.31.4.0/22 to any port 443
    sudo ufw allow from 141.101.64.0/18 to any port 443
    sudo ufw allow from 108.162.192.0/18 to any port 443
    sudo ufw allow from 190.93.240.0/20 to any port 443
    sudo ufw allow from 188.114.96.0/20 to any port 443
    sudo ufw allow from 197.234.240.0/22 to any port 443
    sudo ufw allow from 198.41.128.0/17 to any port 443
    sudo ufw allow from 162.158.0.0/15 to any port 443
    sudo ufw allow from 104.16.0.0/13 to any port 443
    sudo ufw allow from 104.24.0.0/14 to any port 443
    sudo ufw allow from 172.64.0.0/13 to any port 443
    sudo ufw allow from 131.0.72.0/22 to any port 443 
    sudo ufw allow from 2400:cb00::/32 to any port 443
    sudo ufw allow from 2606:4700::/32 to any port 443
    sudo ufw allow from 2803:f800::/32 to any port 443
    sudo ufw allow from 2405:b500::/32 to any port 443
    sudo ufw allow from 2405:8100::/32 to any port 443
    sudo ufw allow from 2a06:98c0::/29 to any port 443
    sudo ufw allow from 2c0f:f248::/32 to any port 443 

    转到 SSL/TLS/ 边缘证书
    向下滑动,开启 始终使用 HTTPS 选项。修改 最低 TLS 版本 为 TLS 1.2.

    至此,本文教程就告一段落了。你已经完成了 Cloudflare 的基础设置.


    📌 转载信息
    原作者:
    MIYUSAMA
    转载时间:
    2026/1/3 12:00:42