Urlx
an agent-made Rust replacement for curl/libcurl
Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.
Want to reach these readers? Sponsor an issue.
Recently several AI labs have published experiments where they tried to get AI coding agents to complete large software projects.- Cursor attempted to make a browser from scratch: https://cursor.com/blog/scaling-agents- Anthropic attempted to make a C Compiler: https://www.anthropic.com/engineering/building-c-compilerA few weeks ago I posted xmloxide, an agent-made Rust replacement for libxml2 made by pointing Claude code at the libxml2 test suite: https://news.ycombinator.com/item?id=47201816curl is arguably the most widely deployed software in the world. It's 180,000 lines of C with a history of memory safety CVEs. The curl project itself tried to address this by adding a rust-based HTTP backend using hyper, but after four years of work, they abandoned the effort in December 2024. Daniel Stenberg wrote that, "there simply were no users asking for it and there were almost no developers interested or knowledgeable enough to work on it".- Daniel Stenberg's blog post on dropping hyper: https://daniel.haxx.se/blog/2024/12/21/dropping-hyper/- Hacker News discussion: https://news.ycombinator.com/item?id=42478911The key insight from my xmloxide work was that an agent can iterate very quickly when given a comprehensive test suite as a specification. The majority of the development for urlx was done in two ~16 hour long iteration loops where claude code would implement some features, run the tests, and then plan what to do next. Towards then end I took a more manual approach telling it to analyze the remaining failures, make issues, and submit them to teams of subagents to fix.urlx now passes 1,300 of 1,300 applicable curl tests (100% pass rate). It supports HTTP/1.0-1.1, HTTP/2, HTTP/3 (QUIC), FTP/FTPS, SFTP/SCP, WebSocket, SMTP, IMAP, POP3, MQTT, DICT, TFTP, Gopher — with 261 CLI flags, authentication (Basic, Digest, NTLMv2, SCRAM-SHA-256, AWS SigV4), cookies, HSTS, proxy support (HTTP/SOCKS4/5/HTTPS tunnel), and a libcurl-compatible C ABI. There are some features still left to do that I might come back to.- GitHub: https://github.com/jonwiggins/urlx- crates.io: https://crates.io/crates/urlx-cli- Install: cargo install urlx-cli or brew install jonwiggins/tap/urlxThe same lesson from xmloxide applies here: when a project has a good test suite, an agent can use it as a specification and converge on a working implementation surprisingly fast. curl's test suite turned out to be an excellent spec, the hard part was already done by the curl contributors over 25 years.I don't expect anyone to replace curl with this, but I think there's something worth paying attention to in the pattern: take a well-tested project, point an agent at the test suite, and get a fast reimplementation. I think this also points to a need to adopt test-driven-development when using AI coding tools, as it allows them to iterate autonomously before needing human input. I also think this changes the economics of software development, what used to be a multi-year, multi-engineer commitment is becoming a task you can meaningfully attempt in days by setting up an agent to rapidly iterate on it alone.
HN · launched Mar 23, 2026 · 5 upvotes (top 89%) · 0 views
Niche: api generation and management tools · 64 launches, 1 in the last 7 days ▼ -80% · Explore this niche →
Category and tags
- Horizontal
- Dev tools
- Developer
- Not AI
- Hobby / open-source project
Visit website ↗ Source listing ↗
More like this: all 64 launches in api generation and management tools →
Could you build this?
No Re-implementing curl/libcurl involves vast RFC-compliant protocol implementations (HTTP/1/2/3, TLS, FTP, DNS, SOCKS) and cross-platform socket multiplexing.
What it would actually take: The project requires a networking stack written in Rust supporting multiple application protocols, custom state machines, TLS negotiation (via rustls or OpenSSL bindings), and HTTP/3 over QUIC. The difficult part is edge-case protocol conformity, proxy handling, connection pooling, and matching libcurl's extensive option interface and platform robustness across dozens of OS environments. It requires specialized protocol engineering and low-level networking knowledge.
Discussion
1 comment analyzed.
Concerns raised: Performance issues - excessive cloning in Rust implementation causes slowness
Feature requests: Optimize performance to reduce cloning overhead
Competitors
Other products that read as similar to this one : 659 launches clear the similarity bar, closest 8 shown.
Attention rank: #607 of 660 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 140 days after the earliest competitor.
- Xmloxide · hn · 2026-02-28 · 64 upvotes · similarity 0.72
- Letting Claude automate fleets of browser sandboxes · hn · 2026-03-03 · 6 upvotes · similarity 0.49
- We instrumented Claude Agent SDK using a tiny Rust proxy · hn · 2025-12-04 · 6 upvotes · similarity 0.48
- Pu.sh · hn · 2026-04-30 · 92 upvotes · similarity 0.48
- CodeRLM · hn · 2026-02-11 · 81 upvotes · similarity 0.46
- Maxxwell · hn · 2026-09-09 · 11 upvotes · similarity 0.46
- oxi · ph · 2026-10-13 · 2 upvotes · similarity 0.45
- Browser4 · hn · 2025-12-13 · 7 upvotes · similarity 0.45
The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.