From cc8e86f77eb6d4aa06120efbb3d2845a9c6768d8 Mon Sep 17 00:00:00 2001 From: okxlin Date: Fri, 12 Apr 2024 23:08:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0firefly=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8#1155?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/firefly/2.0/.env.sample | 6 +++ apps/firefly/2.0/data.yml | 45 +++++++++++++++++++ apps/firefly/2.0/docker-compose.yml | 23 ++++++++++ apps/firefly/README.md | 57 +++++++++++++++++++++++++ apps/firefly/data.yml | 19 +++++++++ apps/firefly/latest/.env.sample | 6 +++ apps/firefly/latest/data.yml | 45 +++++++++++++++++++ apps/firefly/latest/docker-compose.yml | 23 ++++++++++ apps/firefly/logo.png | Bin 0 -> 4806 bytes 9 files changed, 224 insertions(+) create mode 100644 apps/firefly/2.0/.env.sample create mode 100644 apps/firefly/2.0/data.yml create mode 100644 apps/firefly/2.0/docker-compose.yml create mode 100644 apps/firefly/README.md create mode 100644 apps/firefly/data.yml create mode 100644 apps/firefly/latest/.env.sample create mode 100644 apps/firefly/latest/data.yml create mode 100644 apps/firefly/latest/docker-compose.yml create mode 100644 apps/firefly/logo.png diff --git a/apps/firefly/2.0/.env.sample b/apps/firefly/2.0/.env.sample new file mode 100644 index 00000000..f7aa38fd --- /dev/null +++ b/apps/firefly/2.0/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME="firefly" +FIREFLY_AUTO_SSL="false" +FIREFLY_DEVICE="" +FIREFLY_PASSWORD="password_5S8Dmt" +PANEL_APP_PORT_HTTP="40215" +TIME_ZONE="Asia/Shanghai" diff --git a/apps/firefly/2.0/data.yml b/apps/firefly/2.0/data.yml new file mode 100644 index 00000000..75f70dae --- /dev/null +++ b/apps/firefly/2.0/data.yml @@ -0,0 +1,45 @@ +additionalProperties: + formFields: + - default: 40215 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "password" + edit: true + envKey: FIREFLY_PASSWORD + labelEn: Webui password + labelZh: 网页密码 + random: true + required: true + rule: paramComplexity + type: password + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + required: true + type: text + - default: "false" + edit: true + envKey: FIREFLY_AUTO_SSL + labelEn: Should automatic SSL certificate acquisition be enabled? If enabled, the port needs to be set to 443. + labelZh: 是否启用自动获取 SSL 证书 (开启则需要将端口设置为 443) + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: '' + edit: true + envKey: FIREFLY_DEVICE + labelEn: The network interface names for inbound and outbound traffic with WireGuard + labelZh: WireGuard 出入流量网卡名称 + required: false + type: text \ No newline at end of file diff --git a/apps/firefly/2.0/docker-compose.yml b/apps/firefly/2.0/docker-compose.yml new file mode 100644 index 00000000..a6155d3c --- /dev/null +++ b/apps/firefly/2.0/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3' +services: + firefly: + image: "uusec/firefly:v2.0" + container_name: ${CONTAINER_NAME} + restart: always + devices: + - /dev/net/tun + network_mode: host + volumes: + - /lib/modules:/lib/modules + - ./data:/firefly/conf + cap_add: + - NET_ADMIN + - SYS_MODULE + environment: + - TZ=${TIME_ZONE} + - FIREFLY_DEVICE=${FIREFLY_DEVICE} + - FIREFLY_PASSWORD=${FIREFLY_PASSWORD} + - FIREFLY_AUTO_SSL=${FIREFLY_AUTO_SSL} + - FIREFLY_PORT=${PANEL_APP_PORT_HTTP} + labels: + createdBy: "Apps" \ No newline at end of file diff --git a/apps/firefly/README.md b/apps/firefly/README.md new file mode 100644 index 00000000..a0e3704e --- /dev/null +++ b/apps/firefly/README.md @@ -0,0 +1,57 @@ +

+
+ firefly +

+

萤火虫 WireGuard 服务器

+ +

+ + + + + +

+

+ 特色 • + 使用 • + 感谢 • + 联系 • + 授权 +

+ + + + + +

