dest-unreach / socat

socat - Multipurpose relay

Abstract

what: "netcat++" (extended design, new implementation)
OS:   AIX, BSD, HP-UX, Linux, Solaris e.a. (UNIX)
lic:  GPL2
inst: tar x...; ./configure; make; make install
doc:  README; socat.html, socat.1; xio.help
ui:   command line
exa:  socat TCP6-LISTEN:8080,reuseaddr,fork PROXY:proxy:www.domain.com:80
keyw: tcp, udp, ipv6, raw ip, unix-socket, pty, pipe, listen, socks4, socks4a,
      proxy-connect, ssl-client, filedescriptor, readline, stdio,
      exec, system, file, open, tail -f, termios, setsockopt, chroot,
      fork, perm, owner, trace, dump, dgram, ext3, resolver, datagram,
      multicast, broadcast, interface, socket, sctp, generic, ioctl

What's new?

2009/05/09: on RedHat based systems CFLAGS may have -Wall predefined which breaks socat's build process with something like #error HAVE_BASIC_OFF_T is out of range: HAVE_BASIC_OFF_T..., please report this as bug. In this case replace the configure file with this version (resp. configure.gz or configure.in) and restart the build process:
make distclean; ./configure; make.

2009/05/07: socat version 1.7.1.1 fixes a couple of bugs, some of which could crash socat under some circumstances (CHANGES).

2009/04/13: Gentil Kiwi updated his Cygwin based binary socat packages at http://www.gentilkiwi.com/telechargements-s43-t-socat.htm#englishversion.

2009/04/04: the third beta version (2.0.0-b3) of socat version 2 is ready for download. It contains all new bug fixes and features of 1.7.1.0 (plus fix:setenv, see below) and introduces the possibility to integrate external programs in address chains (see doc/socat-addresschain.html and doc/socat-exec.html).

2009/04/03: Todd Stansell reported a bug that crashed socat versions 1.7.0.0 to 1.7.1.0 (and all earlier versions with option su) on systems without a native setenv() function, especially Solaris up to version 9. Here is the patch.

2009/04/02: socat version 1.7.1.0 provides a few new address options to better control its closing behaviour - see CHANGES.

2009/04/01: socat version 1.7.0.1 fixes some bugs (connect-timeout, SIGSEGV on listen, end-close).

2008/11/01: a public git repository containing socat 1.6.0.0 and all later releases is available.

2008/10/15: socat version 1.7.0.0 brings support for SCTP stream, raw interface, and generic sockets. New option escape allows to interrupt raw terminal connections. Listening and receiving sockets can set a couple of environment variables. Added base control of System V STREAMS. Lots of corrections were performed. socat compiles on Mac OS X again.

Get it!

You can download socat 1.7.1.1 in source form (.gz, .bz2), or as a patch to 1.7.1.0. Feel free to check the signed md5 hashes!

Many actual Linux and BSD distributions already provide socat; for other distributions and for some commercial UNIX platforms, precompiled socat packages are available too, so search the internet if you dont´t want to bother with compiling it yourself.

There is a page with socat patches and contributions.

socat binaries for Windows based on Cygwin are provided by Gentil Kiwi for download.

Documentation

Classical documentation:

Mini tutorials:

Contact

If you have more questions, please contact socat@dest-unreach.org