Projects / cotty


cotty is a simple command-line tool to manage pseudo-terminals. It allows users to run processes communicating with each other through their tty as opposed to files, pipes, or sockets. Its main use is to build a VPN (virtual private network) or conversely pierce a firewall.

Operating Systems

Recent releases

  •  13 Apr 2002 02:56

    Release Notes: Two new modes of operations, one of them useful when driving programs without stdin (e.g., pptp), and confirmed working ports to FreeBSD, NetBSD, OpenBSD, and Solaris.

    •  15 Aug 2001 14:49

      Release Notes: This release supports FreeBSD (porting to other BSDs should be trivial) and SunOS 5.8 (works well enough, despite a missing feature).

      •  03 Nov 2000 12:33

        Release Notes: Initial freshmeat announcement.

        Recent comments

        12 Apr 2002 20:23 fare

        Other uses for cotty
        cotty is happily no more needed for use with the Linux PPP daemon.
        Indeed, under Linux, pppd now has an option pty that serves the same purpose
        (check the pppd manpage for details).
        However, cotty is still useful with BSD or Solaris versions of pppd.

        Cotty is also useful to drive other programs that require being connected to a terminal so as to work
        properly, notably telnet or pptp. I notably use it in my automatic reconnection script for ADSL.

        15 Aug 2001 03:20 fare

        Making a VPN without cotty
        As explained in the Firewall-Piercing mini-HOWTO, cotty is unnecessary when running a recent Linux pppd over ssh (as demonstrated above); but it is still useful when running pppd over telnet, or when using a non-linux pppd.

        03 Nov 2000 13:18 fare

        Using cotty to make a VPN
        Comments in cotty.c are the documentation.

        The main use of cotty is to build a VPN (virtual p{rivate,ublic} network), as in:
        cotty -d -- pppd silent -- ssh -t root@remote pppd

        I wrote it for use with fwprc, as described in the
        Firewall Piercing mini-HOWTO (


        Project Spotlight


        A Fluent OpenStack client API for Java.


        Project Spotlight

        TurnKey TWiki Appliance

        A TWiki appliance that is easy to use and lightweight.