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.

add,remove,disable or enable user nowports,domains and subdomains for each user nowwhen 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 frps-panel binary file from Release.
frp version >= v0.52.3
frps-panel.toml including common config.#frps-panel.toml
[common]
# frps panel config info
plugin_addr = "127.0.0.1"
plugin_port = 7200
#admin_user = "admin"
#admin_pwd = "admin"
# specified login state keep time
admin_keep_time = 0
# 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"
frps-tokens.toml to save users,it should be the same place with frps-panel.toml.this file will auto create by system.#frps-tokens.toml
[tokens]
[tokens.user1]
user = "user1"
token = "token1"
comment = "user1 with token1"
ports = [8080, "10000-10200"]
domains = ["web01.domain.com", "web02.domain.com"]
subdomains = ["web01", "web02"]
enable = true
[tokens.user2]
user = "user2"
token = "token2"
comment = "user2 with token2"
ports = [9080]
domains = ["web11.domain.com", "web12.domain.com"]
subdomains = ["web11", "web12"]
enable = false
Run frps-panel:
./frps-panel -c ./frps-panel.toml
Register plugin in frps.
# frps.toml
bindPort = 7000
[[httpPlugins]]
name = "frps-panel"
addr = "127.0.0.1:7200"
path = "/handler"
ops = ["Login","NewWorkConn","NewUserConn","NewProxy","Ping"]
Specify username and metadatas.token in frpc configure file.
For user1:
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user1"
metadatas.token = "123"
[[proxies]]
type = "tcp"
localIP = 22
localPort = 8080
or
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user1"
[metadatas]
token = "123"
[[proxies]]
type = "tcp"
localIP = 22
localPort = 8080
For user2:(user2 cannot connect to server,because it is disabled)
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user2"
metadatas.token = "abc"
[[proxies]]
type = "tcp"
local_port = 22
remote_port = 6000
or
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user2"
[metadatas]
token = "abc"
[[proxies]]
type = "tcp"
local_port = 22
remote_port = 6000
this example is for ubuntu and with root user
frps-panel.zip to dir /root/frps-paneltouch frps-panel.service in 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.toml,you should change the file path
Environment=FRPS_PANEL_OPTS="-c /root/frps-panel/frps-panel.toml"
# 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
frps-panel.service to /etc/systemd/system/ with command cp /root/frps-panel.service /etc/systemd/system/systemctl daemon-reloadservice frps-panel startIf 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.
79 commits
2 commits
CSS
34.9%
Go
27.4%
JavaScript
25.0%
HTML
12.2%
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.

add,remove,disable or enable user nowports,domains and subdomains for each user nowwhen 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 frps-panel binary file from Release.
frp version >= v0.52.3
frps-panel.toml including common config.#frps-panel.toml
[common]
# frps panel config info
plugin_addr = "127.0.0.1"
plugin_port = 7200
#admin_user = "admin"
#admin_pwd = "admin"
# specified login state keep time
admin_keep_time = 0
# 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"
frps-tokens.toml to save users,it should be the same place with frps-panel.toml.this file will auto create by system.#frps-tokens.toml
[tokens]
[tokens.user1]
user = "user1"
token = "token1"
comment = "user1 with token1"
ports = [8080, "10000-10200"]
domains = ["web01.domain.com", "web02.domain.com"]
subdomains = ["web01", "web02"]
enable = true
[tokens.user2]
user = "user2"
token = "token2"
comment = "user2 with token2"
ports = [9080]
domains = ["web11.domain.com", "web12.domain.com"]
subdomains = ["web11", "web12"]
enable = false
Run frps-panel:
./frps-panel -c ./frps-panel.toml
Register plugin in frps.
# frps.toml
bindPort = 7000
[[httpPlugins]]
name = "frps-panel"
addr = "127.0.0.1:7200"
path = "/handler"
ops = ["Login","NewWorkConn","NewUserConn","NewProxy","Ping"]
Specify username and metadatas.token in frpc configure file.
For user1:
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user1"
metadatas.token = "123"
[[proxies]]
type = "tcp"
localIP = 22
localPort = 8080
or
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user1"
[metadatas]
token = "123"
[[proxies]]
type = "tcp"
localIP = 22
localPort = 8080
For user2:(user2 cannot connect to server,because it is disabled)
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user2"
metadatas.token = "abc"
[[proxies]]
type = "tcp"
local_port = 22
remote_port = 6000
or
# frpc.toml
serverAddr = "127.0.0.1"
serverPort = 7000
user = "user2"
[metadatas]
token = "abc"
[[proxies]]
type = "tcp"
local_port = 22
remote_port = 6000
this example is for ubuntu and with root user
frps-panel.zip to dir /root/frps-paneltouch frps-panel.service in 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.toml,you should change the file path
Environment=FRPS_PANEL_OPTS="-c /root/frps-panel/frps-panel.toml"
# 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
frps-panel.service to /etc/systemd/system/ with command cp /root/frps-panel.service /etc/systemd/system/systemctl daemon-reloadservice frps-panel startIf 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.
79 commits
2 commits
CSS
34.9%
Go
27.4%
JavaScript
25.0%
HTML
12.2%