# apps

created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.239577125+08:00
name: Trilium
key: trilium
short_desc_zh: 使用 Trilium Notes 建立个人知识库
short_desc_en: Build your personal knowledge base with Trilium Notes
type: website
status: Normal
website: https://trilium.rocks/
github: https://github.com/TriliumNext/Trilium
document: https://trilium.rocks/
resource: remote
architectures: amd64,arm64
description:
  {"en":"Build your personal knowledge base with Trilium Notes","ja":"Trilium Notesで個人の知識ベースを構築する","ms":"Bangunkan pangkalan pengetahuan peribadi anda dengan Trilium Notes","pt-br":"Construa sua base de conhecimento pessoal com o Trilium Notes","ru":"Создайте свою личную базу знаний с помощью Trilium Notes","zh-hant":"使用 Trilium Notes 建立個人知識庫","zh":"使用 Trilium Notes 建立个人知识库","ko":"Trilium Notes로 개인 지식 기반을 구축하세요","tr":"Trilium Notes ile kisisel bilgi tabaninizi olusturun","es-es":"Construye tu base de conocimiento personal con Trilium Notes"}

icon:
  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

read_me:
  ## 产品介绍

  **Trilium Notes** 是一个层次化的笔记应用程序，专注于建立大型个人知识库。

  ## 特性

  * 笔记可以排列成任意深的树。单个笔记可以放在树中的多个位置（请参阅克隆）
  * 丰富的所见即所得笔记编辑功能，包括带有 Markdown 自动格式化功能的表格，图像和数学公式
  * 支持编辑使用源代码的笔记，包括语法高亮显示
  * 笔记之间快速导航，全文搜索和提升笔记
  * 无缝笔记版本控制
  * 笔记属性可用于笔记组织，查询和高级脚本编写
  * 同步与自托管同步服务器
  * 有一个第三方提供的同步服务器托管服务
  * 公开地分享（发布）笔记到互联网
  * 具有按笔记粒度的强大的笔记加密
  * 使用自带的 Excalidraw 来绘制图表（笔记类型“画布”）
  * 关系图和链接图，用于可视化笔记及其关系
  * 可用于自动化的 REST API
  * 在拥有超过 10 万条笔记时仍能保持良好的可用性和性能
  * 针对智能手机和平板电脑进行优化的用于移动设备的前端
  * 夜间主题
  * Evernote 和 Markdown 导入导出功能
  * 使用网页剪藏轻松保存互联网上的内容


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.253959104+08:00
name: Zabbix Agent
key: zabbix-agent
short_desc_zh: 面向 IT 和 OT 的通用开源可观测性解决方案
short_desc_en: The universal, open-source observability solution for IT & OT
type: tool
status: Normal
website: https://www.zabbix.com/
github: https://github.com/zabbix/zabbix
document: https://www.zabbix.com/manuals
resource: remote
architectures: amd64,arm64,ppc64le,s390x,riscv64
description:
  {"en":"The universal, open-source observability solution for IT \u0026 OT","ja":"ITおよびOT向けのユニバーサルでオープンソースの可観測性ソリューション","ms":"IT dan OT untuk penyelesaian observabiliti sumber terbuka yang universal","pt-br":"A solução universal e de código aberto para observabilidade para TI e OT","ru":"Универсальное решение с открытым исходным кодом для наблюдаемости в ИТ и ОТ","zh-hant":"面向 IT 和 OT 的通用開源可觀測性解決方案","zh":"面向 IT 和 OT 的通用开源可观测性解决方案","ko":"IT 및 OT를 위한 범용 오픈 소스 관측 가능성 솔루션","tr":"The universal, open-source gözlemlenebilirlik solution for IT \u0026 OT","es-es":"La solución universal y de código abierto de observabilidad para TI y TO"}

icon:
  [encoded data, 7256 characters]

read_me:
  ## 产品介绍

  **Zabbix** 是一款企业级开源分布式监控解决方案，旨在监控网络设备、服务器、服务和其他 IT 资源的性能和可用性。

  ## 特性

  - **资源发现**：自动发现网络实体、服务器资源，以及设备的上下线情况。可使用开箱即用的集成模板，对从低层设备到 SaaS 服务的任何资源进行监控。
  - **指标采集**：通过 Agent 或无 Agent 的方式，从任意来源采集监控指标，包括设备、传感器、操作系统、虚拟化平台、容器平台（如 Docker、Kubernetes）、云基础设施、数据库、网页、Java 生态、应用服务器、API 端点、业务应用等几乎所有类型的系统。
  - **根因分析与问题检测**：提供高性能的实时问题检测能力，能够对现有与新产生的问题进行关联分析，并执行根因定位。
  - **事件、告警与通知**：当监控环境中出现新问题（无论是主动发现还是事后捕捉）时，可及时触发告警。支持多种消息通知方式，包括 Slack、JIRA、Microsoft Teams、邮件、短信等，用于告知系统内发生的不同类型事件。
  - **“单一视图”监控体验**：将采集到的数据和事件通过图表、列表、地理地图、网络拓扑图等方式进行可视化展示。
  - **多租户与分布式监控**：在多个数据中心、部门或组织间使用同一套监控解决方案，并支持在跨防火墙环境下对远端位置进行监控与远程命令执行。
  - **极致灵活性**：可根据需求定制 Zabbix，并利用丰富的内置功能，如通过 HTTP 推送指标与事件、报表、审计、安全管理、服务 SLA 计算等。


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.265563202+08:00
name: Gotify
key: gotify
short_desc_zh: 简单的服务器来发送和接收消息
short_desc_en: A simple server for sending and receiving messages
type: website
status: Normal
website: https://gotify.net
github: https://github.com/gotify/server
document: https://gotify.net/docs/
resource: remote
architectures: amd64
description:
  {"en":"A simple server for sending and receiving messages","ja":"メッセージの送受信に使用するシンプルなサーバー","ms":"Pelayan ringkas untuk menghantar dan menerima mesej","pt-br":"Um servidor simples para enviar e receber mensagens","ru":"Простой сервер для отправки и получения сообщений","zh-hant":"簡單的伺服器，用於發送和接收消息","zh":"简单的服务器，用于发送和接收消息","ko":"메시지를 보내고 받는 간단한 서버","tr":"Mesaj gonderip almak icin basit sunucu","es-es":"Un simple servidor for sending and receiving messages"}

icon:
  [encoded data, 6552 characters]

