# Socat

Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them. It is open source and self-hosted, installable on Docker Hub and Unraid.

Canonical page: https://ourlocalhost.com/app/871/socat

## Description

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.

## Health score

23/100 (Low), based on 3 of 4 factors.
- Maintained: 0 (last commit 2557 days ago)
- Popular: 50 (331 GitHub stars)
- Easy to install: 35 (1 install platform, install notes, Docker image)

## Links

- Docker Hub: https://hub.docker.com/r/tynor88/socat/
- Official website: http://www.dest-unreach.org/socat/
- Unraid: https://ca.unraid.net/apps/socat-02ypnm801p88o4?q=socat
- Documentation: http://www.dest-unreach.org/socat/doc/README
- GitHub: https://github.com/3ndG4me/socat

## 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.

## Alternatives

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

---
Source: Our Local Host (https://ourlocalhost.com/app/871/socat), the self-hosted and open-source app directory.
