mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-03-21 16:41:47 +00:00
Currently, the logs that go to logcat on Android are pretty badly
formatted because we use `tracing-android` and it formats the span
fields and message fields itself. There is actually no reason for doing
the formatting ourselves. Instead, we can use the `MakeWriter`
abstraction from `tracing_subscriber` to plug in a custom writer that
writes to Android's logcat.
This results in logs like this:
```
[nix-shell:~/src/github.com/firezone/firezone/rust]$ adb logcat -s connlib
--------- beginning of main
06-28 19:41:20.057 19955 20213 D connlib : phoenix_channel: Connecting to portal host=api.firez.one user_agent=Android/14 5.15.137-android14-11-gbf4f9bc41c3b-ab11664771 connlib/1.1.1
06-28 19:41:20.058 19955 20213 I connlib : firezone_tunnel::client: Network change detected
06-28 19:41:20.061 19955 20213 D connlib : snownet::node: Closed all connections as part of reconnecting num_connections=0
06-28 19:41:20.365 19955 20213 I connlib : phoenix_channel: Connected to portal host=api.firez.one
06-28 19:41:20.601 19955 20213 I connlib : firezone_tunnel::io: Setting new DNS resolvers
06-28 19:41:21.031 19955 20213 D connlib : firezone_tunnel::client: TUN device initialized ip4=100.66.86.233 ip6=fd00:2021:1111::f:d9c1 name=tun1
06-28 19:41:21.031 19955 20213 I connlib : connlib_client_shared::eventloop: Firezone Started!
06-28 19:41:21.031 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.slackb.com
06-28 19:41:21.031 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.test-ipv6.com
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=5.4.6.7/32 name=5.4.6.7
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=10.0.32.101/32 name=IPerf3
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=ifconfig.net
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.slack-imgs.com
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.google.com
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=10.0.0.5/32 name=10.0.0.5
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.githubassets.com
06-28 19:41:21.032 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=dnsleaktest.com
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.slack-edge.com
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.github.com
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=speed.cloudflare.com
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.githubusercontent.com
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=10.0.14.11/32 name=Staging resource performance
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::dns: Activating DNS resource address=*.whatismyip.com
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=10.0.0.8/32 name=10.0.0.8
06-28 19:41:21.033 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=9.9.9.9/32 name=Quad9 DNS
06-28 19:41:21.034 19955 20213 I connlib : firezone_tunnel::client: Activating CIDR resource address=10.0.32.10/32 name=CoreDNS
06-28 19:41:21.216 19955 20213 I connlib : snownet::node: Added new TURN server id=bd6e9d1a-4696-4f8b-8337-aab5d5cea810 address=Dual { v4: 35.197.171.113:3478, v6: [2600:1900:40b0:1504:0:27::]:3478 }
```
---------
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
66 lines
2.3 KiB
TOML
66 lines
2.3 KiB
TOML
[package]
|
|
name = "connlib-shared"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
[features]
|
|
mock = []
|
|
proptest = ["dep:proptest"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.82"
|
|
secrecy = { workspace = true, features = ["serde", "bytes"] }
|
|
base64 = { version = "0.22", default-features = false, features = ["std"] }
|
|
boringtun = { workspace = true }
|
|
chrono = { workspace = true }
|
|
futures = { version = "0.3", default-features = false, features = ["std", "async-await", "executor"] }
|
|
futures-util = { version = "0.3", default-features = false, features = ["std", "async-await", "async-await-macro"] }
|
|
ip_network = { version = "0.4", default-features = false, features = ["serde"] }
|
|
os_info = { version = "3", default-features = false }
|
|
rand = { version = "0.8", default-features = false, features = ["std"] }
|
|
rand_core = { version = "0.6.4", default-features = false, features = ["std"] }
|
|
serde = { version = "1.0", default-features = false, features = ["derive", "std"] }
|
|
serde_json = { version = "1.0", default-features = false, features = ["std"] }
|
|
thiserror = { version = "1.0", default-features = false }
|
|
tokio = { version = "1.38", features = ["fs"] }
|
|
tracing = { workspace = true }
|
|
url = { version = "2.4.1", default-features = false }
|
|
uuid = { version = "1.7", default-features = false, features = ["std", "v4", "serde"] }
|
|
ring = "0.17"
|
|
domain = { workspace = true }
|
|
libc = "0.2"
|
|
phoenix-channel = { workspace = true }
|
|
ip-packet = { workspace = true }
|
|
proptest = { version = "1.4.0", optional = true }
|
|
itertools = "0.13"
|
|
|
|
# Needed for Android logging until tracing is working
|
|
log = "0.4"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1.38", features = ["macros", "rt"] }
|
|
|
|
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies]
|
|
swift-bridge = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
netlink-packet-route = { version = "0.19", default-features = false }
|
|
netlink-packet-core = { version = "0.7", default-features = false }
|
|
rtnetlink = { workspace = true }
|
|
|
|
# Windows tunnel dependencies
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
wintun = "0.4.0"
|
|
known-folders = "1.1.0"
|
|
|
|
# Windows Win32 API
|
|
[target.'cfg(windows)'.dependencies.windows]
|
|
version = "0.57.0"
|
|
features = [
|
|
"Win32_Foundation",
|
|
]
|
|
|
|
[lints]
|
|
workspace = true
|