systemd-saproxy systemd Developer David Strauss david@davidstrauss.net systemd-saproxy 1 systemd-saproxy Inherit a socket. Bidirectionally proxy. systemd-saproxy OPTIONS HOSTNAME-OR-IP PORT-OR-SERVICE systemd-saproxy OPTIONS UNIX-DOMAIN-SOCKET-PATH Description systemd-saproxyprovides a proxy to socket-activate services that do not yet support native socket activation. On behalf of the daemon, the proxy inherits the socket from systemd, accepts each client connection, opens a connection to the server for each client, and then bidirectionally forwards data between the two. This utility's behavior is similar to socat1 . The main differences for systemd-saproxy are support for socket activation with Accept=false and an event-driven design that scales better with the number of connections. Options The following options are understood: Prints a short help text and exits. Prints a version string and exits. Skips verification of the expected PID and file descriptor numbers. Use if invoked indirectly, for example with a shell script rather than with Exit status On success 0 is returned, a non-zero failure code otherwise. Examples Direct-Use Example Use two services with a dependency and no namespace isolation. /etc/systemd/system/bridge-to-nginx.socket /etc/systemd/system/bridge-to-nginx.service /etc/nginx/nginx.conf Indirect-Use Example Use a shell script to isolate the service and bridge into the same namespace. This is particularly useful for running TCP-only daemons without the daemon affecting ports on regular interfaces. /etc/systemd/system/bridge-with-nginx.socket /etc/systemd/system/bridge-with-nginx.service /usr/bin/saproxy-nginx.sh /etc/nginx/nginx.conf See Also systemd.service 5 , systemd.socket 5 , systemctl 1 , socat 1