Hop is a proxy client for the mihomo
core, one more option next to the clients that already exist. It does not
provide servers: you bring your own subscription or node links. The interface is
drawn natively in Go with MyGo instead of
running in a webview, and the same code runs on macOS and Windows.
[!NOTE]
Hop's interface comes in English and Simplified Chinese. It follows the
system language, and Settings → Language changes it at once. The labels
quoted below are the English ones.
Contents
Features · Limits · Install ·
Getting started · How it works ·
Privacy and safety · Troubleshooting ·
Development · License
Features
Subscriptions and rules
- Subscriptions. Keep several, switch between them, and refresh them on a
schedule (off, 6, 12 or 24 hours). Each shows its usage and expiry. Hop
accepts Clash profiles and plain node-link lists (ss, vmess, vless, trojan,
hysteria2, tuic, anytls, ...), converted locally with the core's own
converter, never by a third-party service.
- Local profiles. No subscription link? Paste node links or a Clash config,
or pick a file. Hop keeps a copy, so the profile needs no refresh and the
original file can move or vanish. Handy for your own VPS.
- Provider rules or Hop's smart rules. Per subscription, keep the
provider's rules or switch to Hop's: AI, streaming, Telegram, Google, Apple
and Microsoft groups, region groups, and China-direct routing from bundled
geodata that updates weekly.
- Your own rules. Put rules ahead of everything else: a domain suffix, a
full domain, a domain keyword, an IP range or an application, sent direct,
through the proxy, or rejected. From the Connections page, the +
button on any connection opens the same dialog already filled in with the
rule that would catch it (its site, the host, the application or the
address), so adding a rule is two clicks.
- The provider's nearest entry. When a subscription sends its nodes through
a closer entry point (its own
hosts or encrypted DNS), Hop uses it, as other
clients do, and takes nothing else from the subscription's DNS settings.
Nodes and the route
- Nodes at a glance. Groups by purpose, nodes by region, each with its
protocol, UDP support, line labels and latency. Test a whole group at once
(many nodes in parallel), then switch the grid from the subscription's order
to latency order, fastest first.
- The route. A ring gauge with the exit's flag (outer arc download, inner
arc upload), the exit node, the groups traffic passes through and the live
speed, over a dot map of the world that draws the route from where you are
(read from the system time zone, offline) to the exit. The exit is placed by
the country its address was measured in, else by the flag in its name; when it
cannot be placed no line is drawn, and none when it is close to you.
- The exit's address. Click to copy the public IP and country traffic
leaves by. Hop looks it up once through its own proxy when the exit changes
and keeps it in memory only.
- Service status. A card on the home page checks twelve services (Google,
GitHub, YouTube, ChatGPT, Claude, Gemini, Netflix, Disney+, Prime Video,
Spotify, TikTok, Discord) through the mixed port, so the rules decide the
route as they do for your own traffic. It shows each one's response time,
the region the service saw and the route used. It checks when the window
opens and every 10 minutes while the window is in front.
- LAN access. Settings → LAN lets phones and other computers on the
same network use Hop's proxy: they enter this computer's address (shown with
a copy button) as an HTTP or SOCKS5 proxy. Off by default. While on, devices
must give an account (a random password Hop makes, which you can reset) unless
you turn that off, and only sources on private networks are answered, never
the internet. Hop's own controller port stays on this computer.
- Three modes. Rule, Global and Direct, with a note on what each does.
System integration
- System proxy. One switch on the home page, beside TUN and the three modes. Hop refuses when another app
already holds the system proxy, clears only a proxy that points at itself, and
puts it back when it quits.
- TUN. Carries every app's traffic through a small
privileged helper you install once (a LaunchDaemon on macOS, a service on
Windows), so the core runs with the rights a TUN needs and Hop itself never
does. On macOS the helper also points the system DNS at resolvers whose
traffic enters the TUN and restores the previous DNS when the core stops.
Hop refuses to turn TUN on while another TUN holds the default routes.
Settings → TUN → Fake-IP exceptions lists names that must get their
real addresses without changing routing rules.
example.com matches only
itself, *.example.com one level of subdomains, and +.example.com itself
and subdomains at any depth.
- Menu bar and tray. On macOS the menu bar shows the live speed beside the
icon (optional); on Windows the same panel opens from the tray. It switches
subscriptions, routes, nodes, modes and the proxy without opening the window;
the card fades while nothing sends traffic through Hop.
With no subscription, its Add action opens the window's form and preserves
any unfinished draft. Failed switches show their error in the panel.
- Starts the way you want. Close the window and Hop keeps running in the
menu bar or tray; start it at login; copy a ready-made command that points a
terminal at Hop.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