Cargo.toml 2.0 KB

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