Recently, serendipitously guided by YouTube’s recommended videos, I stumbled upon a new creation within the Xray realm: REALITY.

To be candid, my current architecture still clings to the system of the year 2020. It operates on the foundation of Docker and Watchtower, ensuring seamless automated updates. It has remained steadfast for two years, encountering no significant issues, except for a minor April tweak to facilitate WARP for accessing ChatGPT.

The last time I closely followed Xray-related developments was during the “forking watermelon” days of 2021. Hence, I embarked on a journey to the Xray project to uncover the latest advancements. Regrettably, the official website offers limited insights, prompting me to navigate through various issues to glean traces of progress.

Following a cost assessment of the migration process, I transitioned from V2Ray to Xray. The overarching architectural framework remains unchanged – it still relies on Nginx for traffic distribution. The alteration pertains to the underlying network tools, and I took the liberty to introduce a few new protocols (VLESS, Vision, gRPC) along the way.

Read more »

Lately, due to personal requirements, I once again delved into domestic VPS and Serverless (cloud functions). What was previously a problem-free service for local debugging, upon submission, either struggles to install dependencies, requiring meticulous troubleshooting with frequent switches to domestic sources, or it moves at a snail’s pace, wasting copious amounts of time on network delays.

I profoundly comprehend that the three major obstacles hindering the progress of developers in mainland China are, in my estimation, the network, the network, and, to put it bluntly, the darn network!


Of course, this article is not meant to instruct you on how to resolve network issues but rather to outline my approach to dealing with such situations.

Read more »

The year-end review of 2020 was postponed, but the year-end review of 2021 is now recorded in my personal OKR. Unfortunately, the completion of my OKR has not been very high, and I can’t procrastinate anymore this time 😭. I conducted this year’s review following the concept of the “Wheel of Life.”

The “Wheel of Life” was a concept I only encountered in the second half of 2021. As a categorization standard, I didn’t strictly adhere to its classification criteria during actual use since it was quite detailed. Nevertheless, I believe it generally aligns with my aspirations.

Reflection is a highly personalized activity, and any methodology or standard can only serve as a reference rather than a complete solution. I’m still learning how to conduct effective reflections. After all, “what one learns on the paper is shallow; to truly understand, one must practice.”

Read more »

The genesis of this matter can be traced back to December 20, 2021 when JSDelivr had its ICP license (record) revoked. Mainland China’s CDN services can only cater to websites with valid ICP licenses, thus rendering the mainland CDN service inoperative. However, JSDelivr’s official response was prompt, and after a brief hiccup, they swiftly migrated to a global CDN. Currently, the only noticeable impact for mainland China is a slight reduction in speed.

This blog utilizes the Hexo framework and NexT theme. By default, it relies on JSDelivr as the CDN service provider for JS and CSS resources. Due to the aforementioned reasons, there was a necessity to transition to a mainland CDN. As of now, NexT theme only supports ‘local | jsdelivr | unpkg | cdnjs’. Unfortunately, apart from ‘local’, the others are unable to support mainland acceleration. Therefore, prior to NexT’s support in a future update, some minor adjustments were made to facilitate the transition to 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 »

I was first introduced to Roam Research and subsequently acquainted with the concept of “Zettelkasten,” a notion whose theoretical novelty may be debatable, yet whose systematic approach to note-taking profoundly resonated with me. It especially piqued my interest due to its potential to alleviate my note-taking woes.

This composition serves as an introductory exploration of “Luhmannian Zettelkasten Notes” after delving into “The Zettelkasten Method” by Sebastian Prölz, with certain sections drawing from summaries on Douban Reading Notes. Image credits have been duly attributed to their respective sources.

Read more »

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

Read more »

Since I applied for Cloudflare Pages testing qualification on February 9, 2021, there has been a resounding silence. After nearly a month, on March 6, 2021, in the wee hours, I finally received the notification of my application’s approval.

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 got to experience it. The verdict: simple and convenient.

As is well known for reasons we’re all aware of, website speed remains less than friendly for 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 »