Cargo.toml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. [package]
  2. name = "rathole"
  3. version = "0.3.8"
  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. [profile.bench]
  34. debug = 1
  35. [profile.minimal]
  36. inherits = "release"
  37. opt-level = "z"
  38. lto = true
  39. codegen-units = 1
  40. [dependencies]
  41. tokio = { version = "1", features = ["full"] }
  42. bytes = { version = "1", features = ["serde"] }
  43. clap = { version = "3.0", features = ["derive"] }
  44. toml = "0.5"
  45. serde = { version = "1.0", features = ["derive"] }
  46. anyhow = "1.0"
  47. sha2 = "0.10"
  48. bincode = "1"
  49. lazy_static = "1.4"
  50. hex = "0.4"
  51. rand = "0.8"
  52. backoff = { version="0.3", features=["tokio"] }
  53. tracing = "0.1"
  54. tracing-subscriber = "0.2"
  55. socket2 = { version = "0.4", features = ["all"] }
  56. fdlimit = "0.2"
  57. tokio-native-tls = { version = "0.3", optional = true }
  58. async-trait = "0.1"
  59. snowstorm = { version = "0.3", optional = true, features = ["stream"], default-features = false }
  60. base64 = { version = "0.13", optional = true }
  61. notify = { version = "5.0.0-pre.13", optional = true }
  62. console-subscriber = { version = "0.1", optional = true, features = ["parking_lot"] }
  63. atty = "0.2"
  64. [build-dependencies]
  65. vergen = { version = "6.0", default-features = false, features = ["build", "git", "cargo"] }
  66. anyhow = "1.0"