Connectivity Troubleshooting · Clash Technical Blog

How to Handle a Lost EasyTier Outbound Connection in Mihomo v1.19.31

One report found the EasyTier outbound in Mihomo v1.19.31 showing alive:false, timing out in latency tests, and not recovering. This guide covers on-demand startup checks, a controlled restart, validating Alpha fbb6742, and rolling back to stable.

  • Mihomo
  • v1.19.31
  • EasyTier
  • alive:false
  • Alpha
On this page

First confirm whether this matches the reported EasyTier connection loss

Mihomo v1.19.31 was released on 9/14/2026 and officially added the type: easytier outbound. The subsequently filed issue #3214 documented a specific symptom.

In the report, Mihomo and the other proxies continued working normally, while only the EasyTier outbound changed to alive: false, its latency history showed 0, latency tests kept returning Error or Timeout, and the Mihomo node was no longer visible in the remote peer list.

This is a user report from a Linux/amd64, with_gvisor, OpenWrt/Kwrt, and ShellCrash environment. It does not mean that every v1.19.31 installation, frontend, or platform will encounter the issue. The reporter observed it three times that day, and only the first occurrence was explicitly after the remote EasyTier endpoint restarted, so that restart cannot be described as the sole trigger.

If all proxies are unavailable, Mihomo cannot start, the configuration fails to load, or only DNS and rule matching are abnormal, the situation falls outside the scope described by this report. Address the first error first; do not infer the root cause from alive: false alone.

Symptoms and assessment

What you observeDoes it match?Next step
Only the EasyTier outbound is alive: false; other proxies work normallyLikely matchContinue checking latency history and the remote peer
Latency history shows 0; latency tests return Error or TimeoutOther signals are neededConfirm that test traffic actually reaches this outbound
The expected hostname disappears from the remote peer listMatches a key observation in the reportSave the state, then perform a controlled restart
Mihomo cannot start at all, or every outbound failsDoes not matchCheck the configuration, service, network, and ports first
Only a specific domain or DNS request failsInsufficient evidenceCheck rule matching, DNS, and the target service

First rule out on-demand startup behavior and configuration requirements

Mihomo's official documentation states that an EasyTier outbound starts only when a rule, proxy group, or another routing method sends traffic to it. If the configuration has just loaded and no request has matched it yet, the absence of an active instance may simply be normal on-demand behavior, not a silent connection loss.

First choose a repeatable test target and a proxy group that explicitly selects EasyTier so requests actually go to that outbound. If no listeners are configured, the documentation requires at least one peers entry. The overlay addresses support only IPv4; ip-version determines only whether the underlying peer connection uses IPv4 or IPv6 and cannot enable overlay IPv6.

In this pass, verify only the startup conditions; do not change the secret, peer address, proxy group, and routing at the same time. If multiple variables change at once, even a recovery cannot show whether a configuration correction or instance recreation was responsible.

Establish a comparable test first

  1. Confirm the running version

    Record Mihomo v1.19.31, the platform, architecture, build tag, and the frontend or service manager hosting it.

  2. Route traffic through EasyTier

    Temporarily pin one policy selection and make a real request, confirming that rules do not send the request to DIRECT or another proxy.

  3. Check the minimum configuration requirements

    When there are no listeners, confirm that at least one peers entry exists. Keep the overlay address on IPv4 and understand the role of ip-version correctly.

  4. Keep another proxy as a control

    Test a regular proxy against the same target to determine whether a single EasyTier outbound is abnormal or the entire Mihomo path is affected.

Record outbound and peer status before restarting

If test traffic has already reached EasyTier but alive: false, a latency history consisting entirely of 0 values, and repeated timeouts remain, preserve the current state before restarting. Record the outbound name, status, latency-test time, first relevant log entry, and whether the expected hostname is still present in the remote EasyTier peer list.

The reporter used easytier-cli peer to check the remote nodes and saw that the affected instance had disappeared. You can perform the same read-only check through the peer viewing interface provided by your current EasyTier deployment, but do not run scripts from unknown sources or modify a production peer merely to reproduce the issue.

