[package]
edition = "2024"
rust-version = "1.94.1"
name = "tocat"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A socat-inspired relay with a config file and a plugin pipeline"
readme = "README.md"
keywords = [
"netcat",
"proxy",
"relay",
"socat",
"tcp",
]
categories = [
"command-line-utilities",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lkalir/tocat"
[features]
all-plugins = [
"base64",
"block",
"compress",
"frame",
"hash",
"hexify",
"limit",
"process",
"rate",
"tee",
"throttle",
"timeout",
"wasm",
]
all-plugins-no-wasm = [
"base64",
"block",
"compress",
"frame",
"hash",
"hexify",
"limit",
"process",
"rate",
"tee",
"throttle",
"timeout",
]
base64 = ["tocat-plugins/base64"]
block = ["tocat-plugins/block"]
compress = ["tocat-plugins/compress"]
default = [
"all-plugins",
"schema",
]
frame = ["tocat-plugins/frame"]
hash = ["tocat-plugins/hash"]
hexify = ["tocat-plugins/hexify"]
limit = ["tocat-plugins/limit"]
process = ["tocat-plugins/process"]
rate = ["tocat-plugins/rate"]
schema = []
tee = ["tocat-plugins/tee"]
throttle = ["tocat-plugins/throttle"]
timeout = ["tocat-plugins/timeout"]
tokio-console = ["dep:console-subscriber"]
wasm = ["tocat-plugins/wasm"]
[[bin]]
name = "tocat"
path = "src/main.rs"
[dependencies.anyhow]
version = "1.0.104"
[dependencies.clap]
version = "4.6.4"
features = ["derive"]
[dependencies.console-subscriber]
version = "0.5.0"
optional = true
[dependencies.futures]
version = "0.3.33"
[dependencies.futures-util]
version = "0.3.33"
[dependencies.pty-process]
version = "0.5.3"
features = ["async"]
[dependencies.rustix]
version = "1.1.4"
features = [
"fs",
"pipe",
"pty",
"termios",
]
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.tocat-api]
version = "0.2.0"
[dependencies.tocat-plugins]
version = "0.2.0"
default-features = false
[dependencies.tokio]
version = "1.53.1"
features = [
"fs",
"io-std",
"io-util",
"macros",
"net",
"process",
"rt",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.tokio-seqpacket]
version = "0.9.1"
[dependencies.tokio-util]
version = "0.7.19"
features = ["rt"]
[dependencies.toml]
version = "1.1.4"
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-appender]
version = "0.2.5"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"env-filter",
"json",
]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tokio_unstable)"]