Fork me on GitHub


junixsocket is a Java/JNI library that allows the use of Unix Domain Sockets (AF_UNIX sockets), and other address/protocol families (such as AF_TIPC), from Java.

Unix sockets API, in Java, AF.

  • junixsocket is the most complete implementation of AF_UNIX sockets for the Java ecosystem.
  • Supports other socket types, such as TIPC (on Linux), as well!
  • Comes with pre-built native libraries for most operating systems and platforms, including macOS, Linux, Windows, Solaris, FreeBSD, NetBSD, OpenBSD, DragonFlyBSD, AIX, IBM i.
  • Additionally, you can build and run junixsocket natively on IBM z/OS (experimental).
  • Supports all Java versions since Java 8.
  • Supports both the Java Socket API and NIO (,, etc.)
  • Supports streams and datagrams.
  • Supports Remote Method Invocation (RMI) over AF_UNIX.
  • Supports JDBC database connectors (connect to a local database server via Unix sockets).
    • Generic AFUNIXSocketFactory for databases like PostgreSQL
    • Custom socket factory for MySQL Connector/J, as recommended by Oracle
  • Supports peer credentials.
  • Supports sending and receiving file descriptors.
  • Supports the abstract namespace on Linux.
  • Supports socketpair, and instantiating socket classes from file descriptors.
  • Supports HTTP over UNIX sockets (using NanoHTTPD, OkHttp, and jetty).
  • Supports JPMS/Jigsaw modules. The project is modularized so you can install only what you need.
  • Provides a selftest package with 100+ tests to ensure compatibility with any target platform.
  • Apache 2.0 licensed.

* (Tested up to Java 19; support for Java 7 was dropped in version 2.5.0).

Quick links


junixsocket is released under the Apache 2.0 License.

Commercial support is available through Kohlschütter Search Intelligence.


To verify that the software works as expected on your platform, you can run the junixsocket-selftest program, which is located in the “junixsocket-dist” distribution package, and also released on GitHub.

java -jar junixsocket-selftest-VERSION-jar-with-dependencies.jar 

(with VERSION being the corresponding junixsocket version).

Maven dependency

To include the core junixsocket functionality in your project, add the following Maven dependency

NOTE Since version 2.4.0, junixsocket-core is POM-only (that's why you need to specify <type>pom</type>)


For more, optional packages (RMI, MySQL, Jetty, TIPC, server, etc.) see here