socat is a relay for bidirectional data transfer between two independent datachannels. Each of these data channels may be a file, pipe, device (serial lineetc. or a pseudo terminal), a socket (UNIX, IP4, IP6 - raw, UDP, TCP), anSSL socket, proxy CONNECT connection, a file descriptor (stdin etc.), the GNUline editor (readline), a program, or a combination of two of these. These modes include generation of "listening" sockets, named pipes, and pseudoterminals.