+ English + 中文 +

+ + +--- + +萤火虫是一款简单、易架设的 WireGuard 服务端软件,可广泛用于异地组网、远程办公、内网穿透等场景。 + + + +## 特色 + +

+ firefly +
+

+ + + - 提供简单、易用的web管理后台 + - 支持所有 WireGuard 客户端接入 + - 无需系统安装 WireGuard 组件 + - 单文件、无额外库依赖 + + + + + +## 使用 + +萤火虫支持Linux x86、ARM等CPU架构环境,萤火虫服务端和WireGuard客户端下载地址: https://github.com/Safe3/firefly/releases ,其中以firefly-x-x开头的是服务端,包含wireguard名称的是客户端。 diff --git a/apps/firefly/data.yml b/apps/firefly/data.yml new file mode 100644 index 00000000..6eb138bc --- /dev/null +++ b/apps/firefly/data.yml @@ -0,0 +1,19 @@ +name: 萤火虫 +tags: + - 实用工具 +title: 一款简单、易架设的 WireGuard 服务端软件 +description: 一款简单、易架设的 WireGuard 服务端软件 +additionalProperties: + key: firefly + name: 萤火虫 + tags: + - Tool + shortDescZh: 一款简单、易架设的 WireGuard 服务端软件 + shortDescEn: A simple and easy to install WireGuard server software + type: tool + crossVersionUpdate: true + limit: 1 + recommend: 0 + website: https://fahi.uusec.com + github: https://github.com/Safe3/firefly + document: https://github.com/Safe3/firefly/blob/main/README.md \ No newline at end of file diff --git a/apps/firefly/latest/.env.sample b/apps/firefly/latest/.env.sample new file mode 100644 index 00000000..f7aa38fd --- /dev/null +++ b/apps/firefly/latest/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME="firefly" +FIREFLY_AUTO_SSL="false" +FIREFLY_DEVICE="" +FIREFLY_PASSWORD="password_5S8Dmt" +PANEL_APP_PORT_HTTP="40215" +TIME_ZONE="Asia/Shanghai" diff --git a/apps/firefly/latest/data.yml b/apps/firefly/latest/data.yml new file mode 100644 index 00000000..75f70dae --- /dev/null +++ b/apps/firefly/latest/data.yml @@ -0,0 +1,45 @@ +additionalProperties: + formFields: + - default: 40215 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "password" + edit: true + envKey: FIREFLY_PASSWORD + labelEn: Webui password + labelZh: 网页密码 + random: true + required: true + rule: paramComplexity + type: password + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + required: true + type: text + - default: "false" + edit: true + envKey: FIREFLY_AUTO_SSL + labelEn: Should automatic SSL certificate acquisition be enabled? If enabled, the port needs to be set to 443. + labelZh: 是否启用自动获取 SSL 证书 (开启则需要将端口设置为 443) + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: '' + edit: true + envKey: FIREFLY_DEVICE + labelEn: The network interface names for inbound and outbound traffic with WireGuard + labelZh: WireGuard 出入流量网卡名称 + required: false + type: text \ No newline at end of file diff --git a/apps/firefly/latest/docker-compose.yml b/apps/firefly/latest/docker-compose.yml new file mode 100644 index 00000000..02387fd0 --- /dev/null +++ b/apps/firefly/latest/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3' +services: + firefly: + image: "uusec/firefly:latest" + container_name: ${CONTAINER_NAME} + restart: always + devices: + - /dev/net/tun + network_mode: host + volumes: + - /lib/modules:/lib/modules + - ./data:/firefly/conf + cap_add: + - NET_ADMIN + - SYS_MODULE + environment: + - TZ=${TIME_ZONE} + - FIREFLY_DEVICE=${FIREFLY_DEVICE} + - FIREFLY_PASSWORD=${FIREFLY_PASSWORD} + - FIREFLY_AUTO_SSL=${FIREFLY_AUTO_SSL} + - FIREFLY_PORT=${PANEL_APP_PORT_HTTP} + labels: + createdBy: "Apps" \ No newline at end of file diff --git a/apps/firefly/logo.png b/apps/firefly/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dacf3b6334f9ff26eebf243ba15996210c0e5ed7 GIT binary patch literal 4806 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 literal 0 HcmV?d00001