Kanade's Dev Journal

Password Pusher:安全分享密码的终极方案

Password pusher self build.jpg
Published on
/4 mins read/---

什么是Password Pusher?

  • Password Pusher是一个开源工具,主要功能包括:

  • 生成一次性或有时限的密码分享链接

  • 链接被查看后自动销毁密码

  • 可设置密码的过期时间(查看次数或时间限制)

  • 不存储任何密码在发送方设备上

  • 提供API接口供程序化使用

准备工作

在开始之前,请确保你的系统满足以下要求:

  • 一台运行Linux的服务器(本地机器或云服务器)

  • Docker已安装(版本18.06.0或更高)

  • Docker Compose已安装(版本1.25.0或更高)

  • 基本的命令行操作知识

检查Docker和Docker Compose版本

docker --version
docker-compose --version

如果尚未安装,请参考官方文档进行安装:

部署Password Pusher

第一步:创建项目目录

首先,为我们的项目创建一个专用目录:

mkdir password-pusher
cd password-pusher

第二步:创建Docker Compose文件

创建名为 docker-compose.yml 的文件:

vim docker-compose.yml

将以下内容粘贴到文件中:

x-op-app-environment: &x-op-app-environment
  environment:
    DATABASE_URL: 'postgres://username:password@db:5432/pwpush'
 
services:
  # The Password Pusher application
  pwpush:
    image: docker.io/pglombardo/pwpush:latest
    container_name: pwpush
    restart: unless-stopped
    volumes:
      - ./config/settings.yml:/opt/PasswordPusher/config/settings.yml
    ports:
      - '5100:5100'
    <<: *x-op-app-environment
    depends_on:
      - db # Comment out if using SQLite3 (Ephemeral)
    links:
      - db:db
 
  worker:
    image: docker.io/pglombardo/pwpush-worker:latest
    container_name: pwpush-worker
    restart: unless-stopped
    <<: *x-op-app-environment
    depends_on:
      - pwpush
      - db
    links:
      - db:db
 
  db:
    image: docker.io/postgres:15
    container_name: postgres-pwpush
    restart: unless-stopped
    volumes:
      - . /postgresql2/data:/var/lib/postgresql/data
    ports:
      - '5432:5432'
    environment:
      POSTGRES_USER: username
      POSTGRES_PASSWORD: password
      POSTGRES_DB: pwpush

第三步:启动服务

docker-compose up -d

使用Password Pusher

现在,你可以通过浏览器访问Password Pusher:

login

推送密码

  1. 在首页的文本框中输入要分享的密码或敏感信息

  2. 设置过期选项:

    • 在X天后过期

    • 或被查看X次后过期

  3. 点击"Push it"按钮

  4. 系统会生成一个唯一URL,将此URL分享给需要的人

查看密码

  1. 接收者访问你提供的URL

  2. 密码内容会显示在页面上

  3. 根据设置,密码会在查看后立即销毁或达到限制后失效

结语

通过本教程,你已经成功使用Docker Compose部署了自己的Password Pusher实例。这个私有的密码分享解决方案不仅增强了安全性,还让你完全掌控数据的生命周期。无论是团队内部使用还是为客户提供服务,这都是一个既专业又安全的解决方案。

你可以根据需要进一步定制界面、调整安全设置或扩展功能。Password Pusher的开源特性意味着你可以完全按照自己的需求进行调整。

现在,你可以告别不安全的密码分享方式,享受自托管解决方案带来的安全与便利了!

Happy encrypting!