About Me
I’m a medical undergraduate student who probably should have studied computer science instead. Life had other plans.
This blog exists because I kept running into problems, solving them, and then forgetting how I solved them. Writing things down turned out to be a better strategy than trusting my memory.
What You’ll Find Here
The content here is organized into four main areas, each born from a real rabbit hole I fell into:
🖥️ Blog Engineering
From Hexo to Astro—I’ve gone through the full journey of building and maintaining a static blog. Posts here cover everything from initial setup and theme installation to more advanced customizations I’ve built myself:
- A build-time AES encryption system for protecting specific posts behind a password
- A Live2D widget integration with Swup support
- Automatic deployment via rsync and SSH to a personal VPS
- Real-time last-modified timestamps using remark plugins
- A typewriter subtitle effect, sticky table of contents, runtime counter, and more
- Mobile optimization, friend links sidebar, and various Yukina/Astro-specific tweaks
If you’re running an Astro blog and want to add something specific, there’s a decent chance I’ve already figured out how.
🐧 Linux & Server Administration
Mostly things I learned the hard way while managing VPS instances. Topics include:
- Fail2ban for brute-force protection
- BBR congestion control on Debian 13 (the post-reboot persistence issue tripped me up)
- Disk mounting and ext4 reserved space management with
tune2fs - Debian 11 → 13 in-place upgrades without losing data
- Watchtower for automatic Docker container updates
- Iperf3 for accurate network throughput testing
- fio disk performance benchmarking with an automated test script
- tmux semi-automated session management to survive SSH disconnections
- Dynamic IP monitoring with Telegram notifications
- Cloudflare DDNS setup
🔀 Proxy & Network
This is actually where the whole server obsession started. Setting up proxy services led me to learn about traffic forwarding, routing, and subscription management:
- Realm — a high-performance traffic forwarder
- Sub-Store — subscription management for Clash/Stash
🎬 Media Library
Building a self-hosted media stack has been one of the more satisfying projects:
- Jellyfin setup from scratch with Rclone cloud storage integration
- Automated PikPak sync — a concurrency-safe Bash daemon with bandwidth throttling
- MetaTube for scraping media metadata
- Emby reverse proxy via Caddy for accelerating third-party Emby services
- Rclone automatic sync for keeping local and cloud storage in sync
The Honest Version
I’m a medical student who got into servers through proxy services, got into Linux through servers, got into blogging through Linux documentation, and then spent way too much time customizing the blog itself. The recursion is not lost on me.
I don’t claim to be an expert in any of this. Most posts here are solutions I found after hitting a wall—documented so that future-me (and maybe you) doesn’t have to hit the same wall.
If something I wrote helped you, that’s genuinely great. If it didn’t quite work for your situation, I’m sorry—but the path forward is the same one I always take: keep digging.
Thanks To
This blog wouldn’t exist without:
- Hexo Shoka theme — where the design inspiration started
- Astro Fuwari template — the main design concept and a good chunk of the implementation
- Yukina Theme — the current foundation everything is built on
Thank you for visiting. I hope you find something useful here.
All time is no time when it is past.
Total Posts
38
Category
6
Tag
23
Total Words
36,931
Reading Time
189 mins