Projects / Socat

Socat

Socat is a relay for bidirectional data transfer between two independent data channels. Each of these data channels may be a file, pipe, device (terminal or modem, etc.), socket (Unix, IP4, IP6 - raw, UDP, TCP), SSL, a client for SOCKS4, or proxy CONNECT. It supports broadcasts and multicasts, abstract Unix sockets, Linux tun/tap, GNU readline, and PTYs. It provides forking, logging, and dumping and different modes for interprocess communication. Many options are available for tuning socat and its channels. Socat can be used, for example, as a TCP relay (one-shot or daemon), as a daemon-based socksifier, as a shell interface to Unix sockets, as an IP6 relay, or for redirecting TCP-oriented programs to a serial line.

Tags Utilities
Licenses GPL
Operating Systems POSIX AIX BSD FreeBSD Linux Solaris
Implementation C

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  07 May 2009 21:06
  • Rrelease-after

Changes: This release fixes a couple of bugs, some of which could crash socat under some circumstances.

  • Rrelease-mid
  •  04 Apr 2009 00:39
  • Rrelease-after

    Changes: This beta release contains all features and bugfixes of 1.7.1.0 and 2.0.0-b2, and adds the ability to integrate external programs and scripts into address chains.

    • Rrelease-mid
    •  02 Apr 2009 21:35
    • Rrelease-after

      Changes: This version provides a few new address options to better control its closing behavior.

      • Rrelease-mid
      •  02 Apr 2009 00:37
      • Rrelease-after

      Changes: This release fixes a few bugs: a possible SIGSEGV in listening addresses, client connections with option connect-timeout failed when the connections succeeded, the option end-close "did not apply" to some addresses, and a half close of EXEC and SYSTEM addresses might have failed for pipes and socketpair.

      Changes: The main enhancements are so-called address chains that concatenate simple addresses. Address chains are similar to command shell pipes, but work bidirectionally.

      Rss Recent comments

      Rcomment-before 07 Apr 2008 15:51 Rcomment-trans NanoTech Rcomment-after

      Awesome UNIX utility!
      I had written a small program, named sockio, which does a (very) small subset of what this awesome socat utility does. When I discovered socat, I was impressed by the number of useful features, in particular SSL support.

      With its clean design, this utility keeps the spirit of UNIX: Basic utilities that can be piped or connected together!

      The possibilities are infinite. I can now connect together any two bi-directional streams.

      Now, I'm tempted to write a Windows port.

      Rcomment-before 27 Jan 2007 10:40 Rcomment-trans tino Rcomment-after

      Far more than a swiss army knife of networking ;)
      The most interesting options IMHO are builtin SSL and SOCKS support. With the latter it's easy to map a TOR hidden service to a local port to access it like any other service on the Internet. Here you have the answer to (nearly) all your networking interconnection needs you ever might think of.

      Rcomment-before 16 Jul 2006 01:00 Rcomment-trans SeSe Rcomment-after

      A+++ for socat
      Truly awesome, we use it extensively in productions systems and it rocks! Please keep developing!

      Cheers,

      SS

      Rcomment-before 04 Oct 2002 17:54 Rcomment-trans florinandrei Rcomment-after

      Fantastic!!!
      Friggin' unbelievable! All my dreams come true! Now i can pipe stdin to the UDP:syslog port, or redirect the output of /bin/ls to an arbitrary TCP port on an arbitrary host! Stuff like that.
      Awesome! Really, really awesome!
      Thank you for the excellent application!

      3f1e1f388bdbd07bfc7418ce893a5180_thumb

      Project Spotlight

      Realripper

      Software that records Real streams to disk.

      No-screenshot

      Project Spotlight

      FSVS

      A backup/archival/versioning system using a Subversion backend.