My VPS provider's entire IP range got DDoS'd. So I learned XDP

💥 The Incident A few days ago, someone decided to DDoS the entire IP range of my Hong Kong VPS provider. My machine had fail2ban running. It did its job — maybe a little too enthusiastically. Within minutes it had banned over 20,000 IPs, allocating memory for each rule until the box ran out of RAM entirely and triggered a kernel panic. The VPS went dark… Great… :/ So here’s the irony: fail2ban didn’t fail because it was badly configured. It failed because of a fundamental architectural problem. Every packet in a flood still has to be received by the kernel, handed up the networking stack, and then evaluated before fail2ban can react. Under a real volumetric flood, that cost alone — tens of thousands of soft interrupts per second — is enough to saturate a single vCPU and collapse the machine before any rule can take effect. ...

February 24, 2026 · 6 min · 1268 words · Yunheng Liu

Vex Prep For Competition

I dropped my 🏊‍♂️ swimming team competition just to work at the 🤖 robotics club… AND I DON’T REGRET THAT CHOICE ONE BIT!!! (Coach Fiore, please forgive me 🙏). I think I’ve told you about our lab before, but sadly, I lost some posts during the migration of my blog site (so frustrating 😓). I’m both a coder 💻 and an engineer 🔧 on our team, which means I can literally do ANYTHING! If you’ve never heard of the VEX Robotics Competition, check this out: VEX Robotics Competition Introduction . (Trust me, everyone would love it! 😄) ...

January 23, 2025 · 2 min · 241 words · Yunheng Liu

My Servers and Why

Let me tell you about my servers! Right now, I’ve got several running—one in Hong Kong 🇭🇰 and others in the United States 🇺🇸 (One of them is my content delivery machine dedicated to this website). I host some fun stuff on them, such as some of my hobby projects like TinyUrls and Transcribly but mainly I use them to set up proxies so I can access YouTube and Google Scholars. ...

January 18, 2025 · 3 min · 619 words · Yunheng Liu