首页
学习
活动
专区
圈层
工具
发布

基于 Cloudflare Workers 构建高性能维基百科镜像服务:反向代理与 HTML 重写实践

⚠️ 说明:本项目仅用于技术研究与教育目的,所有内容均来自维基媒体基金会公开授权的开放知识,严格遵守其使用条款。...↓Cloudflare Worker(边缘执行) ├── HTML 请求 → 重写链接 + 短期缓存 ├── 静态资源 → 直接代理 + 长期缓存 └── 代理失败 → 自动回退...HTML 动态重写(HTMLRewriter)对于 HTML 页面,使用 Cloudflare 提供的 HTMLRewriter API,在流式响应过程中实时修改 DOM 属性:重写 、...部署与配置建议DNS 设置:将自定义域名(如 wikipedia.zyhorg.ac.cn)CNAME 到 *.workers.dev,并开启 Cloudflare 代理(橙色云);Worker 路由:...其核心价值在于:边缘计算:逻辑靠近用户,延迟更低;无服务器架构:免运维、自动扩缩容;流式处理:HTMLRewriter 实现零内存占用的实时重写;工程健壮性:缓存、回退、错误处理一应俱全。

27830

NGINX局限太多,Cloudflare最终放弃它并用Rust自研了全新替代品

“Cloudflare 将 NGINX 用于其提供的所有 Web 服务,并在世界各地的数千台机器上使用它作为反向代理服务器。”“我们选择 NGINX 主要是因为它的性能。”...连接重用会重复使用连接池中包含的原有连接,由此跳过建立新连接所需要的 TCP 和 TLS 握手,从而缩短 TTFB(第一字节时间)。 然而,NGINX 连接池是按 worker 划分的。...当请求到达特定 worker 时,其只能重用该 worker 之内的连接。...与旧服务相比,Pingora 将全体客户的每秒新连接使用量降低至三分之一。对其中一家主要客户,其连接征用率从之前的 87.1% 提升到了 99.92%,意味着新连接数量降低至原本的一百六十分之一。...我们几乎无法预测每秒要处理几百万条请求的分布式环境中可能发生哪些极端状况,毕竟模糊测试和静态分析根本就覆盖不到这样的场景。

