proxy.go 1.7 KB

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