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 ✨
+[](https://github.com/soulteary/flare/actions/workflows/codeql-analysis.yml) [](https://github.com/soulteary/flare/actions/workflows/scan.yml) [](https://github.com/soulteary/flare/actions/workflows/release.yml)  [](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
-
-
+
+
## 快速上手
@@ -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