truewhile
b503fdee7a
优化续播
2026-09-01 23:16:11 +08:00
truewhile
db64a6c093
优化
2026-09-01 18:55:05 +08:00
truewhile
73b95a8e38
feat: Emby 挂载独立管理(媒体库级选择挂载 + 每库代理开关)
...
- 新增 EmbyMount 表与 /admin/emby/mounts CRUD:把远程 Emby 的媒体库按需
挂载到本项目(同一服务器可选择性挂载/全量挂载),代理开关下沉到每个
挂载(一个 Emby 服务器可部分库代理、部分库直连)
- 伪装 ID 改为 embyremote~{mountID}~{remoteID}:播放/详情/状态/图片链路
全部经 ResolveMount 解析挂载与账号
- 新增「Emby 挂载」独立菜单页(/emby-mount):账号管理(添加/测试/编辑/
删除)+ 挂载列表(代理切换/停用/取消)+ 选择挂载对话框(多选+全量)
- STRM 管理页过滤 emby_remote 账号;账号表单移除 emby 类型
- Boot 幂等 AutoSeedMounts:旧 emby 账号自动全量挂载(沿用旧代理配置),
升级后媒体库不消失
- 修复:远程流请求注入浏览器 UA(防 Cloudflare 风控)+ 代理强制 Static=true
(阻止远程 ffmpeg 转码调度,反代纯字节中继)
- 全局搜索改为按挂载逐个搜索(结果归属与伪装 ID 正确)
2026-09-01 13:53:15 +08:00
truewhile
0eb3f104f4
feat: Emby 远程挂载(联邦聚合)功能 beta
...
- 新增 emby_remote 提供方:通过 STRM 账号体系配置远程 Emby 地址/用户名/密码
- EmbyService 聚合远程媒体库 Views/Items/详情/最近添加/全局搜索,远程数据不落库
- 条目 ID 统一伪装为 embyremote~{account}~{id},请求按账号路由回远程
- 播放支持账号级 proxy_play 配置:默认客户端直连远程;开启后由 MMTL 反向代理流/字幕
- 图片/元数据全部实时透传远程,播放状态(已看/收藏)透传回远程 Emby
- cloud 包新增 emby Provider(Ping/List/Resolve),账号测试/目录浏览自动生效
- 前端 STRM 页面支持 Emby 远程挂载账号(地址+凭据+代理开关)
2026-09-01 10:44:01 +08:00
truewhile
fa9307e2e1
优化
2026-08-30 21:40:58 +08:00
truewhile
6e8eac9887
优化
2026-08-27 23:40:12 +08:00
truewhile
496a897782
优化
2026-08-27 21:24:01 +08:00
truewhile
b676733af7
优化strm同步
...
优化strm同步
2026-08-26 00:26:28 +08:00
truewhile
43fdfe8202
处理无法播放的问题
...
处理无法播放的问题
2026-08-24 21:06:44 +08:00
truewhile
44ca451cd4
优化
...
优化
2026-08-24 17:40:43 +08:00
truewhile
c55d29ae84
添加strm生成
...
添加strm
2026-08-24 14:36:17 +08:00
truewhile
71bf60c69c
初始化
...
初始化项目
2026-08-23 22:12:32 +08:00
truewhile
65d1ad5ae5
优化番号处理逻辑,添加对MetaTube的支持
...
优化番号处理逻辑,添加对MetaTube的支持
2026-08-21 00:06:49 +08:00
ShukeBta
42ef19b7e5
fix(downloads): support Transmission and aria2 end to end
...
Fixes #65
2026-08-10 21:04:04 +08:00
ShukeBta
c0d743d89d
fix(subscriptions): reject concurrent duplicate rules
...
Fixes #66
2026-08-10 19:30:17 +08:00
ShukeBta
06b25564ea
Add library covers and configurable footer visibility
2026-07-16 13:17:52 +08:00
ShukeBta
b610dda098
fix: align scraped media naming and release sorting
2026-07-03 02:55:33 +08:00
ShukeBta
941bb273b9
fix media organize and subscription workflows
2026-06-30 20:18:02 +08:00
ShukeBta
47069fb751
split core model definitions
2026-06-27 08:21:46 +08:00
ShukeBta
5ef831f830
support multiple roots per library
2026-06-26 22:18:26 +08:00
ShukeBta
bd35e5adf7
refactor emby api model types by topic
2026-06-26 20:13:59 +08:00
ShukeBta
192f35d9fa
refactor: split modules and harden scraping workflows
2026-06-24 11:59:18 +08:00
ShukeBta
7b881d031c
fix organizer diagnostics and site integrations
2026-06-21 09:44:29 +08:00
ShukeBta
6e61c8b545
feat(telegram): 订阅/下载补齐 year/rating/genres/原名/语言 富通知字段
...
- 模型: Subscription/DownloadTask 新增 OriginalName/OriginalLanguage/Year/
Rating/Genres 列(GORM AutoMigrate 自动建列, 无需手写迁移)
- enrich 链路: displayMetadata 与 DownloadTaskMeta 携带新字段, 从
SearchExternalMedia(TMDb/豆瓣/Bangumi)结果回填并持久化; 放宽提前返回
门槛, 已有海报但缺新字段时仍补齐
- 通知: 订阅/下载完成事件 data 注入 year/rating/genres/original_title/
original_language, 喂给作者富模板 formatTelegramMediaNotification
- 测试: 新增端到端断言, 验证补齐字段透传进 Telegram caption
2026-06-20 01:45:40 +08:00
ShukeBta
0a3748e564
Fix subscription restore and media library entry links
2026-06-18 10:54:10 +08:00
ShukeBta
850d3db811
Fix scraping workflows subscriptions bot and recycle bin
2026-06-17 19:48:17 +08:00
ShukeBta
ab4637beed
Update MediaStationGo branding and deployment docs
2026-06-17 16:01:16 +08:00
ShukeBta
3368ac2947
Fix bot binding and terminal device limits
2026-06-17 01:06:20 +08:00
ShukeBta
a9b85c0f3f
Allow virtual media reference ids
2026-06-16 02:20:27 +08:00
ShukeBta
61949c1e1c
Fix SQLite to PostgreSQL media migration
2026-06-15 22:11:58 +08:00
ShukeBta
fea1b1dda1
Fix PostgreSQL migration resume and home crash guard
2026-06-15 20:13:30 +08:00
ShukeBta
479a06f008
Unify organize ingest pipeline
2026-06-14 23:17:52 +08:00
ShukeBta
a623702276
Deduplicate organize by multi-source metadata
2026-06-14 01:25:44 +08:00
ShukeBta
4e0929bbca
fix organize path mapping and task flow
2026-06-13 16:32:38 +08:00
ShukeBta
0f82cb3084
feat: improve OpenList cloud storage support
2026-06-10 00:08:35 +08:00
ShukeBta
d94330b30f
fix(subscription): prevent duplicate qb downloads
2026-06-07 10:05:58 +08:00
shuk shuk
22b64d3d47
fix(organize): strip release tags/roman numerals/season markers; de-hardcode paths
...
feat(bot): button menu, capacity/open-reg quota, redemption codes, user mgmt,
account expiry + signin streak, device anti-sharing + inactivity cleanup,
one-click kick, self-service username/password
- Consolidate organize/rename defaults into Tools panel
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-07 09:54:14 +08:00
soldosluka857
b9b7b7052a
feat(organize/scan): transfer modes, seeding-safe relocation, inode dedup, incremental scanning
...
- Organizer: add move/copy/hardlink/symlink transfer modes (default move),
per-request target_path/transfer_mode overrides, and honor organize.target_dir
/ organize.transfer_mode settings.
- keep_seeding (default on): escalate move->hardlink (cross-device->copy) so the
qBittorrent source stays in place and continues seeding after organize.
- qBittorrent SetLocation + POST /downloads/relocate to migrate whole torrents
while keeping them seeding.
- Scanner: FileID (device:inode) hardlink dedup to avoid duplicate recognition
and double-counted storage; extract single-file ingest.
- Watcher: recursive watch + incremental per-file ingest/remove instead of full
re-scan; periodic full library scan now gated behind scan.periodic_enabled
(default off) to reduce disk wear.
- Telegram bot: handle callback_query in polling, declare allowed_updates in
webhook, answer callbacks.
- Frontend: settings for transfer mode / keep_seeding / periodic scan; organize
panel target dir + transfer mode overrides.
- Tests for transfer modes, organizer resolution, SetLocation, inode dedup,
incremental ingest/remove.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-30 12:01:46 +08:00
ShukeBta
99ecae0c44
fix: add global adult library visibility controls
2026-05-30 03:24:08 +08:00
ShukeBta
b5e11b6938
fix: secure adult visibility and telegram bot access
2026-05-30 01:39:11 +08:00
ShukeBta
27df93fa3d
feat: add licensing and access controls
2026-05-29 12:47:54 +08:00
ShukeBta
c1b5dac784
feat: improve subscription and download cards
2026-05-28 23:27:34 +08:00
ShukeBta
05d49ca470
Add advanced discovery subscriptions
2026-05-28 22:21:48 +08:00
ShukeBta
32ccb33fed
Fix local adult metadata and watch history removal
2026-05-28 14:52:20 +08:00
ShukeBta
a98429c02a
feat: 实现智能分类功能
...
- 配置模型扩展(OrganizerConfig:smart_classify + categories)
- 数据模型扩展(Media:languages/countries/genres 字段)
- TMDbProvider 增强(GetDetails 方法获取扩展元数据)
- Scraper 服务增强(保存 languages/countries/genres 到数据库)
- Organizer 智能分类逻辑(根据元数据自动分类到子目录)
- 前端 SettingsPage 添加智能分类开关
- 后端支持从数据库读取 organizer.smart_classify 设置
Task #90-94 完成,Task #95 部分完成
2026-05-18 02:49:28 +08:00
ShukeBta
a8e825ec13
fix: 增强站点连接测试HTTP请求头,添加浏览器仿真与FlareSolverr支持
...
- 新增 internal/helper/http.go:带浏览器仿真请求头和Cloudflare/WAF绕过支持
- TestSiteConnectivity 支持 FlareSolverr 代理(需配置 flareSolverrUrl)
- 检测 Cloudflare challenge 页面并返回友好错误信息
- 重构 service/site.go TestConnection 使用新的 helper 方法
2026-05-18 01:41:00 +08:00
ShukeBta
9827b46c49
feat(site): 补全 Site 模型 11 个缺失字段并同步前端类型
...
- model/site.go: 新增 user_agent/rss_url/timeout/priority/use_proxy/rate_limit/
browser_emulation/login_status/upload_bytes/download_bytes/downloader 11个字段
- 字段对齐 Python 原版 MediaStation Site 模型(28字段 → 23字段)
- GORM AutoMigrate 自动补列,旧数据填充默认值(timeout=15, priority=50)
- types/index.ts: Site 接口同步所有新字段(带注释)
- 后端编译 ✅ 前端构建 ✅ API 验证 ✅
2026-05-18 00:52:11 +08:00
ShukeBta
8e06b7e149
chore: remove license code, fix compilation, update README bilingual
...
- Remove all license-related code (handler/service/repository/model)
License authorization is managed by separate server:
https://github.com/ShukeBta/MediaStationLicenseServer
- Fix compilation errors: model field alignment, method name fixes,
route conflicts, struct literal corrections (7 files)
- Add Chinese README.md as primary, English README_EN.md
- Update .gitignore: exclude .workbuddy/, editor backups
- Add new repository files: assistant, play_profile, storage_config
2026-05-17 00:02:41 +08:00
ShukeBta
37dd83c56d
Resolve merge conflicts: merge all Go backend and React frontend changes
2026-05-16 22:48:30 +08:00
ShukeBta
cbb4b806be
feat: merge conflict resolution, site management, UI fixes
2026-05-16 17:57:34 +08:00