davidrg / ckwin

Kermit 95 (C-Kermit for Windows) - scriptable internet and serial communications with terminal emulation
Other
60 stars 15 forks source link
ansi c-kermit cp437 file-transfer kermit kermit-95 rfc2217 rlogin serial serial-communications ssh telnet telnet-client terminal terminal-emulator xmodem ymodem zmodem

Kermit 95 (C-Kermit for Windows)

This is the free and open source version of Kermit 95, formerly a commercial product of Columbia University from 1994 to 2011. It was for a few years known as C-Kermit for Windows but the decision has been made to switch back to the original more well-known name starting with Beta 7. For more information on Kermit, visit the Kermit Project website: http://www.kermitproject.org.

Major features include:

To get the latest most stable release as well as other news and information, visit the C-Kermit for Windows Beta website. This software is currently based on C-Kermit version 10.0 Beta.11 of 8-AUG-2024 and is available under the 3-clause BSD license.

Screenshot

Requirements

C-Kermit for Windows should work on every released 32bit or 64bit version of Windows except Windows NT 3.10. Some non-x86 platforms (ARM, ARM64, Itanium) are not actively tested due to a lack of hardware.

Certain features within C-Kermit for Windows have a minimum Windows version requirement:

Feature Minimum Windows Version Description
PTY Windows 10 version 1809 Windows cmd/powershell/WSL using the CKW terminal emulator
SSH Windows XP SP 3
SSL/TLS Windows XP SP 3 This includes https, ftps and secure telnet support
TAPI Windows 95 or NT 4.0 Modem dialing via set modem should still work on earlier versions of windows
Toolbar Windows NT 3.51 Some GUI dialogs also require at least NT 3.51

Supported Terminal Emulations

ANSI-BBS; Avatar/0+; AT386; BeBox ANSI; Data General DASHER D200, D210; Data General DASHER D217 in native and Unix modes; DEC VT52; DEC VT100, VT102, VT220, VT320 with color extensions; Hazeltine 1500; Heath/Zenith 19; Hewlett Packard 2621A; HPTERM; IBM HFT and AIXTERM; IBM 3151; Linux console; Microsoft VTNT; QNX ANSI and QNX Console; SCOANSI; Siemens Nixdorf BA80 and 97801-5xx; Sun Console; Televideo TVI910+, TVI925, TVI950; Volker Craig VC404; Wyse 30, 50, 60, 160, and 370

For more details on what features the various emulations support, see The Manual.

Mouse reporting via the X10, X11/normal, URXVT and SGR protocols is also supported and can be configured via the set mouse reporting command.

Documentation

The Kermit 95 manual still covers C-Kermit for Windows quite well and is the first place to look for details on features and capabilities specific to Windows and OS/2. The SSH Client reference is now a little out of date, see the SSH Readme for more details on what has changed in the C-Kermit for Windows SSH implementation. There is also a C-Kermit for Windows How-To which may be useful for new users.

For everything else, consult the C-Kermit Documentation.

If you previously used Kermit 95 and would like to know what's changed, see the C-Kermit for Windows Change Log as well as the C-Kermit 9.0 and 10.0 changelogs

New Features

Since the original open-source release way back in July 2011, a lot of work has gone on to restore missing features and bits that couldn't be open sourced at the time:

Additionally, a number of new features have been added:

A full Change Log is available and updated for major releases.

Still Missing Features

The following features supported by Kermit 95 v2.1.3 remain unavailable in C-Kermit for Windows at this time:

Code to support Kerberos IV, Stanford SRP and old versions of OpenSSL still exists and should still work if there is some need for these features despite the known security issues.

Compiling

To build C-Kermit for Windows, see the Build Instructions. Visual C++ 2019 is strongly recommended, but any released 32bit or 64bit version should work (with certain features automatically excluded on older compilers). To build with ConPTY and SSH support you'll need to use Visual C++ 2019 or newer.

There is also limited support for compiling with OpenWatcom 1.9+ and MinGW. For OpenWatcom, just follow the normal build instructions above. For cross-compiling from Linux, see the MinGW Build Instructions.

To build C-Kermit for OS/2 using OpenWatcom, see the OS/2 Build Instructions.

Making Changes

Any files matching the pattern ck[cu]*.[cwh] are shared by implementations of C-Kermit for other platforms (UNIX, Linux, VMS, and others) and are not specific to the Windows and OS/2 port in this repository. Any changes to these files should be sent to The Kermit Project to be included in future C-Kermit releases for other platforms. If your changes are not intended to affect other platforms, make sure they're ifdef'd for either OS2 (OS/2+Windows) or NT (Windows only).

Files matching ck[on]*.* can be safely modified as they are only used by the OS/2 and Windows targets

The dialer data files (dialer.dat, registry.dat) are binary files edited by the zinc designer. It's not possible to merge these files, so it's probably best to get in touch before making changes to these files.

History

C-Kermit for Windows is based on what was going to be Kermit 95 v2.2 which was never released publicly. For full details on whats changed since the last public release of Kermit 95, v2.1.3 of 21 January 2003, see the Change Log.