From 806a0241bbad94463188d5d52ab8cf093d70278a Mon Sep 17 00:00:00 2001 From: okxlin Date: Fri, 22 Dec 2023 00:45:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=B0=83=E6=95=B4openspeedtest=E7=9A=84?= =?UTF-8?q?=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/openspeedtest/2.0.4/.env.sample | 3 ++ apps/openspeedtest/2.0.4/data.yml | 34 +++++++++---------- apps/openspeedtest/2.0.4/docker-compose.yml | 24 ++++++------- apps/openspeedtest/data.yml | 31 ++++++++++------- apps/openspeedtest/latest/.env.sample | 3 ++ apps/openspeedtest/latest/data.yml | 18 ++++++++++ apps/openspeedtest/latest/docker-compose.yml | 17 ++++++++++ apps/openspeedtest/logo.png | Bin 17779 -> 7889 bytes 8 files changed, 89 insertions(+), 41 deletions(-) create mode 100644 apps/openspeedtest/2.0.4/.env.sample create mode 100644 apps/openspeedtest/latest/.env.sample create mode 100644 apps/openspeedtest/latest/data.yml create mode 100644 apps/openspeedtest/latest/docker-compose.yml diff --git a/apps/openspeedtest/2.0.4/.env.sample b/apps/openspeedtest/2.0.4/.env.sample new file mode 100644 index 00000000..80f26c62 --- /dev/null +++ b/apps/openspeedtest/2.0.4/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="openspeedtest" +PANEL_APP_PORT_HTTP="40188" +PANEL_APP_PORT_HTTPS="40189" diff --git a/apps/openspeedtest/2.0.4/data.yml b/apps/openspeedtest/2.0.4/data.yml index c1df2254..e8c6825d 100644 --- a/apps/openspeedtest/2.0.4/data.yml +++ b/apps/openspeedtest/2.0.4/data.yml @@ -1,18 +1,18 @@ additionalProperties: - formFields: - - default: 3000 - edit: true - envKey: PANEL_APP_PORT_HTTP - labelEn: HTTP Port - labelZh: HTTP端口 - required: true - rule: paramPort - type: number - - default: 3001 - edit: true - envKey: PANEL_APP_PORT_HTTPS - labelEn: HTTPS Port - labelZh: HTTPS端口 - required: true - rule: paramPort - type: number \ No newline at end of file + formFields: + - default: 40188 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + required: true + rule: paramPort + type: number + - default: 40189 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: HTTPS Port + labelZh: HTTPS 端口 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/openspeedtest/2.0.4/docker-compose.yml b/apps/openspeedtest/2.0.4/docker-compose.yml index c842c880..9ef36be0 100644 --- a/apps/openspeedtest/2.0.4/docker-compose.yml +++ b/apps/openspeedtest/2.0.4/docker-compose.yml @@ -1,16 +1,16 @@ -version: '3.3' +version: '3' services: - speedtest: - image: openspeedtest/latest:v2.0.4 - container_name: ${CONTAINER_NAME} - restart: always - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:3000 - - ${PANEL_APP_PORT_HTTPS}:3000 - labels: - createdBy: "Apps" + speedtest: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:3000 + - ${PANEL_APP_PORT_HTTPS}:3001 + image: openspeedtest/latest:v2.0.4 + labels: + createdBy: "Apps" networks: 1panel-network: diff --git a/apps/openspeedtest/data.yml b/apps/openspeedtest/data.yml index 0dacc0d6..ae888ec5 100644 --- a/apps/openspeedtest/data.yml +++ b/apps/openspeedtest/data.yml @@ -1,13 +1,20 @@ +name: OpenSpeedTest +tags: + - 工具 +title: 免费且免费开源 HTML5 网络性能评估工具 +type: 工具 +description: 免费且免费开源 HTML5 网络性能评估工具 additionalProperties: - key: openspeedtest - name: openspeedtest - tags: - - Tool - shortDescZh: SpeedTest - 免费且免费开源 HTML5 网络性能评估工具 - shortDescEn: SpeedTest - Free & Open-Source HTML5 Network Performance Estimation Tool - type: tool - crossVersionUpdate: true - limit: 0 - website: https://openspeedtest.com/ - github: https://github.com/openspeedtest/Speed-Test - document: https://github.com/openspeedtest/Speed-Test \ No newline at end of file + key: openspeedtest + name: OpenSpeedTest + tags: + - Tool + shortDescZh: 免费且免费开源 HTML5 网络性能评估工具 + shortDescEn: A Free & Open-Source HTML5 Network Performance Estimation Tool + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://openspeedtest.com + github: https://github.com/openspeedtest/Speed-Test + document: https://github.com/openspeedtest/Speed-Test \ No newline at end of file diff --git a/apps/openspeedtest/latest/.env.sample b/apps/openspeedtest/latest/.env.sample new file mode 100644 index 00000000..80f26c62 --- /dev/null +++ b/apps/openspeedtest/latest/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="openspeedtest" +PANEL_APP_PORT_HTTP="40188" +PANEL_APP_PORT_HTTPS="40189" diff --git a/apps/openspeedtest/latest/data.yml b/apps/openspeedtest/latest/data.yml new file mode 100644 index 00000000..e8c6825d --- /dev/null +++ b/apps/openspeedtest/latest/data.yml @@ -0,0 +1,18 @@ +additionalProperties: + formFields: + - default: 40188 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + required: true + rule: paramPort + type: number + - default: 40189 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: HTTPS Port + labelZh: HTTPS 端口 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/openspeedtest/latest/docker-compose.yml b/apps/openspeedtest/latest/docker-compose.yml new file mode 100644 index 00000000..7104ad4a --- /dev/null +++ b/apps/openspeedtest/latest/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' +services: + speedtest: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:3000 + - ${PANEL_APP_PORT_HTTPS}:3001 + image: openspeedtest/latest:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/openspeedtest/logo.png b/apps/openspeedtest/logo.png index 28631cab72923b83eaa5bb9dbca4d91fb5943da6..a81973aacd291133626138fad354cd45dc8dd69d 100644 GIT binary patch literal 7889 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 literal 17779 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 KMNUMnLSTXstFwFn