Commit 3f2d9a8
feat: Surge TUI - macOS Surge proxy management terminal interface
Complete terminal user interface with Surge proxy management and real-time monitoring.
## Core Features
**Multi-Language Support**
- Compile-time language selection (zh-cn/en-us)
- Zero runtime overhead with Translate trait
- Full UI translation coverage
**Real-Time Monitoring**
- 5 main views: Overview/Policies/Requests/Connections/DNS
- Non-blocking policy latency testing
- Request history and active connections
- DNS cache management
**Search and Grouping**
- Independent search modes (policy groups/requests/connections)
- Group by application name display
- Real-time filtering and highlighting
**Connection Management**
- Terminate individual connections (k key + confirmation)
- Feature toggles (outbound mode/MITM/traffic capture)
- Refresh strategy to avoid status delays
**Enhanced Request Details**
- Notes syntax highlighting (7 types of tags)
- HTTP Body markers
- Connection log display
**Help and Notifications**
- Built-in help popup (h key)
- Smart notification system
- Developer tools (DevTools)
## Architecture Design
**Clean Architecture Layering**
- Domain - Core business logic (zero dependencies)
- Infrastructure - HTTP/CLI/System clients
- Application - Business coordination layer
- UI - Ratatui TUI components
**Fallback Strategy**
- HTTP API → surge-cli → System commands
- Alert mechanism (no automatic config modification)
## Internationalization
**Documentation**
- English as default language
- Chinese version in README.zh-CN.md
- All docs/ and .claude/rules/ in English
- All code comments in English
## Tech Stack
- Rust + Tokio (async)
- Ratatui (terminal UI)
- Reqwest (HTTP client)
- Serde (serialization)
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>0 parents commit 3f2d9a8
55 files changed
Lines changed: 16662 additions & 0 deletions
File tree
- .claude/rules
- .github/workflows
- docs
- design
- homebrew
- nix
- scripts
- src
- application
- config
- domain
- i18n
- infrastructure
- ui
- components
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
0 commit comments