mirror of
https://github.com/boringproxy/boringproxy.git
synced 2025-02-25 18:55:29 -06:00
Implement password-protected tunnels
This commit is contained in:
18
api.go
18
api.go
@@ -79,6 +79,22 @@ func (a *Api) CreateTunnel(tokenData TokenData, params url.Values) (*Tunnel, err
|
||||
|
||||
allowExternalTcp := params.Get("allow-external-tcp") == "on"
|
||||
|
||||
passwordProtect := params.Get("password-protect") == "on"
|
||||
|
||||
var username string
|
||||
var password string
|
||||
if passwordProtect {
|
||||
username = params.Get("username")
|
||||
if username == "" {
|
||||
return nil, errors.New("Username required")
|
||||
}
|
||||
|
||||
password = params.Get("password")
|
||||
if password == "" {
|
||||
return nil, errors.New("Password required")
|
||||
}
|
||||
}
|
||||
|
||||
request := Tunnel{
|
||||
Domain: domain,
|
||||
Owner: tokenData.Owner,
|
||||
@@ -86,6 +102,8 @@ func (a *Api) CreateTunnel(tokenData TokenData, params url.Values) (*Tunnel, err
|
||||
ClientPort: clientPort,
|
||||
ClientAddress: clientAddr,
|
||||
AllowExternalTcp: allowExternalTcp,
|
||||
AuthUsername: username,
|
||||
AuthPassword: password,
|
||||
}
|
||||
|
||||
tunnel, err := a.tunMan.RequestCreateTunnel(request)
|
||||
|
||||
Reference in New Issue
Block a user