Commit Graph
1151 Commits
Author SHA1 Message Date
mtvpls 9e50103630 调整链接刷新到右上角 2026-07-21 20:16:42 +08:00
mtvpls 08c2ff36f9 优化动漫数据源图片降级策略 2026-07-21 16:13:00 +08:00
mtvpls d54cf65927 增加桜色动漫数据源 2026-07-21 15:51:40 +08:00
mtvpls f7e0529394 恢复记录时机调整 2026-07-21 09:04:38 +08:00
mtvpls f12da66da9 修复自动刷新判断逻辑 2026-07-20 01:37:43 +08:00
mtvpls d9e1b343e3 openlist增加路径元信息配置分类和自动刷新链接功能 2026-07-18 15:51:30 +08:00
mtvpls f742787044 ios pwa沉浸式状态栏 2026-07-18 12:20:15 +08:00
mtvpls 1bbea13c62 增加客户端去广告配置 2026-07-17 19:14:01 +08:00
mtvpls bd779b237c 动漫订阅增加排除关键词 2026-07-17 09:56:33 +08:00
mtvpls 9f63e18550 设备识别移除tgbot 2026-07-15 15:19:47 +08:00
mtvpls 93d6c773b8 Revert "feat: extend image proxy to all images, not just douban"
This reverts commit d682cee427.
2026-07-14 01:30:52 +08:00
mtvpls 1333848a11 Merge PR #422: feat: add traffic analytics configuration (Umami/GA/Clarity/Custom) 2026-07-12 16:41:26 +08:00
mtvpls 07c09fbe39 Merge PR #421: feat: add Turso (libSQL) storage support for EdgeOne deployment 2026-07-12 16:41:11 +08:00
雅丶涵 e35e85ab96 Merge 305a767896 into f55a1f50de 2026-07-12 05:06:29 +00:00
anglesgirl 305a767896 fix: skip 'last played' prompt for duanju (short drama)
Short drama episodes are typically 60-120 seconds, making the 'last
played at XX:XX' resume prompt unnecessary and annoying. This change:

- Add isDuanju prop to VideoCard, passed as &duanju=1 URL parameter
- duanju page passes isDuanju to VideoCard
- play page checks duanju=1 param and skips the resume prompt entirely
2026-07-12 05:06:24 +00:00
anglesgirl d682cee427 feat: extend image proxy to all images, not just douban
Modify processImageUrl to proxy non-douban/non-TMDB/non-Bangumi images
(like video source covers) through /api/image-proxy, solving broken
cover image issues from third-party APIs.

- Add http/https protocol check (skip relative paths, data URIs)
- Non-douban images now go through /api/image-proxy with caching
- Users can disable via localStorage 'proxyAllImages' = 'false'
- Default: enabled

This matches the change previously made on the dev branch.
2026-07-12 04:11:50 +00:00
mtvpls bc95367093 webtv局域网遥控二维码可聚焦 2026-07-12 09:50:53 +08:00
雅丶涵 083b696218 Merge 7d5f91d80f into f55a1f50de 2026-07-12 03:17:32 +08:00
mtvpls-turso 7d5f91d80f feat: add Microsoft Clarity analytics provider
Add Microsoft Clarity as a fourth analytics provider option alongside
Umami, Google Analytics, and Custom. Clarity provides free heatmaps,
session recordings, and user analytics.

- admin.types.ts: Add 'clarity' to AnalyticsProvider union type
- api/admin/site/route.ts: Add 'clarity' to validation
- admin/page.tsx: Add Clarity option to dropdown + Project ID input UI
- layout.tsx: Inject Clarity tracking script with project ID
2026-07-11 19:16:59 +00:00
mtvpls-turso b7df796f9d feat: add traffic analytics configuration (Umami/GA/Custom)
Add traffic analytics support to the admin panel with three provider
options:
- Umami (open-source, self-hosted) — script URL + website ID
- Google Analytics 4 — Measurement ID (G-XXXXXXXXXX)
- Custom — any third-party analytics script (百度统计, Plausible, 51la, etc.)

