NaCl(1)

πŸ“¦
this version Β· 2 versions
  • debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • fedora 43, fedora 44
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– NaCl(1) β€” CurveCP πŸ’–

okay bestie, this is the manual page for CurveCP β€” message-handling programs, and it lives in the General Commands Manual section. yes it's under the name NaCl and yes that's the whole vibe. let's go ✨


🌸 NAME 🌸

CurveCP β€” message-handling programs 🫢


✨ SYNOPSIS ✨

curvecpmessage [-q (optional)]  [-Q (optional)]  [-v (optional)]  [-c
(optional)]  [-C (optional)]  [-s (optional)]  [prog]

πŸ¦‹ DESCRIPTION πŸ¦‹

This manual page documents briefly the CurveCP commands. short and sweet, we love that for us πŸ’…

So picture a traditional UNIX-style server, right? something like ftpd. it handles literally one network connection: reads input from stdin, writes output to stdout, done, no thoughts. then there's a "superserver" like inetd or tcpserver β€” that one listens for network connections and starts a separate server process for each and every connection. iconic behaviour, honestly πŸ‘‘

The CurveCP command-line tools have an extra level of modularity, and that's the whole plot twist. let's break it down:

  • The curvecpserver superserver listens for network connections. that's its job, it's the listener, main character energy ✨
  • For each connection, curvecpserver starts the curvecpmessage message handler. so it's like, the superserver hands things off to the message handler.
  • curvecpmessage then starts a server such as ftpd. nesting doll situation, we love to see it πŸͺ†
  • Then ftpd sends a stream of data to curvecpmessage, which in turn sends messages to curvecpserver, which encrypts and authenticates the messages and sends them inside network packets. okay so that's the outbound journey, got it πŸš€
  • At the same time curvecpclient receives network packets, verifies and decrypts messages inside the packets, and passes the messages to curvecpmessage; curvecpmessage sends a stream of data to ftpd. and that's the inbound journey, symmetry, we love it πŸ’–

And the same curvecpmessage tool is also used by curvecpclient. one tool, two besties, no cap.

okay and here's a fun fact β€” curvecpserver and curvecpclient can use programs other than curvecpmessage. those programs can directly generate messages in the CurveCP message format without talking to separate tools such as ftpd; or they can support a completely different protocol that reuses CurveCP's cryptographic layer but transmits different kinds of messages. so flexible. so modular. lowkey genius 🧚


πŸŽ€ OPTIONS πŸŽ€

How to use curvecpmessage:

  • -q β€” optional. no error messages πŸ™ˆ
  • -Q β€” optional. print error messages (default) πŸ’¬
  • -v β€” optional. print extra information πŸ‘€
  • -c β€” optional. program is a client; server starts first
  • -C β€” optional. program is a client that starts first
  • -s β€” optional. program is a server (default) 🫑
  • prog β€” run this server
ngl, -Q and -s are the defaults, so if you just roll up with nothing, that's what you're getting. periodt πŸ’…

🌈 SEE ALSO 🌈

  • curvecpserver (1)
  • curvecpclient (1)
  • inetd (8)
  • tcpserver (1)

πŸ‘‘ AUTHOR πŸ‘‘

This manual page was written by Sergiusz Pawlowicz debian@pawlowicz.name for the Debian system (and may be used by others). the source of this page is a webpage https://curvecp.org/messageapi.html. Permission is granted to copy, distribute and/or modify this document under public domain. fr fr, take it, it's yours 🫢

This manual page was rewritten for the Debian distribution because the original program does not have a manual page. not me fixing the docs situation πŸ˜­πŸ’–


and that's the whole page bestie!! this was NaCl(1) from the General Commands Manual, and you're all caught up on CurveCP now. slay, go encrypt something πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

πŸ“¦ where this page comes from