This time was really bizarre. I basically wasted an entire night, and only at the end did I realize the problem wasn’t with the node itself at all, but that my local proxy had become “nested.”
The symptoms were very strange at first:
- The node owner came to ask me what was going on, saying the backend had been receiving continuous weird requests.
- On my side, my machine could barely connect to any nodes.
- Even stranger: no matter how I changed my local proxy configuration, the node machine could still continuously see those kinds of repeated requests.
At the beginning I suspected a lot of possibilities, such as:
- The node itself crashed
- The subscription content was wrong
- The rules were written incorrectly
- DNS or the system proxy hadn’t been fully switched/cleared
- Some program was疯狂 retrying in the background
In the end, after narrowing it down, the core issue turned out to be proxy loopback / nested proxying.
More specifically, at that time my machine wasn’t running just one mihomo, but two at the same time:
- One was the
mihomonormally launched by the current Sparkle - The other was an old leftover orphan process
So the traffic path became extremely weird, like it was “short-circuiting” and looping locally:
- I changed the local config, but the one actually taking over the traffic might not have been the core instance I thought it was
- Some requests would get forwarded repeatedly and hit repeatedly, and in the end on the node machine it looked like continuous weird requests
- Meanwhile my own machine would instead behave like tons of nodes were unavailable—almost none could be reached
Only later did it dawn on me: this wasn’t simply “the node is broken,” but a local proxy wrapped inside a local proxy / a leftover core adding an extra layer.
After clearing out the old leftover process and then reopening Sparkle, the system returned to:
- One Sparkle main process
- One
mihomochild process launched by it
And then everything was normal.
The lesson this time is very straightforward:
- When you see “weird continuous requests on the node side + almost all nodes unreachable locally,” don’t only suspect the remote end.
- First check how many proxy cores are running locally—especially something like
mihomo—and whether there are leftover orphan processes. - Once nesting or loopback happens, the symptoms look especially “mystical,” but in reality your local traffic path is already messed up.
If I run into something similar again, I think my first reaction should be to check:
- How many
mihomoprocesses are running - Which one is the parent process and which one is the orphan
- Which instance is actually listening on
7890/7891/7892 - Whether the system proxy has pointed back to itself again
Absurd, but at least it’s a lesson learned.