A single curl result of Empty reply from server does not prove that authentication and the overlay are working normally; at most, it shows that no valid response was received after the TCP connection was established.

Before sharing evidence, remove the network-secret, private keys, peer public keys, Controller secret, public addresses, and subscription information. Keep the original private copy and use only a redacted version publicly.

The outbound has never carried traffic

Complete the on-demand startup test first; do not draw a restart-related conclusion yet.

EasyTier is abnormal, while regular proxies and the Mihomo process work normally

Save the alive, history, latency-test, and peer states, then proceed with the smallest possible restart.

The underlying port at the peer address is unreachable

First troubleshoot the firewall, port, address, and remote service; do not classify the issue as a silent instance connection loss.

The peer is still present, but the overlay target is unreachable

Continue checking routing, exit-node, proxy-networks, and the target IPv4 address rather than looking only at latency.

All outbounds fail at the same time

Restore the Mihomo configuration, system network, or hosting service first.

Use a controlled restart to restore the current connection first

After waiting more than 30 minutes without recovery, the reporter in issue #3214 restarted Mihomo, which made the EasyTier outbound available again and restored the node to the remote peer list. This is a temporary recovery method observed in one environment, not a maintainer guarantee for every platform, and it does not replace a subsequent fix.

First confirm that the router or remote host still has a local console, an out-of-band management interface, or another management path that does not use this EasyTier outbound. Then restart only Mihomo through the current frontend, ShellCrash, systemd, or device-management interface. Commands differ by hosting method, so do not copy a service command that is unsuitable for the local system.

After the restart, make another request with the same policy, target, and network, then compare alive, history, latency, and the peer list. If it recovers, record only that this restart restored it. If it still fails, return to checking the port, configuration, remote service, and routing; do not conceal the first error with repeated restarts.

Complete one minimal recovery

  1. Save the current evidence

    Record the version, outbound status, latency-test result, peer list, and first relevant log entry, and create a redacted copy.

  2. Confirm backup management access

    For a remote device, first confirm that it will remain manageable after the core restarts, so the only control path is not interrupted as well.

  3. Restart only Mihomo

    Restart the core through the current hosting tool's normal interface; do not restart the entire router, change the configuration, or replace the peer at the same time.

  4. Repeat the same set of checks

    Confirm that EasyTier starts again, the peer returns, latency recovers, and one real overlay IPv4 request completes.

How to choose between the stable release and Alpha

The v1.19.31 stable release predates the fix merge and therefore does not include this automatic recreation logic. PR #3215 was merged into Alpha on 9/15/2026, with fbb6742 as the final commit. The rolling Prerelease-Alpha on 9/16/2026 also explicitly lists a fix to restart the EasyTier outbound after a silent overlay failure.

The final implementation does not add periodic latency tests or treat every timeout as a restart signal. EasyTier remains responsible for peer reconnection, while Mihomo consumes the event stream. The Host and Instance are recreated only when the event stream closes and the instance has actually stopped. This scope is narrower than automatically fixing every timeout.

Alpha is a rolling tag and will later point to newer commits. When deciding to test it, record fbb6742, the download time, asset filename, and current build tag; do not record only the latest Alpha. Unattended routers and devices without backup management access or a quick rollback path are better kept on the stable release until a later formal Release explicitly includes the fix.

Version selection

Current situationRecommendationWhy
No matching symptoms have appearedContinue using the v1.19.31 stable releaseDo not proactively switch to a prerelease because of one public report
Occasional connection loss; a controlled restart is acceptableStay on the stable release for now and record the frequencyWait for a formal Release to define the fix scope clearly
Frequent connection loss, with a maintenance window and backup access availableEvaluate an Alpha that includes fbb6742You can verify the merged self-recovery logic and roll back at any time
Remote and unattended, or unable to restore the previous coreDo not track the rolling Alpha directlyPrerelease regressions may also affect other outbounds and management paths

