[package]
name = "cmtrace-open"
version = "1.5.0"
description = "Free, open-source CMTrace replacement: Windows log viewer with ConfigMgr/SCCM, Intune, and Autopilot ESP diagnostics, DSRegCmd triage, and real-time tailing."
authors = ["Adam Gell"]
license = "MIT"
edition = "2021"
rust-version = "1.88"
repository = "https://github.com/adamgell/cmtraceopen"
homepage = "https://cmtraceopen.com"
readme = "README.md"
keywords = ["cmtrace", "log-viewer", "sccm", "intune", "tauri"]
categories = ["gui", "development-tools::debugging", "os::windows-apis"]
[lib]
name = "app_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[features]
default = ["full"]
full = ["collector", "deployment", "dsregcmd", "esp-diagnostics", "event-log", "intune-diagnostics", "macos-diag", "secureboot", "sysmon"]
sysmon = ["dep:evtx"]
event-log = ["dep:evtx"]
collector = []
deployment = []
dsregcmd = ["intune-diagnostics"]
esp-diagnostics = ["intune-diagnostics", "dep:cab", "dep:tempfile", "dep:zip"]
intune-diagnostics = ["dep:evtx", "dep:quick-xml"]
macos-diag = ["dep:plist"]
secureboot = ["dep:tempfile"]
[dependencies]
cmtraceopen-parser = { path = "../crates/cmtraceopen-parser", version = "0.1" }
tauri = { version = "2", features = [] }
tauri-plugin-dialog = "2"
tauri-plugin-fs = "2"
tauri-plugin-clipboard-manager = "2"
tauri-plugin-os = "2"
tauri-plugin-updater = "2"
tauri-plugin-process = "2"
tauri-plugin-log = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
base64 = "0.23"
regex = "1"
chrono = { version = "0.4", features = ["serde"] }
encoding_rs = "0.8"
log = "0.4"
thiserror = "2"
notify = "8"
tokio = { version = "1", features = ["fs", "io-util", "sync", "rt", "net"] }
rayon = "1.10"
font-kit = "0.14"
evtx = { version = "=0.12.2", optional = true }
quick-xml = { version = "0.38", optional = true }
glob = "0.3"
sha2 = "0.11"
tempfile = { version = "3", optional = true }
uuid = { version = "1", features = ["v4"] }
anyhow = "1"
zip = { version = "=4.2.0", default-features = false, features = ["deflate"], optional = true }
cab = { version = "=0.6.0", optional = true }
time = { version = "0.3.47", default-features = false, features = ["parsing"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "macos")'.dependencies]
plist = { version = "1", optional = true }
[target.'cfg(target_os = "windows")'.dependencies]
winreg = "0.56"
windows = { version = "=0.62.2", features = [
"Win32_Foundation",
"Win32_NetworkManagement_NetManagement",
"Win32_Security_Cryptography",
"Win32_Security_Authorization",
"Win32_System_EventLog",
"Win32_Storage_FileSystem",
"Win32_Security",
"Win32_System_Com",
"Win32_System_Ole",
"Win32_System_Registry",
"Win32_System_SystemInformation",
"Win32_System_Threading",
"Win32_System_Variant",
"Win32_System_Wmi",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
"Security_Authentication_Web_Core",
"Security_Credentials",
"Foundation",
"Foundation_Collections",
"Win32_System_WinRT",
] }
windows-future = "=0.3.2"
ureq = "=3.2.0"
[target.'cfg(any(target_os = "macos", windows, target_os = "linux"))'.dependencies]
tauri-plugin-window-state = "2"
[dev-dependencies]
criterion = "0.8"
tempfile = "3"
plist = "1"
tauri = { version = "2", features = ["test"] }
[[test]]
name = "esp_diagnostics_sources"
required-features = ["esp-diagnostics"]
[[test]]
name = "sysmon_parser"
required-features = ["sysmon"]
[[bench]]
name = "intune_pipeline"
harness = false
required-features = ["intune-diagnostics"]
[[bench]]
name = "timeline"
harness = false