/fp-multiuser

frp server plugin to support multiple users.

Primary LanguageGoApache License 2.0Apache-2.0

fp-multiuser

frp server plugin to support multiple users for frp.

fp-multiuser will run as one single process and accept HTTP requests from frps.

README | 中文文档

Features

  • Support multiple user authentication by tokens saved in file.

Download

Download fp-multiuser binary file from Release.

Requirements

frp version >= v0.31.0

Usage

  1. Create file tokens including all support usernames and tokens.

    user1=123
    user2=abc
    

    One user each line. Username and token are split by =.

  2. Run fp-multiuser:

    ./fp-multiuser -l 127.0.0.1:7200 -f ./tokens

  3. Register plugin in frps.

    INI:

    # frps.ini
    [common]
    bind_port = 7000
    
    [plugin.multiuser]
    addr = 127.0.0.1:7200
    path = /handler
    ops = Login

    TOML:

    # frps.toml
    bindPort = 7000
    
    [[httpPlugins]]
    addr = "127.0.0.1:7200"
    path = "/handler"
    ops = ["Login"]
  4. Specify username and meta_token in frpc configure file.

    For user1 INI:

    # 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 = 6000

    For user1 TOML:

    serverAddr = "x.x.x.x"
    serverPort = 7000
    user = "user1"
    metadatas.token = "123"
    
    [[proxies]]
    type = "tcp"
    localPort = 22
    remotePort = 6000

    For user2 INI:

    # 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 = 6001

    For user2 TOML:

    serverAddr = "x.x.x.x"
    serverPort = 7000
    user = "user2"
    metadatas.token = "abc"
    
    [[proxies]]
    type = "tcp"
    localPort = 22
    remotePort = 6001