Super-frpc

A backend application for managing local frpc instances, allowing users to easily start, stop, restart, and perform daily maintenance operations on frpc instances. It also provides automated error handling, such as automatic restart when an instance crashes.

Features

  • User authentication with token-based login
  • Create, delete, and modify frpc instances
  • Automatic startup configuration (systemd/init.d)
  • User permission management (superuser/admin/visitor)
  • SQLite database for data persistence

Supported Platforms

  • GNU/Linux
  • Windows

Configuration

Create a config.json file in the project root:

{
  "listenAddr": "0.0.0.0",
  "listenPort": "8080",
  "frpcPath": "/usr/bin/frpc",
  "instancePath": "./configs"
}
Field Description Default
listenAddr Server listening address 0.0.0.0
listenPort Server listening port 8080
frpcPath Path to frpc executable /usr/bin/frpc
instancePath Path to store instance config files ./configs

Build

You have to put the compiled frontend in the web/dist directory before building the backend.

go build -o super-frpc.exe

For Linux:

GOOS=linux GOARCH=amd64 go build -o super-frpc

Run

./super-frpc -config ./config.json -db ./database.db

API Documentation

For detailed API documentation, please see docs/api.md

TODO

  • Add Windows boot service support
  • Add session list API
  • Add session management API
  • Add user config modify API
  • Add user type modify API
  • Add frpc instance running status management API
  • Add frpc instance log display API
  • Fix random database lock when processing logs
  • Add frpc createdBy display
  • Add frpc proxy management API
  • Fix backend can still start frpc instance when it is already running
  • Develop an agent software to handle windows service management
  • Refactor all log output level to be more clear
  • Add frpc instance watchdog

License

GPL-3.0

Description
No description provided
Readme GPL-3.0 294 MiB
Languages
Go 100%