From cabc820b8a53078acdc4b42670fba7ea62dc19d3 Mon Sep 17 00:00:00 2001 From: ms Date: Mon, 1 Dec 2025 18:59:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=20Twikoo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/README.md | 3 +- README.md | 1 + apps/twikoo/1.6.44/data.yml | 24 ++++++++++ apps/twikoo/1.6.44/docker-compose.yml | 23 ++++++++++ apps/twikoo/1.6.44/envs/default.env | 2 + apps/twikoo/1.6.44/envs/global.env | 2 + apps/twikoo/1.6.44/scripts/init.sh | 17 +++++++ apps/twikoo/1.6.44/scripts/uninstall.sh | 10 +++++ apps/twikoo/1.6.44/scripts/upgrade.sh | 17 +++++++ apps/twikoo/README.md | 56 ++++++++++++++++++++++++ apps/twikoo/data.yml | 14 ++++++ apps/twikoo/logo.png | Bin 0 -> 2418 bytes 12 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 apps/twikoo/1.6.44/data.yml create mode 100644 apps/twikoo/1.6.44/docker-compose.yml create mode 100644 apps/twikoo/1.6.44/envs/default.env create mode 100644 apps/twikoo/1.6.44/envs/global.env create mode 100644 apps/twikoo/1.6.44/scripts/init.sh create mode 100644 apps/twikoo/1.6.44/scripts/uninstall.sh create mode 100644 apps/twikoo/1.6.44/scripts/upgrade.sh create mode 100644 apps/twikoo/README.md create mode 100644 apps/twikoo/data.yml create mode 100644 apps/twikoo/logo.png diff --git a/.github/README.md b/.github/README.md index a4d48e8d9..68f33a1ea 100644 --- a/.github/README.md +++ b/.github/README.md @@ -15,7 +15,7 @@ > 即将支持应用商店: [CasaOS](https://casaos.io/) > > 欢迎投稿,我们会根据您的需求,上架更多的应用。 -> +> t > 🥰 [新疆萌森软件开发工作室](https://blog.lifebus.top/) 祝您生活愉快! @@ -190,6 +190,7 @@ | 🟢 | | TOPIAM | https://topiam.cn/ | IAM/IDaaS 身份管理平台 | | | 🟢 | | Traccar 轨迹 | https://www.traccar.org/ | 现代 GPS 追踪系统 | | | 🟢 | | Transmission | https://transmissionbt.com/ | 快速、简单、免费的 Bittorrent 客户端 | | +| 🟢 | | Twikoo | http://twikoo.js.org/ | 静态网站评论系统 | | | 🟢 | | Uptime Kuma | https://uptime.kuma.pet/ | 自托管监控工具 | | | 🟢 | | v2rayA | https://v2raya.org/ | 一个易用而强大的,跨平台的 V2Ray 客户端 | | | 🟢 | | Vertex | https://github.com/vertex-app/vertex/ | 追剧刷流一体化综合管理工具 | | diff --git a/README.md b/README.md index 7284f7caf..464dcf45b 100644 --- a/README.md +++ b/README.md @@ -185,6 +185,7 @@ | 🟢 | | TOPIAM | https://topiam.cn/ | IAM/IDaaS 身份管理平台 | | | 🟢 | | Traccar 轨迹 | https://www.traccar.org/ | 现代 GPS 追踪系统 | | | 🟢 | | Transmission | https://transmissionbt.com/ | 快速、简单、免费的 Bittorrent 客户端 | | +| 🟢 | | Twikoo | http://twikoo.js.org/ | 静态网站评论系统 | | | 🟢 | | Uptime Kuma | https://uptime.kuma.pet/ | 自托管监控工具 | | | 🟢 | | v2rayA | https://v2raya.org/ | 一个易用而强大的,跨平台的 V2Ray 客户端 | | | 🟢 | | Vertex | https://github.com/vertex-app/vertex/ | 追剧刷流一体化综合管理工具 | | diff --git a/apps/twikoo/1.6.44/data.yml b/apps/twikoo/1.6.44/data.yml new file mode 100644 index 000000000..ba2c8b3d6 --- /dev/null +++ b/apps/twikoo/1.6.44/data.yml @@ -0,0 +1,24 @@ +additionalProperties: + formFields: + - default: "/home/twikoo" + edit: true + envKey: TWIKOO_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 1000 + edit: true + envKey: TWIKOO_THROTTLE + labelZh: 请求限制 + labelEn: Request limit + required: true + type: number diff --git a/apps/twikoo/1.6.44/docker-compose.yml b/apps/twikoo/1.6.44/docker-compose.yml new file mode 100644 index 000000000..a3271ca9e --- /dev/null +++ b/apps/twikoo/1.6.44/docker-compose.yml @@ -0,0 +1,23 @@ +networks: + 1panel-network: + external: true + +services: + twikoo: + image: imaegoo/twikoo:1.6.44 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${TWIKOO_ROOT_PATH}/data:/app/data + environment: + - TZ=Asia/Shanghai + - TWIKOO_PORT=8080 diff --git a/apps/twikoo/1.6.44/envs/default.env b/apps/twikoo/1.6.44/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/twikoo/1.6.44/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/twikoo/1.6.44/envs/global.env b/apps/twikoo/1.6.44/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/twikoo/1.6.44/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/twikoo/1.6.44/scripts/init.sh b/apps/twikoo/1.6.44/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/twikoo/1.6.44/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/twikoo/1.6.44/scripts/uninstall.sh b/apps/twikoo/1.6.44/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/twikoo/1.6.44/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/twikoo/1.6.44/scripts/upgrade.sh b/apps/twikoo/1.6.44/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/twikoo/1.6.44/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/twikoo/README.md b/apps/twikoo/README.md new file mode 100644 index 000000000..ecda70c77 --- /dev/null +++ b/apps/twikoo/README.md @@ -0,0 +1,56 @@ +# Twikoo + +静态网站评论系统 + +![Twikoo](https://file.lifebus.top/imgs/twikoo_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 特性 + +### 易用 ++ 支持回复、点赞 ++ 无需额外适配,支持搭配浅色主题与深色主题使用 ++ 支持 API 调用,批量获取文章评论数、最新评论 ++ 访客在昵称栏输入 QQ 号,会自动补全 QQ 昵称和 QQ 邮箱 ++ 访客填写数字 QQ 邮箱,会使用 QQ 头像作为评论头像 ++ 支持评论框粘贴图片(可禁用) ++ 支持插入图片(可禁用) ++ 支持去不图床、云开发图床 ++ 支持插入表情(可禁用) ++ 支持 Ctrl + Enter 快捷回复 ++ 评论框内容实时保存草稿,刷新不会丢失 ++ 支持 Katex 公式 ++ 支持按语言的代码高亮 + +### 安全 ++ 隐私信息安全(通过云函数控制敏感字段(邮箱、IP、环境配置等)不会泄露) ++ 支持 Akismet 垃圾评论检测(需自行注册 akismet.com) ++ 支持腾讯云内容安全垃圾评论检测(需自行注册 腾讯云内容安全) ++ 支持人工审核模式 ++ 防 XSS 注入 ++ 支持限制每个 IP 每 10 分钟最多发表多少条评论 + +### 即时 ++ 支持邮件提醒(访客和博主) ++ 支持微信提醒(仅针对博主,基于 Server酱,需自行注册) ++ 支持 QQ 提醒(仅针对博主,基于 Qmsg酱,需自行注册) ++ 支持 QQ 提醒(针对博主QQ或者群,基于 go-cqhttp,需自己有服务器) + +### 个性 ++ 支持自定义评论框背景图片 ++ 支持自定义“博主”标识文字 ++ 支持自定义通知邮件模板 ++ 支持自定义评论框提示信息(placeholder) ++ 支持自定义表情列表(兼容 OwO 的数据格式) ++ 支持自定义【昵称】【邮箱】【网址】必填 / 选填 ++ 支持自定义代码高亮主题 + +### 管理 ++ 内嵌式管理面板,通过密码登录,可方便地查看评论、隐藏评论、删除评论、修改配置 ++ 支持隐藏管理入口,通过输入暗号显示 ++ 支持从 Valine、Artalk、Disqus 导入评论 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/twikoo/data.yml b/apps/twikoo/data.yml new file mode 100644 index 000000000..65795102a --- /dev/null +++ b/apps/twikoo/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: twikoo + name: Twikoo + tags: + - WebSite + - Local + shortDescZh: 静态网站评论系统 + shortDescEn: Static website comment system + type: website + crossVersionUpdate: true + limit: 0 + website: http://twikoo.js.org/ + github: https://github.com/twikoojs/twikoo/ + document: http://twikoo.js.org/ diff --git a/apps/twikoo/logo.png b/apps/twikoo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c92c67da20822c5801df8dd104ddb4d4deca843f GIT binary patch literal 2418 zcmV-&361uNP)^n&N=6tbIv*EoO8}O=bUrSIp>^n&N=6tbIv*EoO8}O z=bUrSIp>^n&N=6tbIv*EoO8}O=bUrSIp>^n&du&yyw#t0;lv6iRxq)Gi4{z&U}6Om zE0|cp#0n->FtLJ(6-=yPVg(Z`m{`HY3MN)Cv4V*eOsrsH1rsZnSi!^!CRQ-9f{7JO ztYBgV6Dycl!NdwCRxq)Gi4{z&U}6OmE0|cp#0n->FtLJ(6-=yPVg(Z`m{`HY3MN)C zv4V*eOsrsH1rsZnSi!^!CRQ-9f{7JOtYBgV6Dycl!NdwCRxq)Gi4{z&U}6OmE0|cp z#0n->FtLJ(6-=yPVg(Z`m{`HY3MN)Cv4V*eOsrsH1rsZnSi!^!CRQ-9f{7JOtYBgV z6Dycl!NdwCRxq)Gi4{z&U}6OmE0|cp#0n->FtLJ(6-=yPVg(Z`m{`HY3MN)Cv4V*e zOsrsH1rsaS7RUdH`(w4#TM^cutEJw0un1w*U=hMEG`x>EG!l= zEG!l=EGiZtaVt0VXea| z3~L!yV_3_u8p9GRnP0suvX|2a9N^3n< zQCa}3p0og1J!uiJYSJQL)ue^MYDo)$)shwit0XN3R!LeAtd6uGSRH9muqx7`U{$1r z!D>hggVm502df}04pu>0AS`}bAS`}bBrJSdBrJSdC@gwfC@gwfEG&3hEG&3hFf4Xj zFf4XjG%R#lG%R#lI4p8nI4p8nJS=cpJS=cpKrC)rKrC)rL@aDtL@aDtNGxhvNGxhv zOe|Y%Ew>a4c3@a4c3@bSzX_bSzX_cq~#{cq~#{d@N8}d@N8} z1z4Q43a~h7HDF=VYQVyzRe?oGs{)IXRtFX&tqv?mS|wPFv`VlTX|-S>(rUp%q*a4O zNb3@;KmNKw=lLD0rQR;W`t$t;o#%I~mU_De>&MY=Pm2)NC0IX>etTMku&%)RdGwpp zLWFe%*3YBgoE9Ri3$T72{noS?VO@ar>*%+p#RzL2>-W)bObZg$Jl5}{-8z`b}wJ!kWZ-I{GbXal)F!dOG?oX>r1u z!}@ac8`1)WHHY=(=r^PV3Tp~$f>)_~@ zr9}&C6zlNl7o~*@YZUA7=oh7h3u_ST#nCTGix<`)){CQGk`^zlF|3zIzaTAOSYuc( zkA6W~z_5m}P8@wYEn-+hSSOA?ofa{y5v)^3pG*rG)(FR*IFR1rO^y)?*YaNDCg;X{_I2#aQRlqK9=F>oJaXIxTuwXR-bZE5|yU z7Cx-ASdSU3lWF0@I*IimtO2ZZY4O84iS?MnI+YebtaDf&!y3UllU6}k=dd2LSSQjd z2R%)+wyVJl4y!8p1k*^*O9DtXFAOgmnh%aRt_kv?{_nf%O#DAl7kO z9buiodR&8bm{vzvud$xP8pS$Ft0b(~SkGY%V;!Vb64pzsFJTR1?Wffe)=R7}VU1($ zrqvSGE3B_!jbrVlRTI`Ltgm5BVC|$;6V?l?jj$%Lw$thf>jl{6r z9o8h)Q(9GF9boN*HHq~(t*)>Ruy(?l#d_}zYaeSbtXZs&X_bYwkF^)pG}e1OSk5`; zoO8}O=bUrSIp>^n&N=6tbIv*EoO8}O=bUrSIp>^n&N=6tbIv*EoO8}O=bUrSIp>^n k&N=6tbIv*EoOAX2KZ`(MRi`y}8~^|S07*qoM6N<$g2s&XZ2$lO literal 0 KcmV+b0RR6000031