The first new Kermit release for Windows in VERY nearly twenty years...
CKW: C-Kermit 10.0 for Microsoft Windows
THIRD BETA TEST: 15 September 2022
Download
Install
Run
Export
Coexist
Documentation
Problems
Screenshots
Also see:
CKW How-To
(Ini files, SSH setup, ...)
See daily progress notes
Frank da Cruz
fdc@kermitproject.org
ckw@kermitproject.org
← questions, problems, reports
Created: 16 July 2022
CKW Beta date:
16 September 2022
This page last update:
Wed Dec 14 06:29:21 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 the Program Formerly Known as
Kermit 95 — K95 for short — and which is now
called C-Kermit for Windows — CKW for short — is closer
to final release, thanks (once again) to
David Goodwin in New Zealand, who has
been working on it nonstop since July. His third Beta test version is
available as of 15 September 2022. CKW Beta test numbers are slightly out
of tune with C-Kermit's, which is still (as of the same date) Beta.04,
so this one is called C-Kermit for Windows 10b4 Beta 3; it is built
using C-Kermit Beta.04 sources plus a couple fixes described
HERE
in the 14 September 2022 section. If we have one more CKW Beta before
the C-Kermit beta, we'll be back in sync!
By the way, it would also be appropriate to call C-Kermit for Windows
"W-Kermit", which looks better than "CKW" in menus like the one at the top
of this page, where "C-Kermit for Windows" is too long and "CKW" too short.
Also W-Kermit follows the pattern of E-Kermit and G-Kermit, not to mention
C-Kermit itself.
If you are experiencing problems with the screen cursor in Beta 03
(lagging behind, disappearing, etc) see Problem #3
below.
Links::
David's
notes •
What's new in Beta 3 •
SSH support in Beta 3 •
David's
changelog •
Previous Beta
The big news in CKW10b3 is that OpenSSL support has been
resuscitated. This means that:
CLICK HERE for a complete list of new features in CKWb3, which also include
SSH improvements, some screen and mouse improvements, etc.
David adds, "The SSH and SSL enabled build of CKW (ckw-b3.zip) requires the
Visual C++ 2019 Redistributable - if it's not already installed you'll get
an error of some kind probably complaining about a missing DLL. The latest
version for Vista and newer is
https://aka.ms/vs/17/release/vc_redist.x86.exe, while Windows XP Service
Pack 3 is stuck at an older version (16.7) which is available from MSDN but
as that requires a subscription I've put a copy of it here:
https://ftp.zx.net.nz/pub/dev/redist/vcpp/2019_16.7/VC_redist.x86.exe."
Also the ex-K95 Dialer is included for the first time in this Beta:
Binaries:
https://fremont.zx.net.nz/~david/k95/dialer/dialer-b3.zip
Source code:
https://fremont.zx.net.nz/~david/k95/dialer/dialer-src.zip
The dialer is packaged separately since the same version should run on all
supported Windows platforms except for NT 3.50. Anyone wanting to use it
can just put the dialer files into the same directory with the CKW
Beta 3 files and the dialer button on the CKW toolbar should be
enabled and everything should pretty much work as it did in Kermit 95.
I hope that CKB's revived support for secure Telnet, FTP, and HTTP
connections will encourage the redeployment of secure Telnet and FTP servers
around the Internet, since Kermit's client implementations are vastly
superior to the SSH regime in power, flexibility, features, customizability,
automatability, and user-friendliness.
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: free of charge, freely downloadable; fully
copyable and shareable, no registration required, no serial numbers, no
unlocking codes, and source code is available.
- As of the second Beta, CKW includes its own built-in SSH client
based on the LibSSH DLL 0.10.3 that interoperates with all known modern
SSH V2 servers.
- Due to recent changes in US export law, CKW can
be downloaded to all countries — Including Cuba and Iran.
- CKW is command-line only, just like C-Kermit itself on Unix, VMS,
and other platforms, but it does have some GUI features like popups.
Kermit 95's point-and-click drag-and-drop user interface —
the former K95
Dialer — will also be included due to the Open-Sourcing of the
application framework with which it was developed, called
Zinc.
However, not much effort has been put into modernizing its content:
the built-in list of target sites, BBS's, 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/50/60/320,
SNI–97801, ANSI‑BBS, TVI, QNX,
Linux, 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
communications 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, a web page created in a CKW Emacs session
on a Linux host).
- 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 change
log.
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) and then everybody should be sync.
The third CKW Beta announces itself as:
C-Kermit 10.0 OPEN SOURCE: Beta.04/Windows-03, Sep 15 2022, for Windows
Copyright (C) 1985, 2022,
Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
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 Third Beta
Send bug reports, questions, and comments
to ckw@kermitproject.org.
- CKW's SSH client, which is based
on LibSSH 0.10.3, does not
interoperate with ancient SSH servers even when they support the same
SSH version, (V2), key formats (e.g. RSA, DSA, ed25519), and ciphers. For
example, one such host has OpenSSH 5.3 which was originally released nearly
13 years ago. Administrators of such hosts are encouraged to install a
newer OpenSSH server because older
ones have vulnerabilities. Meanwhile David says "In beta 3 I
upgraded from libssh 0.9.6 (which was the latest version at the time beta
2 was released) to libssh 0.10.3. I was a bit surprised to hear beta 2
worked so I went digging in the libssh change log and I wonder if this is
the cause:
Disabled DSA support at build time by default (will be removed in the
next release)
Perhaps beta 2 was only able to connect because libssh 0.9.6 still supported
DSA. I might have a go at doing a build of libssh 0.10 with it re-enabled
as David Hittner got back to me saying he'd hit the problem connecting to
an OpenVMS box. In the meantime grabbing ssh.dll from beta2 seems to work."
CKW users can
work around the problem by using an SSH relay.
- K95's SSH client, which is built on the LibSSH DLL, transfers files
correctly but much slower than expected. For example on an SSH
connection from CKWb3 (or CKWb2) to Ubuntu, a 19MB PDF file transferred at
at 583663cps. The same file on a Telnet connection to the same host
transferred at 10029471cps: 17 times faster. Progress: the next
CKW Beta will have transfer rates at least 10 times faster;
you can try
it here if you wish.
- Management of the blinking terminal cursor in the third Beta is a
bit off; for example if you type fast the cursor might disappear while
you're typing. There is already a fix for this; you can try it by
downloading
a slightly
newer version of CKW Beta-03, which differs from the original Beta-03
only by the blinking-cursor fix and the date (19 September instead
of 15).
- If you download a file to CKW whose name contains accented or
non-Roman characters (for example "Grüße" in ISO Latin-1 or UTF-8), the
file will arrive but its name will be garbled, as (in this example)
"GrüÃ\237e". This has been true forever; the fault lies with both Kermit
and Windows. Kermit has no way of
specifying the character set of the filename, and Windows does not
support any character sets except "ANSI", "UNICODE" (i.e. UCS-2), UTF-8, and
UTF16-LE. "ANSI" (an egegious misnomer)
indicates Windows Code Page
CP-1252. The fact that the filename (in this case) was already UTF-8
— which Windows supports — is no help because Windows doesn't
know that, and so converts it from whatever it thinks it is into something
else. Anyway, long story short: It is always safest to give files names
that are spelled with ASCII letters A-Z and digits 0-9 and a few other
characters like "
-
" (hyphen), "_
" (underscore),
and of course ".
" (period). Almost anything else can
cause confusion or conflict. And avoid including spaces in filenames even
if it's legal. And for that matter don't assume that capital and small
letters are equivalent in filenames; they are in some operating systems but
not others.
- If you already had Kermit 95 installed on your computer, then after you
install CKW, if you edit
\v(inidir)k95custom.ini
*
or \v(inidir)k95site.ini
, CKW 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.
- Alt-n is supposed to let you enter any Plane-1 Unicode value
as four hexadecimal digits, but:
- it only accepts 3 digits;
- when you type the fourth digit CKW disappears instantly;
- So there's no way to enter Unicode characters that are
otherise typeable.
Example: lowercase dotless i: 'ı' (as in Turkish):
Alt-n 0131 should work but typing the final '1' kills CKW.
Download
The third Beta-test version is available as of 15 September 2022,
downloadable in various configurations from here:
https://ftp2.zx.net.nz/pub/CKW/test_builds/2022-09-15/
The configurations are:
Table 1: CKW download options;
source:
https://ftp2.zx.net.nz/pub/CKW/test_builds/2022-09-15/README
Configuration package link
| Description
|
ckw-b3.zip
| Full-featured version for Windows 11, 10, 8.1, 8, 7, Vista, and XP
Service Pack 3. Includes SSL, SSH, and Pseudoterminal code
You will need to install the
Visual C++ 2019 Redistributable if you don't already have it. You can
grab the latest version of this for Windows Vista and newer from
https://aka.ms/vs/17/release/vc_redist.x86.exe.
On Windows XP, the last version of the redistributable is 16.7. You can
get it from here:
https://ftp.zx.net.nz/pub/dev/redist/vcpp/2019_16.7/VC_redist.x86.exe.
|
ckw-b3-vintage.zip
| Feature-reduced version for Windows NT 3.51, 4.0, 2000, Windows XP
pre-SP3 OR Windows 95, 98, ME. Does NOT include SSH, SSL, or PTY support
and is intended only for vintage Windows systems which have known security
issues.
|
ckw-b3-nt350.zip
| Special feature-reduced version of C-Kermit for Windows NT 3.50
only. The use of this one on newer systems is not recommended.
|
ckw-b3-src.zip
| CKW C-language 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‑b3.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 and third Beta. A distinct advantage of the current
do-it-yourself method is that, not only can you have CKW and K95 installed
at athe same time, you can also have multiple versions of CKW on your PC.
Case in point: there is a host that I use on a daily basis that has an
antiquated SSH server. The second Beta worked with it, but the third did
not because it is built with a newer version of LibSSH, which has dropped
support for old SSH servers. Anway, here is the installation process for
the current Beta:
- Open the "" folder
(double-click it).
- The folder
contains 26 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
- libssl-1_1.dll - Required for SSH
- 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. Ditto for Beta 2, Beta 3, etc.
- In the " folder,
Right-click on k95g.exe and choose "Create shortcut".
This creates a file called "k95g.exe - Shortcut" in the same folder.
- Drag the "k95g.exe - Shortcut" to your Windows desktop or wherever else
you want to run Kermit from. Recommend you rename it to something
like ckwb3.exe so the name doesn't wrap around or get lost on
crowded desktops.
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 icon
you just made in the previous step. 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
(see screenshot)
- 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 most likely 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.