Manage a local frp client (frpc) on macOS from Raycast.
frpc.toml with its live status from the frpc admin API. Copy the remote address or a ready-to-use SSH command.frpc.toml, verify it with frpc verify, and hot-reload it through the admin API without dropping connections.Set the frp Directory preference to the folder that contains your frpc.toml and one or more frp_<version>_<platform> binary directories:
frp/
├── frpc.toml
├── frpc.log
└── frp_0.71.0_darwin_arm64/
└── frpc
Add a webServer section to frpc.toml and restart frpc:
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "choose-a-strong-password"
Then fill in Admin API Address, Admin Username, and Admin Password in the extension preferences. Without this, the extension still works, but proxy status comes only from the config file and hot-reload is unavailable.
If frpc is managed by a LaunchAgent, set the launchd Label preference (e.g. com.user.frpc, matching ~/Library/LaunchAgents/<label>.plist). This enables Start / Stop / Restart actions and plist-aware upgrades.
Example plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.frpc</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/frp/frp_0.71.0_darwin_arm64/frpc</string>
<string>-c</string>
<string>/path/to/frp/frpc.toml</string>
</array>
<key>WorkingDirectory</key>
<string>/path/to/frp/frp_0.71.0_darwin_arm64</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Load it with launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.user.frpc.plist.
If no label is configured, the extension shows process status (via pgrep), Stop terminates the running frpc from the configured frp directory, and one-click upgrades only download the new binary without touching any service.
frpc) installed from the frp releases pageThe frp logo is provided by Dashboard Icons.