Verify whether the Alpha can recover automatically

Before testing the Alpha, save the complete v1.19.31 stable binary, the exact architecture and build variant, and back up the configuration and the core selection in the hosting tool. Use only official Mihomo Prerelease-Alpha assets and confirm that the running commit includes fbb6742. Do not mix new core files with components from an older version.

First send real traffic through EasyTier and confirm that the peer appears and an overlay IPv4 request succeeds. Only during a maintenance window, with control of the remote endpoint and backup management access, briefly stop and then restore the test peer. Observe whether the peer reappears, latency recovers, and real requests resume without restarting Mihomo.

In a local, single-path test with disable-p2p: true, the PR author saw peer_added about one second after the remote endpoint recovered, while the Mihomo PID did not change. This supports the self-recovery design in that specific test, but it does not promise that every P2P, relay, multipath, or unstable network will recover within one second. A multipath network may not experience an obvious traffic interruption at all.

Alpha self-recovery verification checklist

  • The running version can be mapped to an Alpha commit that includes fbb6742, rather than being recorded only by its rolling tag
  • Test requests actually reach the EasyTier outbound, while a regular proxy remains available as a control
  • The peer, alive, history, latency, and a real overlay IPv4 request are all recorded before the interruption
  • After the remote endpoint recovers, the peer is expected to reappear without restarting Mihomo
  • Latency history recovers and a real TCP request succeeds; if UDP is needed, verify it separately with real UDP traffic
  • The Mihomo PID does not change, and the logs show no repeated recreation or error loop
  • Other outbounds, basic connectivity, and device-management access show no regressions
  • The stable binary, configuration backup, and recovery steps remain usable

If the Alpha has problems, roll back completely to the stable release

If the Alpha cannot start, CPU or memory behavior is abnormal, regular proxies regress, or EasyTier still cannot recover, stop making further configuration changes. Shut down Mihomo, restore the complete v1.19.31 binary and original configuration saved before the upgrade, then restart it through the same hosting interface.

After rolling back, first confirm the version and configuration load, then verify regular proxies, the EasyTier outbound, overlay IPv4, and management access. Do not copy only old library files, plugins, or individual modules into the Alpha directory. Also, do not describe the issue reporter's alternative architecture of a standalone EasyTier Core plus SOCKS5 as a maintainer recommendation.

Rolling back to the stable release removes the self-recovery logic from fbb6742 again. If the connection loss continues to recur, keep a controlled restart as a temporary recovery method and wait for a later stable Release. Do not conceal a reproducible version difference by repeatedly changing the peer, secrets, and routing.

Rollback completion criteria

  • The saved v1.19.31 stable release and the correct build variant are now running
  • The original configuration, proxy groups, EasyTier peer, and hosting method have been restored
  • Regular proxies and basic network requests work normally
  • The EasyTier outbound starts on demand and completes a real overlay IPv4 request
  • Local and remote device-management access remains available
  • The Alpha commit, symptoms, logs, and rollback result have been recorded in redacted form
  • No binaries or components from different versions are mixed

Use a formal Release to determine the fix scope going forward

As of 9/16/2026, the current stable release remains v1.19.31, and automatic recreation after a silent EasyTier connection loss is explicitly documented only in Alpha commit fbb6742. Going forward, rely on whether a formal Mihomo Release includes this commit or an equivalent fix. Do not guess the next version number or treat closure of the issue as proof that a release has occurred.

After a formal release, use the same policy, peer, and test target to recheck normal startup, a brief interruption, self-recovery, regular proxies, and rollback. Retire the temporary restart or Alpha test plan only when the Release notes, running version, and local results all agree.

When providing further feedback to the project, include the platform, architecture, build tag, minimal redacted configuration, a comparison between EasyTier and a regular proxy, alive/history, peer changes, and the first relevant log entry. Do not disclose the network-secret, private keys, Controller secret, subscription, or complete public network topology.

References