proxy.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package constant
  2. const (
  3. TypeTun = "tun"
  4. TypeRedirect = "redirect"
  5. TypeTProxy = "tproxy"
  6. TypeDirect = "direct"
  7. TypeBlock = "block"
  8. TypeDNS = "dns"
  9. TypeSOCKS = "socks"
  10. TypeHTTP = "http"
  11. TypeMixed = "mixed"
  12. TypeShadowsocks = "shadowsocks"
  13. TypeVMess = "vmess"
  14. TypeTrojan = "trojan"
  15. TypeNaive = "naive"
  16. TypeWireGuard = "wireguard"
  17. TypeHysteria = "hysteria"
  18. TypeTor = "tor"
  19. TypeSSH = "ssh"
  20. TypeShadowTLS = "shadowtls"
  21. TypeAnyTLS = "anytls"
  22. TypeShadowsocksR = "shadowsocksr"
  23. TypeVLESS = "vless"
  24. TypeTUIC = "tuic"
  25. TypeHysteria2 = "hysteria2"
  26. TypeTailscale = "tailscale"
  27. TypeDERP = "derp"
  28. TypeResolved = "resolved"
  29. TypeSSMAPI = "ssm-api"
  30. TypeCCM = "ccm"
  31. TypeOCM = "ocm"
  32. )
  33. const (
  34. TypeSelector = "selector"
  35. TypeURLTest = "urltest"
  36. )
  37. func ProxyDisplayName(proxyType string) string {
  38. switch proxyType {
  39. case TypeTun:
  40. return "TUN"
  41. case TypeRedirect:
  42. return "Redirect"
  43. case TypeTProxy:
  44. return "TProxy"
  45. case TypeDirect:
  46. return "Direct"
  47. case TypeBlock:
  48. return "Block"
  49. case TypeDNS:
  50. return "DNS"
  51. case TypeSOCKS:
  52. return "SOCKS"
  53. case TypeHTTP:
  54. return "HTTP"
  55. case TypeMixed:
  56. return "Mixed"
  57. case TypeShadowsocks:
  58. return "Shadowsocks"
  59. case TypeVMess:
  60. return "VMess"
  61. case TypeTrojan:
  62. return "Trojan"
  63. case TypeNaive:
  64. return "Naive"
  65. case TypeWireGuard:
  66. return "WireGuard"
  67. case TypeHysteria:
  68. return "Hysteria"
  69. case TypeTor:
  70. return "Tor"
  71. case TypeSSH:
  72. return "SSH"
  73. case TypeShadowTLS:
  74. return "ShadowTLS"
  75. case TypeShadowsocksR:
  76. return "ShadowsocksR"
  77. case TypeVLESS:
  78. return "VLESS"
  79. case TypeTUIC:
  80. return "TUIC"
  81. case TypeHysteria2:
  82. return "Hysteria2"
  83. case TypeAnyTLS:
  84. return "AnyTLS"
  85. case TypeSelector:
  86. return "Selector"
  87. case TypeURLTest:
  88. return "URLTest"
  89. default:
  90. return "Unknown"
  91. }
  92. }