read_me:
  ## 产品介绍

  **Gotify** 是一个简单的服务器来发送和接收消息（通过 WebSocket 实时发送和接收）

  ## 特征

  - 通过 REST-API 发送消息
  - 通过 WebSocket 接收消息
  - 管理用户、客户端和应用程序
  - [插件](https://gotify.net/docs/plugin)
  - Web-UI -> [./ui](https://github.com/gotify/server/tree/master/ui)
  - 发送消息的 CLI -> [gotify/cli](https://github.com/gotify/cli)
  - Android-APP -> [gotify/android](https://github.com/gotify/android)


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.240794194+08:00
name: Sentinel Dashboard
key: sentinel-dashboard
short_desc_zh: 流量控制、熔断降级规则统一配置和管理的入口
short_desc_en: Unified configuration and management of flow control and circuit breaker degradation rules
type: website
status: Normal
website: https://sentinelguard.io/
github: https://github.com/alibaba/Sentinel
document: https://sentinelguard.io/zh-cn/docs/dashboard.html
resource: remote
architectures: arm64,amd64
description:
  {"en":"Unified configuration and management of flow control and circuit breaker degradation rules","ja":"フロー制御およびサーキットブレーカー降格ルールの統一設定と管理","ms":"Konfigurasi dan pengurusan bersatu untuk kawalan aliran dan peraturan degradasi pemutus litar","pt-br":"Configuração e gerenciamento unificados de controle de fluxo e regras de degradação de circuit breaker","ru":"Единая настройка и управление правилами управления потоком и деградации circuit breaker","zh-hant":"流量控制與熔斷降級規則的統一配置與管理","zh":"流量控制、熔断降级规则统一配置和管理的入口","ko":"트래픽 제어 및 서킷 브레이커 강등 규칙의 통합 구성 및 관리","tr":"Akış kontrolü ve devre kesici düşürme kurallarının birleşik yapılandırması ve yönetimi","es-es":"Unified configuration and gestión of flow control and circuit breaker degradation rules"}

icon:
  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

read_me:
  ## 默认账户密码

  用户名: `sentinel`
  密码: `sentinel`

  ## 产品介绍

  Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口，它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上，我们可以配置规则并实时查看流量控制效果。

  ## 特点

  - **适用场景丰富**：Sentinel 在阿里巴巴得到了广泛应用，几乎覆盖了过去10年双11（11.11）购物节的所有核心场景，比如“秒杀”需要限制突发流量满足系统容量、消息削峰填谷、下游不可靠服务熔断、集群流控等。
  - **实时监控**：Sentinel还提供实时监控能力。您可以实时查看单机的运行时信息，以及小于500个节点的集群的聚合运行时信息。
  - **广泛的开源生态系统**：Sentinel 提供与 Spring Cloud、gRPC、Apache Dubbo 和 Quarkus 等常用框架和库的开箱即用集成。您只需将适配器依赖项添加到您的服务中即可轻松使用 Sentinel。
  - **多语言支持**：Sentinel 提供了对 Java、Go、C++和Rust的本机支持。
  - **丰富的SPI扩展**：Sentinel提供了简单易用的SPI扩展接口，可以让您快速自定义逻辑，例如自定义规则管理、适配数据源等。


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.244675585+08:00
name: TDengine
key: tdengine
short_desc_zh: 专为工业物联网（IIoT）场景设计的高性能、可扩展时间序列数据库
short_desc_en: High-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios
type: website
status: Normal
website: https://www.taosdata.com/
github: https://github.com/taosdata/TDengine
document: https://docs.taosdata.com
resource: remote
architectures: amd64,arm64
description:
  {"en":"High-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios","ja":"高性能で拡張可能な時系列データベースで、工業 IoT（IIoT）シナリオ向けに設計","ms":"Pantai berprestasi tinggi, pangkalan data berukuran besar beraturan masa dirancang untuk keadaan Internet of Things Industri (IIoT)","pt-br":"Banco de dados de séries temporais de alta performance e escalável, projetado para cenários de Internet das Coisas Industriais (IIoT)","ru":"Высокопроизводительная, масштабируемая база данных временных рядов, разработанная для сценариев Промышленного Интернета Вещей (IIoT)","zh-hant":"高效能、可擴充的時序資料庫，專為工業物聯網（IIoT）情境設計","zh":"专为工业物联网（IIoT）场景设计的高性能、可扩展时间序列数据库","ko":"고성능, 확장 가능한 시계열 데이터베이스로 Industrial IoT(IIoT) 환경에 맞춰 설계되었습니다","tr":"High-performance, ölçeklenebilir time-series veritabanı designed for Industrial IoT (IIoT) scenarios","es-es":"High-performance, escalable time-series base de datos designed for Industrial IoT (IIoT) scenarios"}

icon:
  [encoded data, 5392 characters]

read_me:
  ## 默认账户密码

  用户名: `root`
  密码: `taosdata`

  ## 产品介绍

  **TDengine** 是一款开源、高性能、云原生、AI 驱动的时序数据库 (Time-Series Database, TSDB)。TDengine 能被广泛运用于物联网、工业互联网、车联网、IT 运维、金融等领域。除核心的时序数据库功能外，TDengine 还提供缓存、数据订阅、流式计算、AI 智能体等功能，是一极简的时序数据处理平台，最大程度的减小系统设计的复杂度，降低研发和运营成本。

  ## 主要优势

  - **高性能**：通过创新的存储引擎设计，无论是数据写入还是查询，TDengine 的性能比通用数据库快 10 倍以上，也远超其他时序数据库，存储空间不及通用数据库的 1/10。
  - **云原生**：通过原生分布式的设计，充分利用云平台的优势，TDengine 提供了水平扩展能力，具备弹性、韧性和可观测性，支持 k8s 部署，可运行在公有云、私有云和混合云上。
  - **极简时序数据平台**：TDengine 内建消息队列、缓存、流式计算、AI 智能体等功能，应用无需再集成 Kafka/Redis/HBase/Spark 等软件，大幅降低系统的复杂度，降低应用开发和运营成本。
  - **分析能力**：支持 SQL，同时为时序数据特有的分析提供 SQL 扩展。通过超级表、存储计算分离、分区分片、预计算、自定义函数以及 AI Agent 等技术，TDengine 具备强大的分析能力。
  - **AI智能体**：内置时序数据智能体 TDgpt, 无缝连接时序数据基础模型、大语言模型、机器学习、传统统计算法等，提供时序数据预测、异常检测、数据补全和数据分类的功能。
  - **简单易用**：无任何依赖，安装、集群几秒搞定；提供 REST 以及各种语言连接器，与众多第三方工具无缝集成；提供命令行程序，便于管理和即席查询；提供各种运维工具。
  - **核心开源**：TDengine 的核心代码包括集群功能全部开源，截止到 2022 年 8 月 1 日，全球超过 135.9k 个运行实例，GitHub Star 18.7k，Fork 4.4k，社区活跃。


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.252669438+08:00
name: Changedetection.io
key: changedetectionio
short_desc_zh: 免费开源网站变更检测、网站观察、补货监控和通知服务
type: website
status: Normal
website: https://changedetection.io/
github: https://github.com/dgtlmoon/changedetection.io
document: https://github.com/dgtlmoon/changedetection.io/wiki
resource: remote
architectures: amd64,arm64,arm/v6,arm/v7
short_desc_en:
  free open source website change detection, website watcher, restock monitor and notification service

description:
  {"en":"free open source website change detection, website watcher, restock monitor and notification service","ja":"無料のオープンソースのウェブサイト変更検出、ウェブサイトウォッチャー、在庫補充モニターおよび通知サービス","ms":"Perkhidmatan pengesanan perubahan laman web sumber terbuka percuma, pemerhati laman web, pemantau pengisian semula dan pemberitahuan","pt-br":"Serviço gratuito e de código aberto para detecção de mudanças em sites, monitoramento de sites, monitor de reposição e notificações","ru":"Бесплатный сервис с открытым исходным кодом для отслеживания изменений на веб-сайтах, наблюдения за сайтами, мониторинга пополнения запасов и уведомлений","zh-hant":"免費開源網站變更檢測、網站觀察、補貨監控和通知服務","zh":"免费开源网站变更检测、网站观察、补货监控和通知服务","ko":"무료 오픈 소스 웹사이트 변경 감지, 웹사이트 감시, 재입고 모니터링 및 알림 서비스","tr":"ücretsiz açık kaynaklı website change detection, website watcher, restock monitor and notification hizmet","es-es":"free de código abierto website change detection, website watcher, restock monitor and notification service"}

icon:
  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

read_me:
  ## 产品介绍

  **Changedetection.io** 是一款最好、最简单的免费开源网站变更检测、网站观察、补货监控和通知服务。

  ## 主要特征

  - 许多触发过滤器，例如“在文本上触发”、“通过选择器删除文本”、“忽略文本”、“提取文本”，也使用正则表达式
  - 使用 xPath(1.0) 和 CSS 选择器定位元素，使用 JSONPath 或 jq 轻松监控复杂的 JSON
  - 在快速非 JS 和基于 Chrome JS 的“获取器”之间切换
  - 跟踪 PDF 文件中的更改（监控 PDF 中的文本更改，还监控 PDF 文件大小和校验和）
  - 轻松指定检查站点的频率
  - 在提取文本之前执行 JS（适合登录，请参阅 UI 中的示例！）
  - 覆盖请求标头、指定POST或GET等方法
  - 使用“视觉选择器”帮助定位特定元素
  - 每个手表可配置代理
  - 在网页中检测到更改时发送带有通知的屏幕截图


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.260259446+08:00
name: PostgreSQL-Cluster
key: postgresql-cluster
type: runtime
status: Normal
website: https://www.postgresql.org/
github: https://github.com/postgres/postgres
document: https://www.postgresql.org/docs/
resource: remote
architectures: amd64,arm64
description:
  {"en":"PostgreSQL Master-Slave Cluster","ja":"オープンソースリレーショナルデータベース","ms":"Pangkalan Data Relasional Sumber Terbuka","pt-br":"Banco de Dados Relacional de Código Aberto","ru":"Открытая реляционная база данных","zh-hant":"PostgreSQL 一主多從","zh":"PostgreSQL 一主多从","ko":"오픈 소스 관계형 데이터베이스","tr":"PostgreSQL ana-yardimci kumesi","es-es":"Clúster maestro-esclavo de PostgreSQL"}

icon:
  [encoded data, 5612 characters]

read_me:
  ## 注意事项

  在 1Panel v2.0.4 及以上版本中可用。

  ## 产品介绍

  **PostgreSQL** 是一个强大的开源关系型数据库管理系统（RDBMS），具有许多先进的功能和广泛的用途。它以可靠性、扩展性和高级功能而闻名，适用于各种不同的应用场景。

  ## 主要功能

  - **多用户支持**：PostgreSQL 支持多个用户，每个用户可以有自己的帐户和权限。这使得多个用户可以同时访问和管理数据库，而不会相互干扰。
  - **ACID 遵从**：PostgreSQL 遵循 ACID（原子性、一致性、隔离性和持久性）属性，确保数据库操作的可靠性和一致性，即使在系统崩溃或故障的情况下也能保持数据的完整性。
  - **数据类型支持**：PostgreSQL 提供了丰富的内置数据类型，包括整数、浮点数、日期/时间、文本、二进制数据等。此外，它还支持用户自定义数据类型，使其非常灵活。
  - **扩展性**：PostgreSQL 允许用户轻松地添加新的函数、操作符、聚合函数和数据类型，以满足特定应用程序的需求。这种灵活性使得它适用于各种不同的数据处理任务。
  - **外键支持**：PostgreSQL 支持外键，可以定义表之间的关系，确保数据的引用完整性，防止不一致的数据关联。
  - **多版本并发控制**：PostgreSQL 使用多版本并发控制（MVCC）来处理并发访问，允许多个事务同时访问数据库，而不会导致数据冲突或锁定。
  - **高级查询优化**：PostgreSQL 提供了强大的查询优化器，可以优化复杂的查询，以提高性能并降低查询时间。
  - **备份和恢复**：PostgreSQL 支持在线备份和恢复操作，可以轻松创建数据库备份，并在需要时恢复数据，确保数据的可用性和安全性。
  - **外部数据源访问**：PostgreSQL 允许访问外部数据源，如其他数据库、文件和Web服务，以便将外部数据与数据库中的数据集成。
  - **安全性**：PostgreSQL 提供了丰富的安全功能，包括访问控制、SSL支持、数据加密和审计功能，以确保数据库的安全性。
  - **JSON 和 JSONB 数据类型**：PostgreSQL 支持存储和查询 JSON 数据，包括 JSON 和二进制 JSON（JSONB）数据类型，使其成为处理半结构化数据的理想选择。
  - **复制和高可用性**：PostgreSQL 支持流复制和逻辑复制，以实现数据复制和高可用性配置，确保系统的可用性和容错性。
  - **社区支持和扩展**：PostgreSQL 拥有活跃的社区，提供了大量的扩展和插件，以满足不同行业和应用程序的需求。


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.270157832+08:00
name: DataEase
key: dataease
short_desc_zh: 人人可用的开源 BI 工具
short_desc_en: An open-source BI tool alternative to Tableau
type: website
status: Normal
website: https://dataease.io/
github: https://github.com/dataease/dataease
document: https://dataease.io/docs/
resource: remote
architectures: amd64,arm64
description:
  {"en":"An open-source BI tool alternative to Tableau","ja":"Tableau の代替となるオープンソース BI ツール","ms":"Alternatif alat BI sumber terbuka kepada Tableau","pt-br":"Uma alternativa de ferramenta de BI de código aberto ao Tableau","ru":"Открытый BI-инструмент, являющийся альтернативой Tableau","zh-hant":"可替代 Tableau 的開源 BI 工具","zh":"人人可用的开源 BI 工具","ko":"Tableau를 대체할 수 있는 오픈소스 BI 도구","tr":"Tableau’ya alternatif açık kaynaklı bir BI aracı","es-es":"Un open-source BI herramienta alternative to Tableau"}

icon:
  [encoded data, 4444 characters]

read_me:
  ## 产品介绍

  **DataEase** 是开源的 BI 工具，帮助用户快速分析数据并洞察业务趋势，从而实现业务的改进与优化。DataEase 支持丰富的数据源连接，能够通过拖拉拽方式快速制作图表，并可以方便的与他人分享。

  ## 优势

  - **开源开放**：零门槛，线上快速获取和安装，按月迭代；
  - **简单易用**：极易上手，通过鼠标点击和拖拽即可完成分析；
  - **全场景支持**：多平台安装和多样化嵌入支持；
  - **安全分享**：支持多种数据分享方式，确保数据安全。

  ## 支持的数据源

  - **OLTP 数据库**：MySQL、Oracle、SQL Server、PostgreSQL、MariaDB、Db2、TiDB、MongoDB-BI 等；
  - **OLAP 数据库**：ClickHouse、Apache Doris、Apache Impala、StarRocks 等；
  - **数据仓库/数据湖**：Amazon RedShift 等；
  - **数据文件**：Excel、CSV 等；
  - **API 数据源**。


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.255909074+08:00
name: Draw.io
key: drawio
short_desc_zh: 用于一般图表绘制的 JavaScript 客户端编辑器
short_desc_en: JavaScript, client-side editor for general diagramming
type: website
status: Normal
website: https://www.drawio.com/
github: https://github.com/jgraph/drawio
document: https://github.com/jgraph/drawio/wiki
resource: remote
architectures: amd64,arm64
description:
  {"en":"JavaScript, client-side editor for general diagramming","ja":"JavaScript、一般的なダイアグラム作成のためのクライアントサイドエディタ","ms":"JavaScript, penyunting sisi-klien untuk diagram am","pt-br":"JavaScript, editor do lado do cliente para diagramas gerais","ru":"JavaScript, клиентский редактор для общих диаграмм","zh-hant":"用於一般圖表繪製的 JavaScript 客戶端編輯器","zh":"用于一般图表绘制的 JavaScript 客户端编辑器","ko":"일반 다이어그램을 위한 JavaScript 클라이언트 측 편집기","tr":"Genel diyagram olusturma icin istemci tarafli JavaScript duzenleyicisi","es-es":"JavaScript, cliente-side editor for general diagramming"}

icon:
  [encoded data, 6284 characters]

read_me:
  ## 产品介绍

  **Draw.io** 是一款流行的在线绘图工具，用于创建各种图表和图形，包括流程图、组织结构图、网络拓扑图、流程图、思维导图等。

  ## 主要功能

  - **多种图表类型**：Draw.io 提供了各种预定义的图表类型，方便用户创建不同类型的图形。
  - **在线编辑**：用户可以在浏览器中轻松编辑图表，无需安装任何附加软件。
  - **导出选项**：Draw.io 支持将创建的图表导出为多种格式，如PNG、JPEG、SVG、PDF等。
  - **实时协作**：多个用户可以同时编辑同一图表，支持实时协作，适用于团队工作。
  - **模板库**：Draw.io 提供各种图表模板，可以加快创建过程。
  - **自定义样式**：用户可以自定义图表元素的样式、颜色和字体，以满足特定需求。
  - **版本控制**：Draw.io 支持版本控制，可以查看和还原以前的图表版本。
  - **嵌入到网页**：用户可以将创建的图表嵌入到网页或文档中，以便与他人共享。


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.24739978+08:00
name: Halo
key: halo
short_desc_zh: 强大易用的开源建站工具
short_desc_en: Powerful and easy-to-use open source website builder
type: website
status: Normal
website: https://halo.run/
github: https://github.com/halo-dev/halo
document: https://docs.halo.run/
resource: remote
architectures: amd64,arm64,ppc64le,s390x
description:
  {"en":"Powerful and easy-to-use open source website builder","ja":"強力で使いやすいオープンソースのウェブサイト構築ツール","ms":"Pembina laman web sumber terbuka yang berkuasa dan mudah digunakan","pt-br":"Construtor de sites de código aberto poderoso e fácil de usar","ru":"Мощный и удобный конструктор сайтов с открытым исходным кодом","zh-hant":"強大且易用的開源網站建置工具","zh":"强大易用的开源建站工具","ko":"강력하고 사용하기 쉬운 오픈소스 웹사이트 빌더","tr":"Güçlü ve kullanımı kolay açık kaynaklı web sitesi oluşturucu","es-es":"Potente y fácil de usar, creador de sitios web de código abierto"}

icon:
  [encoded data, 9332 characters]

read_me:
  ## 产品介绍

  **Halo** 是一个简洁、高效的开源建站平台。它提供了易于使用的界面和丰富的功能，使用户可以轻松地创建博客、知识库、企业官网和在线商城。

  ## 主要功能

  - **简洁易用**：Halo 的界面设计简洁清晰，使用户能够快速上手并轻松管理网站内容。
  - **高度可定制**：Halo 提供了丰富的主题和插件系统，用户可以根据自己的需求选择合适的主题和插件，定制网站的外观和功能。
  - **多媒体支持**：Halo 支持插入和管理多媒体内容，如图片、视频和音频，使网站内容更加丰富和生动。
  - **SEO 友好**：Halo 内置了优化的 SEO 功能，帮助您提升网站在搜索引擎中的排名，增加曝光和访问量。
  - **安全可靠**：Halo 针对安全性进行了严格设计和测试，保护网站数据的安全和可靠性。
  - **自定义品牌信息（专业版）**：Halo 专业版支持修改后台登录页、控制台等 Logo 信息。
  - **全站私有化（专业版）**：Halo 专业版支持全站私有化，只有登录用户才能访问网站。
  - **手机号码验证注册登录（专业版）**：Halo 专业版支持配置短信发送平台，支持手机号码验证注册登录。

  ## 注意事项

  - 此版本为 Halo 专业版，非开源版本，但无需激活也可正常使用开源版本所有功能。
  - 如果您需要专业版的功能，可以前往 [凌霞软件官网](https://www.lxware.cn/halo) 购买专业版许可证，然后在概览页面导入许可证即可。

  ## 相关链接

  - 官网：https://www.halo.run
  - 专业版官网：https://www.lxware.cn/halo
  - 应用市场：https://www.halo.run/store/apps
  - 用户社区：https://bbs.halo.run
  - GitHub 开源仓库：https://github.com/halo-dev/halo


created_at: 2026-01-16 23:15:34.227829382+08:00
updated_at: 2026-03-23 01:33:11.291609502+08:00
name: Heimdall
key: heimdall
short_desc_zh: 应用程序仪表板和启动器
short_desc_en: An Application dashboard and launcher
type: website
status: Normal
website: https://heimdall.site/
github: https://github.com/linuxserver/Heimdall
document: https://github.com/linuxserver/Heimdall
resource: remote
architectures: amd64,arm64
description:
  {"en":"An Application dashboard and launcher","ja":"アプリケーションダッシュボードとランチャー","ms":"Papan pemuka dan pelancar aplikasi","pt-br":"Um painel de controle e inicializador de aplicativos","ru":"Панель управления и запуск приложений","zh-hant":"應用程式儀表板和啟動器","zh":"应用程序仪表板和启动器","ko":"애플리케이션 대시보드 및 실행기","tr":"Uygulama panosu ve baslatici","es-es":"Un panel y lanzador de aplicaciones"}

icon:
  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

read_me:
  ## 产品介绍

  **Heimdall** 是所有 Web 应用程序的仪表板。不过，它不需要仅限于应用程序，您可以添加指向您喜欢的任何内容的链接。

  ## 优势

  - 易于编辑、保存，直接在线操作即可，无须编辑代码。
  - 图标和颜色完全自定义，不需要通过更改整体模板来实现
  - 支持分类嵌套，通过标签进行分类管理，不用担心主页放不下
  - 支持更多模式/应用种类，除普通链接外还可以支持增强型标签，显示实时数据
  - 支持内嵌搜索框，更适合当浏览器主页使用
  - 支持多用户使用，不同用户不同主页，支持加密


created_at: 2026-01-21 02:21:23.69258667+08:00
updated_at: 2026-03-23 01:33:11.256985442+08:00
name: ConvertX
key: convertx
short_desc_zh: 自托管在线文件转换器
short_desc_en: Self-hosted online file converter
type: website
status: Normal
website: https://github.com/C4illin/ConvertX
github: https://github.com/C4illin/ConvertX
document: https://github.com/C4illin/ConvertX
resource: remote
architectures: amd64,arm64
description:
  {"en":"Self-hosted online file converter","ja":"自己ホスト型オンラインファイルコンバーター","ms":"Penukar fail dalam talian yang dihoskan sendiri","pt-br":"Conversor de arquivos online auto-hospedado","ru":"Самостоятельный онлайн-конвертер файлов","zh-hant":"自托管在線文件轉換器","zh":"自托管在线文件转换器","ko":"셀프 호스팅 온라인 파일 변환기","tr":"Self-hosted cevrimici dosya donusturucu","es-es":"Convertidor de archivos en línea autoalojado"}

icon:
  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

read_me:
  ## 产品介绍

  **ConvertX** 是一款自托管的在线文件转换器。支持超过一千种不同的文件格式。使用 TypeScript、Bun 和 Elysia 编写。

  ## 主要功能

  - 将文件转换为不同格式
  - 一次处理多个文件
  - 密码保护
  - 多个账户


created_at: 2026-01-22 02:21:09.320980464+08:00
updated_at: 2026-03-23 01:33:11.240950046+08:00
name: Docmost
key: docmost
short_desc_zh: 开源协作 wiki 与文档软件
short_desc_en: Open-source collaborative wiki and documentation software
type: website
status: Normal
website: https://docmost.com
github: https://github.com/docmost/docmost
document: https://docmost.com/docs
resource: remote
architectures: amd64,arm64
description:
  {"en":"Open-source collaborative wiki and documentation software","ja":"オープンソースの共同編集可能なウィキおよびドキュメントソフトウェア","ms":"Perisian wiki dan dokumentasi kolaboratif sumber terbuka","pt-br":"Software de wiki e documentação colaborativo de código aberto","ru":"Программное обеспечение для вики и документации с открытым исходным кодом","zh-hant":"開源協作 wiki 與文件軟體","zh":"开源协作 wiki 与文档软件","ko":"오픈 소스 협업 위키 및 문서화 소프트웨어","tr":"Open-source collaborative wiki and dokümantasyon yazılımı","es-es":"Software colaborativo de wiki y documentacion de codigo abierto"}

icon:
  [encoded data, 8008 characters]

read_me:
  ## 配置和使用说明

  安装完成后，你可以通过 `应用安装目录/config.env` 文件配置其它环境变量，请参考[文档](https://docmost.com/docs/self-hosting/environment-variables)了解更多信息。`config.env` 中环境变量的优先级低于安装时填写的配置。

  如果你没有多用户需求，可以忽略 `config.env`，多用户协作需求则须完成 `config.env` 中的相关配置后重启应用。

  ## 产品介绍

  Docmost，一款开源协作 wiki 与文档软件。专为无缝实时协作而设计，是 Notion 和 Confluence 等产品的开源替代方案。

  ## 主要功能

  - **协作实时编辑器**：实时协作编辑页面。
  - **图表功能**：内置支持 Draw.io、Excalidraw 与 Mermaid 图表工具。
  - **空间管理**：按团队、项目或部门组织页面，实现更高效的协作。
  - **智能搜索（ASK AI）**：直接基于页面内容提问并获取答案。
  - **公开分享**：您可以将页面公开分享，允许任何拥有链接的人查看。
  - **权限管理**：通过直观易懂的权限设置，轻松控制内容的访问权限。
  - **用户组**：通过用户组统一授予权限，操作简便。
  - **评论功能**：可在页面中添加评论，便于沟通和反馈。
  - **页面历史**：通过完整的版本历史来追踪修改记录。
  - **嵌套导航**：您可以通过侧边栏嵌套和重新排序页面。
  - **搜索功能**：凭借强大的搜索能力，快速找到所需信息。
  - **文件附件**：将文件附加到页面，便于参考和共享。
  - **在附件中搜索**：支持在 PDF 和 DOCX 文件附件中搜索内容（企业版功能）
  - **导入/导出**：您可以便捷地以 Markdown 和 HTML 格式导入与导出页面。
    - 压缩包导入
    - Notion 导入
    - Confluence 导入功能（企业版）
  - **阅读/编辑偏好模式**：向意外编辑说再见。
  - **多语言支持**：Docmost 提供超过 10 种语言版本。🇺🇸 🇨🇳 🇫🇷 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇧🇷 🇷🇺 🇪🇸🇺🇦


created_at: 2026-01-29 02:21:10.207723768+08:00
updated_at: 2026-03-23 01:33:11.270581768+08:00
name: Moltbot
key: moltbot
short_desc_zh: 开源、自托管的个人 AI 助手
short_desc_en: Your own personal AI assistant
type: website
status: Normal
website: https://docs.molt.bot
github: https://github.com/moltbot/moltbot
document: https://docs.molt.bot/install/docker
resource: remote
architectures: amd64
description:
  {"en":"Your own personal AI assistant","ja":"あなた専用のパーソナルAIアシスタント","ms":"Pembantu AI peribadi anda sendiri","pt-br":"Seu assistente pessoal de IA","ru":"Ваш личный помощник на базе ИИ","zh-hant":"開源、自托管的個人 AI 助手","zh":"开源、自托管的个人 AI 助手","ko":"나만의 개인 AI 비서","tr":"Kendi kisisel yapay zeka asistaniniz","es-es":"Tu propio asistente personal de IA"}

icon:
  [encoded data, 8552 characters]

read_me:
  ## 产品介绍

  **Moltbot** 是一个开源、自托管的个人 AI 助手与多模型网关，支持在本地或私有环境中集中管理模型、会话与工具调用，适合团队或个人进行可控的 AI 自动化部署。

  - **自托管**：本地或私有环境部署，数据可控；
  - **多模型**：统一入口管理多家模型与配置；
  - **可扩展**：支持工具调用与多渠道接入；
  - **轻量部署**：Docker 即可运行，适配 1Panel 管理流程。

  ## 常用的模型提供商和模型

  - DeepSeek: `deepseek/deepseek-chat`
  - Qwen: `qwen/qwen2.5-coder-32b-instruct`
  - MiniMax: `minimax/MiniMax-M2.1`
  - Moonshot (Kimi): `moonshot/kimi-k2.5`
  - ZAI (GLM): `zai/glm-4.7`
  - OpenAI: `openai/gpt-4o-mini`
  - Anthropic: `anthropic/claude-3-7-sonnet`
  - Gemini: `gemini/gemini-1.5-pro`
  - Groq: `groq/llama-3.1-70b-versatile`
  - Mistral: `mistral/large-latest`
  - Cohere: `cohere/command-r-plus`

  ## 获取 Moltbot Token

  进入安装目录的 `data/conf` 文件夹，
  点击 **moltbot.json** 文件，复制其中 "gateway.auth.token" 的值，用作访问 Moltbot 应用时的 Token。

  ```yaml
  ```json
    "gateway": {
      "mode": "local",
      "auth": {
        "mode": "token",
        "token": "c9917c5a066beeb26266d09baed99495e7563b33c771e89a"
      },
  ```

  ## 访问 Moltbot 

  找到 Moltbot 应用，点击 **跳转** 按钮，在新打开的浏览器地址栏中，在 URL 后添加 `?token=你的 Moltbot Token`。
  成功进入后，即可在 Chat 页面与 Moltbot 进行对话了。


created_at: 2026-01-31 02:21:09.268053865+08:00
updated_at: 2026-03-23 01:33:11.297975826+08:00
name: OpenClaw
key: openclaw
short_desc_zh: 开源、自托管的个人 AI 助理
short_desc_en: Your own personal AI assistant
type: website
status: Normal
website: https://openclaw.ai/
github: https://github.com/openclaw/openclaw
document: https://docs.openclaw.ai/
resource: remote
architectures: amd64,arm64
description:
  {"en":"Your own personal AI assistant","ja":"あなた専用のパーソナルAIアシスタント","ms":"Pembantu AI peribadi anda sendiri","pt-br":"Seu assistente pessoal de IA","ru":"Ваш личный помощник на базе ИИ","zh-hant":"開源、自托管的個人 AI 助理","zh":"开源、自托管的个人 AI 助理","ko":"나만의 개인 AI 비서","tr":"Kendi kisisel yapay zeka asistaniniz","es-es":"Tu propio asistente personal de IA"}

icon:
  [encoded data, 8552 characters]

read_me:
  ## 产品介绍

  **OpenClaw** 是一个运行在你自己设备上的 **个人 AI 助理**。它可以在你已经使用的各种沟通渠道中与你对话，包括：飞书、钉钉、企业微信、QQ、WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Microsoft Teams、WebChat等。

  如果你想要一个可以在本地 7x24 运行的个人 AI 助理，那就是它了。

  **扫码加入交流群**

  <img alt="扫码加入交流群" src="https://resource.fit2cloud.com/1panel/openclaw/img/wechat.png" width="150" height="150">

  ## 核心特性

  - **Local-first Gateway** — 本地优先的网关架构，统一管理会话、渠道、工具和事件的单一控制平面。
  - **多渠道收件箱** — 原生支持 WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、BlueBubbles、Microsoft Teams、Matrix、Zalo、Zalo Personal、WebChat，以及 macOS、iOS / Android。
  - **多 Agent 路由** — 可将不同的接入渠道 / 账号 / 对象路由到相互隔离的 Agent，实现工作区级别和 Agent 级别的会话隔离。
  - **语音唤醒与对话模式** — 在 macOS / iOS / Android 上提供始终在线的语音交互能力，集成 ElevenLabs。
  - **实时 Canvas** — 基于 A2UI 的可视化工作区，由 Agent 驱动，支持实时渲染和交互。
  - **一等公民级工具系统** — 内置浏览器、Canvas、节点（Nodes）、定时任务（Cron）、会话管理，以及 Discord / Slack 行为操作。
  - **配套客户端应用** — 提供 macOS 菜单栏应用，以及 iOS / Android 节点应用。
  - **引导式上手与技能系统** — 通过向导完成初始化，内置并支持托管 / 工作区级技能（Skills）管理。

  ## 公共模型提供商和模型

  - MiniMax: `minimax/MiniMax-M2.1`
  - DeepSeek: `deepseek/deepseek-chat`
  - Qwen: `qwen/qwen2.5-coder-32b-instruct`
  - Moonshot (Kimi): `moonshot/kimi-k2.5`
  - ZAI (GLM): `zai/glm-4.7`
  - OpenAI: `openai/gpt-4o-mini`
  - Anthropic: `anthropic/claude-3-7-sonnet`
  - Gemini: `gemini/gemini-1.5-pro`
  - Groq: `groq/llama-3.1-70b-versatile`
  - Mistral: `mistral/large-latest`
  - Cohere: `cohere/command-r-plus`

  ## 本地 Ollama 模型配置

  ### 1. 安装 Ollama

  1. 在 1Panel 应用商店安装 Ollama ，打开 **AI - 模型** 菜单，添加模型。
  2. 尽量使用较新的模型，推荐如下：
      - qwen3-coder:30b
      - glm-4.7
      - gpt-oss:20b
      - gpt-oss:120b

  > 旧模型大概率不适配，会导致 OpenClaw 无法正常工作。

  ### 2. 安装 OpenClaw

  1. **API Key**：填入任意英文字符即可。
  2. **Base URL**：使用容器名称或 IP 地址，例如：`http://<ollama容器名称或者 IP 地址>:11434/v1`
  3. **模型配置**：格式为 `ollama/<模型名称>`，例如：`ollama/qwen3:14b`

  ## 获取 OpenClaw Token

  进入安装目录的 `data/conf` 文件夹，点击 **openclaw.json** 文件，复制其中 "gateway.auth.token" 的值，用作访问 OpenClaw 应用时的 Token。

  ```json
    "gateway": {
      "mode": "local",
      "auth": {
        "mode": "token",
        "token": "c9917c5a066beeb26266d09baed99495e7563b33c771e89a"
      },
    }
  ```

  ## 访问 OpenClaw 

  找到 OpenClaw 应用，点击 **跳转** 按钮，在新打开的浏览器地址栏中，在 URL 后添加 `?token=你的 OpenClaw Token`。
  成功进入后，即可在 Chat 页面与 OpenClaw 进行对话了。


created_at: 2026-02-05 02:21:09.546827972+08:00
updated_at: 2026-03-23 01:33:11.255613445+08:00
name: Forgejo Actions Runner
key: forgejo-runner
short_desc_zh: Forgejo Runner 是连接 Forgejo 实例并运行持续集成作业的守护进程
type: tool
status: Normal
website: https://forgejo.org
github: https://code.forgejo.org/forgejo/runner
document: https://forgejo.org/docs/latest/admin/actions
resource: remote
architectures: amd64,arm64
short_desc_en:
  Forgejo Runner is a daemon process that connects to a Forgejo instance and runs continuous integration jobs

description:
  {"en":"Forgejo Runner is a daemon process that connects to a Forgejo instance and runs continuous integration jobs","ja":"Forgejo Runner は、Forgejo インスタンスに接続し、継続的インテグレーションジョブを実行するデーモンプロセスです","ms":"Forgejo Runner ialah proses daemon yang menyambung ke contoh Forgejo dan menjalankan kerja integrasi berterusan","pt-br":"Forgejo Runner é um processo daemon que se conecta a uma instância do Forgejo e executa trabalhos de integração contínua","ru":"Forgejo Runner — это процесс-демон, который подключается к экземпляру Forgejo и запускает задания непрерывной интеграции","zh-hant":"Forgejo Runner 是連接 Forgejo 實例並執行持續整合作業的守護行程","zh":"Forgejo Runner 是连接 Forgejo 实例并运行持续集成作业的守护进程","ko":"Forgejo Runner는 Forgejo 인스턴스에 연결하여 지속적 통합 작업을 실행하는 데몬 프로세스입니다","tr":"Forgejo Runner, bir Forgejo ornegine baglanan ve surekli entegrasyon islerini calistiran daemon surecidir","es-es":"Forgejo Runner es un proceso daemon que se conecta a una instancia de Forgejo y ejecuta trabajos de integración continua"}

icon:
  [encoded data, 6648 characters]

read_me:
  ## 产品介绍

  Forgejo Runner 是一个守护进程，用于连接到 Forgejo 实例并运行持续集成 (CI) 作业。该项目是 Forgejo 生态系统的一部分，旨在为 Forgejo 用户提供类似 GitHub Actions 的自动化工作流能力。其核心价值在于为自托管的 Forgejo 实例提供原生的 CI/CD 功能，目标用户是需要自动化构建、测试和部署流程的开发团队和组织，特别是在需要自托管解决方案的场景中。

  ## 主要功能

  - **持续集成作业执行**: 作为守护进程连接到 Forgejo 实例，自动拉取并执行工作流中定义的 CI/CD 任务，支持开发者实现自动化构建、测试和部署流程。

  - **多架构支持**: 目前正式支持在基于 Linux 内核的操作系统上运行，涵盖 `amd64` 和 `arm64` 架构，并提供二进制文件和容器镜像，同时正在积极开发对其他架构 (如 s390x、powerpc64le、riscv64 和 Windows) 的支持。

  - **与 Forgejo 深度集成**: 作为 Forgejo 的原生 Actions 运行器，能够无缝集成到 Forgejo 的工作流系统中，用户可以通过 Forgejo 界面配置和管理自动化任务。

  ## Docker 守护进程运行模式风险提示

  ### Docker outside of Docker (DooD)

  此模式下 Runner 服务容器 (即本应用创建的容器) 及作业容器 (即实际运行工作流的容器) 与宿主机共享 Docker 环境。这可能导致以下风险:
    - 任何在宿主机 Docker 中运行的容器都将被作业容器、服务容器和步骤中的容器访问。例如，如果 Forgejo 或 Forgejo Runner 在相同的主机上作为容器运行，那么作业容器将能够执行对这些容器上的 docker kill 、 docker inspect 或 docker exec 等操作。

    > ```yaml
    > jobs:
    >   docker-access-demo:
    >     runs-on: docker
    >       container:
    >         image: node:lts
    >       services:
    >         postgres:
    >           image: postgres:latest
    >           env:
    >             POSTGRES_PASSWORD: example
    >       steps:
    >        - run: docker run -d --name ubuntu ubuntu:latest
    > ```
    >   上方的示例中，node、postgres、ubuntu 三个容器均可访问到宿主机中的其他容器

    - 将卷挂载到新创建的容器，可能会危及宿主机上的所有存储。诸如`docker run -v /:/host-mount ubuntu`这样的命令出现在工作流中会使整个主机的存储 (包括磁盘上的任何密钥) 暴露给工作流。
    - 工作流创建的工件，例如通过 docker build 构建的镜像，或通过 docker run 创建的容器，都将留在宿主机的 docker 守护进程中。后续在同一运行器上执行的任何工作流都能访问它们，并可能从中提取机密信息。
    - 在 Forgejo Runner 服务容器上配置的资源限制对由工作流创建的作业容器没有任何影响。
    - 通过 Forgejo Runner 的 container.network 指定的网络配置不会应用于工作流创建的任何容器。工作流可以定义诸如 --network=host 等来访问主机操作系统的原生网络。将本地网络资源暴露给这些容器，会带来新的安全风险。

  ### Docker in Docker (DinD)

  此模式下的作业容器 (即实际运行工作流的容器) 与宿主机的 Docker 环境隔离，具有一定的安全性。但是仍需注意:
    - 如果 Forgejo Runner 配置了大于 1 的 runner.capacity 以允许多个并发任务，或者多个 Forgejo Runner 使用相同的 container.docker_host 连接上了同一个 DinD 实例，则作业容器之间可通过 docker 客户端相互查看并交互。这可能允许一个任务容器在运行时窃取另一个正在运行的作业容器的密钥或与其文件交互。
    - DinD 容器将拥有自己的存储，在其容器内的自己的 /var/lib/docker 目录中。这会导致:
      - 主机上的镜像在容器内拉取之前，不会在 DinD 环境内可用；
      - 宿主机上已有的镜像将会在 DinD 环境内额外保存一次；
      - 除非将/var/lib/docker 目录持久化，否则在重建 DinD 容器 (例如升级 docker:dind 镜像时) 会清空该目录，若工作流依赖镜像缓存，则会影响之后工作流的效率。
      - 如果/var/lib/docker 被映射到持久卷，则必须定期执行诸如 docker system prune 之类的维护操作，以确保镜像和卷不会因过时和无用的内容而无限增长。
    - 工作流创建的工件，例如通过 docker build 构建的镜像，或通过 docker run 创建的容器，会留在 DinD 守护进程中。后续在同一运行器上执行的任何工作流都能访问它们，并可能从中提取机密信息。
    - 在 Forgejo Runner 服务容器上配置的资源限制对由工作流创建的作业容器没有任何影响，这些资源实际上将受限于所创建的 DinD 容器的配置。

  ## 配置和使用说明

  - **Forgejo 实例 URL**: (例如 `https://git.example.com`) 
  - **注册令牌**: 从 Create new runner 按钮中获取，仅用于 Runner 实例，需要区别于个人访问令牌 (PAT) 
  - **运行器名称**: 建议为每个 Runner 设置具有描述性的唯一名称 (如 ForgejoRunner-机房-用途-编号)
  - **运行器标签**: 用于标记 Runner 实例，工作流中可以根据标签选择 Runner 执行任务，同一个标签可以绑定多个 Runner 实例
  - 工作流默认将会在基于 `node:lts` 的容器中运行，如何需要使用其他环境，可以在工作流中配置
    ```yaml
    jobs:
      test:
        runs-on: docker
        container:
          image: pytorch/pytorch:2.10.0-cuda13.0-cudnn9-runtime
          options: 
            -v /path/to/folder:/path/to/folder
        steps:
          - run: ls -al /path/to/folder
    ```
  - 工作流默认将会在基于 `node:lts` 的容器中运行，如果需要用到 docker 客户端，需要自行安装
    ```yaml
    on:
      workflow_dispatch:
    jobs:
      test:
        runs-on: docker
        steps:
          - run: |
              curl -fsSL https://get.docker.com | bash
              docker -v
              docker ps
    ```


created_at: 2026-02-05 02:21:09.546827972+08:00
updated_at: 2026-03-23 01:33:11.255752634+08:00
name: Forgejo
key: forgejo
short_desc_zh: 下一代代码托管平台
short_desc_en: The next generation of code hosting platform
type: website
status: Normal
website: https://forgejo.org
github: https://codeberg.org/forgejo/forgejo
document: https://forgejo.org/docs
resource: remote
architectures: amd64,arm64,arm/v6
description:
  {"en":"The next generation of code hosting platform","ja":"次世代のコードホスティングプラットフォーム","ms":"Platform hosting kod generasi seterusnya","pt-br":"A próxima geração de plataforma de hospedagem de código","ru":"Платформа хостинга кода следующего поколения","zh-hant":"下一代代碼託管平台","zh":"下一代代码托管平台","ko":"다음 세대 코드 호스팅 플랫폼","tr":"The next generation of kod barındırma platform","es-es":"The next generation of code hosting plataforma"}

icon:
  [encoded data, 6648 characters]

read_me:
  ## 产品介绍

  Forgejo 是一个轻量级、隐私优先的自托管 Git 服务平台，由独立社区驱动。项目于 2022 年从 Gitea 分叉而来，旨在提供一个永远独立、自由的软件协作平台，避免大型平台的垄断。Forgejo 提供直观的界面、易于部署的特性，并包含丰富的内置功能，适合个人、团队、公司或社区进行代码托管、项目管理和协作开发。其核心价值在于强调隐私、社区所有权和可定制性，目标用户包括需要自托管 Git 服务的开发者、开源项目维护者以及注重数据控制权的组织。

  ## 主要功能

  - **完整的 Git 托管**：提供完整的 Git 仓库托管功能，支持分支、标签、代码浏览和历史管理等基本操作，可在树莓派等低资源设备上轻松运行。
  - **项目管理与协作**：内置问题追踪、拉取请求、Wiki 文档、看板 (Kanban) 等协作工具，帮助团队高效协调开发进度和沟通。
  - **软件发布与包管理**：通过“发布”功能托管软件下载，并提供包注册表 (Package Registry) 支持 Docker、npm 等多种包管理器的软件发布与分发。
  - **高级功能**：提供丰富的配置选项和主题定制，支持组织与团队权限、CI/CD 集成、代码搜索、LDAP、OAuth 等企业级需求。
  - **去中心化互联(开发中)**：正在开发基于 ActivityPub 的去中心化互联功能，以实现不同 Forgejo 实例之间的互联与协作。


created_at: 2026-02-06 02:21:11.148018787+08:00
updated_at: 2026-03-23 01:33:11.250256492+08:00
name: Keycloak
key: keycloak
short_desc_zh: 面向现代应用与服务的开源身份和访问管理器
short_desc_en: Open Source Identity and Access Management For Modern Applications and Services
type: website
status: Normal
website: https://www.keycloak.org
github: https://github.com/keycloak/keycloak
document: https://www.keycloak.org/getting-started/getting-started-docker
resource: remote
architectures: amd64,arm64,ppc64le
description:
  {"en":"Open Source Identity and Access Management For Modern Applications and Services","ja":"モダンなアプリケーションとサービスのためのオープンソースのアイデンティティおよびアクセス管理","ms":"Pengurusan Identiti dan Akses Sumber Terbuka Untuk Aplikasi dan Perkhidmatan Moden","pt-br":"Gerenciamento de Identidade e Acesso de Código Aberto Para Aplicações e Serviços Modernos","ru":"Управление идентификацией и доступом с открытым исходным кодом для современных приложений и сервисов","zh-hant":"面向現代應用與服務的開源身份和存取管理器","zh":"面向现代应用与服务的开源身份和访问管理器","ko":"현대 애플리케이션 및 서비스를 위한 오픈 소스 신원 및 액세스 관리","tr":"Modern uygulama ve hizmetler icin acik kaynak kimlik ve erisim yonetimi","es-es":"De código abierto Identity and Access Management For Modern Applications and Services"}

icon:
  [encoded data, 5908 characters]

read_me:
  ## 默认账户密码

  用户名: `admin`

  密码: 前往应用商店，在应用的参数配置中获取

  ## 配置和使用说明

  - admin 是临时管理员账户，首次登录后请新建一个账户，**并为其分配管理员角色**，再将 admin 账户删除。
    1. 左侧栏找到 Users, Add Users 创建一个账户
    2. 选择 Credentials 页签为账户设置密码
    3. 选择 Role mapping 页签，点击 Assign role，选择 Realm roles
    4. 勾选 admin (role_admin) 后 Assign
    5. 删除 admin 账户
  - Keycloak 支持 i18n，但需要手动启用
    - 左侧栏找到 Realm settings, 选择 Localization 页签，启用 Internationalization 后选择你的支持区域

  ## 产品介绍

  Keycloak 是一个开源的 **身份和访问管理 (IAM)** 平台，专为现代应用程序和服务设计。它的核心目标是简化应用程序的身份验证和授权流程，使开发者无需自行处理用户存储、认证逻辑等复杂的安全问题。

  ## 主要功能

  - **标准化身份协议支持**: 原生支持 OpenID Connect、OAuth 2.0 和 SAML 等主流身份协议，使应用程序能够轻松集成单点登录 (SSO) 和社会化登录 (如 Google、GitHub 等) 。
  - **用户联邦与集中管理**: 允许从外部用户存储 (如 LDAP、Active Directory、Kerberos) 同步用户，并提供统一的用户管理界面，简化用户生命周期管理 (创建、更新、删除、角色分配) 。
  - **细粒度授权与访问控制**: 提供基于角色 (RBAC) 和属性 (ABAC) 的精细化授权策略，支持动态权限管理和策略决策，确保应用程序和服务的安全访问。
  - **强身份验证机制**: 内置多因素认证 (MFA) 、条件访问、密码策略和身份验证流程定制，增强账户安全性，满足合规性要求。


created_at: 2026-02-10 02:21:10.625755539+08:00
updated_at: 2026-03-23 01:33:11.242445211+08:00
name: Komari
key: komari
short_desc_zh: 轻量级的自托管服务器监控工具
short_desc_en: A lightweight self-hosted server monitoring tool
type: website
status: Normal
website: https://www.komari.wiki
github: https://github.com/komari-monitor/komari
document: https://www.komari.wiki/install/quick-start.html
resource: remote
architectures: amd64,arm64
description:
  {"en":"A lightweight self-hosted server monitoring tool","ja":"軽量なセルフホスト型サーバーモニタリングツール","ms":"Alat pemantauan pelayan yang dihoskan sendiri yang ringan","pt-br":"Uma ferramenta leve de monitoramento de servidor auto-hospedado","ru":"Легкий инструмент для самостоятельного мониторинга сервера","zh-hant":"輕量級的自架伺服器監控工具","zh":"轻量级的自托管服务器监控工具","ko":"경량 셀프 호스팅 서버 모니터링 도구","tr":"Hafif ve self-hosted sunucu izleme araci","es-es":"Un ligero autoalojado servidor monitorización herramienta"}

icon:
  [encoded data, 6988 characters]

read_me:
  ## 使用说明

  > 默认端口号为 **25774**，后台账号为 **admin**，后台密码为 **password+随机**，请在安装填写信息的时候及时修改
  > 如果填写的时候未记住或忘记那么可以通过容器日志查看
  > 例如 **1Panel-localkomari-pThk  | 2026/02/09 08:08:13 [INFO] Default admin account created. Username: admin , Password: password_jWZ62s (github.com/komari-monitor/komari/cmd/server.go:391)**
  > 其中 **Username: admin , Password: password_jWZ62s** 就是你的用户名和密码

  ## 产品介绍

  **Komari** 是一款轻量级的自托管服务器监控工具，旨在提供简单、高效的服务器性能监控解决方案。它支持通过 Web 界面查看服务器状态，并通过轻量级 Agent 收集数据。

  ## 主要功能

  - **轻量高效**：低资源占用，适合各种规模的服务器。
  - **自托管**：完全掌控数据隐私，部署简单。
  - **Web 界面**：直观的监控仪表盘，易于使用。


created_at: 2026-03-01 02:21:11.606229458+08:00
updated_at: 2026-03-23 01:33:11.266671637+08:00
name: CoPaw
key: copaw
short_desc_zh: 阿里开源的 AI 个人助理
short_desc_en: An open-source AI personal assistant by Alibaba
type: website
status: Normal
website: http://copaw.agentscope.io/
github: https://github.com/agentscope-ai/copaw
document: https://copaw.agentscope.io/docs/intro
resource: remote
architectures: amd64,arm64
description:
  {"en":"An open-source AI personal assistant by Alibaba","ja":"アリババがオープンソース化したAIパーソナルアシスタント","ms":"Asisten Pribadi AI sumber terbuka oleh Alibaba","pt-br":"Um assistente pessoal de IA de código aberto da Alibaba","ru":"Открытый персональный помощник ИИ от Alibaba","zh-hant":"阿里開源的 AI 個人助理","zh":"阿里开源的 AI 个人助理","ko":"알리바바의 오픈 소스 AI 개인 비서","tr":"Alibaba tarafindan gelistirilen acik kaynakli yapay zeka kisisel asistani","es-es":"Un open-source AI personal assistant by Alibaba"}

icon:
  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

read_me:
  ## 产品介绍

  **CoPaw** 是阿里开源的 AI 个人助理；安装极简、本地与云上均可部署；支持多端接入、能力轻松扩展。

  **扫码加入交流群**

  <img alt="扫码加入交流群" src="https://resource.fit2cloud.com/1panel/copaw/img/wechat.png" width="150" height="150">

  ## 核心能力

  * **全域触达** — 钉钉、飞书、QQ、Discord、iMessage 等频道，一个 CoPaw 按需连接。
  * **由你掌控** — 记忆与个性化由你掌控，本地或云端均可；定时与协作发往指定频道。
  * **Skills 扩展** — 内置定时任务，自定义技能目录，CoPaw 自动加载，无绑定。


created_at: 2026-03-04 02:21:11.03190584+08:00
updated_at: 2026-03-23 01:33:11.298595414+08:00
name: Tiny RDM
key: tinyrdm
short_desc_zh: 一个现代化轻量级的跨平台 Redis 客户端
short_desc_en: A modern, lightweight, cross-platform Redis client
type: website
status: Normal
website: https://www.tinyrdm.com
github: https://github.com/tiny-craft/tiny-rdm
document: https://www.tinyrdm.com/guide/
resource: remote
architectures: amd64,arm64
description:
  {"en":"A modern, lightweight, cross-platform Redis client","ja":"最新の軽量なクロスプラットフォーム Redis クライアント","ms":"Klien Redis merentas platform yang moden, ringan","pt-br":"TUm cliente Redis moderno, leve e multiplataforma","ru":"Современный, легковесный, кроссплатформенный клиент Redis","zh-hant":"一個現代化輕量級的跨平台 Redis 客戶端","zh":"一个现代化轻量级的跨平台 Redis 客户端","ko":"최신 기술을 적용한 경량의 크로스 플랫폼 Redis 클라이언트입니다","tr":"Bir modern, hafif, cross-platform Redis istemci","es-es":"Un moderno, ligero, cross-plataforma Redis cliente"}

icon:
  [encoded data, 10380 characters]

read_me:
  ## 产品介绍

  **Tiny RDM** 一个现代化轻量级的跨平台Redis桌面客户端，支持Mac、Windows和Linux，同时提供Web版本，可通过Docker快速部署

  ## 主要功能

  - 极度轻量，基于Webview2，无内嵌浏览器
  - 界面精美易用，提供浅色/深色主题
  - 多国语言支持：英文/中文
  - 更好用的连接管理：支持SSH隧道/SSL/哨兵模式/集群模式/HTTP代理/SOCKS5代理
  - 可视化键值操作，增删查改一应俱全
  - 支持多种数据查看格式以及转码/解压方式
  - 采用SCAN分段加载，可轻松处理数百万键列表
  - 操作命令执行日志展示
  - 提供命令行操作
  - 提供慢日志展示
  - List/Hash/Set/Sorted Set的分段加载和查询
  - List/Hash/Set/Sorted Set值的转码显示
  - 内置高级编辑器Monaco Editor
  - 支持命令实时监控
  - 支持导入/导出数据
  - 支持发布订阅
  - 支持导入/导出连接配置
  - 自定义数据展示编码/解码


# script_libraries

created_at: 2026-01-16 23:14:41.86837495+08:00
updated_at: 2026-01-16 23:14:41.86837495+08:00
name:
  {"en":"Install ClamAV","es-es":"Instalar ClamAV","ja":"ClamAVをインストール","ko":"ClamAV 설치","ms":"Pasang ClamAV","pt-br":"Instalar ClamAV","ru":"Установить ClamAV","tr":"ClamAV Kur","zh":"安装 ClamAV","zh-hant":"安裝 ClamAV"}

script:
  #!/bin/bash

  # Install ClamAV
  # Support Ubuntu/Debian/CentOS/RHEL/Alpine/Arch Linux

  set -e

  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLOW='\033[0;33m'
  NC='\033[0m' # No Color

  detect_os() {
      if [ -f /etc/os-release ]; then
          . /etc/os-release
          OS=$ID
          VERSION=$VERSION_ID
      elif type lsb_release >/dev/null 2>&1; then
          OS=$(lsb_release -si | tr '[:upper:]' '[:lower:]')
          VERSION=$(lsb_release -sr)
      elif [ -f /etc/redhat-release ]; then
          OS="rhel"
          VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
      elif [ -f /etc/alpine-release ]; then
          OS="alpine"
          VERSION=$(cat /etc/alpine-release)
      else
          OS=$(uname -s | tr '[:upper:]' '[:lower:]')
          VERSION=$(uname -r)
      fi
  }

  install_clamav() {
      echo -e "${GREEN}Detected system: $OS $VERSION${NC}"

      case "$OS" in
          ubuntu|debian)
              apt-get update
              apt-get install -y clamav clamav-daemon clamav-freshclam
              ;;
          centos|rhel|fedora)
              if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                  dnf install -y epel-release
                  dnf install -y clamav clamd clamav-update
              else
                  yum install -y epel-release
                  yum install -y clamav clamd clamav-update
              fi
              ;;
          alpine)
              apk add --no-cache clamav clamav-libunrar clamav-daemon clamav-freshclam
              ;;
          arch)
              pacman -Sy --noconfirm clamav
              ;;
          *)
              echo -e "${RED}Unsupported system${NC}"
              exit 1
              ;;
      esac
  }

  configure_clamd() {
      echo -e "${GREEN}Configure clamd...${NC}"
      
      CLAMD_CONF=""
      if [ -f "/etc/clamd.d/scan.conf" ]; then
          CLAMD_CONF="/etc/clamd.d/scan.conf"
      elif [ -f "/etc/clamav/clamd.conf" ]; then
          CLAMD_CONF="/etc/clamav/clamd.conf"
      else
          echo "clamd configuration file not found, please manually configure"
          exit 1
      fi
      cp "$CLAMD_CONF" "$CLAMD_CONF.bak"

      sed -i -E 's|^#\s?LogFileMaxSize\s+.*|LogFileMaxSize 2M|' "$CLAMD_CONF"
      sed -i -E 's|^#\s?PidFile\s+.*|PidFile /run/clamd.scan/clamd.pid|' "$CLAMD_CONF"
      sed -i -E 's|^#\s?DatabaseDirectory\s+.*|DatabaseDirectory /var/lib/clamav|' "$CLAMD_CONF"
      sed -i -E 's|^#\s?LocalSocket\s+.*|LocalSocket /run/clamd.scan/clamd.sock|' "$CLAMD_CONF"
  }

  configure_freshclam() {
      echo -e "${GREEN}Configure freshclam...${NC}"
      
      FRESHCLAM_CONF=""
      if [ -f "/etc/freshclam.conf" ]; then
          FRESHCLAM_CONF="/etc/freshclam.conf"
      elif [ -f "/etc/clamav/freshclam.conf" ]; then
          FRESHCLAM_CONF="/etc/clamav/freshclam.conf"
      else
          echo "freshclam configuration file not found, please manually configure"
          exit 1
      fi
      cp "$FRESHCLAM_CONF" "$FRESHCLAM_CONF.bak"

      sed -i -E 's|^#\s?DatabaseDirectory\s+.*|DatabaseDirectory /var/lib/clamav|' "$FRESHCLAM_CONF"
      sed -i -E 's|^#\s?PidFile\s+.*|PidFile /var/run/freshclam.pid|' "$FRESHCLAM_CONF"
      sed -i '/^DatabaseMirror/d' "$FRESHCLAM_CONF"
      echo "DatabaseMirror database.clamav.net" | sudo tee -a "$FRESHCLAM_CONF"
      sed -i -E 's|^#\s?Checks\s+.*|Checks 12|' "$FRESHCLAM_CONF"
  }

  download_database() {
      systemctl stop clamav-freshclam
      echo -e "${GREEN}The virus database starts to download...${NC}"
      
      MAX_RETRIES=5
      RETRY_DELAY=60
      ATTEMPT=1
      
      while [ $ATTEMPT -le $MAX_RETRIES ]; do
          echo -e "${YELLOW}Try $ATTEMPT/$MAX_RETRIES: run freshclam...${NC}"
          
          if freshclam --verbose; then
              echo -e "${GREEN}Download successfully${NC}"
              return 0
          fi
          
          if [ $ATTEMPT -lt $MAX_RETRIES ]; then
              echo -e "${YELLOW}Download failed, wait $RETRY_DELAY seconds and try again...${NC}"
              sleep $RETRY_DELAY
          fi
          
          ATTEMPT=$((ATTEMPT+1))
      done
      
      echo -e "${RED}Error: Unable to download virus database after $MAX_RETRIES attempt${NC}" >&2
      exit 1
  }

  start_services() {
      echo -e "${GREEN}Start ClamAV...${NC}"
      
      case "$OS" in
          ubuntu|debian)
              systemctl enable --now clamav-daemon
              systemctl enable --now clamav-freshclam
              ;;
          centos|rhel|fedora)
              systemctl enable --now clamd@scan
              systemctl enable --now clamav-freshclam
              ;;
          alpine)
              rc-update add clamd boot
              rc-update add freshclam boot
              rc-service clamd start
              rc-service freshclam start
              ;;
          arch)
              systemctl enable --now clamav-daemon
              systemctl enable --now clamav-freshclam
              ;;
          *)
              echo -e "${YELLOW}The service cannot be started automatically. Please start manually!${NC}"
              ;;
      esac
      
     if ! command -v clamscan &> /dev/null; then
          echo -e "${RED}Install ClamAV failed${NC}"
          exit 1
      fi
      
      echo -e "${GREEN}ClamAV is installed and started${NC}"
  }

  main() {
      detect_os
      install_clamav
      configure_clamd
      configure_freshclam
      download_database
      start_services
  }

  main "$@"


