Four applications. One engine underneath them.
That engine is mihomo, also known as Clash.Meta, and it is open source rather than something we wrote. We run a modified build of it, maintained and extended by us, and all four applications share that one build.
- One line, not a branch per platform
- Every platform builds from the same line of the core. A split once left one platform months behind, still shipping a defect the others had fixed, so the rule is now written down rather than left to habit.
- Configuration is rewritten before the core starts
- Server-issued configuration never reaches the core as sent; each platform rewrites it locally against the same contract. Node credentials sit on disk as AES-256-GCM ciphertext and are decrypted only as the core loads them.
- Fail-closed where the failure would be invisible
- Traffic can take a second hop through a proxy the customer supplies. Where that chain cannot be made safely, the client refuses to connect rather than quietly falling back to the direct route.