mirror of
https://github.com/MeowLynxSea/CatismImage.git
synced 2025-07-09 10:54:35 +00:00
支持NSFWPY进行敏感内容过滤
This commit is contained in:
parent
257653d397
commit
7d79e4a3c9
24
README.md
24
README.md
@ -23,9 +23,15 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
4. 配置环境变量:
|
4. [可选] 配置NSFWPY
|
||||||
|
|
||||||
在.env或系统添加以下必需环境变量:
|
如果您希望启用NSFW过滤功能,您需要配置NSFWPY。
|
||||||
|
|
||||||
|
请参考[HG-ha/nsfwpy](https://github.com/HG-ha/nsfwpy),通过您喜欢的方式完成配置。
|
||||||
|
|
||||||
|
5. 配置环境变量:
|
||||||
|
|
||||||
|
在.env/系统/Docker添加以下必需环境变量:
|
||||||
|
|
||||||
```plaintext
|
```plaintext
|
||||||
# S3存储配置
|
# S3存储配置
|
||||||
@ -37,15 +43,19 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友
|
|||||||
# MongoDB配置
|
# MongoDB配置
|
||||||
MONGO_URI=mongodb://your_mongo_uri
|
MONGO_URI=mongodb://your_mongo_uri
|
||||||
MONGO_DB=your_database_name
|
MONGO_DB=your_database_name
|
||||||
|
|
||||||
|
# NSFW过滤配置(目前支持NSFWPY)
|
||||||
|
ENABLE_NSFW_FILTER=true/false
|
||||||
|
NSFWPY_ENDPOINT=your_nsfwpy_endpoint
|
||||||
```
|
```
|
||||||
|
|
||||||
5. 运行后端服务:
|
6. 运行后端服务:
|
||||||
|
|
||||||
```bsh
|
```bsh
|
||||||
python app.py
|
python app.py
|
||||||
```
|
```
|
||||||
|
|
||||||
6. 访问前端页面:
|
7. 访问前端页面:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
http://localhost:5000
|
http://localhost:5000
|
||||||
@ -56,7 +66,7 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友
|
|||||||
1. 注册/登录后获取用户Key
|
1. 注册/登录后获取用户Key
|
||||||
2. 使用上传功能添加图片
|
2. 使用上传功能添加图片
|
||||||
3. 在仪表板查看存储使用情况和流量统计
|
3. 在仪表板查看存储使用情况和流量统计
|
||||||
4. 通过充值功能获取喵币
|
4. 通过爱发电回调充值功能获取喵币
|
||||||
5. 在设置中自定义主题颜色和模式
|
5. 在设置中自定义主题颜色和模式
|
||||||
|
|
||||||
## 技术栈
|
## 技术栈
|
||||||
@ -66,10 +76,6 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友
|
|||||||
- 数据库:MongoDB
|
- 数据库:MongoDB
|
||||||
- 实时通信:WebSocket
|
- 实时通信:WebSocket
|
||||||
|
|
||||||
## TODO List
|
|
||||||
|
|
||||||
完善爱发电支付部分
|
|
||||||
|
|
||||||
## 贡献指南
|
## 贡献指南
|
||||||
|
|
||||||
欢迎提交Pull Request或报告Issue。请确保代码风格一致并通过所有测试
|
欢迎提交Pull Request或报告Issue。请确保代码风格一致并通过所有测试
|
@ -16,6 +16,9 @@ class Config:
|
|||||||
MONGO_URI = os.getenv('MONGO_URI')
|
MONGO_URI = os.getenv('MONGO_URI')
|
||||||
MONGO_DB = os.getenv('MONGO_DB')
|
MONGO_DB = os.getenv('MONGO_DB')
|
||||||
|
|
||||||
|
ENABLE_NSFW_FILTER = os.getenv('ENABLE_NSFW_FILTER')
|
||||||
|
NSFWPY_ENDPOINT = os.getenv('NSFWPY_ENDPOINT')
|
||||||
|
|
||||||
if(S3_ACCESS_KEY == None or S3_SECRET_KEY == None or S3_BUCKET == None or S3_ENDPOINT == None):
|
if(S3_ACCESS_KEY == None or S3_SECRET_KEY == None or S3_BUCKET == None or S3_ENDPOINT == None):
|
||||||
print("错误:缺少必需的S3环境变量")
|
print("错误:缺少必需的S3环境变量")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -50,6 +50,7 @@ def upload_image():
|
|||||||
try:
|
try:
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
import io
|
import io
|
||||||
|
import requests
|
||||||
|
|
||||||
# 直接使用PIL验证图片内容
|
# 直接使用PIL验证图片内容
|
||||||
try:
|
try:
|
||||||
@ -59,6 +60,27 @@ def upload_image():
|
|||||||
file.seek(0)
|
file.seek(0)
|
||||||
except Exception:
|
except Exception:
|
||||||
return jsonify({'error': '无效的图片文件'}), 400
|
return jsonify({'error': '无效的图片文件'}), 400
|
||||||
|
|
||||||
|
# 如果启用了NSFW检查
|
||||||
|
if AppConfig.ENABLE_NSFW_FILTER:
|
||||||
|
print("NSFW检查已启用")
|
||||||
|
file.seek(0)
|
||||||
|
try:
|
||||||
|
response = requests.post(
|
||||||
|
f"{AppConfig.NSFWPY_ENDPOINT}/classify",
|
||||||
|
files={'image': file},
|
||||||
|
headers={'accept': 'application/json'}
|
||||||
|
)
|
||||||
|
response.raise_for_status()
|
||||||
|
nsfw_data = response.json()
|
||||||
|
|
||||||
|
# 检查NSFW评分
|
||||||
|
if nsfw_data.get('neutral', 0) + nsfw_data.get('drawing', 0) < 0.5:
|
||||||
|
return jsonify({'error': '图片内容不符合安全标准'}), 403
|
||||||
|
|
||||||
|
file.seek(0)
|
||||||
|
except Exception as e:
|
||||||
|
return jsonify({'error': f'NSFW检查失败: {str(e)}'}), 500
|
||||||
except Exception:
|
except Exception:
|
||||||
return jsonify({'error': '无效的图片文件'}), 400
|
return jsonify({'error': '无效的图片文件'}), 400
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user