Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

bowel

bowel

bowel is a mihomo client for macOS.

Download for macOS · Website · 简体中文

bowel main window

The interface is built in Go and rendered directly via the GPU, with no WebView.

Features

Routes

Route traffic by purpose, and select exit nodes manually or automatically by speed.

Routes

Connections

Inspect the app, destination, rule, exit, and speed for each connection, or reroute domains on the fly.

Connections log

Providers

Import subscription links, node URLs, YAML configs, or QR codes, with data usage and expiry shown for each source.

Providers

Menu bar

Toggle system proxy takeover, switch proxy modes, and select default nodes from the menu bar.

Menu bar panel

Skins

Six skins that change the look of the whole interface.

Broadsheet
Broadsheet
Phosphor
Phosphor
Neon
Neon
Blueprint
Blueprint
Sakura
Sakura
Paper
Paper (default)

Other

  • Custom rules: Route specific domains, keywords, or IP ranges, and test where addresses go.
  • Measured exit locations: Verify true exit locations through Cloudflare trace.
  • Gateway mode: Turn this Mac into a LAN gateway for devices like TVs and consoles.
  • TUN: Intercept traffic from applications that ignore system proxy settings.
  • MCP: Built-in MCP server for Claude Code and other agents to read status and troubleshoot connections. It asks you before changing settings by default.
    claude mcp add --scope user bowel -- /Applications/bowel.app/Contents/MacOS/bowel mcp
  • Settings and languages: Searchable settings (⌘F); English, Simplified Chinese, Traditional Chinese and Japanese; light and dark.

Install

  1. Download bowel-<version>-arm64.dmg from Releases and drag bowel into Applications.
  2. Add a provider (a subscription URL, node links or a QR code) and turn on takeover.

Needs macOS 12 or later. Released builds are for Apple silicon, signed with a Developer ID and notarized by Apple.

Develop

Needs Go 1.27.3+ (GOTOOLCHAIN=auto fetches it). No Node or Bun.

./scripts/fetch-core.sh     # mihomo + GeoSite/GeoIP data into resources/
go tool mygo dev            # the app, rebuilt on every change
go tool mygo build          # bowel.app and a .dmg, signed but not notarized
./scripts/release.sh        # build, notarize and staple: use this for releases
CGO_ENABLED=0 go test ./... # includes tests that start the real core
./scripts/site-shots.sh     # re-render the README's and the website's screenshots (needs cwebp)
  • How it works and where the code is: docs/architecture.md
  • The product's information architecture: docs/product-ia.md
  • The website is static, in site/; open site/index.html to preview it. Changes to it go live when they reach main.
  • To release, set the version in mygo.json and push a matching tag, such as v0.1.0. GitHub Actions builds, signs and notarizes the disk image and attaches it to a new release.

bowel was called Moho. The Go module is still github.com/oboo/moho and the bundle identifier dev.moho.app, which keeps macOS's camera and screen-recording permissions. On first launch the data in ~/Library/Application Support/Moho moves to …/bowel.

Credits

  • mihomo: the proxy core, GPL-3.0. bowel runs it as a separate program and does not link it.
  • MyGo: the native Go UI toolkit.
  • OPPO Sans: the interface's typeface.

License

bowel is licensed under the PolyForm Noncommercial License 1.0.0, which allows noncommercial use only. For a commercial license, open an issue.

The bundled mihomo core stays under GPL-3.0. The app carries its license in Contents/Resources/licenses/mihomo/, and each release attaches the matching source. The flag images in assets/flags/ and the fonts in resources/fonts/ are third-party files and keep their own licenses.

关于 About

No description, website, or topics provided.

语言 Languages

Go58.2%
HTML29.9%
TypeScript8.8%
CSS2.5%
Shell0.4%
JavaScript0.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
2
Total Commits
峰值: 2次/周
Less
More

核心贡献者 Contributors