created_at: 2026-01-16 23:14:41.869121989+08:00
updated_at: 2026-01-16 23:14:41.869121989+08:00
name:
  {"en":"Install Fail2ban","es-es":"Instalar Fail2ban","ja":"Fail2banをインストール","ko":"Fail2ban 설치","ms":"Pasang Fail2ban","pt-br":"Instalar Fail2ban","ru":"Установить Fail2ban","tr":"Fail2ban Kur","zh":"安装 Fail2ban","zh-hant":"安裝 Fail2ban"}

script:
  #!/bin/bash

  # Install Fail2ban
  # Support Ubuntu/Debian/CentOS/RHEL/Almalinux/Alpine/Arch Linux

  set -e

  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLOW='\033[0;33m'
  NC='\033[0m' # No Color


  detect_os() {
      if [ -f /etc/os-release ]; then
          . /etc/os-release
          OS=$ID
          VERSION=$VERSION_ID
      elif type lsb_release >/dev/null 2>&1; then
          OS=$(lsb_release -si | tr '[:upper:]' '[:lower:]')
          VERSION=$(lsb_release -sr)
      elif [ -f /etc/redhat-release ]; then
          OS="rhel"
          VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
      elif [ -f /etc/alpine-release ]; then
          OS="alpine"
          VERSION=$(cat /etc/alpine-release)
      else
          OS=$(uname -s | tr '[:upper:]' '[:lower:]')
          VERSION=$(uname -r)
      fi
  }

  install_fail2ban() {
      echo -e "${GREEN}Detected system: $OS $VERSION${NC}"

      case "$OS" in
          ubuntu|debian)
              apt-get update
              if ! command -v rsyslogd >/dev/null 2>&1; then
                  echo -e "${YELLOW}rsyslog not installed. installing rsyslog...${NC}"
                  apt-get install -y rsyslog
              else
                  echo -e "${GREEN}rsyslog is already installed.${NC}"
              fi
              apt-get install -y fail2ban
              ;;
          centos|rhel|fedora|almalinux)
              if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                  dnf install -y epel-release
                  dnf install -y fail2ban
              else
                  yum install -y epel-release
                  yum install -y fail2ban
              fi
              ;;
          alpine)
              apk add --no-cache fail2ban
              ;;
          arch)
              pacman -Sy --noconfirm fail2ban
              ;;
          *)
              echo -e "${RED}Unsupported system${NC}"
              exit 1
              ;;
      esac
  }

  configure_fail2ban() {
      echo -e "${GREEN}Configure Fail2ban...${NC}"
      
      FAIL2BAN_CONF="/etc/fail2ban/jail.local"
      LOG_FILE=""
      BAN_ACTION=""

      if systemctl is-active --quiet firewalld 2>/dev/null; then
          BAN_ACTION="firewallcmd-ipset"
      elif systemctl is-active --quiet ufw 2>/dev/null || service ufw status 2>/dev/null | grep -q "active"; then
          BAN_ACTION="ufw"
      else
          BAN_ACTION="iptables-allports"
      fi

      if [ -f /var/log/secure ]; then
          LOG_FILE="/var/log/secure"
      else
          LOG_FILE="/var/log/auth.log"
          [ -f "$LOG_FILE" ] || touch "$LOG_FILE"
      fi

      cat <<EOF > "$FAIL2BAN_CONF"
  #DEFAULT-START
  [DEFAULT]
  bantime = 600
  findtime = 300
  maxretry = 5
  banaction = $BAN_ACTION
  action = %(action_mwl)s
  #DEFAULT-END

  [sshd]
  ignoreip = 127.0.0.1/8
  enabled = true
  filter = sshd
  port = 22
  maxretry = 5
  findtime = 300
  bantime = 600
  banaction = $BAN_ACTION
  action = %(action_mwl)s
  logpath = $LOG_FILE
  EOF
  }

  start_service() {
      echo -e "${GREEN}Start Fail2ban...${NC}"
      
      case "$OS" in
          ubuntu|debian)
              systemctl enable fail2ban
              systemctl restart fail2ban
              ;;
          centos|rhel|fedora|almalinux)
              systemctl enable fail2ban
              systemctl restart fail2ban
              ;;
          alpine)
              rc-update add fail2ban
              rc-service fail2ban start
              ;;
          arch)
              systemctl enable fail2ban
              systemctl restart fail2ban
              ;;
          *)
              echo -e "${YELLOW}The service cannot be started automatically. Please start manually!${NC}"
              ;;
      esac

      if command -v systemctl &> /dev/null; then
          systemctl status fail2ban || true
      else
          rc-service fail2ban status || true
      fi

      echo -e "${GREEN}Fail2ban is installed and started${NC}"
  }

  main() {
      detect_os
      install_fail2ban
      configure_fail2ban
      start_service
  }

  main "$@"


