SPIPE(1)

πŸ“¦
version 1.6.4 Β· 4 versions
, in nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– SPIPE(1) β€” the spipe README, but make it a group chat πŸ’–

okay bestie, sit down, hydrate, and let me tell you about spipe β€” she's the client-side queen of the spiped universe. It's literally a spiped client utility, and she's here to make your encrypted pipe dreams come true. no cap. 🫢


✨ NAME ✨

spipe β€” spiped client utility

like... that's the whole name section. she's concise. she's iconic. she doesn't waste your time. πŸ’…


🌸 SYNOPSIS 🌸

spipe -t <target socket> -k <key file> [-b <bind address>] [-f | -g]
[-j] [-o <connection timeout>]
spiped -v

okay so real talk, that second line says spiped -v and not spipe -v, and we are keeping it exactly as written because we do not edit the sacred text. πŸ™ˆ


πŸŽ€ OPTIONS πŸŽ€

the whole menu, no skips, no substitutions. every single one. periodt. πŸ‘‘

  • -t <target socket> β€” this is where spipe is supposed to connect, bestie. the address has to be in one of these formats and she will not accept any other vibe:
    • /absolute/path/to/unix/socket
    • host.name:port
    • [ip.v4.ad.dr]:port
    • [ipv6::addr]:port
  • -k <key file> β€” hand her a key file and she'll use it to authenticate and encrypt. that's the whole point. you can also pass - to read the key from standard input instead. ⚠️ but heads up, bestie: if you read the key from standard input, you literally can't read anything else from standard input, which means spipe is stuck only receiving data and cannot send any. it's giving one-way street. 🚧
  • -b <bind address> β€” binds the outgoing address. if it's a network address, the port number can either be specified or just left to the operating system to figure out. but if you do specify the port number, the OS will not let you open a second connection until the first one has completely expired β€” as in, the TCP state is no longer in the TIME-WAIT state. so like... choose wisely. ⏳
  • -f β€” fast/weak handshaking, babes. it cuts the CPU time spent in the initial connection setup by disabling the Diffie-Hellman handshake. the trade-off? you lose perfect forward secrecy. faster, yes. but at what cost. πŸ’€
  • -g β€” the opposite energy: require perfect forward secrecy, and drop connections if the other host is out here using the -f option. she said standards. 🚫
  • -j β€” disables transport layer keep-alives. (by default they are enabled, so this is you actively turning them off. an icon of boundaries.) πŸ›‘
  • -o <connection timeout> β€” the timeout, in seconds, after which an attempt to connect to the target or a protocol handshake gets aborted (and the connection dropped) if it hasn't completed. defaults to 5s. so if it's not giving by second five, she's gone. 😭
  • -v β€” prints the version number. short. sweet. informative. 🌟

πŸ¦‹ SEE ALSO πŸ¦‹

like, go read her sister's page. she's the server. they're a duo. 🫢


and that's the whole thing, bestie!! spiped 1.6.4, dated April 02, 2025 β€” the version and the date, right there, at the bottom, exactly where the footer lives. mwah. go encrypt something. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from