diff --git a/.github/README.md b/.github/README.md
index 5a8eeab24..de95ae9f4 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -87,6 +87,7 @@
| 🟢 |
| AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
| 🟢 |
| Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | |
| 🟢 |
| Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | |
+| 🟢 |
| Bitmagnet | https://bitmagnet.io/ | 自托管的 BitTorrent 索引器 | |
| 🟢 |
| Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | |
| 🟢 |
| Certimate | https://docs.certimate.me/ | SSL证书管理工具 | |
| 🟢 |
| Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | |
diff --git a/README.md b/README.md
index 97f18a1af..b10c29316 100644
--- a/README.md
+++ b/README.md
@@ -70,6 +70,7 @@
| 🟢 |
| AList | https://alist.nn.ci/ | 一款支持多重存储的文件列表程序 | |
| 🟢 |
| Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | |
| 🟢 |
| Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | |
+| 🟢 |
| Bitmagnet | https://bitmagnet.io/ | 自托管的 BitTorrent 索引器 | |
| 🟢 |
| Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | |
| 🟢 |
| Certimate | https://docs.certimate.me/ | SSL证书管理工具 | |
| 🟢 |
| Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | |
diff --git a/apps/bitmagnet/0.9.5/data.yml b/apps/bitmagnet/0.9.5/data.yml
new file mode 100644
index 000000000..d8b1def5a
--- /dev/null
+++ b/apps/bitmagnet/0.9.5/data.yml
@@ -0,0 +1,82 @@
+additionalProperties:
+ formFields:
+ - child:
+ default: ""
+ envKey: PANEL_POSTGRES_SERVICE
+ required: true
+ type: service
+ default: postgresql
+ envKey: PANEL_POSTGRES_TYPE
+ labelZh: Postgres 服务 (前置检查)
+ labelEn: Postgres Service (Pre-check)
+ required: true
+ type: apps
+ values:
+ - label: PostgreSQL
+ value: postgresql
+ - default: "/home/bitmagnet"
+ edit: true
+ envKey: BITMAGNET_ROOT_PATH
+ labelZh: 数据持久化路径
+ labelEn: Data persistence path
+ required: true
+ type: text
+ - default: 3333
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelZh: WebUI 端口
+ labelEn: WebUI port
+ required: true
+ rule: paramPort
+ type: number
+ - default: 3334
+ edit: true
+ envKey: PANEL_APP_PORT_BT
+ labelZh: BitTorrent 端口
+ labelEn: BitTorrent port
+ required: true
+ rule: paramPort
+ type: number
+ - default: "127.0.0.1:5432"
+ edit: true
+ envKey: POSTGRES_HOST
+ labelZh: 数据库 主机地址
+ labelEn: Database Host
+ required: true
+ type: text
+ - default: "bitmagnet"
+ edit: true
+ envKey: POSTGRES_NAME
+ labelZh: 数据库 名称
+ labelEn: Database Name
+ required: true
+ rule: paramCommon
+ type: text
+ - default: "bitmagnet"
+ edit: true
+ envKey: POSTGRES_USER
+ labelZh: 数据库 用户名
+ labelEn: Database Username
+ required: true
+ type: text
+ - default: ""
+ edit: true
+ envKey: POSTGRES_PASSWORD
+ labelZh: 数据库 密码
+ labelEn: Database Password
+ random: true
+ required: true
+ rule: paramComplexity
+ type: password
+ - default: "true"
+ edit: true
+ envKey: TMDB_ENABLED
+ labelZh: 获取 TMDB 元数据
+ labelEn: Fetch TMDB metadata
+ required: true
+ type: select
+ values:
+ - label: 允许
+ value: "true"
+ - label: 禁止
+ value: "false"
diff --git a/apps/bitmagnet/0.9.5/docker-compose.yml b/apps/bitmagnet/0.9.5/docker-compose.yml
new file mode 100644
index 000000000..9e90e4517
--- /dev/null
+++ b/apps/bitmagnet/0.9.5/docker-compose.yml
@@ -0,0 +1,36 @@
+networks:
+ 1panel-network:
+ external: true
+
+services:
+ bitmagnet:
+ image: ghcr.io/bitmagnet-io/bitmagnet:v0.9.5
+ container_name: ${CONTAINER_NAME}
+ labels:
+ createdBy: "Apps"
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - ${PANEL_APP_PORT_HTTP}:3333
+ - ${PANEL_APP_PORT_BT}:3334/tcp
+ - ${PANEL_APP_PORT_BT}:3334/udp
+ env_file:
+ - /etc/1panel/envs/global.env
+ - ${ENV_FILE:-/etc/1panel/envs/default.env}
+ volumes:
+ - ${BITMAGNET_ROOT_PATH}/config:/root/.config/bitmagnet
+ - ${BITMAGNET_ROOT_PATH}/bitmagnet:/root/.local/share/bitmagnet
+ environment:
+ - LOG_FILE_ROTATOR_ENABLED=true
+ - LOG_LEVEL=info
+ - LOG_DEVELOPMENT=false
+ - LOG_JSON=false
+ - DHT_CRAWLER_SAVE_FILES_THRESHOLD=100
+ - PROCESSOR_CONCURRENCY=1
+ - TMDB_ENABLED=true
+ - TMDB_API_KEY=your_api_key
+ command:
+ - worker
+ - run
+ - --all
diff --git a/apps/bitmagnet/0.9.5/scripts/init.sh b/apps/bitmagnet/0.9.5/scripts/init.sh
new file mode 100644
index 000000000..77b849120
--- /dev/null
+++ b/apps/bitmagnet/0.9.5/scripts/init.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [ -f .env ]; then
+ source .env
+
+ # setup-1 add default values
+ CURRENT_DIR=$(pwd)
+ sed -i '/^ENV_FILE=/d' .env
+ echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
+
+ echo "Check Finish."
+
+else
+ echo "Error: .env file not found."
+fi
diff --git a/apps/bitmagnet/0.9.5/scripts/uninstall.sh b/apps/bitmagnet/0.9.5/scripts/uninstall.sh
new file mode 100644
index 000000000..c86c4fbca
--- /dev/null
+++ b/apps/bitmagnet/0.9.5/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/bitmagnet/0.9.5/scripts/upgrade.sh b/apps/bitmagnet/0.9.5/scripts/upgrade.sh
new file mode 100644
index 000000000..77b849120
--- /dev/null
+++ b/apps/bitmagnet/0.9.5/scripts/upgrade.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [ -f .env ]; then
+ source .env
+
+ # setup-1 add default values
+ CURRENT_DIR=$(pwd)
+ sed -i '/^ENV_FILE=/d' .env
+ echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
+
+ echo "Check Finish."
+
+else
+ echo "Error: .env file not found."
+fi
diff --git a/apps/bitmagnet/README.md b/apps/bitmagnet/README.md
new file mode 100644
index 000000000..c4e1ab3cc
--- /dev/null
+++ b/apps/bitmagnet/README.md
@@ -0,0 +1,60 @@
+# Bitmagnet
+
+自托管的 BitTorrent 索引器,DHT 爬虫,内容分类器和带 Web UI,GraphQL API 以及 Servarr 堆栈集成的 torrent 搜索引擎。
+
+
+
+
+
+## 简介
+
+DHT 爬虫是 Bitmagnet 的杀手锏,使其独一无二。那么它是什么呢? Translation:
+
+你可能知道,可以在你的 BitTorrent 客户端中启用 DHT,这允许你找到正在向分布式哈希表(DHT)宣布磁贴哈希的对等方,而不是向集中式跟踪器。
+DHT 的较不为人知的功能是,它允许您爬取它所知道的信息哈希。这就是 Bitmagnet 的 DHT 爬虫的工作方式 - 它爬取 DHT
+网络,请求每个发现的信息哈希的元数据。然后通过尝试对其进行分类并将其与已知的内容关联(如电影和电视节目)进一步丰富这些元数据。
+然后允许你搜索它所索引的一切。
+
+这意味着 Bitmagnet 不依赖于任何外部跟踪器或磁力链接索引器。它是一个自包含、自托管的磁力链接索引器,通过 DHT
+连接到全球网络中的对等节点,并不断发现新的内容。
+
+## 功能与路线图
+
+### 当前已实现的功能
+
+- [x] DHT 爬虫和协议实现
+- [x] 通用的 BitTorrent 索引器:bitmagnet 可以从任何来源索引磁力链接,而不仅仅是 DHT 网络——目前这仅可以通过 `/import`
+ 端点实现;更友好的方法正在开发中,请参见以下高优先级功能
+- [x] 一个高度可定制的内容分类器,目前可以识别多种类型的内容,以及与之相关的关键属性,如语言、分辨率、来源(蓝光、网络翻录等),并从包括电影数据库在内的多个数据源补充信息。
+- [x] [一个用于从任何来源摄入磁力链接的导入工具,例如 RARBG 备份](https://bitmagnet.io/guides/import.html)
+- [x] 翻译文本: torrent 搜索引擎
+- [x] GraphQL API:当前提供单个搜索查询;还包含一个嵌入式 GraphQL playground 在 `/graphql`
+- [x] 在 Angular 中实现的网络用户界面:当前这是一个简单的单页应用,通过 GraphQL API 提供搜索查询的用户界面
+- [x] [一个与 Torznab 兼容的端点,用于与 Serverr 堆栈集成](https://bitmagnet.io/guides/servarr- [ ]integration.html)
+
+### 高优先级功能尚未实现
+
+- [ ] 一个 WebUI 仪表板,显示诸如爬虫吞吐量、任务队列、数据库大小等信息。
+- [ ] 认证,API 密钥,访问级别等。
+- [ ] 管理员 API,一般来说,一个更完整的 GraphQL API
+- [ ] 更完整的网络 UI
+- [ ] 保存了对特定内容的搜索,以启用除以下功能外的自定义 feeds
+- [ ] 与 Prowlarr 索引器代理的双向集成:目前,Bitmagnet 可以作为 Prowlarr 中的索引器添加;双向集成将允许 Bitmagnet 从
+ Prowlarr 中配置的任何索引器爬取内容,解锁许多新的内容来源
+- [ ] 更多文档和更多测试!
+
+### 管道梦想特性
+
+事情开始变得有些模糊。目前所有关注点都在实现上述核心功能,但这些想法在未来可能会被探索:
+
+- [ ] 原地播种:在您的计算机上识别属于索引磁贴的文件,并在移动、重命名或删除磁贴的部分后,允许这些文件原地播种
+- [ ] 与流行的 BitTorrent 客户端集成
+- [ ] 某种联盟:允许朋友连接实例并汇集索引努力,可能涉及众包手动内容策展,以补充自动分类器
+- [ ] 看起来像是去中心化的私人追踪器;我可能指的是部分基于个人信任,并手动剔除任何不良行为者的东西;我可能会对创建看起来有点像
+ Tribler 的东西持谨慎态度,尽管这是一个有趣的研究项目,但似乎已经证明,在协议层面上实现信任、声誉和隐私的开销太大,无法成为与原始的
+ BitTorrent 相比具有吸引力的替代方案,尽管 BitTorrent 存在一些缺陷
+- [ ] BitTorrent v2 协议的支持:是否会有更广泛的采用使其成为有价值的功能还有待观察
+
+---
+
+
diff --git a/apps/bitmagnet/data.yml b/apps/bitmagnet/data.yml
new file mode 100644
index 000000000..2b5fc0fc1
--- /dev/null
+++ b/apps/bitmagnet/data.yml
@@ -0,0 +1,15 @@
+additionalProperties:
+ key: bitmagnet
+ name: Bitmagnet
+ tags:
+ - WebSite
+ - Middleware
+ - Local
+ shortDescZh: 自托管的 BitTorrent 索引器
+ shortDescEn: Self-hosted BitTorrent indexer
+ type: website
+ crossVersionUpdate: true
+ limit: 0
+ website: https://bitmagnet.io/
+ github: https://github.com/bitmagnet-io/bitmagnet/
+ document: https://bitmagnet.io/
diff --git a/apps/bitmagnet/logo.png b/apps/bitmagnet/logo.png
new file mode 100644
index 000000000..bbdbe1949
Binary files /dev/null and b/apps/bitmagnet/logo.png differ