diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml new file mode 100644 index 0000000..123f703 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -0,0 +1,45 @@ +name: 错误反馈 +description: 反馈一个八阿哥 +labels: [八阿哥 🐛, 悬而未决 🥷] +assignees: + - soulteary +body: + - type: markdown + attributes: + value: | + 感谢你对于 Flare 感兴趣,请根据你的想法填写下面的表格。 + - type: textarea + id: what-happened + attributes: + label: 你遇到了什么样的麻烦? + description: 除了描述遇到的问题之外,也请描述你预期的功能结果。 + validations: + required: true + - type: textarea + id: reproducible + attributes: + label: 如何复现这个问题? + description: 简单描述如何遇到这个问题,你可以在这里添加图片、日志等帮助我来理解你遇到的问题。 + validations: + required: true + - type: textarea + id: app-version + attributes: + label: 应用版本 + description: 你使用的程序或镜像版本是? + validations: + required: true + - type: checkboxes + id: search + attributes: + label: 搜索 + options: + - label: 在提交这个表格之前,我已经进行了相关问题搜索,没有找到相关的问题或解决方案。 + required: true + - type: textarea + id: ctx + attributes: + label: 补充描述 + description: 可以在这里填写要补充的内容 + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3ba13e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml new file mode 100644 index 0000000..2fd7d5b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -0,0 +1,45 @@ +name: 功能建议 +description: 请求添加一个功能,或者建议对现有功能进行完善 +labels: [申请功能 🎁, 悬而未决 🥷] +assignees: + - soulteary +body: + - type: markdown + attributes: + value: | + 感谢你对于 Flare 感兴趣,请根据你的想法填写下面的表格。 + - type: textarea + id: is-it-a-problem + attributes: + label: 请描述你为什么要申请这个功能,是在使用的过程中遇到了什么问题嘛? + description: 请对你遇到的问题进行简单、清晰的描述。 + validations: + required: true + - type: textarea + id: solution + attributes: + label: 请描述你想要得到的结果 + description: 对你想要的结果进行清晰的描述。 + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: 请描述你想要的替代方案 + description: 对你想要的替代方案进行清晰的描述。 + validations: + required: true + - type: checkboxes + id: search + attributes: + label: 搜索 + options: + - label: 在提交这个表格之前,我已经进行了相关问题搜索,没有找到相关的问题或解决方案。 + required: true + - type: textarea + id: ctx + attributes: + label: 补充描述 + description: 可以在这里填写要补充的内容 + validations: + required: false \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c10fd36..301a2fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ ## 目录 +* [0.5.1](#050---2024-01-06) +* [0.5.0](#050---2024-01-05) +* [0.4.3](#043---2023-12-07) +* [0.4.2](#042---2023-12-06) +* [0.4.1](#041---2023-05-07) +* [0.4.0](#040---2022-09-17) +* [0.3.3](#033---2022-03-10) +* [0.3.2](#032---2022-02-23) +* [0.3.1](#031---2022-02-23) * [0.2.10](#027---2022-02-21) * [0.2.9](#027---2022-02-20) * [0.2.8](#027---2022-02-18) @@ -16,6 +25,74 @@ * [0.2.0](#020---2022-01-30) * [0.1.0](#010---2022-01-27) +# 0.5.1 - 2024-01-06 + +- [修正] 修正 .env 文件读取时的逻辑。 +- [优化] 完善程序解析参数时的测试覆盖率。 + +# 0.5.0 - 2024-01-05 + +- [优化] 使用 Go 新版日志工具替换三方日志库,性能提升。 +- [修正] 修正一个 HTML Tag 笔误。( 感谢 @LightAPIs 同学 #37 ) +- [修正] 修正华为手机访问时的样式问题。( 感谢 @LightAPIs 同学 #38 ) +- [修正] 修正一个潜在的程序隐患,让程序运行更加稳定。 +- [优化] 完善程序解析参数时的测试覆盖率。 + +# 0.4.3 - 2023-12-07 + +- [修正] 修正因为 Golang 版本更新,导致的模版解析出现的展示异常。 + +# 0.4.2 - 2023-12-06 + +这个版本,特别感谢 @LightAPIs 的提交。 + +- [新增] 根据环境,进行动态链接的展示和切换。(感谢 @hanuxxx 、@ztzheng 两位同学的反馈) +- [修正] 修正了一些使用场景下,加密链接转换的问题 https://github.com/soulteary/docker-flare/issues/119 (感谢 @sungamma 的反馈) +- [修正] 编辑器现在可以自由排序内容了 https://github.com/soulteary/docker-flare/issues/124 (感谢 @elvescn 的反馈) +- [修正] 编辑器的标签写反的问题。https://github.com/soulteary/docker-flare/issues/48 (感谢 @shp2814560)反馈 +- [修正] 编辑器的展示问题和某些情况下读取 `.env` 文件存在的问题,多实例部署 `session` 干扰的问题,错误提示的一些问题。 +- [优化] Golang 版本升级至最新的 1.21,相关依赖进行升级调整,GitHub 构建工具修正。 + +# 0.4.1 - 2023-05-07 + +- [修正] 感谢 @LightAPIs,修正了 Windows 环境下的 ICON 生成展示问题,及三处界面细节问题。https://github.com/soulteary/flare/releases/tag/0.4.1 https://github.com/soulteary/docker-flare/issues/70 (感谢 @liushuaiiu 的反馈) + +# 0.4.0 - 2022-09-17 + +- [新增] 支持关闭程序的 CSP 策略,允许用户自由选择添加“统计脚本”(如GA)。 https://github.com/soulteary/docker-flare/issues/72 (感谢 @onmpen 反馈问题) +- [新增] 支持了新的架构 ARM32v6,现在程序可以跑在更多的设备上了。 +- [新增] 新增了 Linux 和 macOS 操作系统可以直接运行的程序。https://github.com/soulteary/flare/releases/tag/0.4.0 https://github.com/soulteary/docker-flare/issues/35 (感谢 @ToSeeAll 的提问) +- [修正] 重新调整了登陆相关逻辑,确保各种浏览器都能够正确处理跳转逻辑。https://github.com/soulteary/docker-flare/issues/68 (感谢 @hzmabin 反馈问题) +- [修正] 修正全站需要登陆的时候,不展示自定义页脚的问题。https://github.com/soulteary/docker-flare/issues/77 (感谢 @404gods 反馈问题) +- [修正] 修正关闭组件时,不展示日期的问题。https://github.com/soulteary/docker-flare/issues/44 (感谢 @shuax 反馈问题) +- [优化] 拆分和重构程序,进行部分功能调整和问题修正,提升项目质量,为接下来支持新功能做准备。 https://github.com/soulteary/flare/compare/v0.0.17...0.4.0 +- [优化] 改进构建方式,将构建迁至 GitHub Action,让构建更透明,大家用的更放心。🎉 + +最后,感谢 @@JKnuts 在我不在的日子里,为其他同学解答问题♥️ + +# 0.3.3 - 2022-03-10 + +- [新增] 支持从 envfile 中设置应用启动选项。 +- [修正] 现在支持完全从 env 中设置应用启动配置,实现诸如禁用离线模式,设置用户账号密码等。 +- [修正] DockerHub 中镜像版本不是最新内容。https://github.com/soulteary/docker-flare/issues/43 (感谢 @flashliao @shuax @ZhXWei 反馈 ) +- [修正] 禁用界面应用选项后,帮助界面不展示内容。 https://github.com/soulteary/docker-flare/issues/39 (感谢 @harrison-guo-chn 反馈) +- [优化] 禁用 Chrome 默认弹出烦人的翻译对话框。 https://github.com/soulteary/docker-flare/issues/41 (感谢 @shuax 反馈) +- [优化] 新增界面选项,不再强制界面中的英文展示为大写。 https://github.com/soulteary/docker-flare/issues/31 (感谢 @llussy @kscu 反馈) +- [优化] 拆分和重构程序构建脚本,为自定义主题做准备。 + +# 0.3.2 - 2022-02-23 + +- [修正] 解决不能正确设置主题的问题,参考 https://github.com/soulteary/docker-flare/issues/26 感谢 @kx 反馈。 + +# 0.3.1 - 2022-02-23 + +当前版本新增了四个功能,并进行了大规模的重构,整理和开放了一部分代码。 + +- [新增] 图标支持使用外链、支持针对未填写图标名称或外链图标地址的项目,根据连接主机名称进行 favicon 获取和展示。 https://github.com/soulteary/docker-flare/issues/14 (感谢 @lmm214 @eallion 反馈) +- [新增] 将首页内容设置为登陆后可见。 https://github.com/soulteary/docker-flare/issues/23 ( 感谢 @OTritium 反馈) +- [新增] 将首页左下角的工具按钮(设置、帮助)在界面中进行隐藏。 https://github.com/soulteary/docker-flare/issues/20 (感谢 @fgprodigal 反馈) +- [新增] 支持将页面展示的链接进行简单的编码处理,避免直接被搜索引擎或机器人记录。 +- [优化] 重构和持续迭代项目,整理了 10% 左右的代码到 https://github.com/soulteary/flare # 0.2.10 - 2022-02-21 diff --git a/README.md b/README.md index 6c08ab7..0862e96 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # Flare ✨ +[![CodeQL](https://github.com/soulteary/flare/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/soulteary/flare/actions/workflows/codeql-analysis.yml) [![Security Scan](https://github.com/soulteary/flare/actions/workflows/scan.yml/badge.svg)](https://github.com/soulteary/flare/actions/workflows/scan.yml) [![Release](https://github.com/soulteary/flare/actions/workflows/release.yml/badge.svg)](https://github.com/soulteary/flare/actions/workflows/release.yml) ![Go Report Card](https://goreportcard.com/badge/github.com/soulteary/flare) [![Docker Image](https://img.shields.io/docker/pulls/soulteary/flare.svg)](https://hub.docker.com/r/soulteary/flare) + + 如果你觉得这个项目有帮到你,欢迎点赞✨(star)给予鼓励;如果你希望收到这个项目的更新推送,可以点击关注 👀(watch)并选择适合自己的关注模式(推荐 release)。 --- @@ -8,16 +11,16 @@ 无任何数据库依赖,应用数据完全开放透明,100% 属于用户自己。 -支持在线编辑,内置 Material Design Icons 6k+ 图标,目前累计下载 1k+,期待你的反馈 :) +支持在线编辑,内置 Material Design Icons 6k+ 图标,目前累计下载过万,期待你的反馈 :) -支持 x86 以及常见的 ARM 设备,应用资源消耗非常低: +支持 x86 以及常见的 ARM (ARM32v6、ARM32v7、ARM64v8)设备,应用资源消耗非常低: - CPU: < 1% - MEM: < 30M - Docker Image: < 10M -![Flare Docker Pulls](./screenshots/docker-pulls.png) -![Flare Docker Image Size](./screenshots/docker-image-size.png) + + ## 快速上手 @@ -40,9 +43,11 @@ cd docker-flare ```bash # 可以使用最新镜像 +docker pull soulteary/flare docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare # 也可以追求明确,使用固定版本 -docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare:0.2.10 +docker pull soulteary/flare:0.5.1 +docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare:0.5.1 ``` 如果你习惯使用 docker-compose,只需要执行: diff --git a/docker-compose.yml b/docker-compose.yml index 6dfb3a0..db58ce8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.6' services: flare: - image: soulteary/flare:latest + image: soulteary/flare restart: always # 默认无需添加任何参数,如有特殊需求 # 可阅读文档 https://github.com/soulteary/docker-flare/blob/main/docs/advanced-startup.md diff --git a/docs/advanced-startup.md b/docs/advanced-startup.md index 2524b89..da478a9 100644 --- a/docs/advanced-startup.md +++ b/docs/advanced-startup.md @@ -19,27 +19,42 @@ 禁用登陆模式 "FLARE_DISABLE_LOGIN" 启用离线模式 "FLARE_OFFLINE" 启用在线编辑器功能 "FLARE_EDITOR" +首页是否需要登陆可见 "FLARE_VISIBILITY" ``` 环境变量使用示例: `FLARE_OFFLINE=0` 或 `FLARE_OFFLINE=false` +完全的环境变量列表,可以[参考这里](https://github.com/soulteary/flare/blob/main/model/cmd.go)。 + + ## 命令行参数 ``` -docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare:0.2.10 flare -h - -Flare v0.2.10-2A94E4D linux/amd64 BuildDate=2022-02-21T11:31:03+0800 - -支持命令: - -p, --port int 指定监听端口 (default 5005) - -g, --guide 启用应用向导 (default true) - -m, --mini_request 使用请求最小化模式 - -o, --offline 启用离线模式 - -l, --disable_login 禁用账号登陆 (default true) - -n, --enable_notice 启用废弃日志警告 (default true) - -e, --enable_editor 启用编辑器 (default true) - -v, --version 显示应用版本号 - -h, --help 显示帮助 +docker run --rm -it -p 5005:5005 soulteary/flare:0.5.1 flare +找不到配置文件config,创建默认配置。 +[22:49:49.562] INFO: Flare - 🏂 Challenge all bookmarking apps and websites directories, Aim to Be a best performance monster. +[11:23:23.622] INFO: 程序信息: {"GOGS/ARCH":"linux/arm64","commit":"4D2A2143715A30FC1646DE067847322A8C6F91BF","date":"2024-01-06T03:24:10Z","version":"0.5.1"} +[22:49:49.562] INFO: 程序服务端口 {"port":5005} +[22:49:49.562] INFO: 页面请求合并 {"mini_request":false} +[22:49:49.562] INFO: 启用离线模式 {"offline":false} +[22:49:49.562] INFO: 已禁用登陆模式,用户可直接调整应用设置。 +[22:49:49.563] INFO: 在线编辑模块启用,可以访问 /editor 来进行数据编辑。 +[22:49:49.563] INFO: 向导模块启用,可以访问 /guide 来获取程序使用帮助。 +[22:49:49.563] INFO: 程序已启动完毕 🚀 + + +支持命令: + -p, --port int 指定监听端口 (default 5005) + -g, --guide 启用应用向导 (default true) + -s, --visibility string 调整网站整体可见性 (default "DEFAULT") + -m, --mini_request 使用请求最小化模式 + -o, --offline 启用离线模式 + -l, --disable_login 禁用账号登陆 (default true) + -n, --enable_notice 启用废弃日志警告 (default true) + -e, --enable_editor 启用编辑器 (default true) + -c, --disable_csp 禁用CSP + -v, --version 显示应用版本号 + -h, --help 显示帮助 ``` ## 功能说明 @@ -54,13 +69,14 @@ Flare v0.2.10-2A94E4D linux/amd64 BuildDate=2022-02-21T11:31:03+0800 小伙伴可以根据自己的情况按需开启,此参数默认关闭。 启用方法,在 flare 启动参数后添加 `-m=1` 或者设置环境变量 `FLARE_MINI_REQUEST=1` -### 免登陆模式:`nologin` + +### 免登陆模式:`disable_login` 当这个参数关闭之后,用户需要在登陆之后,才能够对设置页面的内容进行调整,适合 Flare 在公网环境中使用的小伙伴。 此参数默认开启,方便在 HomeLab 或本地使用的小伙伴,减少不必要的操作。 -禁用方法,在 flare 启动参数后添加 `--nologin=0` +禁用方法,在 flare 启动参数后添加 `--disable_login=0` ### 离线模式:`offline` diff --git a/docs/application-account.md b/docs/application-account.md index 11bc06a..0aed961 100644 --- a/docs/application-account.md +++ b/docs/application-account.md @@ -13,7 +13,7 @@ version: '3.6' services: flare: - image: soulteary/flare:latest + image: soulteary/flare restart: always # 默认无需添加任何参数,如有特殊需求 # 可阅读文档 https://github.com/soulteary/docker-flare/blob/main/docs/advanced-startup.md @@ -31,16 +31,20 @@ services: - ./app:/app ``` +更多示例,可以参考[示例文件夹](../example/)。 + +在执行命令前,不妨执行 `docker pull soulteary/flare` 确认使用的应用镜像是新版本。 + 当你使用 `docker-compose up -d` 启动应用之后,接着使用 `docker-compose ps`,就可以看到包含密码的日志输出啦: ```bash -INFO[2022-02-20T23:14:52+08:00] Flare v0.2.9-F179280 linux/amd64 BuildDate=2022-02-20T22:55:42+0800 -INFO[2022-02-20T23:14:52+08:00] -INFO[2022-02-20T23:14:52+08:00] 程序服务端口 5005 -INFO[2022-02-20T23:14:52+08:00] 页面请求合并 false -INFO[2022-02-20T23:14:52+08:00] 启用离线模式 false -INFO[2022-02-20T23:14:52+08:00] 禁用登陆模式 true -INFO[2022-02-20T23:14:52+08:00] 在线编辑模块启用,可以访问 /editor 来获取程序使用帮助。 -INFO[2022-02-20T23:14:52+08:00] 向导模块启用,可以访问 /guide 来获取程序使用帮助。 -INFO[2022-02-20T23:14:52+08:00] 程序已启动完毕 🚀 +INFO[2023-05-07T11:13:13+08:00] Flare v0.4.1-332C2E0E24789AA4D7F578AA14E7BA6F62970ADA linux/amd64 BuildDate=2023-05-07T03:06:36Z +INFO[2023-05-07T11:13:13+08:00] +INFO[2023-05-07T11:13:13+08:00] 程序服务端口 5005 +INFO[2023-05-07T11:13:13+08:00] 页面请求合并 false +INFO[2023-05-07T11:13:13+08:00] 启用离线模式 false +INFO[2023-05-07T11:13:13+08:00] 已禁用登陆模式,用户可直接调整应用设置。 +INFO[2023-05-07T11:13:13+08:00] 在线编辑模块启用,可以访问 /editor 来进行数据编辑。 +INFO[2023-05-07T11:13:13+08:00] 向导模块启用,可以访问 /guide 来获取程序使用帮助。 +INFO[2023-05-07T11:13:13+08:00] 程序已启动完毕 🚀 ``` \ No newline at end of file diff --git a/example/login/docker-compose.yml b/example/login/docker-compose.yml new file mode 100644 index 0000000..346571f --- /dev/null +++ b/example/login/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3.6' + +services: + flare: + image: soulteary/flare + restart: always + # 默认无需添加任何参数,如有特殊需求 + # 可阅读文档 https://github.com/soulteary/docker-flare/blob/main/docs/advanced-startup.md + command: flare + environment: + # 开启登陆 + - FLARE_DISABLE_LOGIN=0 + # 设置登陆账号 + - FLARE_USER=flare + # 指定你自己的账号密码,如未设置 `FLARE_USER`,则会默认生成密码并展示在应用启动日志中 + - FLARE_PASS=your_password + ports: + # 根据自己需求设置端口,如需调整访问端口为 8080, + # 可参考修改为 `- 8080:5005` + - 5005:5005 + volumes: + - ./app:/app diff --git a/example/private/docker-compose.yml b/example/private/docker-compose.yml new file mode 100644 index 0000000..43f611d --- /dev/null +++ b/example/private/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3.6' + +services: + flare: + image: soulteary/flare + restart: always + # 默认无需添加任何参数,如有特殊需求 + # 可阅读文档 https://github.com/soulteary/docker-flare/blob/main/docs/advanced-startup.md + command: flare --disable_login=0 --visibility=private + environment: + # 开启登陆 + - FLARE_DISABLE_LOGIN=0 + # 设置登陆账号 + - FLARE_USER=flare + # 指定你自己的账号密码,如未设置 `FLARE_USER`,则会默认生成密码并展示在应用启动日志中 + - FLARE_PASS=your_password + ports: + # 根据自己需求设置端口,如需调整访问端口为 8080, + # 可参考修改为 `- 8080:5005` + - 5005:5005 + volumes: + - ./app:/app diff --git a/docker-compose-traefik.yml b/example/traefik/docker-compose.yml similarity index 97% rename from docker-compose-traefik.yml rename to example/traefik/docker-compose.yml index c6965f9..c9da35f 100644 --- a/docker-compose-traefik.yml +++ b/example/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.6' services: flare: - image: soulteary/flare:latest + image: soulteary/flare restart: always # 默认无需添加任何参数,如有特殊需求 # 可阅读文档 https://github.com/soulteary/docker-flare/blob/main/docs/advanced-startup.md diff --git a/screenshots/docker-image-size.png b/screenshots/docker-image-size.png index b68cd1c..5dde8ae 100644 Binary files a/screenshots/docker-image-size.png and b/screenshots/docker-image-size.png differ diff --git a/screenshots/docker-pulls.png b/screenshots/docker-pulls.png index 5efad11..b390b75 100644 Binary files a/screenshots/docker-pulls.png and b/screenshots/docker-pulls.png differ