| 12345678910111213141516171819202122232425262728293031 |
- // +build json
- package vmess
- import (
- "encoding/json"
- "github.com/v2ray/v2ray-core/common/log"
- "github.com/v2ray/v2ray-core/common/protocol"
- "github.com/v2ray/v2ray-core/common/uuid"
- )
- func (u *Account) UnmarshalJSON(data []byte) error {
- type JsonConfig struct {
- ID string `json:"id"`
- AlterIds uint16 `json:"alterId"`
- }
- var rawConfig JsonConfig
- if err := json.Unmarshal(data, &rawConfig); err != nil {
- return err
- }
- id, err := uuid.ParseString(rawConfig.ID)
- if err != nil {
- log.Error("VMess: Failed to parse ID: ", err)
- return err
- }
- u.ID = protocol.NewID(id)
- u.AlterIDs = protocol.NewAlterIDs(u.ID, rawConfig.AlterIds)
- return nil
- }
|