created_at: 2026-01-16 23:14:41.869741724+08:00
updated_at: 2026-01-16 23:14:41.869741724+08:00
name:
  {"en":"Install Pure-FTPd","es-es":"Instalar Pure-FTPd","ja":"Pure-FTPdをインストール","ko":"Pure-FTPd 설치","ms":"Pasang Pure-FTPd","pt-br":"Instalar Pure-FTPd","ru":"Установить Pure-FTPd","tr":"Pure-FTPd Kur","zh":"安装 Pure-FTPd","zh-hant":"安裝 Pure-FTPd"}

script:
  #!/bin/bash

  # Install Pure-FTPd
  # Support Ubuntu/Debian/CentOS/RHEL/Alpine/Arch Linux

  set -e

  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLOW='\033[0;33m'
  NC='\033[0m' # No Color


  detect_os() {
      if [ -f /etc/os-release ]; then
          . /etc/os-release
          OS=$ID
          VERSION=$VERSION_ID
      elif type lsb_release >/dev/null 2>&1; then
          OS=$(lsb_release -si | tr '[:upper:]' '[:lower:]')
          VERSION=$(lsb_release -sr)
      elif [ -f /etc/redhat-release ]; then
          OS="rhel"
          VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
      elif [ -f /etc/alpine-release ]; then
          OS="alpine"
          VERSION=$(cat /etc/alpine-release)
      else
          OS=$(uname -s | tr '[:upper:]' '[:lower:]')
          VERSION=$(uname -r)
      fi
  }

  install_pureftpd() {
      echo -e "${GREEN}Detected system: $OS $VERSION${NC}"

      case "$OS" in
          ubuntu|debian)
              apt-get update
              apt-get install -y pure-ftpd
              ;;
          centos|rhel|fedora)
              if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                  dnf install -y epel-release
                  dnf install -y pure-ftpd
              else
                  yum install -y epel-release
                  yum install -y pure-ftpd
              fi
              ;;
          alpine)
              apk add --no-cache pure-ftpd
              ;;
          arch)
              pacman -Sy --noconfirm pure-ftpd
              ;;
          *)
              echo -e "${RED}Unsupported system${NC}"
              exit 1
              ;;
      esac

      if ! command -v pure-ftpd &> /dev/null; then
          echo -e "${RED}Install Pure-FTPd failed${NC}"
          exit 1
      fi
  }

  configure_pureftpd() {
      echo -e "${GREEN}Configure Pure-FTPd...${NC}"
      
      if [ ! -d "/etc/pure-ftpd/conf" ]; then
          PURE_FTPD_CONF="/etc/pure-ftpd/pure-ftpd.conf"
          cp "$PURE_FTPD_CONF" "$PURE_FTPD_CONF.bak"
          sed -i 's/^NoAnonymous[[:space:]]\+no$/NoAnonymous yes/' "$PURE_FTPD_CONF"
          sed -i 's/^PAMAuthentication[[:space:]]\+yes$/PAMAuthentication no/' "$PURE_FTPD_CONF"
          sed -i 's/^# PassivePortRange[[:space:]]\+30000 50000$/PassivePortRange 39000 40000/' "$PURE_FTPD_CONF"
          sed -i 's/^VerboseLog[[:space:]]\+no$/VerboseLog yes/' "$PURE_FTPD_CONF"
          sed -i 's/^# PureDB[[:space:]]\+\/etc\/pure-ftpd\/pureftpd\.pdb[[:space:]]*$/PureDB \/etc\/pure-ftpd\/pureftpd.pdb/' "$PURE_FTPD_CONF"
      else
          touch /etc/pure-ftpd/pureftpd.pdb
          chmod 644 /etc/pure-ftpd/pureftpd.pdb
          echo '/etc/pure-ftpd/pureftpd.pdb' > /etc/pure-ftpd/conf/PureDB
          echo yes > /etc/pure-ftpd/conf/VerboseLog 
          echo yes > /etc/pure-ftpd/conf/NoAnonymous
          echo '39000 40000' > /etc/pure-ftpd/conf/PassivePortRange
          echo 'no' > /etc/pure-ftpd/conf/PAMAuthentication
          echo 'no' > /etc/pure-ftpd/conf/UnixAuthentication
          echo 'clf:/var/log/pure-ftpd/transfer.log' > /etc/pure-ftpd/conf/AltLog
          ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50puredb
      fi
  }

  start_service() {
      echo -e "${GREEN}Start Pure-FTPd...${NC}"
      
      case "$OS" in
          ubuntu|debian)
              systemctl enable pure-ftpd
              systemctl restart pure-ftpd
              ;;
          centos|rhel|fedora)
              systemctl enable pure-ftpd
              systemctl restart pure-ftpd
              ;;
          alpine)
              rc-update add pure-ftpd
              rc-service pure-ftpd start
              ;;
          arch)
              systemctl enable pure-ftpd
              systemctl restart pure-ftpd
              ;;
          *)
              echo -e "${YELLOW}The service cannot be started automatically. Please start manually!${NC}"
              ;;
      esac

      if command -v systemctl &> /dev/null; then
          systemctl status pure-ftpd || true
      else
          rc-service pure-ftpd status || true
      fi

      echo -e "${GREEN}Pure-FTPd is installed and started${NC}"
  }

  main() {
      detect_os
      install_pureftpd
      configure_pureftpd
      start_service
  }

  main "$@"


