Advanced

Clash Verge Mixed Port, HTTP and SOCKS5: Which Number to Fill Where

Browser works, Telegram says the proxy is dead; curl times out while an extension still lists 7890—nodes are often innocent. What broke is the local "door number": Clash Verge Rev’s mixed port, plus HTTP / SOCKS beside it. One wrong digit, the wrong protocol, or a stale tutorial, and traffic never enters Clash. Connections stays empty for that app.

Port fights: 7890 / 7897 conflicts. System proxy switch: system proxy not working. Builds: download center. New installs: getting started. Here: what each port owns, how Settings is the source of truth, how to fill browser / IM / CLI, and how Tun or Allow LAN changes the story.

Mixed vs HTTP vs SOCKS

Mixed port accepts HTTP proxy and SOCKS5 on one listener. Prefer it for desktop clients, most extensions, and shells that only need one number. Newer defaults often show 7897; old notes still say 7890—trust the live Settings value, not screenshots.

HTTP port is HTTP/HTTPS proxy only, for tools that expose solely an "HTTP proxy" field. SOCKS5 is for apps that demand SOCKS—many IMs, launchers, some IDEs. Wrong protocol with a "correct" port still fails. It feels like dead nodes while Connections never sees the app.

All three can coexist. Day to day: remember mixed only. After you change the number, sync every hard-coded value in extensions, IM, env vars, and IDEs—or one app stays broken. Do not confuse layers: Rule / Global / Direct own routing after traffic enters; ports decide whether it enters at all. Modes: three modes.

Settings is truth, not old tutorials

Open Settings, read mixed (and HTTP / SOCKS if listed). Save and confirm there is no "port in use" error. If save fails or the core will not start, free the port first, then re-enable system proxy. On Windows, Resource Monitor or netstat shows the holder; on macOS / Linux use lsof -i :PORT. Typical squatters: an old Clash instance, another proxy, a local dev server—kill that process before reinstalling anything.

After a successful port change, OS proxy fields may still point at the old digit. Browsers then look "proxied but offline." Re-check system network proxy host/port, or toggle system proxy once so the client rewrites it. Stale ports also show up after sleep/wake—see sleep/wake offline.

Browser, IM, and CLI fills

If the browser already uses system proxy, usually do not also fill a local port in an extension—that doubles hops. When system proxy is flaky and you only want the browser through Clash, set the extension to 127.0.0.1 plus mixed port.

Telegram, Discord, and similar often ignore system proxy. In-app network settings: pick SOCKS5 or HTTP as the client allows, host 127.0.0.1, port = mixed. Details: Telegram / Discord proxy.

Shells and tools often use env vars pointing HTTP and HTTPS to http://127.0.0.1:MIXED. Use the Settings digit; do not freeze someone else’s 7890 into your profile. PowerShell / Git / npm: CLI proxy. Tools with a three-way choice—"strict SSL / system proxy / custom proxy"—pick wrong once and only that tool fails.

# PowerShell example, use YOUR live mixed port
$env:HTTP_PROXY  = "http://127.0.0.1:7897"
$env:HTTPS_PROXY = "http://127.0.0.1:7897"

Tun and Allow LAN: when hand-fill still matters

Tun steers via a virtual NIC; many stubborn apps need no local port. When Tun will not start or lacks rights, hand-filled mixed is still the fallback. Tun: Tun mode, Tun start failed. Windows prerequisite: Service Mode.

With Allow LAN on, phones and other devices point at your PC’s LAN IP plus mixed port. Port open but LAN denied means foreign hosts cannot use 127.0.0.1—that is expected. Share steps: share to phone. Corporate policies that block local proxies can kill ports and Tun alike—compare on phone hotspot to separate policy from client bugs.

Debug order—and when to stop tweaking ports

Port faults tangle with "bad nodes" and "bad rules." Rule of thumb: no Connections row for that app → suspect port, system proxy, or Tun not capturing. Rows exist but fail → nodes, rules, or DNS. Fix the door number before the rest.

  1. Read mixed from Settings; confirm the core is running.
  2. Can the browser reach the web via system proxy? If not, fix system proxy or the conflict first.
  3. Hand-filled apps: host 127.0.0.1, matching protocol/port, old digits fully synced.
  4. Does Connections show that app’s hosts? Empty means traffic never entered Clash.
  5. Single-tool failures: check that tool’s proxy three-way conflict.

Stop when you can state the live mixed number, at least one hand-filled app matches system-proxy behavior, and every old digit reference is gone. If changing ports never sticks, consider a safe config reset (back up subscriptions first). Index: common errors. Installs still from the download center.

App-to-port quick map

App type Use Host : port
Browser via extension Mixed 127.0.0.1 : mixed
Telegram / Discord SOCKS5 or HTTP 127.0.0.1 : mixed
Shell / Git / npm HTTP env vars http://127.0.0.1:mixed
Phone on same Wi‑Fi Mixed PC LAN IP : mixed

Correct ports start with a clean build

Port defaults shift across releases. Install a verifiable stable build, then set local proxy ports.