We introduced Kitesurf, our stateless browser for AI agents that runs entirely on top of Workers, in August and followed up in September with WebMCP support, new APIs, and improved compatibility. On every occasion, we mentioned our commitment to open sourcing it so that developers could run their own browser engine on their own Cloudflare accounts if they want to.
That promise is now real. Kitesurf is open source on GitHub under the Apache 2.0 license. You can read the code, run it locally, change it, and deploy your own instance to Cloudflare Workers.
Kitesurf runs entirely on Cloudflare Workers. It parses HTML, applies CSS, executes page JavaScript, and renders screenshots without a browser container. It supports the Chrome DevTools Protocol (CDP), so you can connect clients such as Puppeteer.
Our main goal is to give AI agents a lightweight, efficient browser — one that can load websites, execute JavaScript, and interact with pages while using less CPU and memory than a full browser like Chromium, and scaling on demand across Cloudflare’s global Workers network.
Read more about why and how we built Kitesurf in our initial announcement and how to use Continue reading
Over the last month, the number of Large Language Model (LLM) penetration testing and orchestration frameworks has exploded. Just a few weeks ago, ARTEX — an open source agentic penetration testing system that automates offensive security workflows — was the only framework available. In just the last three days, we have seen over 50 framework families attempt to scan Cloudflare customers globally. The number of Internet Protocol (IP) addresses seen running these frameworks has grown into the thousands and continues to increase daily. The proliferation of these frameworks has significantly changed the status quo in cyber defense: defenders are struggling to keep up with the volumetric nature of these autonomously guided attacks.
ARTEX was taken down by its creator Autumn-27 on October 8. (“The malicious exploitation of this tool runs entirely counter to its original intent,” they wrote in Chinese.) But in the month since, the ecosystem has exploded with new fragmented versions of it. There are now over 12,000 repositories, with several hundred unique forks containing lineage from the original repository. Additionally, hundreds of other similar agentic orchestration frameworks have been created since October 8. Daily requests of AI penetration testing (pentesting) and exploitation tools has grown by 30x since October 1. Continue reading
Spend controls have been at the top of the list of most requested features from developers building on our developer platform for quite some time now. With more than 10 million developers now building on Cloudflare, this matters more than ever.
Although we’ve had usage notifications and budget alerts available to paid plans for a while, this doesn’t solve the problem completely; informing is not the same as controlling.
You can now set spending thresholds and choose to have Cloudflare pause activity when those limits are reached, thus avoiding unexpected bills from unplanned usage. Today, we're introducing Spend Management in Beta, for any pay-as-you-go (PayGo) customer, starting with Workers and Durable Objects.
Use Spend Management alongside AI Gateway spend limits to manage compute and AI inference costs across your application. AI Gateway already supports per-user and per-model budgets for Workers AI and other AI providers, applied to requests routed through your gateway.
You can start using Spend Management using the dashboard, cf CLI, or REST API.
In the dashboard, head over to Manage Account > Billing > Spend limits and enable the products for which you want to control spending.
When you enable controls on a Continue reading
Brian Trammell joins Alvaro Retana and Russ White to discuss his IETF draft Optional Security Is Not An Option, and why optional security is very difficult to deploy in practice. Brian blogs at http://trammell.ch and also writes at APNIC.
download
A reader asked how he could access the Routing in EVPN Fabrics videos, and the simplest thing for me to do was to make all the videos in the EVPN webinar public. Almost twelve hours of EVPN goodness is waiting for you.
You probably noticed that I always ask AI to generate some weird image to go with the “free videos” blog posts. This time, ChatGPT made an extra comment ;)
Dalam beberapa tahun terakhir, salah satu topik paling panas di industri otomotif global adalah rencana penghentian penjualan mobil baru bermesin pembakaran internal di Eropa pada 2035. Kebijakan ini tidak hanya menjadi isu lingkungan, tetapi juga persoalan ekonomi, teknologi, tenaga kerja, dan strategi industri jangka panjang. Bagi sebagian pihak, langkah ini adalah terobosan penting untuk mempercepat transisi menuju transportasi rendah emisi. Bagi pihak lain, kebijakan tersebut menimbulkan kekhawatiran soal biaya, kesiapan infrastruktur, dan masa depan pabrik mobil tradisional.
Eropa memang dikenal sebagai wilayah yang agresif dalam mendorong target iklim. Dengan tekanan untuk menurunkan emisi karbon, sektor transportasi menjadi salah satu sasaran utama. Mobil penumpang menyumbang bagian besar dari polusi udara perkotaan dan emisi gas rumah kaca, sehingga peralihan ke kendaraan listrik dianggap sebagai solusi paling realistis dalam jangka menengah.
Istilah “larangan mesin bensin” sering terdengar sangat absolut, tetapi kenyataannya lebih kompleks. Yang dibahas adalah penghentian penjualan mobil baru yang menghasilkan emisi karbon dari mesin pembakaran internal, bukan pelarangan total semua kendaraan bensin yang sudah beredar. Artinya, mobil lama masih bisa digunakan di banyak negara sesuai aturan yang berlaku, meskipun ruang geraknya bisa makin dibatasi melalui pajak, zona emisi Continue reading

