桌面软件 活跃维护

padloc

padloc/padloc

一个面向个人和团队的现代开源密码管理器。

2926
Stars 标星
266
Forks 分支
33
Watchers 关注
105
Open Issues
JavaScript
主要语言
AGPL-3.0
开源协议
49.3 MB
仓库大小
1 年前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:padloc/padloc
git clone https://github.com/padloc/padloc.git
git clone git@github.com:padloc/padloc.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

Padloc

为个人和团队提供简单、安全的密码和数据管理。

关于

此仓库分为多个包:

包名 描述
@padloc/core 核心逻辑
@padloc/app 基于网页的 UI 组件
@padloc/server 后端服务器
@padloc/pwa 网络客户端,渐进式网络应用。
@padloc/locale 包含翻译及其他本地化相关内容的包
@padloc/electron 桌面应用,基于 Electron 构建
@padloc/cordova 用于构建 iOS 和 Android 应用的 Cordova 项目
@padloc/tauri 跨平台原生应用,由 Tauri 提供支持
@padloc/extension Padloc 浏览器扩展

使用方法

如你在 关于 部分看到的,有很多不同的组件可以使用!但是至少,为了设置和使用你自己的 Padloc 实例,你需要安装并配置 Server 和 Web Client。实际上,有几种不同的方法来执行此操作,但如果你只是想在本地安装和测试 Padloc,这其实非常简单:

git clone git@github.com:padloc/padloc.git
cd padloc
npm ci
npm start

网页客户端现在可以在 http://localhost:8080 使用!

关于如何托管你自己的“生产”版本的 Padloc 以及如何构建和分发你自己的桌面和移动应用版本的详细指南即将发布!

贡献

欢迎各种形式的贡献!

如果你想 报告一个错误或提出功能请求,请 创建一个问题。

如果你 有问题、反馈,或者只是想聊天,请前往 讨论 区。

如果你想 直接为 Padloc 做贡献,通过实现新功能或修复现有问题,请随时 创建一个拉取请求!但如果你计划从事任何非琐碎工作,请先与我们沟通,可以通过在现有问题上评论、创建新问题或在讨论区@我们!

要了解如何开始参与 Padloc 的开发,请参阅自述文件中的 开发 部分。

安全

有关安全设计概述,请查看 安全白皮书。

开发

设置

为 Padloc 设置你的开发环境非常简单,如下所示:

git clone git@github.com:padloc/padloc.git
cd padloc
npm ci

这可能需要一分钟,所以可以去拿一杯 ☕️。

开发模式

要启动“开发模式”,只需运行

npm run dev

从项目根目录运行。这将启动后端服务器(默认监听端口 3000),以及 PWA(默认可在 http://localhost:8080 访问)。

服务器和 PWA 端口可以分别通过 PL_TRANSPORT_HTTP_PORT 和 PL_PWA_PORT 环境变量更改。有关更多配置选项,请查看 server 和 pwa 的配置部分。

格式化

本项目使用 Prettier 进行格式化。要使用我们的 .prettierrc.json 规范重新格式化所有文件,请从项目根目录运行以下命令。

npm run format

要简单地检查一切是否格式正确,你可以使用以下命令:

npm run format:check

测试

要运行单元测试,请使用:

npm run test

Cypress 端到端测试可以通过以下方式运行:

npm run test:e2e

并且在“开发模式”下启动 Cypress 测试:

npm run test:e2e:dev

添加/删除依赖项

由于这是一个包含多个包的单一代码仓库,向单个包添加或从单个包删除依赖项可能不太简单。以下命令旨在使这更容易。

要向包中添加依赖项,请运行:

scope=[package_name] npm run add [dependency]

以及要删除一个:

scope=[package_name] npm run remove [dependency]

例如,下面是如何将 typescript 添加到 @padloc/server 包中:

scope=server npm run add typescript

注意:我们正努力将第三方依赖的数量和规模保持在最低限度,因此在添加依赖之前,请三思它是否真的必要!包含不必要依赖的拉取请求很可能会被拒绝。

更新版本

Padloc 项目由许多不同的子包组成。为了简化版本管理,我们为它们使用统一的全局版本。这意味着在发布新版本时,所有子包的版本都需要更新,无论它们是否有修改。要在整个项目中更新全局版本,你可以使用以下命令:

npm run version [semver_version]

部署 / 发布

Padloc 有许多不同的组件,所有组件都需要以不同的方式进行构建/发布/发布。为了管理这种复杂性,我们将所有组件的部署步骤汇编到单个 Github 工作流中。要发布新版本,只需:

  1. 更新项目版本
  2. 提交并推送。
  3. 运行 发布版本 操作。

许可

此软件根据GNU Affero 通用公共许可协议发布。如果您希望获得商业许可,请通过 sales@padloc.app 与我们联系。

本站来源与版权声明
  • 本文标题:padloc - 一个面向个人和团队的现代开源密码管理器
  • 本文链接:https://www.cn121.com/desktop/padloc-padloc.html
  • 原项目:padloc/padloc 版权归原作者 padloc 及贡献者所有
  • 收录信息:本站于 2026-10-07 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 AGPL-3.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。基于本页内容形成的衍生作品, 须同样以该协议发布。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 padloc/padloc。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。