Chute Devs

Introducing the Chute Web Dashboard

Hello everyone.

Managing a proxy has always required being on the device running it. Want to check if your Shadowsocks server is up? Pick up your phone. Want to see which rule matched a connection? Switch to your Mac. This has been the reality of proxy tools since the beginning.

Today that changes. We are introducing the Chute Web Dashboard — a browser-based control panel that lets you monitor and manage Chute from any device on your local network.

What It Does

Open a browser, navigate to the address shown in Chute’s settings, and you get a real-time view of everything happening inside your proxy:

Traffic panel. A live sparkline shows bandwidth usage over the past few minutes. Hover over any point to see the exact throughput at that moment. Below the chart, a table lists active connections with protocol, source app, destination, rule match, proxy used, and bytes transferred. Click any column to sort.

Tunnel inspector. Every active tunnel is listed with its state, direction, traffic counters, and lifetime. You can drill into individual tunnels to see DNS queries, rule decisions, and timing information — useful for debugging routing issues without digging through log files.

DNS overview. The DNS panel shows cache hit rates, query latency by upstream, and a log of recent resolutions. You can see at a glance which DNS server is handling which domains, and whether any queries are failing or timing out.

MITM status. If HTTPS decryption is enabled, the dashboard shows active MITM sessions, generated certificates, and any errors encountered. You can manage which domains are included or excluded from decryption without editing the configuration file.

Rule and policy management. View your current rule set, see how many times each rule has matched, and temporarily enable or disable rules for testing. Policy groups show the current active proxy and its health status.

The Notification System

The dashboard is backed by a new event notification system that watches for five categories of events:

Mass connection failure. If the rate of TCP and UDP connection failures spikes above a threshold — suggesting that a proxy server has gone down — the dashboard highlights it immediately. No more discovering that your proxy was dead an hour ago.

Service unavailable. Individual nodes are monitored for availability. When a node stops responding, it is flagged in the policy group view and automatically removed from rotation if a fallback is available.

Traffic surge. A sustained traffic spike triggers an alert. This is useful for detecting misbehaving applications that are hammering a server, or for noticing when a large download is saturating your connection.

Configuration update failure. If Chute is configured to auto-update its configuration from a remote URL and the download fails, you are notified. The previous configuration continues to work, so there is no interruption.

Policy group flap. If a policy group is switching between proxies rapidly — indicating instability in the upstream servers — the system suppresses further flapping and alerts you.

All notifications appear in the dashboard in real time. We designed the system to be useful at a glance: no configuration required, no thresholds to tune. The defaults are sensible for most setups.

Config Importers: Clash and Sing-Box

A common request: “I have a Clash config that works, can I use it in Chute?” The answer is now yes.

The dashboard includes importers for Clash YAML and Sing-Box JSON configurations. Paste your config into the import page, and Chute translates it into the equivalent Chute configuration. The translation is not lossless — some Clash-specific features do not have Chute equivalents — but the core routing logic, proxy definitions, and rule sets carry over correctly. You can review and edit the translated configuration before applying it.

Architecture

The web dashboard is served by an HTTP server embedded in the Chute engine, listening on a local port. It is accessible only from your local network — there is no cloud component, no account to create, and no data leaves your device.

The UI is a single-page application built with vanilla JavaScript, with no framework dependencies. It communicates with the engine through a REST API over the local HTTP connection. The traffic sparkline and connection table update over a WebSocket connection for real-time performance.

What About Privacy?

The dashboard requires authentication. By default, it is disabled; enable it in settings and set a password. The HTTP server binds to localhost only — other devices on your network cannot access it unless you explicitly configure remote access. Even then, all traffic is local, and no usage data is sent to any external server.

The dashboard is available now on both iOS and macOS. Enable it in Chute’s settings under Control → Web Dashboard, set a password, and navigate to the address shown.

Thanks.

Chute Devs