This post is part of an ongoing series on Ansible, and you can find all the other posts in the series here.
I'm writing this post as part of my Ansible for Network Engineers series. But if you've just stumbled across this post without reading the previous parts, you should still be able to follow along. I won't go into detail on everything we've already covered, such as inventory, variables, loops, and handlers, but I'll point you to the relevant parts where it helps.
Earlier in the series, we built the OSPF topology below using Cisco routers, and we've also looked at configuring OSPF on Juniper. Now it's Arista's turn. The reason I keep coming back to this OSPF topology is that it's a great way to cover a lot of topics in one go. With six routers and three OSPF areas, we get to work with interfaces, IP addressing, OSPF areas, passive interfaces, and router IDs, and it gives us a good excuse to use a range of different modules and config commands along the way. It also makes it really easy to compare how each vendor does things differently, since the network itself stays exactly the same.

Cloudflare recently announced Meerkat, an experimental distributed consensus service designed to manage our internal global control plane. It is powered by a new consensus algorithm published by researchers Tennage & Băsescu et al. called QuePaxa (2023).
QuePaxa is an unusual choice; most consensus systems use well-established consensus algorithms like Raft, (Multi-)Paxos or Viewstamped Replication. These algorithms are well understood, have mature implementations, and usually work well.
Unfortunately, common consensus algorithms often suffer in wide-area networks with volatile network connectivity and latency, i.e., networks like the Internet, which is where Meerkat runs. These algorithms rely on a single leader process being available and having predictable latency. If the leader goes down, experiences higher latency than usual, or is disconnected, the entire consensus system slows down or becomes unavailable until the leader is replaced. This is unacceptable for Meerkat.
Meerkat’s global deployment environment led us to a newer consensus algorithm, QuePaxa, which promises better stability despite volatility, in large part by not relying on a leader to make progress. In this post we’ll explain why we chose QuePaxa and how the QuePaxa algorithm works.
Meerkat is a distributed system in which replicas agree upon Continue reading
New on the Network Tools page: a BGP Prefix-List and Policy Generator. You describe a BGP import or export policy once, get the configuration for Junos, Cisco IOS / IOS-XE or Cisco IOS-XR, and then test it against a list of routes before it goes anywhere near a router.
exact, orlonger, longer, le, ge, ge N le M, prefix-length-range. Length checks are just ranges: “too specific” is 0.0.0.0/0 ge 25, “too short” is 0.0.0.0/0 le 7 (which also catches the default route). IPv6 works the same way.route-filter-list and policy-statement terms. IOS gets prefix-lists, AS-path ACLs, community lists and a route-map with one sequence per term. IOS-XR gets prefix-sets, as-path-sets, community-sets and a route-policy that ends in an explicit done or drop.TL&DR: Third time is (supposedly) a charm. Not in this case.
It’s a bit hard to understand why one would launch an enterprise data-center-grade network operating system without candidate/active configuration in the 21st century, but that’s what Cisco and Arista did with Nexus OS and EOS. Arista fixed that omission with configuration sessions more than a decade ago1. It took Cisco a bit longer.
The first attempt was the so-called two-stage configuration commit, which is functionally almost identical to the Cisco IOS XR “candidate” configuration: