1
0

Cargo.toml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. [package]
  2. name = "rathole"
  3. version = "0.4.3"
  4. edition = "2021"
  5. authors = ["Yujia Qiao <code@rapiz.me>"]
  6. description = "A reverse proxy for NAT traversal"
  7. license = "Apache-2.0"
  8. repository = "https://github.com/rapiz1/rathole"
  9. readme = "README.md"
  10. build = "build.rs"
  11. include = ["src/**/*", "LICENSE", "README.md", "build.rs"]
  12. [features]
  13. default = ["server", "client", "tls", "noise", "hot-reload"]
  14. # Run as a server
  15. server = []
  16. # Run as a client
  17. client = []
  18. # TLS support
  19. tls = ["tokio-native-tls"]
  20. # Noise support
  21. noise = ["snowstorm", "base64"]
  22. # Configuration hot-reload support
  23. hot-reload = ["notify"]
  24. # Feature to enable tokio-console. Disabled by default.
  25. # Don't enable it unless for debugging purposes.
  26. console = ["console-subscriber", "tokio/tracing"]
  27. # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  28. [profile.dev]
  29. panic = "abort"
  30. [profile.release]
  31. panic = "abort"
  32. lto = true
  33. codegen-units = 1
  34. strip = true
  35. [profile.bench]
  36. debug = 1
  37. [profile.minimal]
  38. inherits = "release"
  39. opt-level = "z"
  40. lto = true
  41. codegen-units = 1
  42. [dependencies]
  43. tokio = { version = "1", features = ["full"] }
  44. bytes = { version = "1", features = ["serde"] }
  45. clap = { version = "3.0", features = ["derive"] }
  46. toml = "0.5"
  47. serde = { version = "1.0", features = ["derive"] }
  48. anyhow = "1.0"
  49. sha2 = "0.10"
  50. bincode = "1"
  51. lazy_static = "1.4"
  52. hex = "0.4"
  53. rand = "0.8"
  54. backoff = { version = "0.4", features = ["tokio"] }
  55. tracing = "0.1"
  56. tracing-subscriber = "0.2"
  57. socket2 = { version = "0.4", features = ["all"] }
  58. fdlimit = "0.2"
  59. tokio-native-tls = { version = "0.3", optional = true }
  60. async-trait = "0.1"
  61. snowstorm = { version = "0.4", optional = true, features = ["stream"], default-features = false }
  62. base64 = { version = "0.13", optional = true }
  63. notify = { version = "5.0.0-pre.13", optional = true }
  64. console-subscriber = { version = "0.1", optional = true, features = ["parking_lot"] }
  65. atty = "0.2"
  66. async-http-proxy = { version = "1.2", features = ["runtime-tokio", "basic-auth"] }
  67. async-socks5 = "0.5"
  68. url = { version = "2.2", features = ["serde"] }
  69. [build-dependencies]
  70. vergen = { version = "6.0", default-features = false, features = ["build", "git", "cargo"] }
  71. anyhow = "1.0"