# keypad **Repository Path**: jiangqiang1996/keypad ## Basic Information - **Project Name**: keypad - **Description**: 类似notepad的一个文本编辑器,支持输入账号密码加密文本,用于存储密钥 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-29 - **Last Updated**: 2026-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Keypad 跨平台加密文本编辑器,基于 Electron 构建,提供 AES-256-GCM 加密、多标签页编辑和自动保存功能。 ## 功能特性 - AES-256-GCM 认证加密,保护敏感文本文件(`.kpenc` 格式) - 多标签页编辑,支持未保存变更指示器 - 自动保存(300ms 防抖),窗口失焦/关闭时同步落盘 - 分屏编辑,可拖拽调整窗格宽度 - 大文件分块加载,虚拟滚动行号 - 跨平台支持:Windows、macOS、Linux - 中英双语界面,运行时切换 ## 快速开始 ```bash npm install npm start ``` ## 打包命令 ### 一键打包(推荐) 从源码直接到最终安装包,包含类型检查和测试: ```bash npm run dist:win # Windows 安装包(需 NSIS) npm run dist:mac # macOS .dmg npm run dist:linux # Linux .deb npm run dist:all # 全平台 + Windows 安装包 ``` ### 分步执行 ```bash # 类型检查与测试 npm run typecheck npm test # Electron Forge 打包 npm run make:win # Windows npm run make:mac # macOS npm run make:linux # Linux # NSIS 安装包(需先 make:win,依赖 NSIS) npm run installer:win # 组合:打包 + 安装包 npm run build:win ``` > **NSIS 依赖**:`installer:win` 需要系统安装 [NSIS](https://nsis.sourceforge.io/),或设置 `NSIS_DIR` 环境变量指向 `makensis.exe` 所在目录。 ## 项目结构 ``` src/ main/ 主进程(窗口管理、IPC、文件 I/O、菜单) preload/ 预加载脚本(contextBridge IPC 桥接) renderer/ 渲染进程(编辑器、标签页、分屏、密码模态框) shared/ 共享模块(加密、大文件处理、i18n、类型定义) installer/ NSIS 安装器脚本与产物 scripts/ 构建辅助脚本 languages/ 运行时语言包(JSON) ``` ## 许可证 Copyright (C) Keypad. 本程序为自由软件;您可依据 **GNU 通用公共许可证第 2 版**(GPL-2.0-only)的条款重新分发和/或修改它。 本程序旨在有用,但不提供任何担保;详见 `LICENSE` 文件或 。 依据许可证第 3 条,二进制分发接收者有权获取完整的对应源代码。 ## 第三方组件 Keypad 分发中包含以下第三方组件,其许可证文本随应用一并发布(见 `THIRD-PARTY-LICENSES` 及 `LICENSES.chromium.html`): | 组件 | 版本 | 许可证 | 用途 | |---|---|---|---| | Electron | ^36.4.0 | MIT | 应用运行时 / Chromium 外壳 | | Chromium(随 Electron) | 内置 | BSD/MIT/Apache-2.0/MPL/LGPL 多许可证 | Web 引擎 | | V8(随 Electron) | 内置 | BSD | JavaScript 引擎 | 构建时依赖(TypeScript、Vite、tsx、Electron Forge)不包含在应用分发包中,不对二进制分发施加许可约束。