passbolt/passbolt_browser_extension
GitHub: passbolt/passbolt_browser_extension
Passbolt 的官方浏览器扩展,为团队提供基于 OpenPGP 端到端加密的密码安全存储、共享与自动填充功能。
Stars: 261 | Forks: 86
```
____ __ ____
/ __ \____ _____ ____/ /_ ____ / / /_
/ /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
/ ____/ /_/ (__ |__ ) /_/ / /_/ / / /_
/_/ \__,_/____/____/_.___/\____/_/\__/
Open source password manager for teams
(c) 2025 Passbolt SA
https://www.passbolt.com
```
## 许可证
Passbolt - 面向团队的开源密码管理器
(c) 2025 Passbolt SA
本程序是自由软件:您可以根据自由软件基金会发布的 GNU Affero 通用公共许可证 (AGPL) 第 3 版的条款重新分发和/或修改它。
"Passbolt" 名称是 Passbolt SA 的注册商标,Passbolt SA 特此拒绝根据 GNU Affero 通用公共许可证第 3 版第 7(e) 节授予 "Passbolt" 商标许可,除非与 Passbolt SA 另有协议。
分发本程序是希望它能有用,但没有任何保证;甚至没有适销性或特定用途适用性的暗示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。
您应该随本程序一起收到 GNU Affero 通用公共许可证的副本。如果没有,请参阅 [GNU Affero General Public License v3](http://www.gnu.org/licenses/agpl-3.0.html)。
## 关于 Passbolt
Passbolt 是一个面向团队的开源密码管理器。它允许安全地共享和存储凭据。
例如,您办公室的 Wi-Fi 密码、路由器的管理员密码或您组织的社交媒体帐户密码,所有这些都可以使用 Passbolt 进行保护。
您可以在 [https://demo.passbolt.com](https://demo.passbolt.com) 试用 Passbolt 演示。
您需要安装一个插件,您可以在网站的 [帮助部分](https://www.passbolt.com/help/start/firefox) 找到分步指南。
或者,当然,您可以使用此仓库中的代码自己构建并运行它!
## 关于 Passbolt 浏览器扩展
需要浏览器扩展来维持更高的安全级别,例如确保加密代码的完整性并提供安全的随机数生成器。将来它还将用于提供诸如在访问已知网站时自动填充密码之类的功能。
### 它看起来是什么样的?
[](https://raw.githubusercontent.com/passbolt/passbolt_styleguide/master/src/img/screenshots/teaser-screenshot-login.png)
[](https://raw.githubusercontent.com/passbolt/passbolt_styleguide/master/src/img/screenshots/teaser-screenshot4.png)
[](https://raw.githubusercontent.com/passbolt/passbolt_styleguide/master/src/img/screenshots/teaser-screenshot-share.png)
# 贡献
请查看 ```CONTRIBUTING.md``` 以获取有关如何参与的更多信息。
### 报告安全问题
如果您在 Passbolt 中发现安全相关问题,请不要在 GitHub 上开启 issue。
而是通过 security@passbolt.com 联系我们。本着负责任披露的精神,我们要求报告者在我们要宣布之前对问题保密。
Passbolt 团队将采取以下行动:
- 首先尝试重现问题并确认漏洞。
- 向报告者确认我们已经收到问题并正在修复。
- 准备修复/补丁并创建相关的自动化测试。
- 准备一篇描述漏洞和可能利用方式的文章。
- 发布所有受影响主要版本的新版本。
- 在版本发布公告中重点介绍该问题。
- 如果报告者愿意,在版本发布公告中向其提供致谢。
# 开发者快速指南
这只是快速入门指南,有关更多信息和效率提示,请查看 CONTRIBUTING.md
## 前置条件
您将需要 ```node```、```grunt``` 以及 ```packages.json``` 中列出的依赖项。
```
git clone git@github.com:passbolt/passbolt_browser_extension.git
cd passbolt_browser_extension
npm ci
```
为了方便起见,您还可以全局安装 ```web-ext```(用于 Firefox)、```crx```(用于 Chrome),
否则可以在 ```node_modules``` 中找到它们。
```
sudo npm install web-ext -g
sudo npm install crx -g
```
## 快速打包 build/all 源代码
非压缩源代码位于 ```/src``` 中。可以按如下方式将其“打包”到 ```build/all```:
```
grunt
```
为了在编辑 src 时自动重建此目录中的代码,
您可以使用 grunt watch 任务:
```
grunt watch
```
## 测试本地版本的插件
### 火狐
启动一个安装了本地版本附加组件的 Firefox 实例。
```
cd build/all
web-ext run
```
每次 /build/all 代码发生更改时,或者在 web-ext 运行时按键盘上的 ```r``` 键,
该实例都会重新加载。
您可以通过打开 [浏览器控制台](https://developer.mozilla.org/en/docs/Tools/Browser_Console) 来调试应用程序脚本。
### 谷歌浏览器
转到位于 [chrome://extensions/](chrome://extensions/) 的扩展页面,点击
“加载已解压的扩展程序”按钮。指向您的 build/all 目录,就可以开始了。
您可以通过点击“检查视图”中的 index.html 来调试应用程序脚本。
## 打包应用程序
您可以使用以下命令构建 crx 或 xpi (zip) 包。
```
grunt build
```
构建结果可以在 ```dist/chromium-mv3``` 或 ```dist/chromium-mv2``` 或 ```dist/firefox``` 下找到。
## 更新供应商或样式指南
您可以在 ```package.json``` 中更新供应商或样式指南,并在 grunt 中运行 copy 任务
以将它们部署到适当的位置。查看 ```Gruntfile.js```
以获取更多信息。
```
npm update
grunt copy:vendors
grunt copy:styleguide
```
构建结果可以在 ```dist/chromium-mv3``` 或 ```dist/chromium-mv2``` 或 ```dist/firefox``` 下找到。
## 单元测试
单元测试由 Jest 处理。它提供了运行测试以及构建代码覆盖率报告的方法。
运行单元测试:
```
grunt test
```
运行带有覆盖率的单元测试:
```
grunt test-coverage
```
生成代码覆盖率报告后,您可以在 `coverage` 文件夹中找到结果。
Jest 还提供了 HTML 版本的报告,位于 `coverage/lcov-report/index.html`。
# 鸣谢
https://www.passbolt.com/credits
标签:AGPL, Edge扩展, Firefox扩展, meg, MITM代理, Passbolt, Web安全, 信息安全, 凭据管理, 团队协作, 密码安全, 密码管理器, 密钥共享, 开源, 数据可视化, 浏览器扩展, 网络安全, 自动填充, 自定义脚本, 自定义脚本, 蓝队分析, 隐私保护