proxy.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. )
  32. const (
  33. TypeSelector = "selector"
  34. TypeURLTest = "urltest"
  35. )
  36. func ProxyDisplayName(proxyType string) string {
  37. switch proxyType {
  38. case TypeTun:
  39. return "TUN"
  40. case TypeRedirect:
  41. return "Redirect"
  42. case TypeTProxy:
  43. return "TProxy"
  44. case TypeDirect:
  45. return "Direct"
  46. case TypeBlock:
  47. return "Block"
  48. case TypeDNS:
  49. return "DNS"
  50. case TypeSOCKS:
  51. return "SOCKS"
  52. case TypeHTTP:
  53. return "HTTP"
  54. case TypeMixed:
  55. return "Mixed"
  56. case TypeShadowsocks:
  57. return "Shadowsocks"
  58. case TypeVMess:
  59. return "VMess"
  60. case TypeTrojan:
  61. return "Trojan"
  62. case TypeNaive:
  63. return "Naive"
  64. case TypeWireGuard:
  65. return "WireGuard"
  66. case TypeHysteria:
  67. return "Hysteria"
  68. case TypeTor:
  69. return "Tor"
  70. case TypeSSH:
  71. return "SSH"
  72. case TypeShadowTLS:
  73. return "ShadowTLS"
  74. case TypeShadowsocksR:
  75. return "ShadowsocksR"
  76. case TypeVLESS:
  77. return "VLESS"
  78. case TypeTUIC:
  79. return "TUIC"
  80. case TypeHysteria2:
  81. return "Hysteria2"
  82. case TypeAnyTLS:
  83. return "AnyTLS"
  84. case TypeSelector:
  85. return "Selector"
  86. case TypeURLTest:
  87. return "URLTest"
  88. default:
  89. return "Unknown"
  90. }
  91. }