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 zcmeI!eNYtV9S87(cnEiZyc`dB;SiCCaL)-uQMn>SeMa5J*f2R3T2~fW&*yy~$lOqpiYS2-7-9f!@~i%{pnyO|Fzyy~%_O(%sDrlmGK? z|M={F_qQ|q@|*qbJnaX{3&UhenM5K9D=sRilt==RV9hgprL>4yh8U0O<_J27rJ^%Rnd)E8gl82Qa zgf}W~-%0i^Ol8ma*WLR*o2h>v{;O=-9cZB7d9YQK0n(vhE65N*kO>88 z;Cay&unh_}gYBYZkOc)vV23CX?1X{@uuBvVvY|i;w4ylh11JC>N2CC|p&$z6iXuQB z6oec0pm^NOW}q;VWR+Aq0?PJIklgRil`WM-UkHZ^vlW8~;Wnw(BG97g-> ze{vD+`dF?6-(*3xpK(Um(ylwNNzp}VZo9i{%oQMd8w*xJW8_Oi!NC&iyF zrBw!!klUALi8nmG!UY_LYR`~UVbhEbp<0T+$39wPI7D>VZ_W}IJUzl=I1DEJkTc$v zI{F1FqxdH+p?4c92nl}QAwj#TNVaB{e~SZ*pfB;OA`^e%aMpwR0W$h z%Xh`fjMo&&TRd-pwYEeJ-!>ux5tntQSFemJnpXGotPAG$GgpPlA^a zgM{ELtQ5Tt4-f(=>UYT4T~wBloaMi3tG-EBYzyqTXjlu9NBIw*cn)1~l(2D>)3|Y# zpA4(MMOWmD!g)_`?wS8u#gENa*V5zVpn>_<@O$;Qf_#%RukP=N;GRQyT@B|53wwQR z>1R(a&*fXpQf_+iK|e^sa<)OW%sJx7A2<4a-j9bTg6Ra`S2M4c%A>d(ZgKEIA4tX& zURQWWqbWgiXhT=SVd7o(WqYn_dDxLbPF0`RE|pQF>(VFn+9eHj@;kx3bn3~ovw=)j zoBs>%PODT#%jnO&y(7BsgdqB{H+F=P(W@blp7-_+Psr%i5Kn*QjUATC>D3VD`@6Sy zNGGRPgTnV8Z|o2wr&mLSZ(=6BxFeQJ>HR^Zp~^mKk`;lneN}&Z(lk8 zsDSuAdkRl}ma^X}4O4%*^mO6LVB6f)))>?7d#11vU6^`;ujO#ZiTi9NE^N-~13Pep zuMh=ri1-Vej|*F~-UT~xsBe*t!f!jq$YZEmK__ZXph#|-O~N^vQ+(Pq`Q}_wTaR%$ z+R)lF%!I4Q>n|7?>X&XA+rY$BAEWGiN-&`c;$Q4N)AF;1H+!tob-oh6F3S# zASclL+|@R-(wEs~)@tg}PwY?S>PhWokc&S;-Rto?)I+zn-MT-;qE$=E^UiHn{V%rD80oT#(zZ9WSB{1)kksra5^6sMm*of zPSe6LAJzB<$;Tmmv>3~b3syeLaVNW({ngx;AwDVhL$nQDru-K31!oKw${7e9sWR0v zS&Z{-Lj`I>m&r2ne3>m3@5NK>KiS(>kAjQj&Y(IpP3al4#i`$AGQNI{QZ=lohA>2*%FwSmgEVrFISBq|;TV$DOxtITO3USKxn~z(aZO#q+ zwA`UQj2NY8afn