From ba9abac0eb875e02db6533cf7b37915c9c400731 Mon Sep 17 00:00:00 2001 From: waxgourd Date: Wed, 27 Mar 2024 18:03:38 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8E=A8=E5=87=BAaddon-data-?= =?UTF-8?q?clean?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon-data-clean/CHANGELOG.md | 15 +++++++++++ addon-data-clean/DOCS.md | 25 +++++++++++++++++ addon-data-clean/README.md | 21 +++++++++++++++ addon-data-clean/apparmor.txt | 49 ++++++++++++++++++++++++++++++++++ addon-data-clean/config.yaml | 28 +++++++++++++++++++ addon-data-clean/icon.png | Bin 0 -> 40993 bytes addon-data-clean/logo.png | Bin 0 -> 25222 bytes 7 files changed, 138 insertions(+) create mode 100644 addon-data-clean/CHANGELOG.md create mode 100644 addon-data-clean/DOCS.md create mode 100644 addon-data-clean/README.md create mode 100644 addon-data-clean/apparmor.txt create mode 100644 addon-data-clean/config.yaml create mode 100644 addon-data-clean/icon.png create mode 100644 addon-data-clean/logo.png diff --git a/addon-data-clean/CHANGELOG.md b/addon-data-clean/CHANGELOG.md new file mode 100644 index 0000000..40b290c --- /dev/null +++ b/addon-data-clean/CHANGELOG.md @@ -0,0 +1,15 @@ +### 0.1.4(2024-03-25) + +- 版本升级 + +### 0.1.3(2024-03-25) + +- 版本升级 + +### 0.1.2(2024-03-23) + +- 版本升级 + +### 0.1.1(2024-03-22) + +- 首次推出 \ No newline at end of file diff --git a/addon-data-clean/DOCS.md b/addon-data-clean/DOCS.md new file mode 100644 index 0000000..e7b100e --- /dev/null +++ b/addon-data-clean/DOCS.md @@ -0,0 +1,25 @@ +# HA清理大师 + +## 功能说明 + +- 空间清理:扫描日志,卸载残留(data/config文件夹)、docker image标签为none的,和备份数据 + +- 日志清理:清理系统日志 + +- addon卸载残留清理: + + - 扫描data目录,卸载后残留的data的目录数据 + + - 下载后残留的config数据,此项谨慎删除,删除后不会恢复 + +- 加载项清理:只删除了none的image镜像 + +- 备份清理:可以清理备份及未在备份中显示在目录中存在的.tar文件 + +## 使用方法 + +- 点击启动,进入日志页面中点击刷新,出现“Http服务已运行(8080)。”则表示启动成功。 + +- 启动完成后可在信息页中点击"打开 WEI UI",或点击“在侧边栏显示”,方便以后从左侧栏快速访问。 + +- 如运行有错误则在信息页中关闭“保护模式”。 diff --git a/addon-data-clean/README.md b/addon-data-clean/README.md new file mode 100644 index 0000000..96a46a6 --- /dev/null +++ b/addon-data-clean/README.md @@ -0,0 +1,21 @@ +# 冬瓜甄选addons:HA清理大师 + +## 关于 + +此addons是一个专用的HAOS为主的垃圾数据清理工具。方便大家直观的清理HA长期使用后内部产生的数据垃圾,从而可以有效的释放空间。 + +## 功能 + +- 空间清理 + +- 日志清理 + +- addon卸载残留清理 + +- 加载项清理 + +- 备份清理 + +## 注意事项 + +强烈建议清理完后,重启一下Home assistant. \ No newline at end of file diff --git a/addon-data-clean/apparmor.txt b/addon-data-clean/apparmor.txt new file mode 100644 index 0000000..5aa33e5 --- /dev/null +++ b/addon-data-clean/apparmor.txt @@ -0,0 +1,49 @@ +#include + +profile hassos_ssh_configurator_addon flags=(attach_disconnected,mediate_deleted) { + #include + + capability, + file, + mount, + umount, + remount, + + capability setgid, + capability setuid, + capability dac_override, + + # S6-Overlay + /bin/** ix, + /usr/bin/** ix, + /usr/lib/bashio/** ix, + /etc/s6/** rix, + /run/s6/** rix, + /etc/services.d/** rwix, + /etc/cont-init.d/** rwix, + /etc/cont-finish.d/** rwix, + /init rix, + /var/run/** mrwkl, + /var/run/ mrwkl, + /proc/self/attr/** mrwkl, + # Files required + /dev/sda1 mrwkl, + /dev/sda7 mrwkl, + /dev/sda8 mrwkl, + /dev/sdb1 mrwkl, + /dev/mmcblk0p1 mrwkl, + /dev/* mrwkl, + /tmp/** mrkwl, + + # Data access + /data/** rw, + /addon_configs/** rw, + + + # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container + ptrace (trace,read) peer=docker-default, + + # docker daemon confinement requires explict allow rule for signal + signal (receive) set=(kill,term) peer=/usr/bin/docker, + +} diff --git a/addon-data-clean/config.yaml b/addon-data-clean/config.yaml new file mode 100644 index 0000000..e0b6a67 --- /dev/null +++ b/addon-data-clean/config.yaml @@ -0,0 +1,28 @@ +name: "HA清理大师" +version: '0.1.4' +slug: 'addon_data_clean' +codenotary: wghaos@163.com +description: '一个专门为HAOS清理垃圾数据的工具,让HA也能直观的进行存储规划。' +image: wghaos/addon-data-clean +url: https://gitcode.com/waxgourd/addons +init: false +arch: + - aarch64 + - amd64 + - armv7 +backup_exclude: + - '*/data/' +ingress: true +ingress_port: 80 +ingress_stream: true +privileged: + - SYS_ADMIN +full_access: true +map: + - all_addon_configs:rw + - backup:rw +apparmor: true +docker_api: true +startup: services +boot: manual +panel_icon: 'mdi:flower' diff --git a/addon-data-clean/icon.png b/addon-data-clean/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4886ac0dcb2264ff4bed3ac1db2935cd805685db GIT binary patch literal 40993 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 bfrTl^)j@VwM4AT9Zy0$Q73oSTlc4_t`;X7d literal 0 HcmV?d00001 diff --git a/addon-data-clean/logo.png b/addon-data-clean/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cabc32488fd233a9d12e0c34b2d74528e388c0d2 GIT binary patch literal 25222 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