dtelnet: A Free Telnet Client for Windows 16/32/64

SourceForge.net Logo Dtelnet is now hosted on SourceForge. Visit our project page there. (A notice: sourceforge has many advanced tools (forums, patches, bugs...) but to contact developers the quickest way is sending a mail to the delnet-devel list)

Current Status
Mailing List
Interesting Features
Missing Features
Reporting Bugs (please)
Command Line Help


If you like the simplicity of the telnet client that comes with Windows, but are not that happy with the functionality, dtelnet might be what you are looking for. Unlike most other telnet clients for Windows, dtelnet is not massively over-featured and confusing to use.

2014-04-03   Version 1.3.2:
  • VMS-friendly features: fixed/added ESC-sequences
  • ScrollLock and Pause keys now act as 'Help' and 'Do'
  • A new option to map editing keys VT-style (see below)
  • Re-interpreted attributes again, try with the attached dtelnet.test.sh (with attrs argument)
  • Option /A now accepts four colours (see below at option /A)
  • From now, if you have a HOME environment variable, dtelnet will search config-files in %HOME%/Dtelnet directory
2014-02-07   Version 1.3.1a:
  • Bugfix: Shift+F<num> should work now (test in Midnight Commander)
2014-01-21   Version 1.3.1:
  • Bugfix in Term/Emul (Windows 16 version only)
  • Support for second mouse-wheel (to tell the truth I cannot test it),
    also support for "mouse button event" functionality (whatever it is)
  • IMPORTANT Reorganized terminal types (dtelnet.set is changed, too); from now on, I'd suggest terminal-type konsole (or konsole-256color) for linux-servers, xterm (or xterm-256color) for AIX-servers. See file backspace.txt for more information.
    Also test these keys in mc/mcedit, they should work with the said terminal-types: Shift+Arrows, Ctrl+Up/Down, Ctrl+Home/End, Ctrl+PgUp/PgDn
2013-12-23   Version 1.3.0:
  • 'Secondary font' in 'Term/Font' menu: once if you set it, the change of the Primary Font won't corrupt the line-drawing characters. (Test with Midnight Commander.)
  • With command-line option /A you can choose from 256 colors, eg /A 0xea-0xf8 is a nice, darkgrey on whitegrey combination.
  • In file 'dtelnet.set', terminal type 'xterm' has been split into 'xterm-new' and 'xterm-old'. Test both to choose the better for your server.
2013-10-12   Version 1.2.9:
  • In Windows16, we are sending telnet.nop commands in every 65.535 secs to keep the connection alive; In Windows32/64 we use TCP_KEEPALIVE in every 10 minutes; (or the value from registry key: HKLM\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters\KeepAliveTime, if that is shorter than 10 minutes (NB: it is in millisec))
  • Supporting 256 colors (sequences ESC[38;5;<colnum> and ESC[48;5;<colnum>); from now, the preferred terminal type is 'rxvt-256color' Test with: 'dtelnet.test.sh colors'
  • This is the first version coming in three variants: Windows16/32/64
2013-07-03   Version 1.2.8:
  • From now on, you can map menu-commands to keys, too. Currently available: NewWindow and PrintScreen. Example:
      ; Map Ctrl+W to function 'NewWindow', Ctrl+P to function 'PrintScreen'
      ; Notice the lack of quotes.
      ; Ctrl,0x57 = NewWindow
      ; Ctrl,0x50 = PrintScreen
  • Mouse wheel works again (but only in the 32-bit version) to scroll vertically; in Midnight Commander, test the wheel in itself, and together with Shift
  • There were some problems with selection, attributes and anti-aliasing (especially ClearType) -- hopefully it's better now.
  • The handling of colors has been changed: now 'blink' means intense background color, like 'bold' means intense foreground color.
  • In the Font-selection menu you can choose bold font now -- it might or might not work for you (check with Midnight Commander).
  • More function keys (26, 24 editable in the GUI) -- for special uses. Remember: F11=Shift+F1, F22=Shift+F12
  • A test script (dtelnet.test.sh), to test colors, alternate buffer, scrolling etc.
  • Underline support, it may or may not work depending on font/size, test from unix:
    tput smul; echo underlined; tput rmul
  • Option -I<inifile> works again, but you have to use quotes if there are backslashes in the pathname:
2012-08-28   Version 1.2.7:
  • Support for key-mapping – no GUI though, you have to edit yout dtelnet.ini or *.ts file manually. Read the attached keymap.txt for details. A little example:
    ; map Alt+M to "mc\r", Alt+Shift+M to "mcedit ":
    Alt,Shift-,0x4d = "mc\r"
    Alt,Shift+,0x4d = "mcedit "
  • Help file dropped — it's been unmaintaned since the past millenium.
2012-06-25   Version 1.2.6:
  • Now Shift-key undoes 'mouse reporting', so in mc[edit] you can select text parts with Shift+mouse.
  • Command-line attribute /A has changed: now 'color' means dark-color, 'Color' means light-color (compare '/A black-white' and '/A black-White').
  • When starting, we try to keep the window within the screen;)
2011-09-26   Version 1.2.5:
* Better support for rxvt (file dtelnet.set has been changed too), try in Midnight Commander: Ctrl+O, Shift+Arrows, Ctrl+Home
* Keypad application mode (for special use only)
* Local execute mode (for very special uses only)
2006-05-05   Version 1.2.4:
* Bugfixes
* Terminal/Font/Size became Combobox to allow unlisted values.
* Display Keyboard Codepage in Font dialog in Win16
* Support for ESC[8t, ESC[14t, ESC[18t sequences, to let resize(1) work
2005-07-18   Version 1.2.3: Bugfixes
2005-03-11   Version 1.2.2: Fix: _not_ setting DISPLAY environment variable if port 6000 is not open on local host.
Partial support of AnswerBack message:
* from command line: /AnswerBack="Hello\r\n"
* from .TS file: AnswerBack=Hello\r\n
2004-11-19   Version 1.2.1: Using two font: one for normal characters (variable charset) and the other for graphical characters (OEM charset)
More information in Terminal/Font menu
Small fixes eg no terminal type was set if called from command line
2003-02-14   Version 1.2.0: Bugfix about terminal types. /E option dropped.
To debug dtelnet, here are shkeys.c and shchars.c, they can be compiled in UNIX.
2002-02-08   Version 1.1.9: Many changes and fixes, such as support for favorites, SOCKS and HTTP-proxy, printing, shortcut files (.ts files to store telnet-locations) , extra character sets (see dtelnet.in0 file).
2001-04-13   Version 1.1.8: Editable terminal definitions (file dtelnet.set), Mouse wheel support, You can drag and drop text files, Bugfixes (Supporting sequences ESC[39m and ESC[49m for screen, Enter now sends 0D0A, "Local echo" is now on by default)
2001-01-19   Version 1.1.7: New terminal types (vt320,vt420,xterm,rxvt). Mouse support for xterm (from Mark Melvin).
2000-11-30   Version 1.1.6: bugfixes, a little support for different character sets
2000-09-02   A second mailing list created for announcements.LZS.
2000-07-30   SourceForge got a bit two way traffic from several people, concerning fixes and alikes,
possibly the right time for doing a test build now and updating the web.
This and the activation of the Sourceforge ftp account discredits to Alexander Stohr.
2000-07-15   Moving to SourceForge started.
From now Lorinczy Zsigmond is responsible for everything...
well... for every bad thing.
2000-01-29   Fixed bug which froze dtelnet on output after window shrunk moving the cursor off the top.
dtelnet now has a new icon (thanks Allen Petrarca). Version 1.1.3 released.
2000-01-11   I just remembered to update the web page.
1999-03-03   There is now a mailing list for dtelnet. Point your browser here to subscribe.
yyyy-mm-dd   Asoke K. Talukder is now the "official" dtelnet help maintainer.
Please send all help updates directly to him.
1999-02-26   dtelnet now has a help file. Version 1.0.6 released.
Current Status

dtelnet has been released under the GPL. A copy of the GPL is contained within the source zip file under the name COPYING.TXT. Please read the license if you download the source.

The program should build with different compilers, eg MSVC, Borlandc, Cygwin

Current dtelnet release version is 1.3.2, it is dated 2014-04-03.

On the download page you can see/download a README.TXT file about the recent changes (also in the ZIP-files).

The first public release of the source was version 0.9.1.

Mailing List

There is a mailing list for dtelnet developers (dtelnet-devel@lists.sourceforge.net). Discussion of bugs and enhancements are conducted on the list. Send any bug-report to this list. Point your browser here to subscribe to the list.

There is a separate list for announcements of new versions (dtelnet-announce@lists.sourceforge.net). Subscribe here. Please do not send any feedback to this list.

The old dtelnet mailing list is located here .

Interesting Features

If you spend most of your time on Unix, you probably do not feel at home unless the session "feels" right. To that end, dtelnet has a number of key bindings that you should like;

Key Action
Middle-Mouse Paste the selection, just like X.
F10 Sends F10 instead of invoking menu - this is good for mc.
Alt-Key Sends Escape + Key instead of invoking menu - this is good for emacs and bash.
Ctrl-Space Sends nul - this is good for emacs.
Shift-PageUp Scrolls back half a page in the history buffer - just like xterm and the Linux console.
Shift-PageDown Scrolls forwards half a page in the history buffer - just like xterm and the Linux console.
Shift-Insert Pastes the current selection - this is for people who do not have a middle mouse button. You do not need to issue a key sequence to copy a selection to the Windows clipboard, just as in X, the action of making a selection does this for you.

Another feature copied from xterm is knowledge of the location of end of line. This means that when you select past the end of line and paste the selection, you get an end of line in the selection. In addition, you do not get spurious ends of line when selecting wrapped lines.


The following people have contributed to dtelnet:

Dave Cole Dave is the primary developer of dtelnet (hence the name).
Roland Gerlach In the early days, Roland was tireless in his testing of dtelnet. If not for his efforts, the program would still be laying idle on Dave's disk.
Pat Narkinsky Pat submitted code for the initial version of the Telnet TRANSMIT-BINARY Option. He also spent too much time helping Dave remember that he had not implemented G0/G1 character set functionality.
Scott Chen Scott pointed out a bug in the initialisation of the combobox in the connect dialog. He also pointed out the BINARY mode incompatibility with Suns.
Hans Verbeek Hans reported a bug in the handling of the remote end closing the socket which resulted in an attempt to read from a closed socket.
Per Steinar Iversen Per reported that international keyboards were not handled properly, and told Dave how to diagnose it on his machine.
Massimo Morara Massimo is responsible for the 1.0.1 release which fixed a number of bugs.
Asoke K. Talukder Asoke developed the help files and pointed out a number of problems compiling under Visual Studio 6.0.
Julie Brandon Julie reported (more than) a few bugs. She also introduced Dave to the vttest program which exposed all bugs fixed for the 1.0.5/1.0.6 releases.
Frederic Dubru Frederic Dubru developed the 'Send Backspace as Delete' enhancement which first appeared in the 1.0.7 release.
Allen Petrarca Allen Petrarca created the new dtelnet icon.

Here is a screen dump dtelnet (Win3.1 version) being used to run GNU mc on a Linux box.

dtelnet screen dump

Testing colors.

dtelnet color-test
Missing Features

There are a number of things that would be nice to add to dtelnet;

Reporting Bugs

Please send your bug reports, modifications and enhancements to delnet-devel list.

Help-file seems to be unmaintained... somewhere in the future will be removed

When making modifications, please resist the urge to reformat the code. All of the source is maintained under CVS, so gratuitous formatting changes harm the ability to diagnose differences between releases. If you have access to the GNU diff utility, please send changes in the form of a diff generated via diff -u.

Command Line Help

Since there is no online help yet, the following is a description of the command line arguments, all of which are optional.
If a filename contains backslash or space, use quotes, eg -I'C:\HOME\USERNAME\dtelnet.ini'.

or /A FG1:FG2-BG1:BG2
Specifies the default color attributes of the window. Both FG and BG can take any of Black, Red, Green, Yellow, Blue, Magenta, Cyan, or White (Since version 1.2.6, lower-case means dark color, upper-case means light color, so red and Red are different.) (Since version 1.3.0, color codes between 0 and 255 are accepted, too.) If not specified, the default is white-black.
Since 1.3.2 you can specify four colors: normal foreground, emphasized foreground, normal background, emphasized bacground, eg:
/A White/0xfa-on-0xed/0xee
/AnswerBack="msg" Specifies the 'AnswerBack' message
/B Enable telnet BINARY mode negotiation. Binary mode negotiation is disabled by default as there is an incompatibility with some servers.
/G WxH Set the initial geometry of the window; width W, height H characters. Eg. 80x25.
/G WxH+X+Y Place a WxH window with the left edge X pixels from the left of the screen and the top edge Y pixels from the top of the screen.

If you replace +X with -X, the right edge of the window will be placed X pixels from the right of the screen. Likewise, a -Y will place the window with the bottom edge Y pixels from the bottom of the screen.

/H host Specify the host to connect to. This can be a host name, or an IP address.
/I file-name Specify the location of the .INI file to use with the program. The default is to get the file from the %HOME%/Dtelnet directory, or the directory in which the executable is.
/P port Specify the port to connect to on the remote host. The default is telnet. The program also supports the rlogin protocol.
/Maximize Start with maximized window.
/R file-name Replay a previously captured log file. Used only for debugging.
/T term-typeSpecify the initial terminal type.
/U user-name Specify user-name that will be used when using rlogin protocol (port login).
/VtKeyMap Map Insert/Home/PageUp/Delete/End/PageDown to Find/InsertHere/Remove/Select/PrevScreen/NextScreen.
In dialog Connect/Remote system: 'Map editing keypad'; in menu Term/Keyboard/VT-style remap