diff --git a/.github/README.md b/.github/README.md
index b21ed281c..a1861595d 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -138,6 +138,7 @@
| 🟢 |
| RssHub | https://rsshub.app/ | 从任何内容生成 RSS/Atom/JSON 订阅源 | |
| 🟢 |
| Sentinel | https://sentinelguard.io/ | 面向分布式、多语言异构化服务架构的流量治理组件 | |
| 🟢 |
| 思源笔记 | https://b3log.org/siyuan/ | 【思源笔记】一款隐私优先、自托管、完全开源的个人知识管理软件 | |
+| 🟢 |
| Slink | https://github.com/andrii-kryvoviaz/slink/ | 图片分享平台 | |
| 🟢 |
| sonarr | https://sonarr.tv/ | 智能 PVR 适用于新闻组和 BT 用户。 | |
| 🟢 |
| SpeedTest | https://www.speedtest.net/ | 互联网速度测试 | |
| 🔴 | | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
diff --git a/README.md b/README.md
index 6a053ab9d..ff88b88cb 100644
--- a/README.md
+++ b/README.md
@@ -121,6 +121,7 @@
| 🟢 |
| RssHub | https://rsshub.app/ | 从任何内容生成 RSS/Atom/JSON 订阅源 | |
| 🟢 |
| Sentinel | https://sentinelguard.io/ | 面向分布式、多语言异构化服务架构的流量治理组件 | |
| 🟢 |
| 思源笔记 | https://b3log.org/siyuan/ | 【思源笔记】一款隐私优先、自托管、完全开源的个人知识管理软件 | |
+| 🟢 |
| Slink | https://github.com/andrii-kryvoviaz/slink/ | 图片分享平台 | |
| 🟢 |
| sonarr | https://sonarr.tv/ | 智能 PVR 适用于新闻组和 BT 用户。 | |
| 🟢 |
| SpeedTest | https://www.speedtest.net/ | 互联网速度测试 | |
| 🔴 | | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
diff --git a/apps/slink/1.2.1/data.yml b/apps/slink/1.2.1/data.yml
new file mode 100644
index 000000000..fe07f61cd
--- /dev/null
+++ b/apps/slink/1.2.1/data.yml
@@ -0,0 +1,148 @@
+additionalProperties:
+ formFields:
+ - default: "/home/slink"
+ edit: true
+ envKey: SLINK_ROOT_PATH
+ labelZh: 数据持久化路径
+ labelEn: Data persistence path
+ required: true
+ type: text
+ - default: 3000
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelZh: 访问端口
+ labelEn: Port
+ required: true
+ rule: paramPort
+ type: number
+ - default: "http://127.0.0.1:3000"
+ edit: true
+ envKey: ORIGIN
+ labelZh: 主机域名
+ labelEn: Host domain
+ required: true
+ type: text
+ - default: "true"
+ edit: true
+ envKey: USER_APPROVAL_REQUIRED
+ labelZh: 用户上传图片是否需要批准
+ labelEn: Do users need approval to upload images
+ required: true
+ type: select
+ values:
+ - label: 启用用户批准策略
+ value: "true"
+ - label: 禁用用户批准策略
+ value: "false"
+ - default: "true"
+ edit: true
+ envKey: USER_ALLOW_UNAUTHENTICATED_ACCESS
+ labelZh: 允许未认证用户访问公共路由
+ labelEn: Allow unauthenticated users to access public routes
+ required: true
+ type: select
+ values:
+ - label: 允许访问
+ value: "true"
+ - label: 禁止访问
+ value: "false"
+ - default: "true"
+ edit: true
+ envKey: IMAGE_STRIP_EXIF_METADATA
+ labelZh: 是否移除图片的 EXIF 元数据
+ labelEn: Remove EXIF metadata from images
+ required: true
+ type: select
+ values:
+ - label: 移除
+ value: "true"
+ - label: 保留
+ value: "false"
+ - default: "15M"
+ edit: true
+ envKey: IMAGE_MAX_SIZE
+ labelZh: 图片上传最大限制 (最大 50M)
+ labelEn: Maximum image upload limit (max 50M)
+ required: true
+ type: text
+ - default: 8
+ edit: true
+ envKey: USER_PASSWORD_MIN_LENGTH
+ labelZh: 用户密码最小长度
+ labelEn: Minimum user password length
+ required: true
+ type: number
+ - default: "15"
+ edit: true
+ envKey: USER_PASSWORD_REQUIREMENTS
+ labelZh: 用户密码要求
+ labelEn: User password requirements
+ required: true
+ type: select
+ values:
+ - label: 数字 + 大小写字母 + 特殊字符
+ value: "15"
+ - label: 数字 + 大小写字母
+ value: "7"
+ - label: 数字 + 特殊字符
+ value: "9"
+ - label: 大小写字母 + 特殊字符
+ value: "14"
+ - label: 大写字母 + 数字
+ value: "5"
+ - label: 小写字母 + 数字
+ value: "3"
+ - label: 大写字母 + 特殊字符
+ value: "12"
+ - label: 小写字母 + 特殊字符
+ value: "10"
+ - label: 纯数字
+ value: "1"
+ - label: 大小写字母
+ value: "6"
+ - label: 纯大写字母
+ value: "4"
+ - label: 纯小写字母
+ value: "2"
+ - label: 纯特殊字符
+ value: "8"
+ - default: "local"
+ edit: true
+ envKey: STORAGE_PROVIDER
+ labelZh: 存储策略
+ labelEn: Storage strategy
+ required: true
+ type: select
+ values:
+ - label: 本地存储
+ value: "local"
+ - label: SMB 存储
+ value: "smb"
+ - default: ""
+ edit: true
+ envKey: SMB_HOST
+ labelZh: SMB 服务器地址
+ labelEn: SMB server address
+ required: false
+ type: text
+ - default: ""
+ edit: true
+ envKey: SMB_USERNAME
+ labelZh: SMB 用户名
+ labelEn: SMB username
+ required: false
+ type: text
+ - default: ""
+ edit: true
+ envKey: SMB_PASSWORD
+ labelZh: SMB 密码
+ labelEn: SMB password
+ required: false
+ type: password
+ - default: ""
+ edit: true
+ envKey: SMB_SHARE
+ labelZh: SMB 共享路径
+ labelEn: SMB share path
+ required: false
+ type: text
diff --git a/apps/slink/1.2.1/docker-compose.yml b/apps/slink/1.2.1/docker-compose.yml
new file mode 100644
index 000000000..caab7c0c4
--- /dev/null
+++ b/apps/slink/1.2.1/docker-compose.yml
@@ -0,0 +1,23 @@
+networks:
+ 1panel-network:
+ external: true
+
+services:
+ slink:
+ image: anirdev/slink:v1.2.1
+ container_name: ${CONTAINER_NAME}
+ labels:
+ createdBy: "Apps"
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - ${PANEL_APP_PORT_HTTP}:3000
+ volumes:
+ - ${SLINK_ROOT_PATH}/data:/app/var/data
+ - ${SLINK_ROOT_PATH}/images:/app/slink/images
+ environment:
+ - USER_PASSWORD_MIN_LENGTH=8
+ - USER_PASSWORD_REQUIREMENTS=15
+ - IMAGE_MAX_SIZE=15M
+ - STORAGE_PROVIDER=local
diff --git a/apps/slink/1.2.1/scripts/init.sh b/apps/slink/1.2.1/scripts/init.sh
new file mode 100644
index 000000000..77b849120
--- /dev/null
+++ b/apps/slink/1.2.1/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/slink/1.2.1/scripts/uninstall.sh b/apps/slink/1.2.1/scripts/uninstall.sh
new file mode 100644
index 000000000..c86c4fbca
--- /dev/null
+++ b/apps/slink/1.2.1/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/slink/1.2.1/scripts/upgrade.sh b/apps/slink/1.2.1/scripts/upgrade.sh
new file mode 100644
index 000000000..77b849120
--- /dev/null
+++ b/apps/slink/1.2.1/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/slink/README.md b/apps/slink/README.md
new file mode 100644
index 000000000..4246ca6ac
--- /dev/null
+++ b/apps/slink/README.md
@@ -0,0 +1,65 @@
+# Slink
+
+Slink 是一个使用 Symfony 和 SvelteKit 构建的自托管图片分享平台。
+
+
+
+
+
+## 简介
+
+解决了与朋友、家人和同事分享图片而不依赖第三方服务的问题。它还为艺术家提供了一个平台,让他们可以与社区分享自己的作品。
+此外,开发人员可能会发现将其用于托管个人项目屏幕截图很有用,然后可以在 GitHub、个人网站、博客等地方使用。
+
+## 特性
+
++ 认证:用户可以注册并登录平台。
++ 用户批准:在用户可以上传图片之前需要获得他们的批准。
++ 图片上传:可以上传 SVG、PNG、JPG、WEBP、BMP、ICO 或 GIF 格式的图片。
++ 分享链接:用户可以分享上传的图片链接,并自定义图片大小。
++ 上传历史:提供了用户上传的所有图片的概览。
++ 存储提供商:支持本地和 SMB 存储提供商。
++ 探索图片:展示由其他用户上传的公共图片的列表页面。
++ 暗色模式:应用程序支持暗色和亮色模式。
+
+## 安装说明
+
+### 公共列表
+
+> 只有标记为公共的图像才会在这里显示。
+
+应用包含一个可选的图片列表页面,用户可以在该页面上浏览其他用户上传的图片。
+
+### 存储提供商
+
+应用支持两种存储提供者:本地和 SMB。本地存储提供者将图像存储在本地文件系统中,而 SMB 存储提供者将图像存储在远程 SMB
+服务器上。默认情况下,应用使用本地存储提供者。
+
+### 用户批准
+
+默认情况下,应用程序在用户上传图片前需要获得批准。
+
+您需要使用 CLI 命令手动激活用户
+
+> 邮箱激活
+
+```shell
+docker exec -it slink slink user:activate --email=
+```
+
+> 用户ID 激活
+
+```shell
+docker exec -it slink slink user:activate --uuid=
+```
+
+### 安全
+
+Slink 支持用户认证和用户审批以防止未经授权访问应用。然而,建议使用反向代理如 Nginx 或 Traefik 添加额外的安全功能,如
+SSL、速率限制等。
+
+如果不想将整个应用公开,仅可以通过反向代理公开 /image 路由。
+
+---
+
+
diff --git a/apps/slink/data.yml b/apps/slink/data.yml
new file mode 100644
index 000000000..fc29eb032
--- /dev/null
+++ b/apps/slink/data.yml
@@ -0,0 +1,15 @@
+additionalProperties:
+ key: slink
+ name: Slink
+ tags:
+ - WebSite
+ - Middleware
+ - Local
+ shortDescZh: 图片分享平台
+ shortDescEn: Image sharing platform
+ type: website
+ crossVersionUpdate: true
+ limit: 0
+ website: https://github.com/andrii-kryvoviaz/slink/
+ github: https://github.com/andrii-kryvoviaz/slink/
+ document: https://github.com/andrii-kryvoviaz/slink/
diff --git a/apps/slink/logo.png b/apps/slink/logo.png
new file mode 100644
index 000000000..cb7f0f3a1
Binary files /dev/null and b/apps/slink/logo.png differ