Recently, I stumbled upon a new development from Xray through a recommended YouTube video. It’s called REALITY.

To be honest, I’ve been sticking with the architecture I adopted back in 2020, using Docker + Watchtower for automatic updates. It has been stable for two years, with the only modification being the addition of WARP support in April for accessing ChatGPT.

The last time I paid attention to Xray was during the V2Ray, Trojan, XRay saga in 2021. Curious about the latest developments, I visited the Xray project to find some clues among the various issues since the official website provided limited information.

After assessing the migration cost, I transitioned from V2Ray to Xray, maintaining the same overall architecture with Nginx as the proxy. The network tools changed, and I added new protocols such as VLESS, Vision, and gRPC.

Read more »


Recently, due to personal needs, I revisited domestic VPS and “Serverless” (Cloud Functions). Services that worked perfectly fine during local debugging encountered issues after submission—either dependencies couldn’t be installed, leading to the need to switch to domestic repositories one by one, or the process was painfully slow, wasting a considerable amount of time on network waiting.

I deeply realized that the three major obstacles hindering the progress of developers in mainland China are, in my opinion, the network, the network, and damn it, the network!

Of course, this article is not about teaching you how to solve network problems but rather how I cope with such situations.

Read more »

Wheel of Life

The year-end review for 2020 was postponed, and the 2021 year-end review has been documented in my personal OKRs. Since my OKR completion rate was not high, I can’t afford to delay this time 😭. The overall review is conducted based on the “Wheel of Life” framework.

I encountered the concept of the “Wheel of Life” only in the second half of 2021. I didn’t strictly follow its classification in practice, as it seemed too detailed. However, the overall direction seemed to align with my aspirations.

Reflection is a highly personalized act. Any methodology or standard can only serve as a reference and cannot be replicated entirely. I am still learning how to reflect since “seeing is superficial, understanding requires practice.”

Read more »


The cause of the issue was that on December 20, 2021, JSDelivr had its ICP (Internet Content Provider) license revoked. As mainland China’s CDN services can only provide services for websites with a valid ICP license, the mainland CDN became ineffective. Fortunately, JSDelivr responded promptly by quickly switching to a global CDN after a brief fluctuation. Currently, access from mainland China is only slightly slower.

This blog uses the Hexo framework and NexT theme, with JSDelivr as the default CDN service provider for JS and CSS resources. Due to the aforementioned reasons, there’s a need to switch to a mainland CDN. NexT theme currently supports only local | jsdelivr | unpkg | cdnjs. Unfortunately, except for local, none of the others support mainland acceleration. Before NexT theme supports it in a new version, some minor modifications were made to support switching CDN service providers.

Read more »

Previously, in my blog post about migrating to Hexo, I mentioned my commitment to open-sourcing stable versions of the tools and services I’ve developed. Today, I’m here to fulfill that promise by introducing the “Database Backup Service Daily.”

This service is designed for automated database backups. It performs daily backups in the early morning and sends the backup files to your email as attachments, ensuring a zero-cost backup solution. It seamlessly integrates with your existing services without any disruption or additional dependencies, as long as it can connect to your database.

As we all know, data backup is an integral part of any service. However, due to time constraints, I hadn’t had the opportunity to properly organize this service. So, I decided to take advantage of the need for data backup in my self-hosted RSS project and, in the process, refine and open-source it.

Read more »

Sticky Note

I first learned about Roam Research and then came across the concept of “double-chain note-taking.” Although its theory is not novel, the systematic note-taking method gave me a sense of enlightenment, especially because it addressed my note-taking pain points.

This article is primarily an introductory note on “Luhmann’s Zettelkasten” after reading “How to Take Smart Notes.” Some content is sourced from Douban book notes, and image credits are indicated on the images.

Read more »

Tools Map

This article exclusively delves into the relationships between V2Ray, Trojan, and XRay, shedding light on select technical aspects of their protocols.

Read more »

Since applying for Cloudflare Pages testing qualification on 2021.02.09, there has been no news. Today, on 2021.03.06 in the early morning, I finally received the notification that the application has been approved.

Due to the time difference, I received the approval notification in the early morning Beijing time, so it wasn’t until the afternoon that I experienced it. Conclusion of the experience: simple and convenient.

For well-known reasons, website speed is still not friendly to users in mainland China 😔.


Read more »

This book delineates four levels of reading styles, progressing from the basic reading to inspectional reading, analytical reading, and thematic reading. Each corresponds to distinct methodologies.

While you may have already practiced this approach casually, the author has disassembled, quantified, and standardized the act of reading. This abstraction and synthesis of reading methods can guide and assist many individuals in reshaping their reading behaviors, enhancing reading efficiency, much like the “design patterns” in the programming world.

I encountered this book during my college years in physical form, but it was a hasty library pick that felt somewhat tedious due to its methodological approach. Recently, while browsing on Kindle, I rediscovered it, and halfway through, I regretted not appreciating this remarkable book earlier.

I have now organized my past notes and recent reflections, and I am sharing them with you all.

Read more »