bowel · a cross-platform mihomo proxy client

Connect two worlds

Manage nodes, routes and rules, see every connection, and choose from thirteen skins.

Or install with Homebrew

$ brew install --cask 21stware/tap/bowel

macOS 12 or later, Apple silicon. Signed with a Developer ID and notarized by Apple.

All releases and files

macOS, Windows, Linux and Android · Free · Screenshots from macOS

bowel's main window: nodes, routes and live traffic
bowel's menu bar panel

Skins

Thirteen skins

Colors, typography, corners, and texture all change together, while core features stay identical.

Warm white paper and deep ink, quiet and minimal

A preview of bowel's skins

Routes

Routes

Group traffic by purpose like AI or streaming, and choose an exit node for each route.

  • Default
  • AI services
  • Streaming
  • Development
  • Direct
A route's candidate nodes in bowel

Exit locations

Exit locations

Queries Cloudflare through each node to measure its actual exit location.

Measured By name Unknown
bowel's map of exit locations

Activity

Connections

View live connections and traffic by app, and adjust routes on the fly.

api.openai.com → openai.com → AI services

bowel's connection log

Provider

Node sources

Import nodes via subscription URLs, node links, config files, or QR scans.

vmess:// · vless:// · trojan:// · ss:// · hysteria2:// · tuic://

bowel's Providers page: subscriptions and usage

Rules

Rules

Add rules by domain, keyword, or IP block, and test routing directly.

Routing rules in bowel's settings

MCP

Troubleshoot with agents

Includes a built-in MCP server for agents to inspect status, and asks for confirmation by default before changing settings. The command below is for macOS; on Windows and Linux, use the path of the bowel program. The Android app has no MCP server.

$ claude mcp add --scope user bowel -- \
    /Applications/bowel.app/Contents/MacOS/bowel mcp
Ask Always allow Don't allow
The MCP server in bowel's settings

Gateway mode macOS

Turn this Mac into a local gateway for your TV, phone, or console.

📺🎮📱→⌘→🌐

TUN macOS

Route traffic from apps that bypass system proxies, requiring admin permission once.

Developer tools macOS

Docker, the terminal and Git ignore the system proxy. bowel lists which ones aren't connected, writes their own config in one click, and removes it cleanly when you undo.

Download sources macOS

Measures the official source and each mirror for npm, pip, Go and Cargo, and switches in one click. When the current source stops answering, one click moves you to the fastest one that does.

Private networks stay direct macOS

Addresses on your LAN, Tailscale and company VPN go direct automatically, in global mode too.

Menu bar

Switch proxy status, modes, and exit nodes from the menu bar, or the system tray on Windows and Linux, without jittery speed numbers.

Native rendering

The desktop interface is written in Go and rendered directly by the GPU, with no WebViews. The Android app uses Flutter and has the same cards and skins.

Searchable settings

On desktop, press ⌘F (Ctrl+F on Windows and Linux) to search across all settings.

Four languages

简体中文 · 繁體中文 · English · 日本語

Get started with bowel

Free · iOS is not released yet

Then add a Provider (a subscription URL, node links, or a QR code) and turn on takeover.

Some features depend on the platform

macOSWindowsLinuxAndroid
TakeoverSystem proxy or TUNSystem proxyManualSystem VPN
Gateway modeYesNoNoNo
Scan QR codes with the cameraYesNoNoYes
MCP serverYesYesYesNo

bowel can't set the system proxy on Linux yet, so point your applications at its mixed port, 7899 by default. On Android, you can choose apps that stay outside the VPN.