通信网络【免费下载链接】KiTTY:computer: KiTTY, a free telnet/ssh client for Windows项目地址https://gitcode.com/gh_mirrors/kit/KiTTY点击查看免费下载本文围绕 KiTTY 官方 README 展开先讲清 KiTTY 作为 PuTTY 0.76 分支的定位与完整功能版图再结合仓库源码逐一印证各功能的实现落点编译开关、命令行选项、kitty.ini配置、密码加密、会话启动器等最后给出可直接复制的 MSYS/MinGW32 与 Docker 交叉编译流程。读完本文你将能完整评估 KiTTY 相对于原生 PuTTY 的增强点、定位每个功能在源码中的位置并独立从源码构建出putty.exeKiTTY。KiTTY 是什么根据 README 的定义KiTTY 是基于 PuTTY 0.76 版本的分支fork仅面向 Microsoft Windows 平台设计。它完整保留了 PuTTY 原有的 Telnet、SSH、RLogin、RAW 等全部后端能力在此之上叠加了大量增强功能。当前仓库的 Git 标签为Tagging the 0.76.1.13 release of the KiTTY project.即本源码树对应 0.76.1.13 版本线。从源码结构看KiTTY 的增强能力集中在两层仓库根目录的kitty_*.c文件族kitty.c约 5700 行的增强主逻辑、kitty_commun.c端口模式/公共状态、kitty_crypt.c密码加密、kitty_settings.c配置对话框增强、kitty_launcher.c会话启动器、kitty_registry.c注册表存取、kitty_store.c、kitty_tools.c、kitty_win.c托盘/窗口管理等若干独立模块目录base64/、bcrypt/、blocnote/内置文本编辑器、cthelper/Cygwin 包装器、url/超链接、rutty/脚本引擎、zmodem/ZModem 传文件、adb/ADB 支持、far2l/编解码。这些源文件通过 0.76_My_PuTTY/windows/MAKEFILE.MINGW 中的putty.exe目标链接进最终可执行文件见下文编译章节也就是说 KiTTY 与 PuTTY 是同一套构建体系下的“同一份代码 增量模块”。功能版图README 五大类功能逐一印证README 将增强功能分为五类下面按原文脉络逐类展开并给出每项功能在仓库中的实现证据。最初应请求而生的功能The very first requested features功能说明仓库实现证据Sessions filter会话过滤器配置框中的会话列表支持按关键字过滤kitty.h 中GetSessionFilterFlag/SetSessionFilterFlag对应kitty.ini的[ConfigBox] filteryesPortability便携模式会话配置脱离注册表存为文件kitty.ini的savemodedir、fileextension.ktxkitty.h 中IniFileFlag、Convert2Dir/ConvertDir2Reg等函数原型Shortcuts for pre-defined command预定义命令快捷键为菜单命令绑定快捷键kitty.h 中ManageShortcuts(...)kitty.ini的[Shortcuts]节The session launcher会话启动器独立的会话选择/启动界面kitty_launcher.c、kitty_launcher.hRunSession、Launcher_WinMainAutomatic logon script自动登录脚本连接后自动执行本地脚本文件kitty.h 中ReadInitScript、RunScriptFile、ScriptFileContentAutomatic logon script with the RuTTY patch支持 RuTTY 语法条件、循环、%var%替换的登录脚本rutty/script.c、rutty/script_win.c编译开关-DMOD_RUTTYURL hyperlinksURL 超链接终端输出的 URL 可点击跳转url/urlhack.c、url/re_lib/编译开关-DMOD_HYPERLINK技术类功能Technical featuresAutomatic password自动密码会话中可保存 SSH 口令并在连接时自动提交。加密存储由 kitty_crypt.c 实现其头文件 kitty_crypt.h 声明了cryptstring/decryptstring/cryptpassword/decryptpassword接口底层依赖 bcrypt/ 模块nbcrypt.h。一个值得注意的细节是0.76_My_PuTTY/windows/MAKEFILE.MINGW 中cmdline.o的编译规则带有-DMASTER_PASSWORD\cat ../../masterpassword.txt即仓库根目录的 masterpassword.txt 会在编译期被内嵌进二进制作为口令加解密的“主密码”派生输入——这解释了便携分发版为何能跨机器自动解密同一会话保存的口令。Automatic command自动命令连接建立后自动向远程发送一段命令可含\kXX快捷键转义、%var%变量替换。kitty.h 中AutoCommand、SendAutoCommand、以及延迟参数init_delay/autocommand_delay/between_char_delay都是它的支撑kitty.ini中initdelay、commanddelay提供全局默认值。Running a locally saved script on a remote session在远程会话执行本地脚本对应 kitty.h 的RunScriptFile/OpenAndSendScriptFile即把本地脚本逐行发送到远程终端执行。图形类功能Graphical featuresAn icon for each session每会话独立图标kitty.h 中IconeFlag、IconeNum、SetNewIcon(...)图标库可指向kitty.exe/kitty.dll[KiTTY] iconfile。Send to tray发送到托盘kitty.h 中ManageToTray、DisplaySystemTrayMenu以及命令行选项-send-to-tray适合纯 SSH 隧道场景AutoSendToTray支持连接后自动收进托盘。Transparency窗口透明kitty.h 的GetTransparencyFlag/SetTransparencyFlagkitty.ini的transparencyyes开启命令行可用-notrans关闭。Protection against unfortunate keyboard input误触保护锁定键鼠输入防止误操作生产环境[KiTTY]保护标志 ManageProtect(...)。Roll-up卷帘窗口把窗口卷到标题栏高度ManageWinrolkitty.ini的winrolyes。Always visible置顶显示ManageVisible(...)。Quick start of a duplicate session快速启动副本会话以相同会话配置再开一个窗口。Enhanced Configuration Box增强配置框更大的会话列表、文件夹树[KiTTY] numberoficons、[ConfigBox] height/dblclick/filter等参数均见 kitty_ini.txt。其他功能Other featuresAutomatic saving自动保存kitty.ini的confyes控制默认配置文件的自动创建SaveCurrentSetting等函数负责落盘。SSH HandlerIE 协议关联把telnet://、ssh://协议注册给 KiTTY注册表脚本见 docs/files/kitty_ssh_handler.reg命令行选项-sshhandler一键创建。pscp.exe 和 WinSCP 集成kitty.ini中PSCPPath、WinSCPPath、downloaddir配置项kitty.h 中SendFile、StartWinSCP函数原型快捷键sendfileCtrlF3、getfileCtrlF4、winscpShiftF3。Binary compression二进制压缩针对压缩算法/编码的增强处理配合 base64/ 等工具模块。Clipboard printing剪贴板打印编译开关-DMOD_PRINTCLIP。Cygwin 和 cmd.exe 集成cthelper/ 目录cygterm.c、ptyfork.c等作为 Cygwin 终端包装器kitty.ini的cygterm、CtHelperPath配置项。File association文件关联.ktx会话文件关联-fileassoc命令行选项。Other settings / New command-line options详见下文两节。此外编译开关中还有-DMOD_PORTKNOCKING端口敲门、-DMOD_ADBADB见 adb/adb.c、-DMOD_ZMODEMZModem 文件传输见 zmodem/winpzmodem.c、-DMOD_PROXY代理选择器见 kitty_proxy.c、-DMOD_FAR2Lfar2l/ 编解码、-DMOD_TUTTY终端增强等均可在下文 Makefile 段落中核对。彩蛋BonusREADME 提到“KiTTY 中隐藏着一个轻量聊天服务器和一个隐藏文本编辑器”源码印证如下轻量聊天服务器kitty.c 的routine_server函数在运行时LoadLibrary动态加载kchat.dll并调用其中的main_m1入口kitty_light.c 则是一个空的占位源文件注释说明“Sert juste a reussir la compilation en phase de debug”即仅为调试期编译通过而存在。也就是说聊天服务器是以外部 DLL 形式“隐藏”进 KiTTY 的主体代码并不内联。隐藏文本编辑器blocnote/notepad.c 及资源 blocnote/notepad.rc在 Makefile 中经../../blocnote/notepad.a静态链接进putty.exeputty.res.o规则中还显式包含../../blocnote/notepad.rc与-DMOD_INTEGRATED_AGENT -DMOD_INTEGRATED_KEYGEN——即内置编辑器、内置 SSH Agentpageant_integrated.o、内置密钥生成器winpgen_integrated.o也一并整合了。命令行选项README 声称的 “New command-line options”README 把“New command-line options”列为特性之一。完整清单维护在 docs/pages/CommandLine.md而解析逻辑在 0.76_My_PuTTY/windows/window.c 中一段连续的!strcmp(p, ...)分支约 L1017–L1318中实现两者可相互印证。核心选项摘录选项作用-pass pwd设置密码-auto-store-sshkey不提示直接保存服务器 SSH 主机密钥-cmd cmd定义启动自动命令-initdelay sec首次自动动作发托盘、自动命令等前的延迟默认 2.0 秒-icon n/-iconfile file指定内置图标编号或外部图标文件-loginscript file加载登录脚本文件-launcher启动会话启动器kitty_launcher.c-send-to-tray会话直接启动到系统托盘适合 SSH 隧道-convert-dir/-convert-reg注册表配置与savemodedir便携目录互转-folder f打开指定文件夹便携模式须位于-load之前-kload file加载.ktx会话文件-keygen启动内置 SSH 密钥生成器-runagent启动内置 SSH Agent-sshhandler创建telnet://、ssh://协议关联-fileassoc将.ktx文件关联到 KiTTY-sendcmd向同类名窗口广播一条命令-classname/-title/-xpos/-ypos/-bgcolor窗口类名、标题、位置、背景色-nobgimage/-noctrltab/-noicon/-noshortcuts/-notrans/-nozmodem/-norutty/-nofiles/-debug逐项关闭对应增强功能-putty用单一选项关闭全部 KiTTY 新特性-help/-version帮助 / 仅打开关于框注意-putty选项体现了 KiTTY 的设计目标同一二进制可以退化为“纯 PuTTY”行为对需要 PuTTY 兼容性的场景非常实用。原生 PuTTY 的全部命令行选项在 KiTTY 中依然有效。配置系统kitty.ini 与三大存储模式KiTTY 的全局配置落在kitty.ini默认创建于程序目录仓库根目录的 kitty_ini.txt 就是带完整注释的默认模板共六个节[Agent]askconfirmationyes/no/auto、messageonkeyusage——内置 SSH Agent 的私钥使用确认策略[ConfigBox]dblclickopen/start、filter、height、noexit、defaultsettings等控制增强配置框行为[KiTTY]全局总开关如autoreconnectyesReconnectDelay5自动重连对应-DMOD_RECONNECT与 kitty.h 的AutoreconnectFlag/ReconnectDelay、hyperlinkyes、iconyes、transparencyyes、winrolyes、zmodemyes、adbyes、cygterm、pastesize粘贴字符上限、sshversion可伪装 SSH 版本标题默认PuTTY-KiTTY、userpasssshnosave禁止内部保存 SSH 口令等[Shortcuts]为菜单命令绑定快捷键如scriptCtrlF2 加载本地脚本远程执行、sendfileCtrlF3、getfileCtrlF4、trayCtrlF6、protectCtrlF9、rollupCtrlF12、editorShiftF2 打开内置编辑器等约 35 项[Print]height、maxline60、maxchar85——终端缓冲打印排版[Launcher]reloadyes——启动器菜单每次重新生成时刷新会话列表。会话存储模式由savemode决定kitty_ini.txt L161-L166registry存入 Windows 注册表默认dir存为目录结构中的文件便携模式核心配合configdir、fileextension.ktx并提供-convert-dir/-convert-reg双向迁移命令源码入口为 kitty.h 中的Convert2Dir/ConvertDir2Reg/Convert2Regfile单文件保存文档标注 currently not maintained。docs/files/ 目录还附带kitty_usrcmd.reg用户命令注册与kitty_ssh_handler.regSSH 协议处理器等可直接导入的注册表脚本是“Other settings”与“SSH Handler”两项 README 功能的具体交付物。如何编译README 原流程 仓库佐证README 给出的标准流程按 README在 MSYS MinGW32 环境中进入x.yy_My_PuTTY\windows目录本仓库对应 0.76_My_PuTTY/windows执行make -f MAKEFILE.MINGW putty.exeREADME 还给出了 MSYS/MinGW32 环境安装步骤安装 mingw-builds 的 GUI 安装包通过$MinGW\libexec\mingw-get\guimain.exe安装mingw32-developer-tools、mingw32-base、mingw32-gcc-g、msys-base四个包然后用$MinGW\msys\1.0\msys.bat打开 SHELL 再编译。Makefile 中的 KiTTY 专属段落0.76_My_PuTTY/windows/MAKEFILE.MINGW 的BEGIN MOD_PERSO ... END MOD_PERSO段是 KiTTY 相对 PuTTY 构建的核心差异CFLAGS -DWINVER0x0501 -D_WIN32_WINDOWS0x0410 -D_WIN32_WINNT0x0501 ... CFLAGS \ -DMOD_WTS \ -DMOD_PERSO \ -DMOD_STARTBUTTON \ -DMOD_SAVEDUMP \ -DMOD_DISABLEALTGR \ -DMOD_KEYMAPPING \ -DMOD_PUTTYX \ -DMOD_PORTKNOCKING \ -DMOD_HYPERLINK \ -DMOD_PRINTCLIP \ -DMOD_LAUNCHER \ -DMOD_RECONNECT \ -DMOD_RUTTY \ -DMOD_TUTTY \ -DMOD_ADB \ -DMOD_BACKGROUNDIMAGE \ -DMOD_ZMODEM \ -DMOD_PROXY \ -DMOD_FAR2L \ ...每个-DMOD_*宏都对应一个编译期功能开关WTS 会话支持、快捷键映射、防 AltGr、端口敲门、Rutty 脚本、ADB、背景图、ZModem、代理等注释行还额外列出了可选项-DMOD_NOPASSWORD不可保存口令的版本、-DMOD_NOTRANSPARENCY禁透明、-DMOD_NOHYPERLINK禁超链接、-DMOD_PORTABLE强制便携模式。putty.exe目标则链接了全部kitty_*.o、urlhack.o、winpzmodem.o、内置 Pageant/Keygen 目标文件以及base64.a、bcrypt.a、notepad.a、libjpeg.a、MD5check.a、mini.a、libregex.a等静态库并额外-lwtsapi32会话/托盘增强所需。想关闭某个功能删除对应-DMOD_*宏重新编译即可。现代化的交叉编译方式仓库官方文档 docs/pages/HowToCompile.md 提供了基于 Docker 交叉编译镜像的更省事方式免去本地安装 MinGW# 32 位 mkdir -p builds 2 /dev/null || rm -f builds/*.exe docker run --rm -it -v $(pwd)/builds:/builds -e USR_UID$(id -u) -e USR_GID$(id -g) cyd01/cross-gcc git clone https://github.com/cyd01/KiTTY.git ; cd KiTTY/0.76b_My_PuTTY/windows ; make -f MAKEFILE.MINGW cross ; cd /builds ; ls -l64 位仅需把目标改为make -f MAKEFILE.MINGW cross64。产物kitty.exe等会出现在挂载的builds目录。仓库内另有 .devcontainer/ 配置devcontainer.jsonDockerfile基于同一cross-gcc基础镜像构建 VS Code 开发容器可作为上述 Docker 方案的环境化替代。版本、许可与适用前提版本基线KiTTY fork 自 PuTTY 0.76本仓库标签为 0.76.1.13kitty.ini中sshversion默认上报PuTTY-KiTTY个别服务器若拒绝非标版本字符串可通过sshversion参数或-title等手段调整。平台限制如 README 所强调KiTTY 仅设计用于 WindowsPuTTY 其他平台版本以其原作者发布为准。许可仓库根目录 LICENCE.TXT 随源码分发。适用前提本文的编译流程以仓库中0.76_My_PuTTY源码树为准0.76b_My_PuTTY是另一套目录重组后的变体crypto/ssh/keygen 等按目录拆分Docker 官方文档针对的是0.76b_My_PuTTY/windows。小结KiTTY 的价值可以用仓库自身结构概括它没有重写 PuTTY而是以“同一构建体系 编译期功能宏 运行时 kitty.ini 配置 扩展命令行”三层机制把会话过滤、便携模式、自动口令/命令、登录脚本含 RuTTY、托盘化、透明/卷帘/误触保护、会话启动器、SSH Handler 与 pscp/WinSCP 集成等能力系统性地嫁接到 PuTTY 0.76 之上。README 列出的每项特性都能在 0.76_My_PuTTY/windows/MAKEFILE.MINGW、kitty.h、kitty_ini.txt、docs/pages/CommandLine.md 与kitty_*.c源码族中找到对应实现或配置落点这也是阅读本仓库源码的最佳索引路径。赞分享通信网络【免费下载链接】KiTTY:computer: KiTTY, a free telnet/ssh client for Windows项目地址https://gitcode.com/gh_mirrors/kit/KiTTY点击查看免费下载相关推荐【免费下载】 KiTTY一款强大的Windows平台Telnet/SSH客户端KiTTY一款强大的Windows平台Telnet/SSH客户端 项目基础介绍和主要编程语言 KiTTY是一款基于PuTTY 0.76版本的Windows平台通信网络WeChatMsg 留痕免费三步把微信聊天记录导出为 HTML、Word、CSVWeChatMsg 留痕免费三步把微信聊天记录导出为 HTML、Word、CSV 微信的聊天记录锁在一个普通用户打不开的本地数据库文件里官方路径只有整机迁移KiTTYWindows平台强大的SSH/Telnet客户端KiTTYWindows平台强大的SSH/Telnet客户端 KiTTY是一个基于PuTTY 0.76版本分支开发的开源SSH和Telnet客户端专为Mic通信网络创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考