tun.go 486 B

123456789101112131415161718192021222324252627282930
  1. package conf
  2. import (
  3. "github.com/xtls/xray-core/proxy/tun"
  4. "google.golang.org/protobuf/proto"
  5. )
  6. type TunConfig struct {
  7. Name string `json:"name"`
  8. MTU uint32 `json:"MTU"`
  9. UserLevel uint32 `json:"userLevel"`
  10. }
  11. func (v *TunConfig) Build() (proto.Message, error) {
  12. config := &tun.Config{
  13. Name: v.Name,
  14. MTU: v.MTU,
  15. UserLevel: v.UserLevel,
  16. }
  17. if v.Name == "" {
  18. config.Name = "xray0"
  19. }
  20. if v.MTU == 0 {
  21. config.MTU = 1500
  22. }
  23. return config, nil
  24. }