TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Technical Challenges of Building Cloudflare Warp

66 pointsby migueldemouraover 5 years ago

5 comments

eloffover 5 years ago
This looks like an impressive accomplishment, and I&#x27;m glad Cloudflare got the idea before Google did, because the latter are very interested in hoovering up every shred of data about me to better target their ads. I&#x27;ll install 1.1.1.1 and give it a try.<p>However, I had to previously uninstall 1.1.1.1 after I found it draining my battery. I had a few mysterious instances of my phone dying a day early, and I couldn&#x27;t figure it out until I found it warm one day and dug into what was using the CPU while idle. Turns out it was 1.1.1.1. I uninstalled it and the problem went away. I very much hope that&#x27;s been identified and fixed by now (I use Android on a Pixel One.)
评论 #21070729 未加载
ignoramousover 5 years ago
Super interesting [0][1].<p>Re: NAT and source port changes<p>I am experimenting building a similar tech but on AWS. To use anycast, I front my Wireguard servers in multiple regions with GlobalLoadAccelerator and set ClientAffinty to two-tuple (source-ip, destination-ip) instead of the default 5-tuple (source-ip and port, destination-ip and port, protocol).<p>Re: Network switch (WiFi to Cellular and Mobile IP)<p>This one stings. I haven&#x27;t impl it yet, if ever I get to the scale to warrant such a design: I was thinking abt sticky routing the traffic using only the destination port (of the wireguard server). At the time of new connection establishment (VPN turned on &#x2F; off), ask the app server for a port to use and use that. On the server end, have one beefy wireguard server serving a range of ports per region behind the anycast load balancer, so that the balancer has no choice but to send the incoming to that single server that is serving incoming destination port. Use the usual IP route commands to send the traffic along to approp exit server depending on the actual destination IP (now that wireguard has decrypted the packet).<p>Re: Clients:<p>I&#x27;m predominantly focusing on Android, and the I&#x27;ve found things work differently across OEMs. It is just too much work. I have gone with the workaround that Blokada so wonderfully uses: employing a watchdog, heartbeat, keep-alive service, and aggressive wake-ups for some of the common problems across OEMs.<p>[0] Google&#x27;s paper on NetworkLoadBalancer is simply amazing: <a href="https:&#x2F;&#x2F;ai.google&#x2F;research&#x2F;pubs&#x2F;pub44824&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ai.google&#x2F;research&#x2F;pubs&#x2F;pub44824&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;ai.googleblog.com&#x2F;2015&#x2F;08&#x2F;pulling-back-curtain-on-googles-network.html?m=1" rel="nofollow">https:&#x2F;&#x2F;ai.googleblog.com&#x2F;2015&#x2F;08&#x2F;pulling-back-curtain-on-go...</a>
theobeersover 5 years ago
I subscribed to WARP+ just to support your work. Keep it up! I see mixed comments on HN about Cloudflare’s increasingly central role, and I get that, but my feeling at this point is still positive.
toshover 5 years ago
Wireguard + Rust<p>&gt; After considering and testing several more modern options, we landed on WireGuard®. WireGuard is a modern, high performance, and most importantly, simple, protocol created by Jason Donenfeld to solve the same problem. Its original code-base is less than 1% the size of a popular IPsec implementation, making it easy for us to understand and secure. We chose Rust as the language most likely to give us the performance and safety we needed and implemented WireGuard while optimizing the code heavily to run quickly on the platforms we were targeting. Then we open sourced the project.
fjniover 5 years ago
Can someone explain the WARP+ section? First, it says<p>&gt; [argo continually monitors] thousands of routes over the Internet between our data centers. That data builds a database which maps every IP address range with the fastest possible route to every destination.<p>and then they seem to assert that this is impossible with https traffic because the tcp payload is encrypted. For routing, as I understand it, none of the payload should have to be inspected... what am I missing?
评论 #21090764 未加载