created_at: 2026-01-16 23:14:41.870256089+08:00
updated_at: 2026-01-16 23:14:41.870256089+08:00
name:
  {"en":"Install Supervisor","es-es":"Instalar Supervisor","ja":"Supervisorをインストール","ko":"Supervisor 설치","ms":"Pasang Supervisor","pt-br":"Instalar Supervisor","ru":"Установить Supervisor","tr":"Supervisor Kur","zh":"安装 Supervisor","zh-hant":"安裝 Supervisor"}

script:
  #!/bin/bash

  # Install Supervisor
  # Support Ubuntu/Debian/CentOS/RHEL/Alpine/Arch Linux

  set -e

  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLOW='\033[0;33m'
  NC='\033[0m' # No Color

  detect_os() {
      if [ -f /etc/os-release ]; then
          . /etc/os-release
          OS=$ID
          VERSION=$VERSION_ID
      elif type lsb_release >/dev/null 2>&1; then
          OS=$(lsb_release -si | tr '[:upper:]' '[:lower:]')
          VERSION=$(lsb_release -sr)
      elif [ -f /etc/redhat-release ]; then
          OS="rhel"
          VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
      elif [ -f /etc/alpine-release ]; then
          OS="alpine"
          VERSION=$(cat /etc/alpine-release)
      else
          OS=$(uname -s | tr '[:upper:]' '[:lower:]')
          VERSION=$(uname -r)
      fi
  }

  install_supervisor() {
      echo -e "${GREEN}Detected system: $OS $VERSION${NC}"

      case "$OS" in
          ubuntu|debian)
              apt-get update
              apt-get install -y supervisor
              ;;
          centos|rhel|fedora)
              if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                  dnf install -y supervisor
              else
                  yum install -y supervisor
              fi
              ;;
          alpine)
              apk add --no-cache supervisor
              mkdir -p /etc/supervisor.d
              ;;
          arch)
              pacman -Sy --noconfirm supervisor
              ;;
          *)
              echo -e "${RED}Unsupported system${NC}"
              exit 1
              ;;
      esac
  }

  start_service() {
      echo -e "${GREEN}Start Supervisor...${NC}"
      
      case "$OS" in
          ubuntu|debian)
              systemctl enable supervisor
              systemctl restart supervisor
              ;;
          centos|rhel|fedora)
              systemctl enable supervisor
              systemctl restart supervisor
              ;;
          alpine)
              rc-update add supervisor
              rc-service supervisor start
              ;;
          arch)
              systemctl enable supervisor
              systemctl restart supervisor
              ;;
          *)
              echo -e "${YELLOW}The service cannot be started automatically. Please start manually!${NC}"
              ;;
      esac

      if command -v systemctl &> /dev/null; then
          systemctl status supervisor || true
      else
          rc-service supervisor status || true
      fi

       echo -e "${GREEN}Supervisor is installed and started${NC}"
  }

  main() {
      detect_os
      install_supervisor
      start_service
  }

  main "$@"


