[dependencies.anyhow]
version = "1.0"
[dependencies.async-std]
optional = true
version = "1.12"
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1.5"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.futures]
version = "0.3"
[dependencies.h2]
version = "0.4"
[dependencies.http]
version = "1.0"
[dependencies.once_cell]
version = "1.19"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.quinn]
optional = true
version = "0.10"
[dependencies.rat_logger]
version = "0.2"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
features = ["full"]
optional = true
version = "1.0"
[dependencies.tokio-tungstenite]
optional = true
version = "0.21"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1.6"
[dependencies.wide]
version = "0.7"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.rayon]
version = "1.8"
[dev-dependencies.tokio-test]
version = "0.4"
[[example]]
name = "basic_detection"
path = "examples/basic_detection.rs"
[[example]]
name = "client_server_demo"
path = "examples/client_server_demo.rs"
[[example]]
name = "concurrent_detection"
path = "examples/concurrent_detection.rs"
[[example]]
name = "custom_configuration"
path = "examples/custom_configuration.rs"
[[example]]
name = "h2_h3_advanced"
path = "examples/h2_h3_advanced.rs"
[[example]]
name = "magic_bytes_performance"
path = "examples/magic_bytes_performance.rs"
[[example]]
name = "performance_test"
path = "examples/performance_test.rs"
[[example]]
name = "plugin_system_demo"
path = "examples/plugin_system_demo.rs"
[[example]]
name = "protocol_filtering_performance"
path = "examples/protocol_filtering_performance.rs"
[[example]]
name = "protocol_upgrade"
path = "examples/protocol_upgrade.rs"
[[example]]
name = "simd_performance"
path = "examples/simd_performance.rs"
[[example]]
name = "simple_client_server"
path = "examples/simple_client_server.rs"
[[example]]
name = "streaming_detection"
path = "examples/streaming_detection.rs"
[[example]]
name = "websocket_upgrade_demo"
path = "examples/websocket_upgrade_demo.rs"
[features]
active-probing = []
basic = ["http", "tcp"]
default = ["basic", "simd-accel"]
grpc = ["http2"]
heuristic-detection = []
http = []
http2 = []
mqtt = []
quic = []
redalert-theme = []
runtime-async-std = ["async-std"]
runtime-tokio = ["tokio"]
simd-accel = []
tcp = []
transport-integration = []
websocket = []
zero-copy = []
[lib]
name = "psi_detector"
path = "src/lib.rs"
[package]
authors = ["0ldm0s <oldmos@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "parsing"]
description = "Protocol detection and upgrade framework inspired by Yuri's PSI Detector"
documentation = "https://docs.rs/psi_detector"
edition = "2021"
homepage = "https://github.com/0ldm0s/psi_detector"
keywords = ["protocol", "detection", "upgrade", "simd", "networking"]
license = "LGPL-3.0"
name = "psi_detector"
readme = "README.md"
repository = "https://github.com/0ldm0s/psi_detector.git"
version = "0.1.3"
[[test]]
name = "core_detector_tests"
path = "tests/core_detector_tests.rs"
[[test]]
name = "core_protocol_tests"
path = "tests/core_protocol_tests.rs"
[[test]]
name = "error_tests"
path = "tests/error_tests.rs"
[[test]]
name = "lib_tests"
path = "tests/lib_tests.rs"
[[test]]
name = "simd_tests"
path = "tests/simd_tests.rs"