Changes:
- admin.types.ts: Add AnalyticsEnabled, AnalyticsProvider,
  AnalyticsScriptUrl, AnalyticsWebsiteId, AnalyticsCustomScript to
  SiteConfig interface
- config.ts: Add default values in getInitConfig() and configSelfCheck()
- api/admin/site/route.ts: Add analytics fields to destructuring, type
  validation, and SiteConfig update
- admin/page.tsx: Add SiteConfig interface fields, state initialization,
  config sync, and analytics configuration UI with provider-specific
  input fields
- layout.tsx: Inject analytics scripts into <head> based on provider
  type (Umami: async script with data-website-id; GA: gtag.js + config;
  Custom: dangerouslySetInnerHTML)
2026-07-11 19:16:59 +00:00
mtvpls-turso 392211264f feat: add Microsoft Clarity analytics provider
Add Microsoft Clarity as a fourth analytics provider option alongside
Umami, Google Analytics, and Custom. Clarity provides free heatmaps,
session recordings, and user analytics.

- admin.types.ts: Add 'clarity' to AnalyticsProvider union type
- api/admin/site/route.ts: Add 'clarity' to validation
- admin/page.tsx: Add Clarity option to dropdown + Project ID input UI
- layout.tsx: Inject Clarity tracking script with project ID
2026-07-11 19:01:16 +00:00
mtvpls-turso d98f5082a5 feat: add traffic analytics configuration (Umami/GA/Custom)
Add traffic analytics support to the admin panel with three provider
options:
- Umami (open-source, self-hosted) — script URL + website ID
- Google Analytics 4 — Measurement ID (G-XXXXXXXXXX)
- Custom — any third-party analytics script (百度统计, Plausible, 51la, etc.)

Changes:
- admin.types.ts: Add AnalyticsEnabled, AnalyticsProvider,
  AnalyticsScriptUrl, AnalyticsWebsiteId, AnalyticsCustomScript to
  SiteConfig interface
- config.ts: Add default values in getInitConfig() and configSelfCheck()
- api/admin/site/route.ts: Add analytics fields to destructuring, type
  validation, and SiteConfig update
- admin/page.tsx: Add SiteConfig interface fields, state initialization,
  config sync, and analytics configuration UI with provider-specific
  input fields
- layout.tsx: Inject analytics scripts into <head> based on provider
  type (Umami: async script with data-website-id; GA: gtag.js + config;
  Custom: dangerouslySetInnerHTML)
2026-07-11 18:47:11 +00:00
mtvpls-turso e624ffb087 fix: add turso storage type to data migration import/export
The data migration import/export API was missing 'turso' as a storage
type check. Without this, Turso storage fell into the Redis 'else'
branch, which tries to use hSet/withRetry methods that don't exist
on the D1Storage adapter (used by Turso), causing user data import
to fail silently.

- Import route: added 'turso' alongside 'd1' to use
  createUserWithHashedPassword method
- Export route: added 'turso' alongside 'd1' to use
  getUserPasswordHash method
2026-07-11 18:15:46 +00:00
mtvpls-turso aab6db64cc fix: use @libsql/client/http subpath to avoid native module deps
The main @libsql/client entry point pulls in the native libsql module
and isomorphic-ws/isomorphic-fetch, which webpack cannot parse in
EdgeOne builds. Using the http subpath provides a pure HTTP client
that works in edge/serverless environments without native dependencies.

Also add libsql, @libsql/isomorphic-fetch, @libsql/isomorphic-ws to
the edge build alias list in next.config.js as a safety net.
2026-07-11 17:28:55 +00:00
mtvpls-turso d094e379d9 fix: use require() for @libsql/client to fix EdgeOne webpack ESM resolution
The @libsql/client package uses conditional exports (edge-light, workerd)
that cause webpack to resolve to the web.js entry point during EdgeOne
builds, resulting in 'TypeError: e is not a constructor'.

