From e0877a7c0337a5e83b9a379a3b1dbeccfe1d8975 Mon Sep 17 00:00:00 2001 From: okxlin Date: Wed, 29 Nov 2023 18:18:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0password=20pusher?= =?UTF-8?q?=E5=88=B0=E5=88=97=E8=A1=A8(=E6=84=9F=E8=B0=A2=E7=BD=91?= =?UTF-8?q?=E5=8F=8B=E5=8C=85=E5=AD=90=E5=8F=94=E7=9A=84=E6=8A=95=E7=A8=BF?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/passwordpusher/1.34.3/.env.sample | 7 +++ apps/passwordpusher/1.34.3/data.yml | 54 ++++++++++++++++++ apps/passwordpusher/1.34.3/docker-compose.yml | 18 ++++++ apps/passwordpusher/README.md | 45 +++++++++++++++ apps/passwordpusher/data.yml | 20 +++++++ apps/passwordpusher/logo.png | Bin 0 -> 28411 bytes apps/passwordpusher/release/.env.sample | 7 +++ apps/passwordpusher/release/data.yml | 54 ++++++++++++++++++ .../passwordpusher/release/docker-compose.yml | 18 ++++++ 9 files changed, 223 insertions(+) create mode 100644 apps/passwordpusher/1.34.3/.env.sample create mode 100644 apps/passwordpusher/1.34.3/data.yml create mode 100644 apps/passwordpusher/1.34.3/docker-compose.yml create mode 100644 apps/passwordpusher/README.md create mode 100644 apps/passwordpusher/data.yml create mode 100644 apps/passwordpusher/logo.png create mode 100644 apps/passwordpusher/release/.env.sample create mode 100644 apps/passwordpusher/release/data.yml create mode 100644 apps/passwordpusher/release/docker-compose.yml diff --git a/apps/passwordpusher/1.34.3/.env.sample b/apps/passwordpusher/1.34.3/.env.sample new file mode 100644 index 00000000..c7bfa3ee --- /dev/null +++ b/apps/passwordpusher/1.34.3/.env.sample @@ -0,0 +1,7 @@ +CONTAINER_NAME="passwordpusher" +PANEL_APP_PORT_HTTP="40180" +PANEL_DB_HOST="mysql" +PWPUSHER_DB_PORT="3306" +PANEL_DB_NAME="passwordpusher" +PANEL_DB_USER="passwordpusher" +PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl" diff --git a/apps/passwordpusher/1.34.3/data.yml b/apps/passwordpusher/1.34.3/data.yml new file mode 100644 index 00000000..3cafca60 --- /dev/null +++ b/apps/passwordpusher/1.34.3/data.yml @@ -0,0 +1,54 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: service + default: mysql + labelEn: Database Service + labelZh: 数据库服务 + params: + - envKey: PWPUSHER_DB_PORT + key: mysql + type: param + value: "3306" + required: true + type: apps + values: + - label: MySQL + value: mysql + - default: passwordpusher + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: passwordpusher + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: passwordpusher + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: 40180 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/passwordpusher/1.34.3/docker-compose.yml b/apps/passwordpusher/1.34.3/docker-compose.yml new file mode 100644 index 00000000..4b45932b --- /dev/null +++ b/apps/passwordpusher/1.34.3/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + passwordpusher: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:5100" + environment: + - DATABASE_URL=mysql2://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PWPUSHER_DB_PORT}/${PANEL_DB_NAME} + image: pglombardo/pwpush:1.34.3 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/passwordpusher/README.md b/apps/passwordpusher/README.md new file mode 100644 index 00000000..80c037fe --- /dev/null +++ b/apps/passwordpusher/README.md @@ -0,0 +1,45 @@ +
+ +[![Password Pusher Front Page](https://pwpush.fra1.cdn.digitaloceanspaces.com/branding/logos/horizontal-logo-small.png)](https://pwpush.com/) + +__Simple & Secure Password Sharing with Auto-Expiration of Shared Items__ + +[![](https://badgen.net/twitter/follow/pwpush)](https://twitter.com/pwpush) +![](https://badgen.net/github/stars/pglombardo/PasswordPusher) +[![](https://badgen.net/uptime-robot/month/m789048867-17b5770ccd78208645662f1f)](https://stats.uptimerobot.com/6xJjNtPr93) +[![](https://badgen.net/docker/pulls/pglombardo/pwpush-ephemeral)](https://hub.docker.com/repositories) + +[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/pglombardo/PasswordPusher/ruby-tests.yml)](https://github.com/pglombardo/PasswordPusher/actions/workflows/ruby-tests.yml) +[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/pglombardo/pwpush-cli/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot) +[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/pglombardo/pwpush-cli/releases) +[![License](https://img.shields.io/github/license/pglombardo/PasswordPusher)](https://github.com/pglombardo/pwpush/blob/master/LICENSE) + +
+ +------ + +Give your users the tools to be secure by default. + +Password Pusher is an opensource application to communicate passwords over the web. Links to passwords expire after a certain number of views and/or time has passed. + +Hosted at [pwpush.com](https://pwpush.com) but you can also easily run your own private instance with just a few steps. + +* __Easy-to-install:__ Host your own via Docker, a cloud service or just use [pwpush.com](https://pwpush.com) +* __Opensource:__ No blackbox code. Only trusted, tested and reviewed opensource code. +* __Versatile:__ Push passwords, text, files or URLs that autoexpire and self delete. +* __Audit logging:__ Track and control what you've shared and see who has viewed it. +* __Encrypted storage:__ All sensitive data is stored encrypted and deleted entirely once expired. +* __Host your own:__ Database backed or ephemeral, easily run your own instance isolated from the world. +* __JSON API:__ Raw JSON API available for 3rd party tools or command line via `curl` or `wget`. +* __Command line interface:__ Automate your password distribution with CLI tools or custom scripts. +* __Logins__: Invite your colleagues and track what is pushed and who retrieved it. +* __Internationalized:__ 28 language translations are bundled in. Easily selectable via UI or URL +* __Themes:__ [26 themes](https://github.com/pglombardo/PasswordPusher/blob/master/Themes.md) bundled in courtesy of Bootswatch. Select with a simple environment variable. +* __Unbranded delivery page:__ No logos, superfluous text or unrelated links to confuse end users. +* __Customizable:__ Change text and default options via environment variables. +* __Light & dark themes:__ Via CSS @media integration, the default site theme follows your local preferences. +* __Rebrandable:__ Customize the site name, tagline and logo to fit your environment. +* __Custom CSS:__ Bundle in your own custom CSS to add your own design. +* __10 Years Old:__ Password Pusher has securely delivered millions and millions of passwords in its 10 year history. +* __Actively Maintained:__ I happily work for the good karma of the great IT/Security community. +* __Honest Software:__ Opensource written and maintained by [me](https://github.com/pglombardo) with the help of some great contributors. No organizations, corporations or evil agendas. diff --git a/apps/passwordpusher/data.yml b/apps/passwordpusher/data.yml new file mode 100644 index 00000000..26f95deb --- /dev/null +++ b/apps/passwordpusher/data.yml @@ -0,0 +1,20 @@ +name: Password Pusher +tags: + - 工具 +title: 一个通过网络传递密码的开源应用程序 +type: 工具 +description: 一个通过网络传递密码的开源应用程序 +additionalProperties: + key: passwordpusher + name: Password Pusher + tags: + - Tool + shortDescZh: 一个通过网络传递密码的开源应用程序 + shortDescEn: An opensource application to communicate passwords over the web + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://pwpush.com + github: https://github.com/pglombardo/PasswordPusher + document: https://github.com/pglombardo/PasswordPusher/wiki diff --git a/apps/passwordpusher/logo.png b/apps/passwordpusher/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b77979a6c3d2bc9c56ec509b0bdcfeef56f0cf GIT binary patch literal 28411 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 is^}y`pQN8E`u_n>WXdq_(nZz)0000