本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

!Yopass-horizontal

!demo
Yopass是一个用于快速、安全分享秘密信息的项目。其核心目的是减少密码等敏感信息在工单系统、Slack消息和电子邮件中的传播。消息在浏览器本地加密/解密,加密后的消息会发送到Yopass,但不包含解密密钥(解密密钥仅在加密时显示一次)。Yopass随后返回一个带有指定过期时间的一次性URL。
在线分享秘密信息没有绝对完美的方式,每种实现都存在权衡。Yopass设计为尽可能简单和“无状态”,同时不牺牲安全性。生成的UUID与提交加密消息的用户之间没有映射关系。最佳实践是通过其他渠道发送除密码外的所有上下文信息。
演示地址。若关注安全性,建议自行部署Yopass。
Yopass于2014年首次发布,由开发者维护并得到贡献者社区的支持。目前已被多家大型企业采用,部分企业如下。
如果您正在使用Yopass,并希望通过代码贡献之外的方式支持项目,可通过邮件致谢、考虑***,或同意在本说明中列出您的公司名称作为Yopass用户。
Yopass的主要设计目标是通过简单的Web界面让所有人轻松快速地分享秘密信息。同时提供命令行界面,以支持需要分享程序输出等场景。
$ yopass --help Yopass - 安全分享秘密信息、密码和文件 标志: --api string Yopass API服务器地址 (默认 "[***]") --decrypt string 解密秘密信息URL --expiration string 秘密信息过期删除时间 [1h, 1d, 1w] (默认 "1h") --file string 从文件读取秘密信息(而非标准输入) --key string 手动加密/解密密钥 --one-time 一次性下载 (默认 true) --url string Yopass公共URL (默认 "[***]") 设置从标志、环境变量或配置文件(位于~/.config/yopass/defaults.<json,toml,yml,hcl,ini,...>)中读取,优先级依次为标志、环境变量、配置文件。环境变量需以YOPASS_为前缀,连字符转换为下划线。 示例: # 从标准输入加密并分享秘密信息 printf 'secret message' | yopass # 加密并分享秘密文件 yopass --file /path/to/secret.conf # 分享秘密信息,支持全天多次下载 cat secret-notes.md | yopass --expiration=1d --one-time=false # 解密秘密信息到标准输出 yopass --decrypt [***] 网站: [***]
以下是安装CLI的方法:
从源码编译(需要Go >= v1.21)
go install github.com/jhaals/yopass/cmd/yopass@latest
命令行标志:
$ yopass-server -h --address string 监听地址 (默认 0.0.0.0) --database string 数据库后端 ('memcached' 或 'redis') (默认 "memcached") --max-length int 加密秘密信息的最大长度 (默认 10000) --memcached string Memcached地址 (默认 "localhost:11211") --metrics-port int 监控指标服务器监听端口 (默认 -1) --port int 监听端口 (默认 1337) --redis string Redis URL (默认 "redis://localhost:6379/0") --tls-cert string TLS证书路径 --tls-key string TLS密钥路径 --cors-allow-origin Access-Control-Allow-Origin CORS设置 (默认 *) --force-onetime-secrets 拒绝创建非一次性秘密信息 --disable-upload 禁用/file上传端点 --prefetch-secret 显示秘密信息可能为一次性下载的提示 (默认 true) --disable-features 禁用前端功能部分 --no-language-switcher 禁用UI中的语言切换器 --trusted-proxies strings 用于验证X-Forwarded-For头的可信代理IP地址或CIDR块 --privacy-notice-url string 隐私声明页面URL --imprint-url string 法律声明页面URL
加密的秘密信息可通过更改--database标志存储在Memcached或Redis中。
当Yopass部署在反向代理或负载均衡器(如Nginx、Caddy、Cloudflare或AWS ALB)之后时,可能需要记录真实客户端IP而非代理IP。Yopass支持可信代理配置,以安全处理X-Forwarded-For头。
安全说明:仅当请求来自显式配置的可信代理时,才会信任X-Forwarded-For头。这可防止来自不受信任来源的IP欺骗。
# 信任单个代理IP yopass-server --trusted-proxies 192.168.1.100 # 信任多个代理IP yopass-server --trusted-proxies 192.168.1.100,10.0.0.50 # 信任代理子网(CIDR表示法) yopass-server --trusted-proxies 192.168.1.0/24,10.0.0.0/8 # 环境变量(适用于Docker) export TRUSTED_PROXIES="192.168.1.0/24,10.0.0.0/8" yopass-server
未配置可信代理时,Yopass将始终使用直接连接的IP,这是推荐的默认行为。
使用Docker Compose文件deploy/with-nginx-proxy-and-letsencrypt/docker-compose.yml可搭建带TLS传输加密和Let's Encrypt自动证书续期的Yopass实例。首先将域名指向运行Yopass的主机,然后替换docker-compose.yml中的VIRTUAL_HOST、LETSENCRYPT_HOST和LETSENCRYPT_EMAIL占位符为实际值。切换到部署目录并启动容器:
docker-compose up -d
Yopass将通过VIRTUAL_HOST/LETSENCRYPT_HOST指定的域名可用。
已有反向代理处理TLS的高级用户可使用“insecure”设置:
cd deploy/docker-compose/insecure docker-compose up -d
然后将反向代理指向127.0.0.1:80。
带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将通过主机的所有IP(包括公网IP)的443端口可用。若要限制为特定IP,使用-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。
kubectl apply -f deploy/yopass-k8.yaml kubectl port-forward service/yopass 1337:1337
此配置仅用于快速启动,实际运行时请配置TLS。
Yopass可选择提供OpenMetrics / Prometheus文本格式的指标。使用标志--metrics-port <port>可让Yopass在指定端口启动第二个HTTP服务器,通过/metrics路径提供指标。
支持的指标:
process_的基本进程指标(如CPU、内存和文件描述符使用情况)go_的Go运行时指标(如Go内存使用、垃圾回收统计等)yopass_http_的HTTP请求指标(HTTP请求计数器和HTTP请求延迟直方图)Yopass支持添加其他语言的翻译。现代前端使用react-i18next内置国际化支持,目前支持英语和瑞典语。欢迎通过拉取请求贡献翻译。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429