init
This commit is contained in:
59
internal/xrpc/services/handler/management.go
Normal file
59
internal/xrpc/services/handler/management.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/xtls/xray-core/app/proxyman/command"
|
||||
"github.com/xtls/xray-core/common/protocol"
|
||||
"github.com/xtls/xray-core/common/serial"
|
||||
)
|
||||
|
||||
func RemoveInbound(ctx context.Context, client command.HandlerServiceClient, tag string) error {
|
||||
_, err := client.RemoveInbound(ctx, &command.RemoveInboundRequest{Tag: tag})
|
||||
return err
|
||||
}
|
||||
|
||||
func RemoveOutbound(ctx context.Context, client command.HandlerServiceClient, tag string) error {
|
||||
_, err := client.RemoveOutbound(ctx, &command.RemoveOutboundRequest{Tag: tag})
|
||||
return err
|
||||
}
|
||||
|
||||
func ListInboundTags(ctx context.Context, client command.HandlerServiceClient) ([]string, error) {
|
||||
resp, err := client.ListInbounds(ctx, &command.ListInboundsRequest{IsOnlyTags: true})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tags := make([]string, 0, len(resp.GetInbounds()))
|
||||
for _, inbound := range resp.GetInbounds() {
|
||||
tags = append(tags, inbound.GetTag())
|
||||
}
|
||||
return tags, nil
|
||||
}
|
||||
|
||||
func GetInboundUsers(ctx context.Context, client command.HandlerServiceClient, inboundTag string) ([]*protocol.User, error) {
|
||||
resp, err := client.GetInboundUsers(ctx, &command.GetInboundUserRequest{
|
||||
Tag: inboundTag,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return resp.GetUsers(), nil
|
||||
}
|
||||
|
||||
func GetInboundUsersCount(ctx context.Context, client command.HandlerServiceClient, inboundTag string) (int64, error) {
|
||||
resp, err := client.GetInboundUsersCount(ctx, &command.GetInboundUserRequest{
|
||||
Tag: inboundTag,
|
||||
})
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return resp.GetCount(), nil
|
||||
}
|
||||
|
||||
func AlterOutbound(ctx context.Context, client command.HandlerServiceClient, tag string, operation *serial.TypedMessage) error {
|
||||
_, err := client.AlterOutbound(ctx, &command.AlterOutboundRequest{
|
||||
Tag: tag,
|
||||
Operation: operation,
|
||||
})
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user