jhaals/yopass

GitHub: jhaals/yopass

Yopass 是一个端到端加密的机密信息安全分享平台,通过一次性过期链接解决密码和文件在即时通讯、邮件中明文传播的安全隐患。

Stars: 2985 | Forks: 431

![Yopass-horizontal](https://static.pigsec.cn/wp-content/uploads/repos/cas/c9/c90305b7408495e5e008b86b18e0bb03ae716b3262d83232ae6f6e63d4ec5f79.png) # Yopass - 安全地分享 Secrets [![Go Report Card](https://goreportcard.com/badge/github.com/jhaals/yopass)](https://goreportcard.com/report/github.com/jhaals/yopass) [![codecov](https://codecov.io/gh/jhaals/yopass/branch/master/graph/badge.svg)](https://codecov.io/gh/jhaals/yopass) ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/jhaals/yopass?sort=semver) ![demo](https://ydemo.netlify.com/yopass-demo.gif) Yopass 让你可以通过端到端加密安全地分享 secrets、密码和文件。Secrets 在浏览器中使用 [OpenPGP](https://openpgpjs.org/) 进行加密,然后再发送到服务器——解密密钥永远不会离开你的设备。每个 secret 都会获得一个自动过期的一次性 URL。 没有账号,没有追踪,没有明文存储。停止在 Slack、邮件和工单系统中分享 secrets。 **[试用 Demo](https://yopass.se)** | 对于敏感用途,建议自行托管 Yopass。 ### 功能 - 使用 OpenPGP 进行端到端加密 - 一次性查看 secret - 无需账号或用户管理 - 可配置的过期时间(小时、天或周) - 可选的自定义密码保护 - 通过流式加密上传文件 - 多语言支持 - OpenID Connect (OIDC) 身份验证及邮箱域名限制 - 主题和品牌定制(自定义主题、Logo、应用名称) - 合规审计日志(SOC 2、ISO 27001、GDPR) - 已读回执——了解 secret 何时被打开 - 用于 secret 生命周期事件(创建、查看、过期)的 Webhook ## 目录 - [快速入门](#getting-started) - [Docker Compose](#docker-compose) - [Docker](#docker) - [Kubernetes](#kubernetes) - [服务器配置](#server-configuration) - [翻译](#translations) - [历史](#history) ## 快速入门 请查阅 [文档](https://yopass.se/docs) 获取有关配置、主题定制、OIDC 身份验证、审计日志等的详细指南。 ### Docker Compose 通过 [Let's Encrypt](https://letsencrypt.org/) 实现 TLS 加密和证书自动续期的最快运行 Yopass 的方式。 1. 将你的域名指向你想要运行 Yopass 的主机 2. 编辑 `deploy/with-nginx-proxy-and-letsencrypt/docker-compose.yml` 并替换 `VIRTUAL_HOST`、`LETSENCRYPT_HOST` 和 `LETSENCRYPT_EMAIL` 的占位符 3. 启动容器: ``` docker-compose up -d ``` Yopass 将在你配置的域名上可用。 **已经有处理 TLS 的反向代理了?** 使用更简单的设置: ``` cd deploy/docker-compose/insecure docker-compose up -d ``` 然后将你的反向代理指向 `127.0.0.1:80`。 ### Docker 开启 TLS 加密: ``` docker run --name memcached_yopass -d memcached docker run -p 443:1337 -v /local/certs/:/certs \ --link memcached_yopass:memcached -d jhaals/yopass --memcached=memcached:11211 --tls-key=/certs/tls.key --tls-cert=/certs/tls.crt ``` Yopass 将在所有主机网络接口的 443 端口上可用。要限制为仅 localhost 访问,请使用 `-p 127.0.0.1:443:1337`。 不开启 TLS(需要反向代理进行传输层加密): ``` docker run --name memcached_yopass -d memcached docker run -p 127.0.0.1:80:1337 --link memcached_yopass:memcached -d jhaals/yopass --memcached=memcached:11211 ``` 然后将终止 TLS 的反向代理指向 `127.0.0.1:80`。 ### Kubernetes ``` kubectl apply -f deploy/yopass-k8.yaml kubectl port-forward service/yopass 1337:1337 ``` _这是一个入门的最小化设置。在生产环境中使用前请配置 TLS。_ ## 服务器配置 Yopass 使用 Memcached(默认)或 Redis 作为其存储后端。所有标志也可以通过环境变量设置(大写,破折号 → 下划线)。 ``` # Memcached(默认) yopass-server --memcached localhost:11211 # Redis yopass-server --database redis --redis redis://localhost:6379/0 ``` 通过 `--argon2` 标志,可以选择使用对内存要求极高的 [Argon2id](https://datatracker.ietf.org/doc/rfc9106/) 来加强密码密钥派生。这是一个可选功能,因为它要求 `'wasm-unsafe-eval'` CSP 指令,覆盖 `Content-Security-Policy` header 的反向代理必须手动添加该指令——请参阅 [Argon2 密钥派生](https://yopass.se/docs/server-options#argon2-key-derivation)。 完整的标志参考请参见 [yopass.se/docs/server-options](https://yopass.se/docs/server-options)。特定主题的指南: | 指南 | 描述 | |-------|-------------| | [TLS / HTTPS](https://yopass.se/docs/tls) | 内置 TLS、Nginx、Caddy、Traefik、Let's Encrypt | | [文件存储](https://yopass.se/docs/file-storage) | 磁盘和 S3/MinIO 后端,大小限制 | | [只读模式](https://yopass.se/docs/read-only-mode) | 分离式实例部署 | | [OpenID Connect](https://yopass.se/docs/openid-connect) | OIDC 身份验证 *(需要许可证)* | | [主题与品牌定制](https://yopass.se/docs/theming) | 自定义主题、Logo、应用名称 *(需要许可证)* | | [指标](https://yopass.se/docs/metrics) | Prometheus、告警规则、Grafana | | [审计日志](https://yopass.se/docs/audit-logging) | NDJSON 合规日志 *(需要许可证)* | | [已读回执](https://yopass.se/docs/read-receipts) | 了解 secret 何时被打开 *(需要许可证)* | | [Webhooks](https://yopass.se/docs/webhooks) | 签名的生命周期事件通知 *(需要许可证)* | ## 翻译 Yopass 通过 react-i18next 支持多种语言。请参阅 [当前翻译](https://github.com/jhaals/yopass/blob/master/website/src/shared/lib/i18n.ts)。欢迎贡献新的语言——请参阅此 [示例 PR](https://github.com/jhaals/yopass/pull/3024)。 ## 历史 Yopass 于 2014 年首次发布,并在许多[贡献者](https://github.com/jhaals/yopass/graphs/contributors)的帮助下得到维护。它被包括 [Spotify](https://spotify.com)、[Doddle](https://doddle.com) 和 [Gumtree Australia](https://www.gumtreeforbusiness.com.au/) 在内的组织所使用。 如果你使用了 Yopass 并希望支持该项目,你可以通过电子邮件表示感谢,考虑捐赠,或者同意在此列出你的公司。
标签:EVTX分析, Go, IPv6支持, OpenPGP, Ruby工具, 子域名突变, 搜索引擎查询, 日志审计, 机密分享, 端到端加密, 请求拦截