Switching from static import to dynamic require() bypasses webpack's
ESM conditional export resolution and uses the CommonJS entry point
consistently.
2026-07-11 17:23:56 +00:00
mtvpls-turso 8e464c463b feat: add Turso (libSQL) storage support for EdgeOne deployment
- Add TursoAdapter implementing DatabaseAdapter interface using @libsql/client
- Add 'turso' storage type to db.ts storage selector (reuses D1Storage)
- Add init-turso.js script for database migration and admin initialization
- Add @libsql/client dependency to package.json
- Update next.config.js to exclude @libsql/client from client-side bundle
- Update edgeone-deploy.yml workflow with TURSO_URL and TURSO_TOKEN secrets
- Update edgeone-build.mjs runtime env keys to include Turso variables
- Update .env.edgeone.example with Turso deployment instructions
- Update README.md with Turso as recommended storage for EdgeOne

Turso provides free SQLite-compatible cloud database (libSQL) with:
- 500 databases, 9GB storage, 1B row reads/month on free tier
- HTTP API compatible with edge/serverless environments
- Full SQLite syntax compatibility, reuses existing migrations
2026-07-11 17:04:27 +00:00
mtvpls 984f763c66 edgeone动态拦截生成 2026-07-11 10:34:19 +08:00
mtvpls f55a1f50de 修复edgeone动态路由404 2026-07-11 09:58:26 +08:00
mtvpls 71105f0ca9 tgbot站点名改为自定义站点名 2026-07-09 09:59:19 +08:00
mtvpls 7e5d366fcd v223.3 2026-07-06 09:51:11 +08:00
mtvpls fd8bf3d587 add guangya netdisk name mapping 2026-07-04 11:57:50 +08:00
mtvpls c705b2fd16 公告增加每次显示模式 2026-07-03 11:41:43 +08:00
mtvpls ba34019bde 通知增加区域switch,增加免责声明 2026-07-01 10:21:51 +08:00
mtvpls 94f4c38575 移除tgbot解除绑定,增加候选指令功能 2026-06-30 11:26:41 +08:00
mtvpls c1716615e2 tg注册 2026-06-29 22:41:36 +08:00
mtvpls 418d57ae8a 移除第三方登录的多个或 2026-06-29 17:54:46 +08:00
mtvpls 5d315ef12f 修正权限放行 2026-06-29 17:11:59 +08:00
mtvpls 5d605710f3 接入tgbot 2026-06-29 16:40:03 +08:00
mtvpls b1aad6a9bc 增加本地播放/离线播放状态标识 2026-06-29 09:49:07 +08:00
mtvpls 528ded1b3f v223.2 2026-06-25 22:21:43 +08:00
mtvpls 5625dd204c 增加自定义X-Emby-Authorization 2026-06-24 11:58:21 +08:00
mtvpls 6362c8f251 调整播放失败提示 2026-06-22 11:35:38 +08:00
mtvpls 5bf15e4086 修复ai总开关关闭后ai评论仍然显示 2026-06-22 09:20:14 +08:00
mtvpls 741e49e75a 修复多个下载内容导出混乱成一个 2026-06-21 22:42:28 +08:00
mtvpls 1a24f3316f 增加下载内容导出功能 2026-06-21 16:26:06 +08:00
mtvpls 99b58b2e6a 下载增加indexdb模式 2026-06-21 10:59:05 +08:00
mtvpls f7b6181471 修复搜索页带类型参数时仍后台搜索影视类型 2026-06-20 12:57:11 +08:00
mtvpls ec71a252c9 动漫磁力搜索增加nyaa;动漫磁力搜索前可选站点 2026-06-20 12:43:16 +08:00
mtvpls 20c073430b 移除复制地址按钮;扫码登录成功返回上一页 2026-06-19 16:35:14 +08:00
mtvpls 0b6c6e78e6 修复局域网遥控按键溢出以及菜单键失效 2026-06-19 16:15:00 +08:00