90930
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    没有 NGINX 和 OpenResty 的未来:Cloudflare 工程师正花费大量时间用 Rust 重构现有功能

    这就是 Cloudflare 所面临的最大的问题。 长期以来,Cloudflare 一直依赖 Nginx 作为其 HTTP 代理堆栈的一部分。...另外,使用 gdb 获取 coredump 来执行分析也很困难,因为当大家注意到内存占用过量而开始写入硬盘时,进程内存已经增长到了可能令服务器崩溃的程度,这时候做什么都太晚了。...这也是个很难通过测试发现的问题,因为大多数时候响应的刷新速度是够的,背压并不会造成影响。...实际上,Cloudflare 工程师们决定在短时间内对数据进行“排队”,这样就不会因为提供速度超出处理速度而冲垮其他模块。...写在最后 Cloudflare 工程师对 Rust 表现出了极度的热爱,并在整个基础设施中使用它来获得内存安全优势、更现代的功能和其他优势。

    89010

    渗透测试中,如何绕过烦人的cloudflare

    Cloudflare作为全球领先的网络安全和性能优化服务提供商,其防护机制(如WAF、DDoS防护、Bot管理等)常成为渗透测试中的一大障碍,本文从实战角度出发,针对Cloudflare的防护体系,分享几个绕过...例如在Python中通过requests库设置动态UA头X-Forwarded-For伪造:通过反向代理(如Cloudflare Worker)添加X-Forwarded-For头,覆盖真实IP地址Cookie...复用与混淆:从合法会话中提取Cookie,或通过Selenium等工具模拟浏览器环境生成有效Cookie案例:通过自建Cloudflare Worker代理,注入自定义Header(如CF-Connecting-IP...反向代理与边缘节点利用Cloudflare Worker代理:注册免费域名并部署自定义Worker脚本,将恶意流量路由至Cloudflare边缘节点,利用其IP信誉绕过封锁Tor网络结合代理池:通过Tor...自动化工具与框架WAF指纹识别:使用WAFW00F或Nmap脚本(如http-waf-detect)识别Cloudflare规则版本,针对性构造Payload浏览器自动化:通过Selenium或Playwright

    2.5K10

    Google Drive网盘挂载

    3.在cloudflare worker进行部署 参考步骤 1.注册google、cloudflare账号 google:Google Driver(登录验证google权限,可获取一定免费额度) cloudflare...:进入Workers工作台,根据官网提示完成子域设定、付费计划确认、邮箱验证操作 子域设定:https://my-worker....则验证部署是否成功,直接访问路由即可 扩展 ​ 完成上述步骤后基本就完成了Google Driver挂载的基础流程,但这种快速部署的操作在高峰期可能会有相应的访问限制,因此可以构建基于自己的api部署,其构建思路说明如下所示...GDriver客户端需要借助Google Drive API,启用API后选择创建项目 随后创建一个OAuth客户端 ID,构建完成获取相应的client_id、client_secret 使用...,需要相应添加测试用户 ​ 会提示应用未经验证,正常确认即可,校验成功则显示如下内容 ​ 如果got code失败,则是代理问题,需要设置代理(部分可能需要配置代理环境变量、重启系统后生效

    5.5K21

    使用Cloudflare worker及KV实现一个投票应用

    由于我们只需要保存票数且没有闲置服务器可用,因此考虑通过 Cloudflare 的 Worker KV 来实现此功能。...后端实现步骤 1:创建 Cloudflare 账户首先,注册一个 Cloudflare 账户。步骤 2:创建 KV 空间登录后,创建一个新的 KV 空间,名称可以自定义。...步骤 4:创建 Worker在 Cloudflare 控制面板中创建一个新的 Worker。...步骤 5:绑定 KV 命名空间在 Worker 的设置中,进入 "变量" 选项,并将 KV 空间绑定到 Worker 中。你可以自由命名绑定的变量名,这里假设命名为 voteApp。...改进:处理并发问题为了避免并发请求时发生数据覆盖,可以使用 event.waitUntil 进行异步操作,从而确保投票数据更新时不会丢失。

    63600

    CloudflareVercel项目推荐(4)

    或许成长的本质就是这般奇妙,在实验室彻夜调试代码的坚持,在小组项目中磨合沟通的耐心,在失败时咬牙重来的勇气,最终都化作滋养我们向前的力量。...除了简单的可视化,它还可以实现滚动跟随,自动排序,嵌套解析等更多功能,欢迎大家自行测试!...下面是一个简单的示例网站,部署于Vercel平台,欢迎测试: 来自本站,本站可确保其安全性,请放心点击跳转 清羽飞扬の多端带壳截图 LiuShen's Blog 项目的功能很直观,支持添加或者去掉滚动条...下面就开始部署了,首先Fork原始仓库,登录CloudFlare创建Page项目,注意不要选成Worker了,然后选择刚才Fork的仓库,框架预设选择Vue,并成功设置变量,变量列表如下: # Cloudflare...API token # 网站访问密码 (不设置即无需密码访问) CLOUDFLARE_WEBSITE_PWD = # 可统计的白名单 格式: 域名,标识|域名,标识,多个站点使用|分隔 例如:

    63710

    【教程】使用 CF-Worker-Dir 在 Cloudflare Worker 上免费搭建导航网站

    使用 CF-Worker-Dir 在 Cloudflare Worker 上免费搭建导航网站,可以用这个替换掉浏览器自带的主页,自用还是比较香的!...首先了解一下 CloudFlare Worker 是 CloudFlare 提供的无服务器应用程序,有免费版,可以用来测试 JS 脚本 有大佬利用它开发了导航程序并开源,下面就教大家如何安装,非常简单!...Worker 的 index.js 中的代码 image.png 然后自己可以根据自身的需要修改代码中的内容,一般大佬们都可以看懂叭,如果实在不懂的话可以在评论中问我哦 现在就可以使用 CloudFlare...绑定域名 根据上文的搭建教程搭建完成之后,使用 CloudFlare Worker 提供的域名就可以进入我们搭建的导航页啦!...Worker 的名字即可 路由 所使用的域名地址必须已经解析好记录,如果没有能绑定的 IP 地址,可以输入 8.8.8.8 大法占位 至此,使用 CF-Worker-Dir 在 Cloudflare

    6.6K20

    CloudflareVercel项目推荐(5)

    ,但是如果需要数据,需要依赖于uptime-kuma工具才可以使用,稍微有点脱离主题,但是项目本身还是很优秀的,如果有需要欢迎使用!...介绍 来自本站,本站可确保其安全性,请放心点击跳转 清羽飞扬の每日一图 LiuShen's Blog 该项目是我通过python实现的简单脚本,通过每天中午十二点定时更新图片做到爬取每日图片,并且保持daily.webp...功能性项目 内容中转 部署方式: 前端:Cloudflare Worker、Vercel、Github Page、Tencent eo page等 后端:CF worker 介绍 引用站外地址,不保证站点的可用性和安全性...由于较为好玩,所以我搭建了一个供大家测试: 引用站外地址,不保证站点的可用性和安全性 清羽飞扬の临时聊天室 LiuShen's Blog 部署 只需要fork仓库,然后再在Cloudflare中导入即可...因为该项目本身不支持任何视频存储,主要是整合了网络上存在的一些影视接口以实现搜索和播放功能的,本身为纯静态网站,部署到任意平台甚至本地使用都是完全可以的。

    58300

    如何绕过CloudFlare的Bot保护机制

    CloudFlare提供了一个JavaScript Worker系统,可以帮助开发人员在CloudFlare服务器端执行代码。...这个功能对于静态站点和维护页面来说是非常常用有的,而且对于渗透测试人员来说,也是一个大大的“宝藏”(无服务器C&C、简易网络钓鱼代理等)。...代理的使用也非常简单,我已经在我的【https://github.com/jychp/cloudflare-bypass】上给大家提供了一个Python封装器,我们可以这样使用它: >>> from cfproxy...因此,我们需要向我们的CloudFlare防火墙添加一条规则: 现在,你就可以使用Tor并在不需要任何验证码的情况下向你的代理发送请求了。 此时,你可以向任何使用了CloudFlare的网站发送请求。...不过根据CloudFlare的说法,这并不能算是一个安全漏洞: 因此,你将能够使用免费的CloudFlare账号每天发送无数次请求来爬取你所需要的资源了,好好享受吧!

    7.9K20

    OpenGist--自部署代码片段保存项目

    寻找过程 pastebin-worker 首先说一下我的需求,我想实现分享文本,分享文件(不常用),设置有效期,具有管理面板可以管理所有文件,我也一直在找相关项目,刚开始,我在cloudflare上部署了...pastebin-worker项目,这个项目可以分享文件和文本内容,并且我提取了历史版本的项目,可以不依赖R2进行构建,非常实用,我部署的网站如下: ✅来自本站,本站可确保其安全性,请放心点击跳转 清羽飞扬...のpastbin LiuShen's Blog 这个项目基本满足我的需要,但是没有管理后台,因为是基于cloudflare,一方面文件大小和分享数量受到KV的限制,另一方面网速上也无法得到保证,所以这只是我的一个过渡项目...因为我想保证良好的访问速度,使更多的人可以看到我的网站。 下面我会分享这个项目的部署方法和使用教程。...cloudflare worker自建ghcr.io的转发代理并绑定域名,worker代码如下: ✅来自本站,本站可确保其安全性,请放心点击跳转 使用CloudFlare转发ghcr.io 清羽飞扬の代码片段

    34410

    绕过Cloudflare IP白名单限制的技术解析

    这通常是因为服务器配置为仅允许来自Cloudflare IP范围的流量,阻止所有其他连接。这种限制通常使用iptables、nginx配置或.htaccess文件等工具来实施。...方法1:使用Cloudflare WorkersCloudflare Workers是一个无服务器执行环境,允许你在Cloudflare的全球网络上运行代码。...以下是使用Cloudflare Worker作为反向代理的方法:前往Cloudflare Workers Playground使用以下代码创建反向代理:export default { async fetch..."反向代理期间出错:", error); return new Response("内部服务器错误", { status: 500 }); } },};点击执行代码绕过成功 :p这个Worker...然而,需要注意的是,这些技术应仅用于道德目的,例如渗透测试或安全研究。请继续关注"RIP Cloudflare"系列的下一部分,我们将探索更先进的技术来发现和绕过Cloudflare的防御。

    40310

    网络安全公司跨界数据库,Cloudflare推出云数据库产品D1

    因为Cloudflare有能力在接近用户的地方抵御各种各样的网络攻击。 总之一旦你愿意让Cloudflare替你服务,你自己就再也不用担心效率,扩展性,安全等各种问题了。...当然,Cloudflare的产品线很多,比如说,它提供了一个developer platform,里面有worker, KV,R2等等,这是用来开发serverless的APP的。...其中worker是计算平台,可以让Cloudflare自动帮助你去scale out到不同的云厂商去,KV是个KV store, R2是个兼容AWS S3 API的blob store 。...Cloudflare系统则会帮助其客户把数据和worker就近部署到用户访问的数据中心,这样用户的serverless APP就可以起到加速,扩展,安全保护等各方面的好处。...Cloudflare将来会发展成什么样,我还真的不好说。 但是就冲着其第一次发布了这样一款数据库产品,我觉得也值得我写篇文章介绍一下。毕竟一个网络安全公司出的数据库产品,想想也就挺有意思的。

    81630

    利用CF Works 免费搭建 Docker 镜像加速服务

    前段时间好多公开dockehrub镜像站不维护了,作为docker重度使用者拉镜像真是难了,网上好多教程都出了利用Cloudflare Workers 搭建 Docker Hub镜像加速服务,所以自己也搭建了一个...前提准备 一个Cloudflare账号,并且有一个域名托管到了Cloudflare上面,可以注册一些免费或者便宜的域名托管过去。注意 Worker 每天每免费账号有次数限制,为10万次。...开始部署 登录到CF的仪表盘 https://dash.cloudflare.com/,点击Workers-and-Pages > 创建应用程序 > 创建 Worker > 点击保存 >点击完成 > 编辑代码...uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; // 使用正则表达式测试...最后docker配置使用自己的镜像即可。

    2.7K11

    超适合小项目的 K8S 部署策略

    因为 Kubernetes 使用描述性格式,如此用户就可以很轻松地知道接下来应该运行哪些内容,如何部署构建块。此外,控制层也会正常处理节点故障并自动重新调度 Pod。...以下是减少的成本: Kubernetes 控制层:免费,因为谷歌不收取专家的费用; Kubernetes 工作节点:5.04 美元/月,3 个微节点通常为 11.65 美元/月,通过使用它们的可抢占性...本地设置 随着集群的启动和运行,我们就可以对其进行配置。通过 cloud.google.com/sdk/docs 的说明安装 gcloud 工具。...我们可以使用以下方法测试它是否在运行: kubectl get pod # you should see something like: # crystal-www-example-698bbb44c5...然后使用 Cloudflare API 库(github.com/cloudflare/cloudflare-go)同步 IP ,类似于: var ips []stringfor _, node :=

    3.2K30

    图床 CDN CNAME 接入 Cloudflare SaaS 实现分流

    相反国内的 DNS 服务商的分区解析就做得好,可能也是因为国内的域名更需要这种功能吧。 无法全心全意付出,又想去贴贴 Cloudflare,那就只能搞些奇技淫巧。...:正常使用无上限 Cloudflare R2: 10G/月; 100万/1000万请求 Backblaze B2: 10G/月; 与 Cloudflare 有 流量联盟 关于腾讯云的配置略过,这里只讲...https://images.eallion.com/eallion.jpg Worker 代理 Backblaze B2 其实有 R2 就够了,但是可能会因为各种各样的原因需要用到 B2。...Backblaze 官方也有文档介绍如何通过 Cloudflare Worker 访问 B2。...6、配置 Worker 路由 路由:一定要填生产环境用的域名,不要填 Cloudflare 的源域名; Worker:选择上一步创建的 Worker; 环境:Production。

    3.8K40

    Cloudflare官方事件报告(全世界就是个大的草台班子)

    该软件对功能文件的大小有限制,小于其两倍大小的限制。这导致软件运行失败。...使用权 从事件发生之初到 13:05 启动回滚程序之前,大多数用户都普遍遇到了身份验证失败的情况。任何现有的 Access 会话均未受到影响。...由于内部使用了 Workers KV,并且 Cloudflare Turnstile 已部署到我们的登录流程中,Cloudflare 控制面板也受到了影响。...第一次自动化测试于 11:31 检测到问题,人工调查于 11:32 开始。事件报告于 11:35 创建。...14:24 新文件测试完成。 我们观察到使用旧版本的配置文件可以成功恢复,然后集中精力加快全球修复速度。 14:30 主要影响已解决。下游受影响的服务开始出现错误减少的情况。

    23210

    CloudFlare实用项目推荐

    : name = "cloudflare_temp_email" main = "src/worker.ts" compatibility_date = "2023-12-01" # 如果你想使用自定义域名...需要注意,我们的域名需要有一个初始邮箱,如果没有,请点击域名,电子邮件,电子邮件路由,点击开始使用,并且继续: 然后配置路由规则,选择Catch-all地址选项,将所有邮箱的内容全部转发到worker:...文件及剪切板中转站 这个项目我找了很久,因为我没有信用卡,所以我无法注册R2,但是市面上很多的项目都升级到了R2,因为免费额度确实很高,于是我翻看源码并找到了两个项目的历史版本,最终筛选成一个,可以使用...请提前在cloudflare中创建好对应KV: name= "pastebin-worker" compatibility_date = "2023-11-28" account_id= "37d2a5b56518873c54dcdc0e1f96203c...清羽飞扬の内容中转站 LiuShen's Blog 如果长期使用还是建议自行部署,因为KV虽然免费,但是每日有限额。

    71820
    领券