[package]
edition = "2024"
rust-version = "1.88"
name = "dsct"
version = "0.2.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "LLM-friendly packet dissector CLI"
readme = "README.md"
keywords = [
"pcap",
"pcapng",
"packet",
"dissector",
"llm",
]
categories = [
"command-line-utilities",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/higebu/dsct"
[package.metadata.release]
tag-prefix = "v"
tag-name = "v{{version}}"
pre-release-commit-message = "chore(release): v{{version}}"
publish = false
push = false
[package.metadata.docs.rs]
all-features = true
[features]
ah = ["packet-dissector/ah"]
arp = ["packet-dissector/arp"]
bfd = ["packet-dissector/bfd"]
bgp = ["packet-dissector/bgp"]
default = [
"ethernet",
"linux_sll",
"linux_sll2",
"arp",
"lacp",
"ipv4",
"ipv6",
"icmp",
"icmpv6",
"igmp",
"tcp",
"udp",
"sctp",
"http",
"http2",
"dns",
"mdns",
"dhcp",
"dhcpv6",
"gtpv1u",
"gtpv2c",
"pfcp",
"sip",
"diameter",
"nas5g",
"ngap",
"srv6",
"geneve",
"gre",
"vxlan",
"lldp",
"stp",
"mpls",
"ntp",
"ospf",
"vrrp",
"bfd",
"isis",
"bgp",
"l2tp",
"l2tpv3",
"tls",
"ppp",
"radius",
"ah",
"esp",
"esp-decrypt",
"ike",
"rtp",
"quic",
"stun",
]
dhcp = ["packet-dissector/dhcp"]
dhcpv6 = ["packet-dissector/dhcpv6"]
diameter = ["packet-dissector/diameter"]
dns = ["packet-dissector/dns"]
esp = ["packet-dissector/esp"]
esp-decrypt = [
"esp",
"packet-dissector/esp-decrypt",
]
ethernet = ["packet-dissector/ethernet"]
geneve = ["packet-dissector/geneve"]
gre = ["packet-dissector/gre"]
gtpv1u = ["packet-dissector/gtpv1u"]
gtpv2c = ["packet-dissector/gtpv2c"]
http = ["packet-dissector/http"]
http2 = ["packet-dissector/http2"]
icmp = ["packet-dissector/icmp"]
icmpv6 = ["packet-dissector/icmpv6"]
igmp = ["packet-dissector/igmp"]
ike = ["packet-dissector/ike"]
ipv4 = ["packet-dissector/ipv4"]
ipv6 = ["packet-dissector/ipv6"]
isis = ["packet-dissector/isis"]
l2tp = ["packet-dissector/l2tp"]
l2tpv3 = ["packet-dissector/l2tpv3"]
lacp = ["packet-dissector/lacp"]
linux_sll = ["packet-dissector/linux_sll"]
linux_sll2 = ["packet-dissector/linux_sll2"]
lldp = ["packet-dissector/lldp"]
mdns = ["packet-dissector/mdns"]
mpls = ["packet-dissector/mpls"]
nas5g = ["packet-dissector/nas5g"]
ngap = ["packet-dissector/ngap"]
ntp = ["packet-dissector/ntp"]
ospf = ["packet-dissector/ospf"]
pfcp = ["packet-dissector/pfcp"]
ppp = ["packet-dissector/ppp"]
quic = ["packet-dissector/quic"]
radius = ["packet-dissector/radius"]
rtp = ["packet-dissector/rtp"]
sctp = ["packet-dissector/sctp"]
sip = ["packet-dissector/sip"]
srv6 = ["packet-dissector/srv6"]
stp = ["packet-dissector/stp"]
stun = ["packet-dissector/stun"]
tcp = ["packet-dissector/tcp"]
tls = ["packet-dissector/tls"]
tui = [
"dep:ratatui",
"dep:crossterm",
"dep:memmap2",
"dep:nucleo-matcher",
"dep:tempfile",
"dep:rustix",
"dep:lru",
]
udp = ["packet-dissector/udp"]
vrrp = ["packet-dissector/vrrp"]
vxlan = ["packet-dissector/vxlan"]
[lib]
name = "dsct"
path = "src/lib.rs"
[[bin]]
name = "dsct"
path = "src/main.rs"
[[test]]
name = "cli_error_test"
path = "tests/cli_error_test.rs"
[[test]]
name = "cli_read_test"
path = "tests/cli_read_test.rs"
[[test]]
name = "cli_stats_test"
path = "tests/cli_stats_test.rs"
[[test]]
name = "tui_live_test"
path = "tests/tui_live_test.rs"
[[bench]]
name = "json_escape"
path = "benches/json_escape.rs"
harness = false
[[bench]]
name = "tui_index"
path = "benches/tui_index.rs"
harness = false
required-features = ["tui"]
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.crossterm]
version = "0.29"
features = ["use-dev-tty"]
optional = true
[dependencies.lru]
version = "0.16"
optional = true
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.nucleo-matcher]
version = "0.3"
optional = true
[dependencies.packet-dissector]
version = "0.2.1"
default-features = false
[dependencies.packet-dissector-core]
version = "0.2.1"
[dependencies.packet-dissector-pcap]
version = "0.2.1"
[dependencies.ratatui]
version = "0.30"
features = ["crossterm"]
optional = true
default-features = false
[dependencies.rustix]
version = "1"
features = ["stdio"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
[dependencies.sqlparser]
version = "0.61.0"
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "1.1"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.nix]
version = "0.31"
features = [
"term",
"poll",
"process",
"fs",
]
default-features = false
[dev-dependencies.packet-dissector-test-alloc]
version = "0.2.1"
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[profile.dist]
lto = "thin"
inherits = "release"