Socat

Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them.

  • Network Services
  • Tools & Utilities
Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them.

Platform availability

Available on 1 of 9 platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)
  • Mac (not listed)
  • Windows (not listed)
  • Linux (not listed)

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

23/100 Low

Maintained
0last commit 2550 days ago
Popular
50331 GitHub stars
Easy to install
351 install platform, install notes, Docker image
Light to run
No data

Based on 3 of 4 factors.

Availability: platform listings confirmed today, links checked 15 days ago

GitHub stars
331
Open issues
5
Last commit
2019-10-22
Latest release
v1.7.3.3
License
GPL-2.0
Activity
stale

Checked 7 days ago - source: GitHub (3ndG4me/socat)

Resources & Compatibility

ARM (e.g. Raspberry Pi) is not supported.

Checked 17 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Set and open the listening port In the address, the number after TCP-LISTEN is the port (a numbered door for network traffic) socat will listen on, for example TCP-LISTEN:8080. If that port is not open in your firewall, clients on the outside will not be able to connect. source
  • Use certificate files for SSL For OPENSSL-LISTEN, add cert= and key= pointing to your certificate and private key, and cafile= with a trusted certificate list when verifying clients. If those files are missing or wrong, encrypted connections will not start. source
  • For TUN tunnels, keep the up option If you are running the TUN (virtual network interface) server, use a command that includes the virtual network IP, such as TUN:192.168.255.1/24, and keep the up option. Without up, the tunnel interface may stay down and no traffic will flow. source
  • Install Download pre-built Linux, Windows, or macOS binaries from the repository's Releases section. source

Fetched 7 days ago - each note links to its source

Alternatives (1)

  • netcat - Netcat is a featured networking utility which reads and writes data across network connections, using the TCP/IP protocol.

Checked 14 days ago - source: AlternativeTo

Common questions

Why can't outside clients connect to my socat TCP-LISTEN port?

The number after TCP-LISTEN is the port that socat listens on. If that port is not open in the firewall, outside clients cannot connect.

How do I configure certificate files for a socat OPENSSL-LISTEN endpoint?

For OPENSSL-LISTEN, add cert= and key= pointing to your certificate and private key. If you verify clients, also set cafile= with the trusted certificate list; missing or wrong files prevent encrypted connections from starting.

Why does a socat TUN server have no traffic?

Keep the up option on the TUN address and include the virtual network IP, such as TUN:192.168.255.1/24. Without up, the tunnel interface may stay down and no traffic will flow.

Which socat versions fixed the recent SOCKS5 reply parser vulnerability?

Socat 1.8.1.2 fixed a heap buffer overflow in the SOCKS5 reply parser. Socat 1.8.1.3 fixed the test for that issue on platforms with a non-bash default shell.

Can socat forward a network client to a script's standard input and output?

A network client can send data that socat forwards to the script's standard input. The script's standard output can then go back through socat to the client.

Answers sourced from www.dest-unreach.org, github.com, github.com, github.com, stackoverflow.com

Community

Collected 16 days ago - public community threads