mirror of
https://github.com/fatedier/frp.git
synced 2026-03-18 07:49:16 +08:00
34 lines
896 B
Go
34 lines
896 B
Go
package naming
|
|
|
|
import "strings"
|
|
|
|
// AddUserPrefix builds the wire-level proxy name for frps by prefixing user.
|
|
func AddUserPrefix(user, name string) string {
|
|
if user == "" {
|
|
return name
|
|
}
|
|
return user + "." + name
|
|
}
|
|
|
|
// StripUserPrefix converts a wire-level proxy name to an internal raw name.
|
|
// It strips only one exact "{user}." prefix.
|
|
func StripUserPrefix(user, name string) string {
|
|
if user == "" {
|
|
return name
|
|
}
|
|
prefix := user + "."
|
|
if strings.HasPrefix(name, prefix) {
|
|
return strings.TrimPrefix(name, prefix)
|
|
}
|
|
return name
|
|
}
|
|
|
|
// BuildTargetServerProxyName resolves visitor target proxy name for wire-level
|
|
// protocol messages. serverUser overrides local user when set.
|
|
func BuildTargetServerProxyName(localUser, serverUser, serverName string) string {
|
|
if serverUser != "" {
|
|
return AddUserPrefix(serverUser, serverName)
|
|
}
|
|
return AddUserPrefix(localUser, serverName)
|
|
}
|