The Problem
FRP's configuration looks like this:
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 8080
custom_domains = myapp.example.com
Every time you add a service, you edit this file, save it, and restart frpc. For developers, it's manageable. For everyone else, it's a barrier.
What MoonProxy Does
MoonProxy wraps FRP's frpc into a native desktop app:
- Visual configuration — Fill a form instead of editing INI files
- One-click start/stop — Toggle tunnels without touching the terminal
- Rule management — Manage up to 50 proxy rules in one window
- Auto-reconnect — Automatically recoble after network interruptions
- Cross-platform — macOS (Intel + Apple Silicon) and Windows
- Dark mode — Easy on the eyes
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Vue 3 + TypeScript |
| Backend | Rust |
| Framework | Tauri v2 |
| Engine | frp (frpc) |
The installer is ~5MB — a fraction of Electron-based alternatives.
Getting Started
- Download MoonProxy from GitHub Releases
- Install the app (DMG for macOS, EXE for Windows)
- Configure your FRP server address and port
- Add proxy rules for your local services
- Start — that's it
Use Cases
- Remote NAS access — Reach your home file server from anywhere
- Dev preview — Share localhost projects with clients
- Home automation — Access Home Assistant while traveling
- Game servers — Host Minecraft or Valheim for friends
- Self-hosted apps — Expose Jellyfin, Gitea, Vaultwarden, etc.
Links
- GitHub: https://github.com/MoonProxyHQ/moonproxy-desktop
- Website: https://moonproxy.app
- License: MIT
If you're using FRP or self-hosting services, give MoonProxy a try. Stars and feedback are appreciated! ⭐
Top comments (0)