bidilink 0.1

Copyright 2003 Lennart Poettering <mzovqvyvax (at) 0pointer (dot) de>


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


Wed Jan 14 2004:

Version 0.1 released, initial release.


bidilink is a general purpose Unix tool for linking two bidirectional data streams together. It extends the standard Unix "filter" paradigma to bidrectional streams.


Version 0.1 is more or less stable. Its has the following stream drivers:

More drivers are planned, including:


Have a look on the man page bidilink(1). (An XSLT capable browser is required)

bidilink may be used in several different ways. Some examples follow.

Forward a serial port of another machine to a local pseudo TTY

bidilink "exec:ssh OTHERMACHINE bidilink tty:/dev/ttyS0" pty:/dev/rmodem

This will create a symbolic link /dev/rmodem to the allocated pseudo TTY device. Point your application to the device to use the forwarded port. This requires that bidilink is installed on both the local machine and the remote machine. The pseudo tty is compatible with pppd or minicom.

Bind a local serial port to a local TCP port

bidilink tty:/dev/ttyS0 tcp-server:4711

Use telnet localhost 4711 to connect to the device

Bind a remote TCP port to a local pseudo TTY

bidilink pty:/dev/rmodem tcp-client:OTHERMACHINE:4711

This may be used as client to the server trick descibed above.

Open a local Unix socket (SOCK_STREAM) to the Internet:

bidilink tcp-server:4711 unix-client:/tmp/.esd/socket


A recent Linux distribution. Probably, it is simple to port bidilink to other platforms, but this has not been done yet.


As this package is made with the GNU autotools you should run ./configure inside the distribution directory for configuring the source tree. After that you should run make for compilation and make install (as root) for installation of bidilink.


None so far


The newest release is always available from

The current release is 0.1

Get bidilink's development sources from the Subversion repository.

Lennart Poettering <mzovqvyvax (at) 0pointer (dot) de>, January 2004
$Id: 8 2004-01-14 22:45:22Z lennart $