diff --git a/slink/1.2.1/data.yml b/slink/1.2.1/data.yml new file mode 100644 index 000000000..fe07f61cd --- /dev/null +++ b/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/slink/1.2.1/docker-compose.yml b/slink/1.2.1/docker-compose.yml new file mode 100644 index 000000000..caab7c0c4 --- /dev/null +++ b/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/slink/1.2.1/scripts/init.sh b/slink/1.2.1/scripts/init.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/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/slink/1.2.1/scripts/uninstall.sh b/slink/1.2.1/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/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/slink/1.2.1/scripts/upgrade.sh b/slink/1.2.1/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/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/slink/README.md b/slink/README.md new file mode 100644 index 000000000..4246ca6ac --- /dev/null +++ b/slink/README.md @@ -0,0 +1,65 @@ +# Slink + +Slink 是一个使用 Symfony 和 SvelteKit 构建的自托管图片分享平台。 + +![Kimai](https://file.lifebus.top/imgs/slink_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +解决了与朋友、家人和同事分享图片而不依赖第三方服务的问题。它还为艺术家提供了一个平台,让他们可以与社区分享自己的作品。 +此外,开发人员可能会发现将其用于托管个人项目屏幕截图很有用,然后可以在 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 路由。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/slink/data.yml b/slink/data.yml new file mode 100644 index 000000000..fc29eb032 --- /dev/null +++ b/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/slink/logo.png b/slink/logo.png new file mode 100644 index 000000000..cb7f0f3a1 Binary files /dev/null and b/slink/logo.png differ