From e23ebfd5cf06eb302e864d601cb877fd5f66ca8d Mon Sep 17 00:00:00 2001 From: gracelsy <43689473+gracelsy@users.noreply.github.com> Date: Tue, 13 Feb 2024 14:47:44 +0800 Subject: [PATCH 1/5] Add files via upload --- apps/Lucky/README.md | 133 +++++++++++++++++++++++++++ apps/Lucky/data.yml | 19 ++++ apps/Lucky/latest/data.yml | 33 +++++++ apps/Lucky/latest/docker-compose.yml | 19 ++++ apps/Lucky/logo.png | Bin 0 -> 12947 bytes 5 files changed, 204 insertions(+) create mode 100644 apps/Lucky/README.md create mode 100644 apps/Lucky/data.yml create mode 100644 apps/Lucky/latest/data.yml create mode 100644 apps/Lucky/latest/docker-compose.yml create mode 100644 apps/Lucky/logo.png diff --git a/apps/Lucky/README.md b/apps/Lucky/README.md new file mode 100644 index 00000000..2aac0657 --- /dev/null +++ b/apps/Lucky/README.md @@ -0,0 +1,133 @@ +## 如果您是第一次使用Lucky,请务必先访问 https://lucky666.cn ,并仔细阅读相关的文档,以获得必要的信息和答案。在这些文档中,您可以了解到Lucky的基本功能和特性,掌握Lucky的使用方法,以及解决常见的问题和疑惑。 + + +## 特性 + +Lucky最初是作为一个小工具,由开发者为自己的个人使用而开发,用于替代socat,在小米路由AX6000官方系统上实现公网IPv6转内网IPv4的功能。Lucky的设计始终致力于让更多的Linux嵌入式设备运行,以实现或集成个人用户常用功能,降低用户的硬件和软件操作学习成本,同时引导使用者注意网络安全。随着版本更新和网友反馈,Lucky不断迭代改进,拥有更多功能和更好的性能,成为用户值得信赖的工具。 + +Lucky 的核心程序完全采用 Golang 实现,具有高效、稳定、跨平台等优点。其后台前端则采用 Vue3.2 技术进行开发,具有良好的用户体验和响应速度。此外,Lucky 的管理后台采用前后端分离的架构,第三方开发者也可以自由使用OpenToken轻松调用Lucky的各种功能接口。 + + +## 功能模块 + +目前已经实现/集成的主要功能模块有 + - 端口转发 + - 动态域名(DDNS) + - Web服务 + - Stun内网穿透 + - 网络唤醒 + - 计划任务 + - ACME自动证书 + - 网络存储 + + + +### 端口转发 + 1. 主要用于实现公网 IPv6 转内网 IPv4 的 TCP/UDP 端口转发。 + 2. 支持界面化的管理转发规则,用户可以通过 web 后台轻松地进行规则的添加、删除、修改等操作。 + 3. 单条转发规则支持设置多个转发端口,这样可以实现多个内网服务端口的转发。 + 4. 提供了一键开关和定时开关功能,用户可以根据自己的需求设置转发规则的开启和关闭时间,还可以使用计划任务模块进行定时开关。 + 5. 单条规则支持黑白名单安全模式切换,用户可以根据需要选择使用白名单模式或黑名单模式。 + 6. 白名单模式可以让没有安全验证的内网服务端口稍微安全一点暴露到公网,提高服务可用性。 + 7. 实时记录最新的访问日志,方便用户了解转发情况。 + 8. 规则列表日志一目了然,用户可以方便地追踪转发异常,及时进行排查和处理。 + + + +### 动态域名(DDNS) + 1. 支持接入多个不同的 DNS 服务商。 + 2. 支持全功能自定义回调(Callback),包括设置 BasicAuth,方便接入任意 DNS 服务商。 + 3. Webhook 支持自定义 headers。 + 4. 内置常用免费 DNS 服务商设置模板(每步、No-IP、Dynv6、Dynu),通过自定义回调进行快速接入,仅需修改相应用户密码或 token 即可一键填充。 + + +### Web服务 + 1. 支持反向代理、重定向和 URL 跳转。 + 2. 支持 HTTP 基本认证。 + 3. 支持 IP 黑白名单模式。 + 4. 支持 UserAgent 黑白名单。 + 5. 规则日志清晰易懂,便于追踪异常。 + 6. 支持一键开关规则和定时开关规则。 + + +### Stun内网穿透 + 1. 实现内网穿透,无需公网IPv4地址。 + 2. 适合于国内运营商级NAT1宽带网络. + +### 网络唤醒 + 1. 支持远程控制唤醒和关机操作 + 2. 支持接入第三方物联网平台(点灯科技 巴法云),可通过各大平台的语音助手控制设备唤醒和关机. + +### 计划任务 + 1. 不依赖 Linux 系统的 Cron,支持 Windows 系统。 + 2. 操作简便,可视化编辑。 + 3. 可操作控制 Lucky 框架内的其他模块开关。 + +### ACME自动证书 + 1. 支持 ACME 自动证书的申请和续签。 + 2. 支持 Cloudflare、阿里云和腾讯云三大 DNS 服务商。 + + +### 网络存储 + 1. 网络存储模块是一个应用范围广泛的模块,它提供了将本地存储、WebDAV和阿里云盘挂载到Lucky内部的各个文件类服务功能。 + 2. 通过网络存储模块,你可以将添加的存储挂载到Web服务的文件服务、WebDAV、FTP和FileBrowser模块,实现更加便捷的文件管理和访问。 + + + + + +## 一键安装 + +- [一键安装详看这里](https://github.com/gdy666/lucky-files) + + +## OpenwrtIPK包安装 + +- [Openwrt IPK包](https://github.com/gdy666/luci-app-lucky) + + +## 使用 + + +- 默认后台管理地址 http://<运行设备IP>:16601 + 默认登录账号: 666 + 默认登录密码: 666 + +- 常规使用请用 -cd <配置文件夹路径> 指定配置文件夹的方式运行 + ```bash + #仅指定配置文件夹路径(如果配置文件夹不存在会自动创建),建议使用绝对路径 + lucky -cd luckyconf + + ``` + + + +## Docker中使用 + +- 不挂载主机目录, 删除容器同时会删除配置 + + ```bash + # host模式, 同时支持IPv4/IPv6, Liunx系统推荐 + docker run -d --name lucky --restart=always --net=host gdy666/lucky + # 桥接模式, 只支持IPv4, Mac/Windows推荐,windows 不推荐使用docker版本 + docker run -d --name lucky --restart=always -p 16601:16601 gdy666/lucky + ``` + +- 在浏览器中打开`http://主机IP:16601`,修改你的配置,成功 +- [可选] 挂载主机目录, 删除容器后配置不会丢失。可替换 `/root/luckyconf` 为主机目录, 配置文件夹为lucky + + ```bash + docker run -d --name lucky --restart=always --net=host -v /root/luckyconf:/goodluck gdy666/lucky + ``` + + + + + + + + + + + + diff --git a/apps/Lucky/data.yml b/apps/Lucky/data.yml new file mode 100644 index 00000000..52ff4d69 --- /dev/null +++ b/apps/Lucky/data.yml @@ -0,0 +1,19 @@ +name: Lucky +tags: + - 实用工具 +title: Lucky 的核心程序完全采用 Golang 实现,具有高效、稳定、跨平台等优点。其后台前端则采用 Vue3.2 技术进行开发,具有良好的用户体验和响应速度。此外,Lucky 的管理后台采用前后端分离的架构,第三方开发者也可以自由使用OpenToken轻松调用Lucky的各种功能接口。 +type: 实用工具 +description: Lucky 的核心程序完全采用 Golang 实现,具有高效、稳定、跨平台等优点。其后台前端则采用 Vue3.2 技术进行开发,具有良好的用户体验和响应速度。此外,Lucky 的管理后台采用前后端分离的架构,第三方开发者也可以自由使用OpenToken轻松调用Lucky的各种功能接口。 +additionalProperties: + key: Lucky + name: Lucky + tags: + - Tool + shortDescZh: Lucky 的核心程序完全采用 Golang 实现,具有高效、稳定、跨平台等优点。其后台前端则采用 Vue3.2 技术进行开发,具有良好的用户体验和响应速度。此外,Lucky 的管理后台采用前后端分离的架构,第三方开发者也可以自由使用OpenToken轻松调用Lucky的各种功能接口。 + type: Tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://lucky666.cn/ + github: https://github.com/gdy666/lucky + document: https://lucky666.cn/docs/intro \ No newline at end of file diff --git a/apps/Lucky/latest/data.yml b/apps/Lucky/latest/data.yml new file mode 100644 index 00000000..20d23b72 --- /dev/null +++ b/apps/Lucky/latest/data.yml @@ -0,0 +1,33 @@ +additionalProperties: + formFields: + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: 16601 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Console Port + labelZh: 控制台端口 + required: true + rule: paramPort + type: number + - default: 1880 + edit: true + envKey: PANEL_APP_PORT_HTTP1 + labelEn: HTTP Port + labelZh: HTTP端口 + required: true + rule: paramPort + type: number + - default: 18443 + edit: true + envKey: PANEL_APP_PORT_HTTP2 + labelEn: HTTPS Port + labelZh: HTTPS端口 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/Lucky/latest/docker-compose.yml b/apps/Lucky/latest/docker-compose.yml new file mode 100644 index 00000000..57633170 --- /dev/null +++ b/apps/Lucky/latest/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3" +services: + blossom: + container_name: ${CONTAINER_NAME} + restart: always #重启策略 + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP1}:80" + - "${PANEL_APP_PORT_HTTP}:16601" + - "${PANEL_APP_PORT_HTTP2}:443" + volumes: + - /DATA_PATH/luckyconf/:/goodluck + image: gdy666/lucky #镜像 + labels: + createdBy: Apps +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/Lucky/logo.png b/apps/Lucky/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..de2ba23b114b06ed095b5d3a9eca03e58a33156c GIT binary patch literal 12947 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 JPDHLkV1n}H10?_e literal 0 HcmV?d00001 From 38fdce2d7b64b0316fc42c72002b0ba18083e7f8 Mon Sep 17 00:00:00 2001 From: gracelsy <43689473+gracelsy@users.noreply.github.com> Date: Sun, 25 Feb 2024 13:58:07 +0800 Subject: [PATCH 2/5] Update docker-compose.yml --- apps/bitwarden/latest/docker-compose.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/bitwarden/latest/docker-compose.yml b/apps/bitwarden/latest/docker-compose.yml index 2d7137d6..d5ae4e0f 100644 --- a/apps/bitwarden/latest/docker-compose.yml +++ b/apps/bitwarden/latest/docker-compose.yml @@ -12,7 +12,11 @@ services: image: vaultwarden/server:latest labels: createdBy: "Apps" - + environment: + SIGNUPS_ALLOWED: 'true' + INVITATIONS_ALLOWED: 'true' + WEBSOCKET_ENABLED: 'false' + ADMIN_TOKEN: '${ADMIN_TOKEN}' networks: 1panel-network: external: true From 360d7dc84c0b2998ac62fbd97800155763642815 Mon Sep 17 00:00:00 2001 From: gracelsy <43689473+gracelsy@users.noreply.github.com> Date: Sun, 25 Feb 2024 13:58:56 +0800 Subject: [PATCH 3/5] Update data.yml --- apps/bitwarden/latest/data.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/bitwarden/latest/data.yml b/apps/bitwarden/latest/data.yml index 4812fc50..d1457718 100644 --- a/apps/bitwarden/latest/data.yml +++ b/apps/bitwarden/latest/data.yml @@ -15,3 +15,10 @@ additionalProperties: labelZh: 数据文件夹路径 required: true type: text + - default: + edit: true + envKey: ADMIN_TOKEN + labelEn: ADMIN_TOKEN + labelZh: ADMIN_TOKEN + required: true + type: text From 611b2cc8bc5b634c828b5b005d9ea33ba9cbd36b Mon Sep 17 00:00:00 2001 From: gracelsy <43689473+gracelsy@users.noreply.github.com> Date: Sun, 25 Feb 2024 14:02:06 +0800 Subject: [PATCH 4/5] Update docker-compose.yml --- apps/bitwarden/1.30.1-alpine/docker-compose.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/bitwarden/1.30.1-alpine/docker-compose.yml b/apps/bitwarden/1.30.1-alpine/docker-compose.yml index 4fc0917b..7cd77952 100644 --- a/apps/bitwarden/1.30.1-alpine/docker-compose.yml +++ b/apps/bitwarden/1.30.1-alpine/docker-compose.yml @@ -12,7 +12,11 @@ services: image: vaultwarden/server:1.30.1-alpine labels: createdBy: "Apps" - + environment: + SIGNUPS_ALLOWED: 'true' + INVITATIONS_ALLOWED: 'true' + WEBSOCKET_ENABLED: 'false' + ADMIN_TOKEN: '${ADMIN_TOKEN}' networks: 1panel-network: external: true From 5392ce410ad70c3dcc8072e44fd954df6332ff2d Mon Sep 17 00:00:00 2001 From: gracelsy <43689473+gracelsy@users.noreply.github.com> Date: Sun, 25 Feb 2024 14:02:37 +0800 Subject: [PATCH 5/5] Update data.yml --- apps/bitwarden/1.30.1-alpine/data.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/bitwarden/1.30.1-alpine/data.yml b/apps/bitwarden/1.30.1-alpine/data.yml index 4812fc50..d1457718 100644 --- a/apps/bitwarden/1.30.1-alpine/data.yml +++ b/apps/bitwarden/1.30.1-alpine/data.yml @@ -15,3 +15,10 @@ additionalProperties: labelZh: 数据文件夹路径 required: true type: text + - default: + edit: true + envKey: ADMIN_TOKEN + labelEn: ADMIN_TOKEN + labelZh: ADMIN_TOKEN + required: true + type: text