The first new Kermit release for Windows in nearly twenty years...
CKW: C-Kermit 10.0 for Microsoft Windows
Download
Install
Run
SSH
Export
Coexist
Documentation
This page assumes a degree of familiarity with Kermit software;
if you need an introduction, look HERE.
Frank da Cruz
fdc@columbia.edu
Created: 16 July 2022
Last update:
Sat Aug 13 08:19:42 2022
News:
|
|
Work on a free Open Source™ version
of
Kermit 95 for Microsoft Windows commenced in
2013 then ended inconclusively in 2015 (see
this page). Work
resumed in 2022 as part of the C-Kermit 10.0 rollout. The first Beta-test
version appeared on 17 July 2022. The name of the executable program is
K95G.EXE (which is the traditional name, but it might change); it is a
text-mode application that executes in a GUI window. The Windows builds and
packaging were done by
David Goodwin in New Zealand, based on his
2013 work and the latest C-Kermit 10.0 Beta test source code. The
result is called
C-Kermit for Windows, CKW for short.
- CKW is freely downloadable, fully copyable and shareable, no
registration required, no serial numbers, no unlocking codes.
- CKW is command-line only. There is no GUI point-and-click
drag-and-drop user interface like the
former K95
Dialer. The target audience is technical: programmers, sysadmins,
network administrators, Web authors, etc. It is to be used exactly as
C-Kermit is used on Unix, VMS, etc: by typing
commands or executing command files (scripts).
Update:
As of 9 August 2022 there is a new possibility that the Dialer can be
included in the CKW 10.0 release after all. The proprietary Zinc GUI
application framework upon which the Dialer was based is now
available as Open Source, and
a trial Dialer build was successful. David
says that "tidying up the dialer for release would take a little while -
stripping out all the registration code, replacing all the Kermit 95
references, fixing any build issues with modern compilers..." (and
copyrights, dates, etc).
- CKW is based on C-Kermit 10.0.
In fact it will be the Windows version of C-Kermit 10.0,
and therefore includes all the bug fixes and new features added to C-Kermit
since version 8.0.207 when C-Kermit 2.1.3 was released 20 years ago.
- The main difference between CKW and other C-Kermit versions is that
CKW does its own terminal emulation, with a built-in selection of
over 40 terminal types (VT52, VT100, VT220, VT320, Wyse 30,
Wyse 50, Wyse 60, Wyse 320, SNI–97801, ANSI‑BBS,
TVI, QNX, HP, IBM3151, Hazeltine, Heath, DG Dasher, etc etc), with
conveniences like key mapping, keyboard macros, scrollback, resizing,
clickable URLs, screen capture, copy/paste, etc.
- Features that CKW shares with the other C-Kermit implementations include
Kermit-protocol file transfer across the
terminal connection; support for more than 50
national, international, and corporate character sets —
including Unicode UTF-8 — with the ability
to convert among them; a powerful scripting
language for automation of communication and file-transfer/management
tasks; (etc etc)...
- Unlike the original Kermit 95, CKW includes no built-in strong
encryption functions and therefore no built-in SSL, Kerberos, SRP, or
SSH clients. The first three are no longer needed since there are no
Internet Telnet or FTP servers secured by these protocols to be found any
more on the Internet. As for SSH, see below.
- Since CKW contains no strong encryption code, there are no export
restrictions so it is available for download to all countries.
Including Cuba and Iran. CKW's little-known HTTP command can connect to
only to HTTP sites, not HTTPS (which wouild require inclusion of the SSL
code, which — even if it can be exported
— is a moving target).
Update: As of 9 August 2022 it appears that built-in
SSH, OpenSSL, and probably also Kerberos 5 support will be included after
all. See the SSH section below about SSH. C-Kermit's
OpenSSL support code is being reworked by Jeff Johnson, who is also
fixing the AIX code and some other problems. All indications are that the
result will be exportable to all countries due to
changes in US export law.
- CKW includes numerous Windows-specific bug fixes.
- CKW has been tested on Windows versions back to Windows 95 SP1,
and up to Windows 10.
- The CKW code still supports IBM OS/2 but there has not been an
OS/2 build yet due to lack of access.
- Transfer of large files (bigger than 231 bytes) works
with the file-transfer display and statistics shown correctly
(see screen shot).
- CKW does not include the XYZMODEM protocols, as that code was
licensed for K95 from another company. This situation might change
before the final release but no promises.
- CKW does not include support for proprietary networks like DEC
PATHWORKS and LAT, as that code was licensed from DEC and other companies,
and anyway there would be little or no demand in the 2020s and beyond.
- CKW should work ok on Windows NT 4.0 and later but hasn't been
tested recently.
- Our goal is for CKW to be buildable with freely available
toolsets like gcc and Open Watcom, but for now Microsoft Visual
C++ 6 is required.
- Once the final version is released it will be installed on Github
where it can take on a new life of its own in the future.
- For daily updates on David's progress, see
his notes.
Source code is not available yet; it will be included beginning with the
next C-Kermit 10.0 Beta test, Beta.05.
The first downloadable version of CKW announces itself as:
C-Kermit 10.0 OPEN SOURCE:, Jul 17 2022, for Windows
Copyright (C) 1985, 2022,
Trustees of Columbia University in the City of New York.
The copyright remains with Columbia U, in accordance with the separation
agreement of 2011. CKW uses the C-Kermit version number, not the K95 one,
which was different (the last K95 release was 2.1.3, which was contemporary
with C-Kermit 8.0.207). The LICENSE command shows the new Open Source
license.
SSH Connections
This section updated 30 July 2022.
The built-in handmade SSH support code from K95 2.1.3 has been retired
because it doesn't work any more due to changes in the ciphers used by
modern SSH servers, plus changes to the protocol itself, e.g. how/when it
does compression, plus the fact that it's not exportable to all countries
(
next section). For now, SSH connections can be made
in K95 and CKW by using an external helper program as described
in
THIS PAGE.
The goal is for the final CKW release to have an SSH command that works
like Kermit 95's did before SSH changed out from under
it.
Plan A was to "fork" an external pass-though SSH client such
as Putty Plink through Windows' new ConPTY API, as described in an
earlier version of this page. This was
less than optimal not only because a second program would be required but also
because SSH connections could work only in recent Windows versions. However,
Plan A turns out not to be feasible at all because (contrary to
expectations) ConPTY is less than fully transparent; it "interprets" and
changes the data stream. That's bad enough in a terminal session, but it's
fatal for file transfer. So...
Plan B is to see if CKW can be
retooled to use the libssh DLL
from www.libssh.org. Early trials
(30 July 2022) indicate that this approach can work.
Exportability of SSH client
The US Department of Commerce Bureau of Industry and Security (BIS) Export
Administration Regulations (EAR) govern the export of software that includes
encryption features. These rules have changed since Kermit 95 was last
released in 2003, at which time certain countries were barred from obtaining
such software from the USA by mail order, download, or other means. As of
2021, however,
Kermit software is no longer subject to these
restrictions, and C-Kermit for Windows can include a built-in SSH client
based on libssh that will, indeed, be
exportable to all countries.
See these references:
- Understanding
US Export Controls with Open Source Projects, The Linux Foundation
- Understanding
US Export Controls and Open Source Projects (2021 Update),
The Linux Foundation
- Publicly
Available - Public Domain - Open Source,
MIT Office of the Vice President for Research
- Bureau
of Industry and Security
Export Administration Regulations, US Department of Commerce (2022)
- Bureau
of Industry and Security Commerce
Control List Category 5 - Telecommunications and Information Security
In brief (paraphrasing from item 5): Publicly available ready-to-use
software whose primary function is other than information security, that
includes an openly available encryption component without modifications, and
that is of interest to a wide range of individuals and businesses, is exempt
from the BIS Export Administration Regulations. That's why OpenSSH and
numerous SSH clients are downloadable on the Internet by anybody at all, no
matter what country they are in. CKW will be no different.
Similar considerations apply to Kermit's built-in OpenSSL and
Kerberos 5 features, such as its Telnet, FTP, and HTTP clients.
Known Problems with C-Kermit for Windows
- As noted above there is (for now) no built-in SSH client.
A workaround exists and work is in progress
on a permanent solution.
- Jeff Altman says there are unpatched vulnerabilities in the Visual
Studio 6 run time library and that nobody should be using Windows versions
earlier than Windows 10. There are simply too many unpatched
vulnerabilities in these systems. Future Betas will be based on later
development tools; hopefully the the final release will be based on Visual
Studio 16 or above.
- Windows version checking (for the SHOW FEATURES output) is now aware of
Windows XP through to Windows 8.1. Windows 10 introduced a new API for
getting the windows version and the old API stops at Windows 8.1. A
future Beta will call the new API too, which should fix that.
- Although most URLs in the help and information text have been changed
from columbia.edu to kermitproject.org, there might be some stragglers.
Send questions, bug reports, and comments
to
ckw@kermitproject.org.
Downloading
- Download
ckn10b4-2-vc6.zip to your Windows desktop (just click on the
highlighted link).
- Right-click on the .zip file
and choose "Extract All...". This creates a subdirectory
called .
- Delete the .zip file
(right-click → delete).
Installing
There is no "one-click" installer yet. Here is the procedure for the first
Beta; hopefully it will evolve into something simpler:
- Open the "" folder
(double-click it).
- See a folder called "dist"; double-click it.
- The dist folder contains 14 files, which include:
- k95g.exe - the executable C-Kermit 10.0 for Windows (K95) program
- k95.exe - ditto, but runs in "console mode" (like DOS, not recommended)
- MSVCP60.DLL - Microsoft Visual C++ 6 SP6 DLL
appropriate for this version of Kermit
- MSVCRT.DLL - The C Runtime
Library that C-Kermit was built with
- And a bunch of others that can be ignored
The DLL's are required for Kermit to run, so don't delete them.
- If you already have an icon on your desktop called
"k95g.exe - Shortcut" from a previous CKW test version,
delete it (right-click → delete)
- Right-click on k95g.exe and choose "Create shortcut"
This creates a file called "k95g.exe - Shortcut"
- Drag the "k95g.exe - Shortcut" to your Windows desktop or wherever else
you want to run Kermit from.
Leave the folder as it is,
don't move, rename, or delete it.
Running
Start (run) the new C-Kermit for Windows program by double-clicking the
"k95g.exe - Shortcut" icon.
The first time you start it you'll get
warnings from Windows and/or your antivirus software because this is a new
program and it's free and open-source. Examples of warnings:
-
Windows protected your PC
Microsoft Defender SmartScreen prevented an unrecognized app from
starting. Running this app might put your PC at risk.
More info ← click this
App:
| k95g.exe
|
Publisher:
| Unknown publisher
|
[ Run anyway ] ← click this
- Symantec Endpoint Protection Download Insight
Our information on this file is inconclusive.
We recommend not using this file unless you know it is safe.
k95g.exe
[ Remove this file from my computer ]
[ Allow this file ] ← click this
Unproven: There is not enough information about this file to recommend it.
Very few users: This file has been seen by fewer than 5 Symantec users.
Very new: Symantec has known abou this file approximately 2 days.
Permission: If you press OK, an application exemption will be created
for this file. You should allow only files you are sure are safe.
Are you sure you want to allow this file?
[ Cancel ]
[ OK ] ← click this
These warnings appear only the first time you start the new Kermit.
Coexistence with K95 2.1
If you already have Kermit 95 2.1.3 (or earlier) installed on your PC, CKW
won't interfere with it and you can use both versions, and you can still use
the K95 Dialer. At present CKW is installed in a folder on your desktop,
whereas K95 2.1 was installed in the normal Windows way:
File
| Filename
| Directory
| Kermit variable
|
Executable (GUI)
| k95g.exe
| C:\Program Files (x86)\Kermit 95 2.1\
| \v(exedir)
Executable (console)
| k95.exe
| C:\Program Files (x86)\Kermit 95 2.1\
| \v(exedir)
Initialization file
| k95.ini
| C:\Users\user\AppData\Roaming\Kermit 95\
| \v(appdata), \v(inidir)
Customization file
| k95custom.ini
| C:\Users\user\AppData\Roaming\Kermit 95\
| \v(appdata), \v(inidir)
| | | |
CKW uses the same initialization and customization files. If these files
contain any commands not supported by CKW (e.g. "set ssh") or by
K95 ("set rename"), you can protect them with:
if < \v(version) 1000000 {
commands for K95
}
if >= \v(version) 1000000 {
commands for CKW
}
\v(version) is all-numeric
version number of the C-Kermit code used for the Windows build. 1000000 is
C-Kermit 10.0 and 800207 is C-Kermit 8.0.207. When CKW is finally released
it will still peacefully coexist with K95, although the exact mechanisms
have yet to be worked out.
Documention
There is no single comprehensive user manual but since C-Kermit for
Windows
is C-Kermit, you can refer to the C-Kermit documentation for
most everything:
https://www.kermitproject.org/ckbindex.html
https://www.kermitproject.org/ck90.html#doc
For an introduction to the Kermit script language (which lets you
write procedures to automate common tasks), see this page:
https://www.kermitproject.org/ckscripts.html
For CKW's Windows-specific aspects, see:
- Chapter 6 of
the Kermit 95 manual: Using the Command Screen,
-
Chapter 7
of the Kermit 95 manual: Using the Terminal Emulator,
and
-
Chapter 8
of the Kermit 95 manual: File Transfer.