Files
Xray-core/main/commands/all/api/inbound_user.go
T

59 lines
1.4 KiB
Go
Raw Normal View History

2024-11-03 00:25:23 -04:00
package api
import (
handlerService "github.com/xtls/xray-core/app/proxyman/command"
"github.com/xtls/xray-core/main/commands/base"
)
var cmdInboundUser = &base.Command{
CustomFlags: true,
UsageLine: "{{.Exec}} api inbounduser [--server=127.0.0.1:8080] -tag=tag [-email=email]",
2025-02-18 05:06:39 -03:30
Short: "Retrieve inbound user(s)",
2024-11-03 00:25:23 -04:00
Long: `
Get User info from an inbound.
2025-02-18 05:06:39 -03:30
2024-11-03 00:25:23 -04:00
Arguments:
2025-02-18 05:06:39 -03:30
-s, -server <server:port>
2024-11-03 00:25:23 -04:00
The API server address. Default 127.0.0.1:8080
2025-02-18 05:06:39 -03:30
-t, -timeout <seconds>
Timeout in seconds for calling API. Default 3
2024-11-03 00:25:23 -04:00
-tag
Inbound tag
2025-02-18 05:06:39 -03:30
-email
The user's email address. If not provided, all users will be retrieved.
2024-11-03 00:25:23 -04:00
Example:
2025-02-18 05:06:39 -03:30
{{.Exec}} {{.LongName}} --server=127.0.0.1:8080 -tag="tag name"
{{.Exec}} {{.LongName}} --server=127.0.0.1:8080 -tag="tag name" -email="xray@love.com"
2024-11-03 00:25:23 -04:00
`,
Run: executeInboundUser,
}
func executeInboundUser(cmd *base.Command, args []string) {
setSharedFlags(cmd)
var tag string
var email string
cmd.Flag.StringVar(&tag, "tag", "", "")
cmd.Flag.StringVar(&email, "email", "", "")
cmd.Flag.Parse(args)
conn, ctx, close := dialAPIServer()
defer close()
client := handlerService.NewHandlerServiceClient(conn)
r := &handlerService.GetInboundUserRequest{
2024-11-09 14:16:11 +03:00
Tag: tag,
2024-11-03 00:25:23 -04:00
Email: email,
}
resp, err := client.GetInboundUsers(ctx, r)
if err != nil {
base.Fatalf("failed to get inbound user: %s", err)
}
showJSONResponse(resp)
}