The first new Kermit release for Windows in nearly twenty years...
CKW: C-Kermit 10.0 for Microsoft Windows
SECOND BETA TEST: 17 August 2022
—
Includes built-in SSH client
Download
Install
Run
Export
Coexist
Documentation
Screenshots
Also see:
CKW How-To
(Ini files, SSH setup, ...)
Frank da Cruz
fdc@kermitproject.org
ckw@kermitproject.org
← questions, problems, reports
Created: 16 July 2022
Last update:
Tue Sep 6 14:12:53 2022
New York time
This page assumes a degree of familiarity with Kermit software;
if you need an introduction, look HERE.
The new Open Source release of TPFKAK95 (The Program Formerly Known as
Kermit 95 — K95 for short — and which is now
called C-Kermit for Windows — CKW for short) is well on its
way towards final release, thanks to
David Goodwin in New Zealand, who has
been doing all the work himself — metric tons of it!.
Links: :
David
Goodwin's notes •
Discussion on Vogons.org •
Twitter discussion •
The first CKW Beta
David updates his notes frequently but you have to go down to
the Updates section; here's a direct
link. He is making enormous progess! Also see his
Plans for
the Third Beta section.
THE BIG NEWS... is that CKW now includes a modern, up-to-date,
and
exportable built-in SSH v2 client based
on
LibSSH 0.9.6. This is obviously
a
huge improvement over the previous situation in which SSH
connections could be made only with the assistance of an external SSH client
(or even an external
computer as described
here). For now (at least) the built-in
SSH client works only in Windows Vista and later, due to conflicts between
LibSSH and the older compilers and/or APIs.
See David's
notes for a detailed listing of all the changes since the first beta,
including some surprises as well but also some yet-to-surmount roadblocks
on certain older Windows versions.
About C-Kermit for Windows
- CKW is a communications software application for Microsoft
Windows offering support for network, serial-port, and modem connections;
emulation of over 40 different terminals, error-free and fast file transfer,
and a built-in script-programming language for automation of communications,
file-management, and other tasks.
- CKW is Open Source: freely downloadable; fully copyable and
shareable, no registration required, no serial numbers, no unlocking codes.
- As of the second Beta, CKW includes its own built-in SSH client
based on the LibSSH DLL.
- OpenSSL:
The next Beta (not released yet) works with all versions of OpenSSL from
0.98 to 3.0.5, allowing CKW
to interact
directly with secure Web servers via SET HOST /SSL
HTTP IP HOSTNAME and the CKW's HTTP command.
- Due to recent changes in US export law, CKW can
be downloaded to all countries. Including Cuba and Iran.
- For now, at least, CKW is command-line only with no GUI
point-and-click drag-and-drop user interface like the
former K95
Dialer. There is some possibility, however, that the Dialer will
retooled and included before the final CKW release due to the Open-Sourcing
of the application framework with which it was developed, called
Zinc.
- 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)...
- The CKW terminal emulator lets you type and read your own language,
e.g. Russian (see
recent example);
- The CKW still supports IBM OS/2 and builds with some features
missing. Further work is required, likely by someone with OS/2 development
knowledge, to get it back to the Kermit-95 level of functionality.
- CKW does its best to remain compatible with old Windows versions,
but some features (notably the built-in SSH client) might not work
on them. Thus two or more configurations of CKW will probably be necessary:
one for modern Windows, one for old Windows, one for NT, one for OS/2, etc.
- 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.
- As of 17 August 2022, CKW is buildable with all versions of Microsoft
Visual C++ 6.0 SP6 through 2022, including free versions, as well as
OpenWatcom 1.9 (win32 target only).
- Once the final version is released it will be installed on the
Kermit Project Github
where it can take on a new life of its own in the future.
- For (approximately) daily updates on
David's progress, see
his notes.
As noted in the table above, the source code is available from David's
archive. It will be incorporated into the C-Kermit 10.0 Beta.05 sources
(along many other contributions and fixes) then everybody should be sync.
The second CKW Beta announces itself as:
C-Kermit 10.0 OPEN SOURCE:, Aug 17 2022, for Windows
Copyright (C) 1985, 2022,
Trustees of Columbia University in the City of New York.
(It should also say "Beta.xx" but we'll do that next time around.)
The copyright remains with Columbia U, in accordance with the separation
agreement of 2011. CKW uses the C-Kermit version number, not the old 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.
Known Problems with C-Kermit for Windows Second Beta
Send bug reports, questions, and comments
to
ckw@kermitproject.org.
- It doesn't display the Beta version in its startup message (herald).
This will be fixed in the next Beta; the Beta-test number will be
aligned with the general C-Kermit one
and the full version number will be available in the new built-in variable
\m(fullversion)
.
- See this page about the SSH client. Also:
There are some complaints about SSH session closing after a period of
inactivity. This could be for either of two reasons:
- The host's ssh server kills idle jobs. You can defeat this with
"
set ssh heartbeat-interval n
" to have CKW
send an "Ignore" message to the SSH server every n seconds,
e.g. 60.
- The host itself kills idle jobs. You can get around this with
"
set terminal
idle-timeout
seconds"
and "set terminal idle-action output \26
".
Unfortunately the idle-action character can't be NUL (\0) but \26 (Ctrl-Z)
is a pretty good choice, at least for Linux hosts (shell, Emacs, etc).
about which the "help ssh set"
text says "Specifies a number of seconds of idle time after which an IGNORE
message will be sent to the server. This pulse is useful for
maintaining connections through HTTP Proxy servers and Network
Address Translators. The default is OFF (0 seconds)."
- If you already had Kermit 95 installed on your computer, then after you
install CKW B2, if you edit
\v(inidir)k95custom.ini
*
or \v(inidir)k95site.ini
, CKW B2 will not see your
edits . This turns out to be for
two good reasons:
- Your
k95custom.ini
(your personal customization file)
file should be in \v(appdata)
, not \v(inidir)
.
\v(k95site.ini)
is not for personal use, it's for the
network manager on PC networks to make site-wide customizations, e.g. for
all the PCs on a corporate PC LAN.
Diagnosis: All these directories were writable by the user in early
Windows versions. Beginning with (I think) Windows Vista,
\v(inidir) became read-only except for Administrator.
The reason the problem became evident only in CKW B2 is that it's
the first version to be built with modern compilers and runtimes.
Solution: Moving k95custom.ini to \v(appdata) — where
you can edit it — fixes the problem.
Downloading
The
second Beta-test
version is available now, downloadable in various configuations from
here:
https://ftp2.zx.net.nz/pub/CKW/test_builds/2022-08-17/
The configurations are:
Table 1: CKW download options
Configuration package link
| Description
|
ckw-b2.zip
| Full-featured version for Windows Vista and later, built with
Visual C++ 2020), includes SSH and Pseudoterminal code
|
ckw-b2-vintage.zip
| Feature-reduced version for Windows XP/Server 2003 and older and on
Windows NT 3.51 built with Visual C++ 6.0 SP6 (like Beta 1 with bug fixes);
for this version you'll need to use a relay if
you want to make SSH connections.
|
win7.png
| Screenshot from Windows 7
|
nt351.png
| Screenshot from Windows NT 3.51
|
ckw-b2-src.zip
| Source code
|
Here's the procedure:
- Make a new folder on your desktop named (you can name it whatever
you want, but the following instructions refer to ).
- Download the desired CKW configuration package from the "Configuration
column package link" column in the table. The appropriate choice for most
people (i.e. those using Windows Vista or later) would
be ckw‑b2.zip
(we'll assume this in the rest of the instructions).
- Move (drag) the downloaded zip archive to folder.
- Open (double-click) the folder.
- Right-click on the .zip file
and choose "Extract All...". This creates a subdirectory
called .
- (optional) Delete the .zip file
(right-click → delete).
Installing
There is (as yet) no "one-click" installer for CKW. Here is the procedure
for the second Beta; hopefully it will evolve into something more familiar.
- Open the "" folder
(double-click it).
- The folder
contains 15 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)
- libcrypto-1_1.dll - Required for SSH
- ssh.dll - Required for SSH
- ssh-readme.txt - Read this (about SSH) (also online
here)
- 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 the previous CKW test version,
rename it (for example to "k95gB1.exe") so you can still have access to
to Beta 1 after installing shortcuts to Beta 2.
- In the " folder,
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.
The new built-in SSH client is ready to use for password authentication.
To set up passwordless key exchange authentication, read
these instructions.
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 CKW.
But they come back when you download a new release (and then they
go away again).
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:
Table 2: K95 2.1 directories
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)
|
Root startup file
| k95.ini
| C:\ProgramData\Kermit 95\
| \v(inidir)
|
Sitewide initialization file
| k95site.ini
| C:\ProgramData\Kermit 95\
| \v(inidir)
|
Customization file
| k95custom.ini
| C:\Users\username\AppData\Roaming\Kermit 95\
| \v(appdata)
|
Note: the actual directory names can vary according Windows version.
CKW *presently* uses the same initialization and customization files. If
these files contain any commands not supported by CKW
or by K95, you can protect them with:
if < \v(version) 1000000 {
commands for K95
}
if >= \v(version) 1000000 {
commands for CKW
}
\v(version) is the 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, but mostlikely all of its file names will start
with "ckw" rather than "k95" (as in the table), and it will have its own
separate
\v(exedir)
,
\v(inidir)
, and
\v(appdata)
directories.
The CKW Initialization File
More about "Ini files"
In Betas 1 and 2 CKW uses K95's initialization and customization files
(Table 2) if they exist. Future Betas will have
their own set, e.g. ckwcustom.ini instead of k95custom.ini. The same
directories as for K95 are used for the k95.ini, k95site.ini, and
k95custom.ini files. These are plain-text files that contain C-Kermit/CKW
commands. The k95custom.ini is where you would set up your preferences.
For making connections to other computers, you can define a
macro for each host includes the access details, the connection and
login procedure, and the fonts, font-sizes, screen dimensions, colors,
position, resize behavior, and so on, for each host you connect to. You can
use different attributes (e.g. color) for each host so when you have
many connections going at once, you can tell the difference by their
distinct appearances. The K95 Relay page
includes an example of such a script.
New scripts and ini files for CKW will be posted here shortly.
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 export
restrictions, and C-Kermit for Windows can include a built-in SSH client
based on LibSSH that is, indeed,
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 LibSSH 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.
Documention
Specific to C-Kermit for Windows:
A "How To" document for getting started with CKW:
https://www.kermitproject.org/ckwhowto.html
David Goodwin's notes:
http://www.ext.zx.net.nz/software/notes/kermit95/
Since
C-Kermit for Windows
is C-Kermit, you can refer to the C-Kermit
documentation for most everything else:
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.