created_at: 2026-01-16 23:14:41.871494334+08:00
updated_at: 2026-01-16 23:14:41.871494334+08:00
name:
  {"en":"Install Rsync","es-es":"Instalar Rsync","ja":"Rsyncをインストール","ko":"Rsync 설치","ms":"Pasang Rsync","pt-br":"Instalar Rsync","ru":"Установить Rsync","tr":"Rsync Kur","zh":"安装 Rsync","zh-hant":"安裝 Rsync"}

script:
  #!/bin/bash
  # Install and Configure Rsync
  # Support Ubuntu/Debian/CentOS/RHEL/Alpine/Arch Linux

  set -e

  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLOW='\033[0;33m'
  BLUE='\033[0;34m'
  NC='\033[0m' # No Color

  detect_os() {
      if [ -f /etc/os-release ]; then
          . /etc/os-release
          OS=$ID
          VERSION=$VERSION_ID
      elif type lsb_release >/dev/null 2>&1; then
          OS=$(lsb_release -si | tr '[:upper:]' '[:lower:]')
          VERSION=$(lsb_release -sr)
      elif [ -f /etc/redhat-release ]; then
          OS="rhel"
          VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
      elif [ -f /etc/alpine-release ]; then
          OS="alpine"
          VERSION=$(cat /etc/alpine-release)
      else
          OS=$(uname -s | tr '[:upper:]' '[:lower:]')
          VERSION=$(uname -r)
      fi
  }

  install_rsync() {
      echo -e "${GREEN}Detected system: $OS $VERSION${NC}"
      
      # Check if rsync is already installed
      if command -v rsync >/dev/null 2>&1; then
          echo -e "${YELLOW}Rsync is already installed: $(rsync --version | head -n1)${NC}"
          return 0
      fi

      echo -e "${BLUE}Installing rsync...${NC}"
      
      case "$OS" in
          ubuntu|debian)
              apt-get update
              apt-get install -y rsync
              ;;
          centos|rhel|fedora)
              if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                  dnf install -y rsync
              else
                  yum install -y rsync
              fi
              ;;
          alpine)
              apk add --no-cache rsync
              ;;
          arch)
              pacman -Sy --noconfirm rsync
              ;;
          *)
              echo -e "${RED}Unsupported system: $OS${NC}"
              exit 1
              ;;
      esac
      
      echo -e "${GREEN}Rsync installed successfully!${NC}"
  }

  configure_rsync() {
      echo -e "${GREEN}Configuring rsync...${NC}"
      
      RSYNCD_CONF="/etc/rsyncd.conf"
      RSYNCD_SECRETS="/etc/rsyncd.secrets"
      RSYNCD_MOTD="/etc/rsyncd.motd"
      
      # Create basic rsyncd.conf if it doesn't exist
      if [ ! -f "$RSYNCD_CONF" ]; then
          echo -e "${BLUE}Creating basic rsyncd.conf...${NC}"
          cat <<EOF > "$RSYNCD_CONF"
  # Rsync daemon configuration
  # Global settings
  uid = nobody
  gid = nobody
  use chroot = yes
  max connections = 4
  pid file = /var/run/rsyncd.pid
  exclude = lost+found/
  transfer logging = yes
  timeout = 600
  ignore nonreadable = yes
  dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

  # Example module (commented out)
  #[backup]
  #    path = /home/backup
  #    comment = Backup Directory
  #    read only = false
  #    list = yes
  #    uid = root
  #    gid = root
  #    auth users = backup
  #    secrets file = /etc/rsyncd.secrets

  EOF
          echo -e "${GREEN}Basic rsyncd.conf created at $RSYNCD_CONF${NC}"
      else
          echo -e "${YELLOW}rsyncd.conf already exists at $RSYNCD_CONF${NC}"
      fi
      
      # Create motd file
      if [ ! -f "$RSYNCD_MOTD" ]; then
          cat <<EOF > "$RSYNCD_MOTD"
  Welcome to this rsync server.
  EOF
          echo -e "${GREEN}Created rsyncd.motd at $RSYNCD_MOTD${NC}"
      fi
      
      # Create example secrets file (with restrictive permissions)
      if [ ! -f "$RSYNCD_SECRETS" ]; then
          cat <<EOF > "$RSYNCD_SECRETS"
  # Format: username:password
  # Example:
  # backup:your_secure_password_here
  EOF
          chmod 600 "$RSYNCD_SECRETS"
          echo -e "${GREEN}Created example rsyncd.secrets at $RSYNCD_SECRETS${NC}"
          echo -e "${YELLOW}Remember to set proper passwords in $RSYNCD_SECRETS${NC}"
      fi
  }

  setup_systemd_service() {
      echo -e "${BLUE}Setting up rsync daemon service...${NC}"
      
      if command -v systemctl >/dev/null 2>&1; then
          # Check if rsync service exists
          if systemctl list-unit-files | grep -q "^rsync.service"; then
              echo -e "${GREEN}Rsync systemd service already exists${NC}"
          else
              # Create systemd service file if it doesn't exist
              SYSTEMD_SERVICE="/etc/systemd/system/rsync.service"
              if [ ! -f "$SYSTEMD_SERVICE" ]; then
                  cat <<EOF > "$SYSTEMD_SERVICE"
  [Unit]
  Description=Rsync daemon
  After=network.target

  [Service]
  Type=notify
  ExecStart=/usr/bin/rsync --daemon --no-detach
  ExecReload=/bin/kill -HUP \$MAINPID
  KillMode=process
  Restart=on-failure
  RestartSec=1

  [Install]
  WantedBy=multi-user.target
  EOF
                  echo -e "${GREEN}Created systemd service file${NC}"
              fi
          fi
          
          # Reload systemd and enable service
          systemctl daemon-reload
          systemctl enable rsync
          echo -e "${GREEN}Rsync daemon service enabled${NC}"
      fi
  }

  setup_xinetd_service() {
      echo -e "${BLUE}Setting up rsync with xinetd...${NC}"
      
      # Install xinetd if not present
      case "$OS" in
          ubuntu|debian)
              if ! command -v xinetd >/dev/null 2>&1; then
                  apt-get install -y xinetd
              fi
              ;;
          centos|rhel|fedora)
              if ! command -v xinetd >/dev/null 2>&1; then
                  if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                      dnf install -y xinetd
                  else
                      yum install -y xinetd
                  fi
              fi
              ;;
          alpine)
              if ! command -v xinetd >/dev/null 2>&1; then
                  apk add --no-cache xinetd
              fi
              ;;
          arch)
              if ! command -v xinetd >/dev/null 2>&1; then
                  pacman -Sy --noconfirm xinetd
              fi
              ;;
      esac
      
      # Create xinetd configuration for rsync
      XINETD_RSYNC="/etc/xinetd.d/rsync"
      if [ ! -f "$XINETD_RSYNC" ]; then
          cat <<EOF > "$XINETD_RSYNC"
  service rsync
  {
          disable         = no
          socket_type     = stream
          wait            = no
          user            = root
          server          = /usr/bin/rsync
          server_args     = --daemon
          log_on_failure  += USERID
  }
  EOF
          echo -e "${GREEN}Created xinetd rsync configuration${NC}"
      fi
  }

  start_service() {
      echo -e "${GREEN}Starting rsync service...${NC}"
      
      case "$OS" in
          ubuntu|debian)
              if command -v systemctl >/dev/null 2>&1; then
                  systemctl start rsync 2>/dev/null || {
                      echo -e "${YELLOW}Systemd service failed, trying xinetd...${NC}"
                      setup_xinetd_service
                      systemctl enable xinetd
                      systemctl start xinetd
                  }
              else
                  setup_xinetd_service
                  service xinetd start
              fi
              ;;
          centos|rhel|fedora)
              if command -v systemctl >/dev/null 2>&1; then
                  systemctl start rsync 2>/dev/null || {
                      echo -e "${YELLOW}Systemd service failed, trying xinetd...${NC}"
                      setup_xinetd_service
                      systemctl enable xinetd
                      systemctl start xinetd
                  }
              else
                  setup_xinetd_service
                  service xinetd start
              fi
              ;;
          alpine)
              setup_xinetd_service
              rc-update add xinetd
              rc-service xinetd start
              ;;
          arch)
              if command -v systemctl >/dev/null 2>&1; then
                  systemctl start rsync 2>/dev/null || {
                      echo -e "${YELLOW}Systemd service failed, trying xinetd...${NC}"
                      setup_xinetd_service
                      systemctl enable xinetd
                      systemctl start xinetd
                  }
              fi
              ;;
          *)
              echo -e "${YELLOW}Service cannot be started automatically. Please start manually!${NC}"
              ;;
      esac
  }

  check_status() {
      echo -e "${BLUE}Checking rsync status...${NC}"
      
      # Check if rsync is installed
      if command -v rsync >/dev/null 2>&1; then
          echo -e "${GREEN}✓ Rsync version: $(rsync --version | head -n1)${NC}"
      else
          echo -e "${RED}✗ Rsync not found${NC}"
          return 1
      fi
      
      # Check if daemon is running
      if pgrep -x rsync >/dev/null; then
          echo -e "${GREEN}✓ Rsync daemon is running${NC}"
      else
          echo -e "${YELLOW}! Rsync daemon is not running${NC}"
      fi
      
      # Check listening ports
      if command -v ss >/dev/null 2>&1; then
          if ss -tlnp | grep -q ":873"; then
              echo -e "${GREEN}✓ Rsync daemon listening on port 873${NC}"
          else
              echo -e "${YELLOW}! Rsync daemon not listening on port 873${NC}"
          fi
      elif command -v netstat >/dev/null 2>&1; then
          if netstat -tlnp | grep -q ":873"; then
              echo -e "${GREEN}✓ Rsync daemon listening on port 873${NC}"
          else
              echo -e "${YELLOW}! Rsync daemon not listening on port 873${NC}"
          fi
      fi
      
      echo -e "${GREEN}Rsync installation completed!${NC}"
  }

  show_usage() {
      echo -e "${BLUE}Rsync Installation Script${NC}"
      echo ""
      echo "Usage: $0 [options]"
      echo ""
      echo "Options:"
      echo "  --daemon-only    Install rsync daemon service only"
      echo "  --client-only    Install rsync client only (no daemon)"
      echo "  --help          Show this help message"
      echo ""
  }

  main() {
      local daemon_only=false
      local client_only=false
      
      # Parse command line arguments
      while [[ $# -gt 0 ]]; do
          case $1 in
              --daemon-only)
                  daemon_only=true
                  shift
                  ;;
              --client-only)
                  client_only=true
                  shift
                  ;;
              --help|-h)
                  show_usage
                  exit 0
                  ;;
              *)
                  echo -e "${RED}Unknown option: $1${NC}"
                  show_usage
                  exit 1
                  ;;
          esac
      done
      
      echo -e "${BLUE}=== Rsync Installation Script ===${NC}"
      
      detect_os
      install_rsync
      
      if [ "$client_only" = false ]; then
          configure_rsync
          setup_systemd_service
          start_service
      fi
      
      check_status
  }

  main "$@"


