# Skit-Panel **Repository Path**: yazhitv/Skit-Panel ## Basic Information - **Project Name**: Skit-Panel - **Description**: 一个简洁高效的短剧管理工具,集成豆瓣电影刮削、TMDB电影/电视节目刮削、本地资源管理、本地资源播放、飞牛媒体库集成、Emby媒体库集成、PTSkit站点种子搜索以及qBittorrent和Transmission下载器管理等多种功能,支持本地资源生成NFO文件和下载封面海报。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2025-09-18 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Skit-Panel 短剧管理面板 一个功能全面的短剧管理工具,集成豆瓣电影 / 剧集刮削、TMDB电影 / 电视节目刮削、其他资源刮削、国产资源管理、本地资源管理、本地资源播放、飞牛媒体库集成、Emby媒体库集成、PTSkit站点种子搜索以及qBittorrent和Transmission下载器管理等多种功能,支持本地资源生成NFO文件和下载封面海报。 ## 功能特点 - **豆瓣电影搜索** - 通过关键词搜索豆瓣电影 / 剧集信息 - **TMDB集成** - 使用The Movie Database API获取媒体信息和海报 - **其他资源刮削** - 搜索和刮削其他资源网站的资源信息 - **国产资源管理** - 搜索和刮削国产资源网站的资源信息 - **本地资源管理** - 管理和浏览本地媒体文件 - **本地影院** - 内置视频播放器,支持本地短剧资源浏览、播放和自动播放下一集功能 - **PT站点种子** - 搜索和管理PT站点种子资源 - **qBittorrent集成** - 管理qBittorrent下载客户端 - **Transmission集成** - 管理Transmission下载客户端 - **飞牛媒体库集成** - 连接飞牛媒体库,浏览和管理媒体库内容 - **Emby媒体库集成** - 管理Emby媒体服务器上的资源 - **系统配置管理** - 支持配置豆瓣Cookie、用户代理、存储路径和下载器连接参数 - **用户管理系统** - 支持多用户创建、权限管理和个人中心 - **电影详情查看** - 获取电影完整信息,包括简介、演职员、评分等 - **NFO文件生成** - 自动生成符合Kodi等媒体中心要求的NFO文件 - **海报图片下载** - 自动下载电影海报并保存 - **Docker支持** - 提供Docker和Docker Compose部署方案 - **数据持久化** - 支持NFO文件、海报和配置的持久化存储 - **响应式设计** - 适配各种设备屏幕 ## 技术栈 - Python 3.8+ - Flask 2.0+ - LXML (用于解析HTML和生成XML) - Requests (用于HTTP请求) - Tailwind CSS (用于前端样式) - Font Awesome (用于图标) ## 部署方式 ### 使用Docker Compose(推荐) 1. 创建 docker-compose.yml 文件 2. 编辑 docker-compose.yml 文件,添加以下内容: ```yaml version: '3.8' services: skit-panel: container_name: skit-panel image: lastthree/skit-panel:latest ports: - 5000:5000 environment: - SECRET_KEY=your_secret_key volumes: - ./data:/app/data - ./config:/app/config - ./skit:/app/skit restart: always network_mode: bridge ``` 3. 启动服务 ```bash docker-compose up -d --build ``` 4. 访问 `http://localhost:5000` 即可使用应用 ### 使用Docker命令 1. 构建镜像 ```bash docker build --build-arg APP_VERSION={version} -t lastthree/skit-panel:latest . ``` 2. 运行容器 ```bash docker run -d \ --name skit-panel \ -p 5000:5000 \ -e SECRET_KEY=your_secret_key \ -v ./data:/app/data \ -v ./config:/app/config \ -v ./skit:/app/skit \ lastthree/skit-panel:latest ``` ## 参数说明 ### 端口说明 - **`5000:5000`**: 应用程序的HTTP端口,用于访问Web界面,前面的`5000`可以修改为宿主主机的其他端口 ### 持久化存储目录 项目使用以下三个关键目录进行数据持久化存储: 1. **`data/` 目录** - 用于存储通过刮削功能生成的媒体信息文件和下载的海报图片 - **`data/nfo/`**: 存储符合Kodi等媒体中心标准的NFO元数据文件 - **`data/images/`**: 存储下载的电影/剧集海报图片 2. **`config/` 目录** - 用于存储应用程序配置文件 - **`config/config.json`**: 核心配置文件,包含豆瓣Cookie、API密钥、下载器连接信息等重要参数 - **`config/users.json`**: 用户管理数据文件,存储用户账户和权限信息 3. **`skit/` 目录** - 用于存储短剧资源文件(可选,若使用本地资源管理功能) - 默认情况下,本地资源管理功能会自动扫描此目录下的所有媒体文件 ### Docker环境变量 在Docker部署方式下,支持通过以下环境变量自定义应用行为: - **`SKIT_PANEL_SECRET_KEY`**: Flask应用的密钥,用于会话管理和安全功能(必填,建议设置为复杂随机字符串) ### 数据持久化机制 在Docker部署模式下,上述三个目录会自动映射到宿主机对应的目录,确保: 1. 应用重启或更新后,配置和刮削数据不会丢失 2. 新增短剧资源能够被自动识别和管理 3. 用户账户信息和权限设置得以保留 ## 使用说明 ### 1. 配置系统参数 首次使用前,需要在系统配置页面设置各项参数: 1. 访问 `http://localhost:5000/config` 进入配置页面 2. 配置豆瓣参数、TMDB参数、国产 Cookie 参数、PTSkit参数、qBittorrent参数、Transmission参数、飞牛媒体库参数和Emby媒体库参数 3. 点击保存按钮应用配置 ### 2. 搜索和刮削电影 1. 访问 `http://localhost:5000/douban` 进入豆瓣刮削页面 2. 输入电影名称进行搜索 3. 从搜索结果中选择目标电影 4. 查看电影详情,确认信息无误 5. 点击"生成NFO文件"按钮,系统会自动生成NFO文件并下载海报图片 6. 生成的NFO文件和海报图片保存在`data`目录下 ### 3. TMDB工具使用 1. 访问 `http://localhost:5000/tmdb` 进入TMDB工具页面 2. 输入电影或电视剧名称进行搜索 3. 从搜索结果中选择目标媒体 4. 查看媒体详情,包括评分、简介、演职人员等信息 5. 点击"下载海报"按钮可以下载选定分辨率的海报图片 ### 4. 其他资源刮削 1. 访问 `http://localhost:5000/javdb` 进入其他资源刮削页面 2. 输入资源名称或编号进行搜索 3. 从搜索结果中选择目标资源 4. 查看资源详情,包括标题、演员、标签、简介等信息 5. 点击"下载海报"按钮可以下载资源封面图片 ### 5. 国产资源管理 1. 访问 `http://localhost:5000/madouqu` 进入国产资源管理页面 2. 系统会自动连接配置的国产资源加载资源列表 3. 浏览资源列表,查看资源名称、大小、时长等信息 4. 支持搜索和筛选功能,方便快速查找目标资源 ### 6. 本地资源管理 1. 访问 `http://localhost:5000/local-resources` 进入本地资源管理页面 2. 系统会自动加载 `/app/skit` 目录下的所有资源 3. 可以通过搜索框、资源类型筛选器和排序选项来查找和整理资源 4. 点击资源卡片上的"刮削信息"按钮可以跳转到豆瓣刮削页面,自动填充搜索关键词 ### 7. 本地影院功能 1. 点击左侧导航栏的"本地影院"进入功能页面 2. 浏览本地短剧资源,支持文件夹导航和搜索 3. 点击视频文件即可在页面上播放 4. 支持自动播放下一集功能,视频播放结束后会自动播放列表中的下一个视频 5. 提供全屏播放、视频信息显示等功能 ### 8. PT站点种子搜索 1. 访问 `http://localhost:5000/ptskit` 进入PT站点种子搜索页面 2. 输入种子名称进行搜索 3. 查看搜索结果,包括种子名称、大小、发布时间、完成度等信息 4. 点击"获取磁力链接"或"下载种子"按钮获取资源 ### 9. 下载器管理 #### qBittorrent管理 1. 访问 `http://localhost:5000/qbittorrent` 进入qBittorrent管理页面 2. 系统会自动连接已配置的qBittorrent下载客户端 3. 查看当前下载任务列表、状态和进度 4. 支持添加新下载任务、暂停/恢复任务、删除任务等操作 #### Transmission管理 1. 访问 `http://localhost:5000/transmission` 进入Transmission管理页面 2. 系统会自动连接已配置的Transmission下载客户端 3. 查看当前下载任务列表、状态和进度 4. 支持添加新下载任务、暂停/恢复任务、删除任务等操作 ### 10. 飞牛媒体库浏览 1. 访问 `http://localhost:5000/fnos_media` 进入飞牛媒体库页面 2. 系统会自动连接配置的飞牛媒体库服务器并加载媒体库列表 3. 点击媒体库卡片查看该媒体库下的所有媒体条目 4. 点击媒体条目卡片查看详细信息,包括封面、标题、简介、标签等 5. 系统支持媒体库列表和媒体条目列表的分页显示 ### 11. Emby媒体库浏览 1. 访问 `http://localhost:5000/emby_media` 进入Emby媒体库页面 2. 系统会自动连接配置的Emby媒体服务器并加载媒体库列表 3. 点击媒体库卡片查看该媒体库下的所有媒体条目 4. 点击媒体条目卡片查看详细信息,包括封面、标题、简介、标签等 5. 系统支持媒体库列表和媒体条目列表的分页显示 ### 12. 用户管理系统 系统提供完善的用户管理功能,包括用户创建、权限管理和个人中心: 1. **用户创建与管理**(仅管理员可见) - 管理员可以在个人中心页面创建新用户 - 设置用户角色(管理员或普通用户) - 管理现有用户,包括编辑和删除操作 2. **个人中心** - 查看个人信息,包括用户名、角色、创建时间、最后登录时间 - 修改个人密码 - 上传和更换个人头像 3. **权限控制** - 管理员拥有所有功能的访问权限 - 普通用户只能访问首页、本地影院和个人中心 4. **安全特性** - 密码加密存储,保障用户账户安全 - 支持密码重置功能 - 记录用户最后登录时间 ## 项目结构 ``` Skit-Panel/ ├── app.py # 主应用文件 ├── requirements.txt # Python依赖列表 ├── Dockerfile # Docker构建文件 ├── docker-compose.yml # Docker Compose配置 ├── README.md # 项目说明文档 ├── config/ # 配置目录 │ ├── config.json # 应用配置文件 │ └── users.json # 用户数据文件 ├── data/ # 数据目录 │ ├── nfo_files/ # NFO文件存储 │ └── images/ # 海报图片存储 ├── skit/ # 短剧资源目录(本地资源管理功能使用) ├── static/ # 静态资源目录 │ ├── css/ # CSS样式文件 │ │ ├── base.css # 基础样式 │ │ ├── config.css # 配置页面样式 │ │ ├── douban.css # 豆瓣刮削页面样式 │ │ ├── emby_media.css # Emby媒体库页面样式 │ │ ├── fnos_media.css # 飞牛媒体库页面样式 │ │ ├── local_cinema.css # 本地影院页面样式 │ │ ├── local_resources.css # 本地资源管理页面样式 │ │ ├── main.css # 主样式 │ │ ├── ptskit.css # PT站点页面样式 │ │ ├── qbittorrent.css # qBittorrent管理页面样式 │ │ ├── tmdb.css # TMDB工具页面样式 │ │ ├── transmission.css # Transmission管理页面样式 │ │ └── user_center.css # 用户中心页面样式 │ ├── images/ # 内置图片资源 │ │ ├── favction.png # 默认头像 │ │ ├── placeholder.png # 占位图片 │ │ └── placeholder.svg # 占位图片(SVG格式) │ └── js/ # JavaScript文件 │ ├── base.js # 基础脚本 │ ├── change_password.js # 修改密码脚本 │ ├── config.js # 配置页面脚本 │ ├── douban.js # 豆瓣刮削页面脚本 │ ├── emby_media.js # Emby媒体库页面脚本 │ ├── fnos_media.js # 飞牛媒体库页面脚本 │ ├── local_cinema.js # 本地影院页面脚本 │ ├── local_resources.js # 本地资源管理页面脚本 │ ├── login.js # 登录页面脚本 │ ├── main.js # 主脚本 │ ├── ptskit.js # PT站点页面脚本 │ ├── qbittorrent.js # qBittorrent管理页面脚本 │ ├── tmdb.js # TMDB工具页面脚本 │ ├── transmission.js # Transmission管理页面脚本 │ └── user_center.js # 用户中心页面脚本 ├── templates/ # HTML模板目录 │ ├── base.html # 基础模板(包含侧边栏) │ ├── change_password.html # 修改密码页面 │ ├── config.html # 系统配置页面 │ ├── douban.html # 豆瓣刮削页面 │ ├── emby_media.html # Emby媒体库页面 │ ├── fnos_media.html # 飞牛媒体库页面 │ ├── index.html # 首页 │ ├── local_cinema.html # 本地影院页面 │ ├── local_resources.html # 本地资源管理页面 │ ├── login.html # 登录页面 │ ├── ptskit.html # PT站点种子页面 │ ├── qbittorrent.html # qBittorrent管理页面 │ ├── tmdb.html # TMDB工具页面 │ ├── transmission.html # Transmission管理页面 │ └── user_center.html # 用户中心页面 └── utils/ # 工具类目录 ├── auth_utils.py # 认证工具类 ├── cinema_utils.py # 本地影院工具类 ├── douban_movie_utils.py # 豆瓣电影工具类 ├── emby_media_utils.py # Emby媒体库工具类 ├── fnos_media_utils.py # 飞牛媒体库工具类 ├── local_resources_utils.py # 本地资源工具类 ├── ptskit_utils.py # PT站点工具类 ├── qbittorrent_utils.py # qBittorrent管理工具类 ├── tmdb_utils.py # TMDB工具类 ├── transmission_utils.py # Transmission管理工具类 └── user_management_utils.py # 用户管理工具类 ``` ## 注意事项 - 请确保配置有效的豆瓣Cookie,否则可能无法获取完整的电影信息 - 使用Docker部署时,首次启动会自动创建默认配置文件 - 生成的NFO文件符合Kodi等媒体中心的格式要求 - 本地资源管理功能默认读取 `/app/skit` 目录,在Docker部署时需要正确映射此目录 ## 作者 DoubleStackWorkShop ## 许可证 MIT License