[package] name = "libshpool" version = "0.8.0" edition = "2021" repository = "https://github.com/shell-pool/shpool" authors = ["Ethan Pailes "] readme = "README.md" description = ''' libshpool contains the implementation of the shpool tool, which provides a mechanism for establishing lightweight persistant shell sessions to gracefully handle network disconnects. ''' license = "Apache-2.0" keywords = ["tmux", "tty", "terminal", "shell", "persistence"] rust-version = "1.74" [features] test_hooks = [] # for internal testing only, don't enable this feature [dependencies] clap = { version = "4", features = ["derive"] } # cli parsing anyhow = "1" # dynamic, unstructured errors chrono = "0.4" # getting current time and formatting it serde = "1" # config parsing, connection header formatting serde_derive = "1" # config parsing, connection header formatting toml = "0.8" # config parsing byteorder = "1" # endianness signal-hook = "0.3" # signal handling shpool_pty = "0.3.1" # spawning shells in ptys lazy_static = "1" # globals crossbeam-channel = "0.5" # channels libc = "0.2" # basic libc types log = "0.4" # logging facade (not used directly, but required if we have tracing-log enabled) tracing = "0.1" # logging and performance monitoring facade rmp-serde = "1" # serialization for the control protocol shpool_vt100 = "0.1.2" # terminal emulation for the scrollback buffer shell-words = "1" # parsing the -c/--cmd argument motd = { version = "0.2.2", default-features = false, features = [] } # getting the message-of-the-day termini = "1.0.0" # terminfo database tempfile = "3" # RAII tmp files strip-ansi-escapes = "0.2.0" # cleaning up strings for pager display notify = "6" # watch config file for updates libproc = "0.14.8" # sniffing shells by examining the subprocess daemonize = "0.5" # autodaemonization shpool-protocol = { version = "0.2.1", path = "../shpool-protocol" } # client-server protocol # rusty wrapper for unix apis [dependencies.nix] version = "0.28" features = ["poll", "ioctl", "socket", "user", "process", "signal", "term", "fs"] [dependencies.tracing-subscriber] version = "0.3" default-features = false features = ["std", "fmt", "tracing-log", "smallvec"] [dev-dependencies] ntest = "0.9" # test timeouts assert_matches = "1.5" # assert_matches macro