user.go 444 B

1234567891011121314151617181920212223242526272829
  1. package vmess
  2. type UserLevel int
  3. const (
  4. UserLevelAdmin = UserLevel(999)
  5. UserLevelUntrusted = UserLevel(0)
  6. )
  7. type User interface {
  8. ID() *ID
  9. AlterIDs() []*ID
  10. Level() UserLevel
  11. AnyValidID() *ID
  12. }
  13. type UserSettings struct {
  14. PayloadReadTimeout int
  15. }
  16. func GetUserSettings(level UserLevel) UserSettings {
  17. settings := UserSettings{
  18. PayloadReadTimeout: 120,
  19. }
  20. if level > 0 {
  21. settings.PayloadReadTimeout = 0
  22. }
  23. return settings
  24. }