frps-panel
frp server plugin to show server info and support multiple users for frp.
frps-panel will run as one single process and accept HTTP requests from frps.
Features
- Show frp server info
- Support multiple user authentication by tokens saved in file.
- Dynamic
add,remove,disableorenableuser now - Limit
ports,domainsandsubdomainsfor each user now
when a user is dynamic been remove or disable,it will take some time to be effective
the limit of ports、domains、subdomains only effective at NewProxy
Download
Download frps-panel binary file from Release.
Requirements
frp version >= v0.31.0
Usage
- Create file
frps-panel.iniincluding all support usernames and tokens.
[common]
;plugin listen ip
plugin_addr = 127.0.0.1
;plugin listen port
plugin_port = 7200
;the username of manage ui,optional
admin_user = admin
;the password of manage ui,optional
admin_pwd = admin
; enable tls
tls_mode = false
; tls_cert_file = cert.crt
; tls_key_file = cert.key
; frp dashboard info
dashboard_addr = 127.0.0.1
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
; if your frps dashboard enable tls, change this to true
dashboard_tls = false
[users]
;user user1 with meta_token 123
user1 = 123
;user user2 with meta_token abc
user2 = abc
[ports]
;user1 can only use ports 8080,9090 to 9010 ,other ports will fail to create proxy (frpc can normally startup)
user1=8080,9090-9010
[domains]
;user1 can only use domain web01.user1.com ,other domain will fail to create proxy (frpc can normally startup)
user1=web01.user1.com
[subdomains]
;user1 can only use subdomain web01 ,other subdomain will fail to create proxy (frpc can normally startup)
user1=web01
[disabled]
;user2 is disabled,when frpc use this user to connect with frps,if frpc is not startup,it cannot startup,if it's already startup,it will always show error logs on console
user2 = disable
One user each line. Username and token are split by =.
-
Run frps-panel:
./frps-panel -c ./frps-panel.ini -
Register plugin in frps.
# frps.ini
[common]
bind_port = 7000
[plugin.multiuser]
; if you set tls_mode = true, you should change addr value to https://127.0.0.1:7200
addr = 127.0.0.1:7200
path = /handler
ops = Login,NewWorkConn,NewUserConn,NewProxy,Ping
-
Specify username and meta_token in frpc configure file.
For user1:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
user = user1
meta_token = 123
[ssh]
type = tcp
local_port = 22
remote_port = 8080
For user2:(user2 cannot connect to server,because it is disabled)
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
user = user2
meta_token = abc
[ssh]
type = tcp
local_port = 22
remote_port = 6000
Run as service
this example is for ubuntu and with root user
- 1.unzip
frps-panel.zipto dir/root/frps-panel - 2.touch a file with command
touch frps-panel.servicein dir/root/frps-panel.the file content is:
[Unit]
Description = frp multiuser service
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# config of frps-panel.ini,you should change the file path
Environment=FRPS_PANEL_OPTS="-c /root/frps-panel/frps-panel.ini"
# command of run frps-panel,you should change the file path
ExecStart = /root/frps-panel/frps-panel $FRPS_PANEL_OPTS
[Install]
WantedBy = multi-user.target
- 3.copy
frps-panel.serviceto/etc/systemd/system/with commandcp /root/frps-panel.service /etc/systemd/system/ - 4.reload service with command
systemctl daemon-reload - 5.start service with command
service frps-panel start
Issues & Ideas
If you want visit mange ui from internet, you should change plugin_addr to 0.0.0.0
If you have any issues or ideas, put it on issues. I will try my best to achieve it.