created_at: 2026-01-16 23:14:41.872347248+08:00
updated_at: 2026-01-16 23:14:41.872347248+08:00
name:
  {"en":"Install FFmpeg","es-es":"Instalar FFmpeg","ja":"FFmpegをインストール","ko":"FFmpeg 설치","ms":"Pasang FFmpeg","pt-br":"Instalar FFmpeg","ru":"Установить FFmpeg","tr":"FFmpeg Kur","zh":"安装 FFmpeg","zh-hant":"安裝 FFmpeg"}

script:
  #!/bin/bash

  # Install FFmpeg
  # Support Ubuntu/Debian/CentOS/RHEL/Alpine/Arch Linux

  set -e

  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLOW='\033[0;33m'
  NC='\033[0m' # No Color

  OS=""
  VERSION=""

  detect_os() {
      if [ -f /etc/os-release ]; then
          . /etc/os-release
          OS=$ID
          VERSION=$VERSION_ID
          if [ -n "$ID_LIKE" ]; then
              OS_LIKE=$ID_LIKE
          fi
      elif type lsb_release >/dev/null 2>&1; then
          OS=$(lsb_release -si | tr '[:upper:]' '[:lower:]')
          VERSION=$(lsb_release -sr)
      elif [ -f /etc/redhat-release ]; then
          OS="rhel"
          VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
          OS_LIKE="rhel"
      elif [ -f /etc/alpine-release ]; then
          OS="alpine"
          VERSION=$(cat /etc/alpine-release)
      else
          OS=$(uname -s | tr '[:upper:]' '[:lower:]')
          VERSION=$(uname -r)
      fi
  }

  install_ffmpeg() {
      echo -e "${GREEN}Detected system: $OS $VERSION, start to install FFmpeg...${NC}"
      case "$OS" in
          ubuntu|debian)
              apt-get update
              apt-get install -y ffmpeg
              ;;
          centos|rhel|fedora)
              if [ "$OS" = "rhel" ] && [ "${VERSION%%.*}" -ge 8 ]; then
                  # CentOS 8 / RHEL 8+
                  dnf install -y epel-release
                  dnf install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
                  dnf install -y ffmpeg ffmpeg-devel
              else
                  # CentOS 7 / RHEL 7
                  yum install -y epel-release
                  yum install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
                  yum install -y ffmpeg ffmpeg-devel || {
                      # fallback to Nux Dextop if still not available
                      rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
                      rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
                      yum install -y ffmpeg ffmpeg-devel
                  }
              fi
              ;;
          alpine)
              apk update
              apk add ffmpeg
              ;;
          arch)
              pacman -Sy --noconfirm ffmpeg
              ;;
          *)
              echo -e "${RED}Unsupported system: $OS $VERSION${NC}"
              exit 1
              ;;
      esac
  }

  check_ffmpeg_install() {
      if command -v ffmpeg >/dev/null 2>&1; then
          echo -e "${GREEN}FFmpeg is installed. Version: $(ffmpeg -version | head -n 1)${NC}"
      else
          echo -e "${RED}FFmpeg installation failed or not found.${NC}"
          exit 1
      fi
  }

  main() {
      detect_os
      install_ffmpeg
      check_ffmpeg_install
  }

  main "$@"


