burrow/burrow/Cargo.toml
Conrad Kramer 5bd95b7a7c
Some checks failed
Build Rust / Cargo Test (push) Waiting to run
Build Site / Next.js Build (push) Waiting to run
Build Apple / Build App (iOS Simulator) (push) Failing after 2m10s
Build Apple / Build App (macOS) (push) Failing after 2m9s
Avoid oslog on iOS simulator builds
2026-03-19 03:42:12 -07:00

105 lines
2.7 KiB
TOML

[package]
name = "burrow"
version = "0.1.0"
edition = "2021"
description = "Burrow is an open source tool for burrowing through firewalls, built by teenagers at Hack Club."
license = "GPL-3.0-or-later"
[lib]
crate-type = ["lib", "staticlib"]
[dependencies]
anyhow = "1.0"
tokio = { version = "1.50.0", features = [
"rt",
"macros",
"sync",
"io-util",
"rt-multi-thread",
"signal",
"time",
"tracing",
"fs",
] }
tun = { version = "0.1", path = "../tun", features = ["serde", "tokio"] }
clap = { version = "4.4", features = ["derive"] }
tracing = "0.1"
tracing-log = "0.1"
tracing-subscriber = { version = "0.3", features = ["std", "env-filter"] }
log = "0.4"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
blake2 = "0.10"
chacha20poly1305 = "0.10"
rand = "0.8"
rand_core = "0.6"
aead = "0.5"
x25519-dalek = { version = "2.0", features = [
"reusable_secrets",
"static_secrets",
] }
ring = "0.17"
parking_lot = "0.12"
hmac = "0.12"
base64 = "0.21"
fehler = "1.0"
ip_network_table = "0.2"
ip_network = "0.4"
async-channel = "2.1"
schemars = "0.8"
futures = "0.3.28"
once_cell = "1.19"
arti-client = "0.40.0"
tokio-util = { version = "0.7.18", features = ["compat"] }
console-subscriber = { version = "0.2.0", optional = true }
console = "0.15.8"
axum = "0.8.8"
reqwest = { version = "0.13.2", default-features = false, features = [
"json",
"rustls",
] }
rusqlite = { version = "0.38.0", features = ["blob"] }
dotenv = "0.15.0"
tonic = "0.14.5"
tonic-prost = "0.14.5"
prost = "0.14.3"
prost-types = "0.14.3"
tokio-stream = "0.1.18"
async-stream = "0.2"
tower = "0.5.3"
hyper-util = "0.1.20"
toml = "0.8.15"
rust-ini = "0.21.0"
[target.'cfg(target_os = "linux")'.dependencies]
caps = "0.5"
libsystemd = "0.7"
tracing-journald = "0.3"
libc = "0.2"
[target.'cfg(target_vendor = "apple")'.dependencies]
nix = { version = "0.27", features = ["ioctl"] }
rusqlite = { version = "0.38.0", features = ["bundled", "blob"] }
[target.'cfg(target_os = "macos")'.dependencies]
tracing-oslog = { git = "https://github.com/Stormshield-robinc/tracing-oslog" }
[dev-dependencies]
insta = { version = "1.32", features = ["yaml"] }
[package.metadata.generate-rpm]
assets = [
{ source = "target/release/burrow", dest = "/usr/bin/burrow", mode = "755" },
{ source = "systemd/burrow.service", dest = "/etc/systemd/system/burrow.service", mode = "644" },
{ source = "systemd/burrow.socket", dest = "/etc/systemd/system/burrow.socket", mode = "644" },
]
post_install_script = "../package/rpm/post_install"
pre_uninstall_script = "../package/rpm/pre_uninstall"
[features]
tokio-console = ["dep:console-subscriber"]
bundled = ["rusqlite/bundled"]
[build-dependencies]
tonic-prost-build = "0.14.5"