Commit Graph
121 Commits
Author SHA1 Message Date
Noah 8a19c05c06 fix(webui): 注册提交前执行表单校验,确认密码规则不再被绕过 (#1677)
登录页的提交按钮直接调用 handleSubmit 发起 fetch,从不触发
Semi Form 的规则校验:确认密码字段的一致性 validator 从未执行,
注册时确认密码留空或与密码不一致都能成功提交。

现在提交前先 formApi.validate():校验失败时终止提交,错误信息
展示在对应字段下方;同时为确认密码补充 required 规则,留空时
给出明确提示而不是笼统的“两次密码输入不一致”。
2026-08-30 14:56:56 +00:00
ForgQi eb8699b203 Add recording policy and time-range checks
This change adds a recording policy layer that enforces time-window eligibility and excluded title keywords before probing and before recording. It updates the streamer API to surface reasons like OutOfSchedule and TitleExcluded, clamps ffmpeg/segment durations to the configured window, and exposes the last rejection reason from the worker state for the frontend.
2026-08-22 19:15:48 +08:00
Mostly_Harmless b438d72415 feat(web): 完善账号管理、稿件查询与安全边界 (#1660)
启动 Web 服务时自动登记 CLI 指定的 B 站凭据,并为账号登记、刷新和删除统一补上并发去重、原子写入及引用检查。

同时收紧默认监听、管理员初始化、认证路由、静态文件和日志 WebSocket,恢复 server 的 ds_update.log,并避免凭据及上游响应进入日志。

新增按账号查询远程稿件的 API 与 Web 页面,补齐严格分页和响应校验。

关联 biliup/biliup#1624

关联 biliup/biliup#1658

关联 biliup/biliup#724
2026-08-16 14:05:20 +00:00
dreammu 3e8b55c2c4 fix(upload): update upload lines (#1656) 2026-08-07 09:28:12 +00:00
XuanRan_Nyan 08b96b73f8 feat(douyu): build huos url for forced hs (#1644) 2026-06-26 11:59:42 +00:00
ForgQi 431d1f61ab Support optional segment limits and danmaku files
Make file_size and segment_time optional and normalize/validate their values so segmentation can be disabled. Frontend: send nulls for empty fields and allow empty segment_time via validation; add showClear to inputs. Downloader: extend SegmentInfo with optional danmaku_file_path and propagate it from various downloaders; DanmakuClient::rolling now returns a bool to signal whether a danmaku file was produced. Uploader: add segment_paths helper to include danmaku files in upload/postprocessing, and preserve processed paths; add unit tests. HookStep: stream child process stdout/stderr as raw bytes to terminal and append to a log file (tee), and simplify run/move logic to use explicit path lists. Cargo.toml: bump reqwest to 0.13.4. Tests and minor adjustments added throughout to support these changes.
2026-06-04 01:19:27 +08:00
XuanRan_Nyan caf106c3f8 Fix(Huya): refactor anticode generation using getCdnTokenInfoEx API (#1575)
* Fix(Huya): refactor anticode generation using getCdnTokenInfoEx API

* chore: cleanup

* chore: get random sHuYaUA

* chore: 代码复用
2025-12-21 13:03:52 +00:00
ForgQi c172efb6cd Add dynamic log level configuration support
Introduces a new `loggers_level` field in the server config to allow dynamic adjustment of log levels via the API and UI. Updates the developer UI to reflect the new log level controls and ensures the backend applies changes to the logging filter at runtime. Also bumps the version to 1.1.27.
2025-12-01 02:18:20 +08:00
ForgQi 55370dd87a Add dynamic log level reload support to server
Introduces tracing_subscriber::reload to enable dynamic log level changes at runtime. Updates the main server initialization and ServiceRegister to accept and store a log handle. Refactors related code to support this feature and removes disabled state from developer UI log level selectors.
2025-11-27 03:41:09 +08:00
ForgQi 3698bcf28a Add struct-patch support and improve config handling
Introduces the struct-patch crate for partial config updates and applies it to configuration models. Refactors config access patterns, adds PartialEq to several types, and updates LiveStreamer to use ConfigPatch for override_cfg. Also updates the CI workflow to use macos-15-intel, improves download task cancellation logic, and upgrades @douyinfe/semi-ui and related dependencies in the frontend.
2025-11-20 03:26:40 +08:00
ForgQi f5f2998d16 Add streamer file info API and improve file listing
Introduces a new API endpoint `/v1/streamer-info/files/{id}` to fetch file lists for a specific streamer, and updates the frontend to fetch file lists dynamically per row. Also updates serialization for streamer date fields, improves comments and error handling, and changes the default downloader type for plugins. Minor documentation and code cleanup included.
2025-10-27 01:28:08 +08:00
ForgQi a0b6800c0a Refactor async worker status and improve file move logic
Refactored worker status management to use async RwLock and updated all related methods to be async. Improved file move logic in hook steps to support cross-filesystem moves by falling back to copy+delete when necessary. Updated API endpoints, download/upload logic, and monitor state transitions to be fully async and more robust. Also added a Debug implementation for Credentials to avoid logging sensitive data, and made minor UI tweaks to disable certain developer options.
2025-10-22 02:13:37 +08:00
ForgQi ea17305b0a Refactor actor system and add upload status tracking
Refactored download and upload actor implementations into separate modules for better maintainability. Added upload_status field to LiveStreamerEntity and API responses, and updated the frontend to display upload status. Also added Huya protocol config option and improved Huya stream header handling in stream-gears. Minor bug fixes and code cleanups included.
2025-10-01 00:26:07 +08:00
ForgQi 247f231640 Refactor log tabs and improve download/upload handling
Merged download and upload logs into a single tab in the log viewer and commented out the separate upload log tab. Removed unused and legacy methods from the Python upload and download engine classes. Improved logging and error handling in Rust server modules, including more informative log messages and better context propagation. Updated plugin interface to pass context instead of just URL, and enhanced dictionary filtering in config state. Bumped workspace version to 1.1.12.
2025-09-30 01:44:46 +08:00
ForgQi 92b5a30df5 Add streamer pause/resume feature and UI updates
Introduces a pause/resume button for streamers in the UI and backend, including API endpoint and status handling. Refactors streamer status display, updates related TypeScript interfaces, and improves modal forms. Also updates @douyinfe/semi-ui and related dependencies to v2.86.0, and bumps workspace version to 1.1.10. Minor logging and trait changes in Rust backend for improved clarity and error handling.
2025-09-29 03:18:21 +08:00
ForgQi a5faefb533 Add QR code login and user management endpoints
Introduces endpoints for QR code-based login and user management in the stream-gears server. Adds support for creating, deleting, and listing users, as well as endpoints for QR code generation and login via QR code. Refactors configuration management to use a global LazyLock, updates model serialization for streamer hooks, and improves context and service registration to support stateless clients. Also updates the frontend to handle new user and QR code flows, and adds an image resource for donation display in the README.
2025-09-20 21:43:51 +08:00
ForgQi 3744c0f14c Refactor to remove legacy Python backend and database
Removed legacy Python backend modules, database models, and related utilities from the biliup package. Migrated configuration and main loop handling to use stream_gears bindings, simplifying the codebase and shifting backend responsibilities to the Rust implementation. Updated the login page to support registration and login via the new API, and adjusted frontend API base export.

Update Cargo.toml

Update Cargo.lock
2025-09-19 03:28:17 +08:00
ForgQi b13a6b7f77 Revert "fix: 修复遗漏的接口鉴权 (#1417)"
This reverts commit 244e03c38a.
2025-09-18 00:14:38 +08:00
ForgQi 7dfc81a6d8 Revert "优化登录功能` (#1386)"
This reverts commit 795f2965cc.
2025-09-18 00:13:13 +08:00
XiaoMiku01 244e03c38a fix: 修复遗漏的接口鉴权 (#1417) 2025-08-11 15:41:06 +00:00
xiaoyu eaca64aa3a 修改充电参数open_elec为charging_pay (#1410) 2025-08-08 05:08:04 +00:00
XuanRan_Nyan e1171c6dc7 fix(blive): parse error (#1405) 2025-08-07 06:36:31 +00:00
XuanRan_Nyan dba7780c3d feat(biliup-rs): 新增 BCut Android 投稿接口 (#1402)
* remove: blive hack feature

* feat(stream-gears): 支持直播流下载的多条件分割

* 新增 BCut Android 投稿接口

* chore: 优化实现方法

* chore: 完成 Python 实例

* chore: 完善测试用例

* chore: 复用代码

* cleanup
2025-08-07 03:40:33 +00:00
XuanRan_Nyan 526767257d remove: blive hack feature (#1394) 2025-08-04 14:22:47 +00:00
XuanRan_Nyan 8293b6cd91 feat(Huya): 支持 Huya Wup 协议以获取正确直播流 (#1385)
* feat(Huya): 支持 Huya Wup 协议以获取正确直播流

* chore: 补充 webui 内容
2025-08-02 08:59:19 +00:00
XiaoMiku01 795f2965cc 优化登录功能` (#1386)
* feat(布局): 在导航栏底部添加退出登录按钮

* fix: 使用本地存储的认证信息检查登录

* style(login): 增强可读性
2025-08-01 09:04:37 +00:00
XiaoMiku01 b3ee6f0e1f 添加登录页面 (#1375)
* feat: 实现完整的用户认证系统

- 添加登录页面和认证上下文
- 创建认证守卫组件保护路由
- 修改API请求添加认证头
- 重构布局组件支持认证状态
- 后端API添加认证中间件

* refactor(auth): 移除调试用的print语句

清理认证中间件中的调试输出,这些语句在生产环境中不需要

* style(login): 更新登录页面样式,添加渐变背景和卡片效果

改进登录页面的视觉设计,使用渐变背景提升整体美观度,并优化卡片样式增加现代感
2025-07-30 04:00:06 +00:00
某摆烂咸鱼 bd69b76124 feat: 新增上传重试次数限制和上传结果webhook通知 (#1355)
* feat: 新增重试上传次数限制

* feat: 新增上传后WebHook设置选项

* feat: 新增上传webhook逻辑

* mod: 将功能配置移至直播配置中的更多设置

* mod: 修改webhook传输的信息

* mod: 修正错误的数据类型

Refactor webhook upload logic and update build configs

Replaces the 'uploaded_webhook' field with a 'webhook' postprocessor in the upload workflow, updating both backend and frontend to support this change. Updates the Tauri app to use the correct resource path for the sidecar binary, adjusts process management, and modifies build and workflow scripts for improved compatibility. Also bumps the 'stream-gears' crate version to 1.0.1 and adds '_internal' to .gitignore.

Update pyinstaller-publish.yml

Fix pyinstaller copy metadata (#1357)

* Update tauri.conf.json

* Update biliup.spec

Update pyinstaller-publish.yml

feat: 新增上传重试次数限制和上传结果webhook通知 (#1355)

* feat: 新增重试上传次数限制

* feat: 新增上传后WebHook设置选项

* feat: 新增上传webhook逻辑

* mod: 将功能配置移至直播配置中的更多设置

* mod: 修改webhook传输的信息

* mod: 修正错误的数据类型

Refactor webhook upload logic and update build configs

Replaces the 'uploaded_webhook' field with a 'webhook' postprocessor in the upload workflow, updating both backend and frontend to support this change. Updates the Tauri app to use the correct resource path for the sidecar binary, adjusts process management, and modifies build and workflow scripts for improved compatibility. Also bumps the 'stream-gears' crate version to 1.0.1 and adds '_internal' to .gitignore.
2025-07-22 02:02:23 +08:00
XuanRan_NyanandForgQi 45839c7e88 fix(Plugins.Huya): Update HuYaUA (#1291)
* fix(Plugins.Huya): HuYaUA

* add options to disable wup headers

* cleanup

* Update __init__.py

---------

Co-authored-by: ForgQi <34411314+ForgQi@users.noreply.github.com>
2025-05-12 03:58:19 +00:00
⁢4.435km/sandForgQi b61ff5ed08 feat: 适配TwitCasting,TwitCasting添加Cookie,TwitCasting添加画质选择 (#1282)
* feat: 适配TwitCasting,TwitCasting添加Cookie,TwitCasting添加画质选择

* Update __init__.py

---------

Co-authored-by: ForgQi <34411314+ForgQi@users.noreply.github.com>
2025-05-06 03:22:19 +00:00
bec4f72cc6 feat: 移动端响应式增强 (#1266)
* feat: 弹出层支持响应式宽度

* feat: 优化折叠效果

* feat: 优化移动端折叠体验

* fix: ssr 编译报错

* fix: 修复 PC 切移动端时不会自动折叠的问题

* feat: 支持仅自己可见开关 (#1261)

* feat: 支持仅自己可见开关

* fix: 私密视频投稿失败

* chore: 移除迁移脚本

* fix: 修复 is_only_self 覆盖界面原先额外字段配置问题

* fix: ncp and sass should not production dependencies (#1265)

* feat: 抖音真原画 (#1267)

* feat: 抖音真原画

* add webui option

* Update __init__.py

---------

Co-authored-by: ForgQi <34411314+ForgQi@users.noreply.github.com>

* feat: 优化移动端折叠体验

* chore: rebase master,重新提交 lock

---------

Co-authored-by: XuanRan_Nyan <31968665+xxxxuanran@users.noreply.github.com>
Co-authored-by: ForgQi <34411314+ForgQi@users.noreply.github.com>
2025-04-29 02:03:19 +00:00
XuanRan_NyanandForgQi ce66a29bfe feat: 抖音真原画 (#1267)
* feat: 抖音真原画

* add webui option

* Update __init__.py

---------

Co-authored-by: ForgQi <34411314+ForgQi@users.noreply.github.com>
2025-04-27 02:01:11 +00:00
Gweesin Chan 3a15f5519a feat: 支持仅自己可见开关 (#1261)
* feat: 支持仅自己可见开关

* fix: 私密视频投稿失败

* chore: 移除迁移脚本

* fix: 修复 is_only_self 覆盖界面原先额外字段配置问题
2025-04-27 01:57:01 +00:00
Guthrie 4cf8de648c webui: 录制时间范围改用TimePicker,选择时间 (#1211)
* 录制时间范围前端改为选择

* 配置文件注释

* fixx

* bug fix

* Update TemplateModal.tsx

* 修改css
2025-04-02 09:37:10 +00:00
1938e58802 Add 添加实时日志展示 (#1210)
* fix

* 修复虎牙拉流失败异常

* 添加边录边传下载器日志记录

* 修复边录边传投稿标题概率异常

* Update biliup/plugins/huya.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* 添加边录边传的说明链接

* 添加日志实时ws接口

* 避免日志文件过大读取异常

* 修复可能出现的Keyerror

* 添加 LogViewer 页面

* LogViewer 添加自动滚动

* 更换 Icon

* 添加下载按钮

* 修复投稿标题格式化异常

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: xxxxuanran <xxxxuanran@gmail.com>
2025-04-01 03:07:37 +00:00
Guthrie 518e74f496 feature: 关键词不录播 (#1200) 2025-03-31 02:59:11 +00:00
某摆烂咸鱼andxxxxuanran 257453a70b feat: 支持B站完整弹幕录制 (#1186)
* feat: 支持B站完整弹幕录制

* feat: 原始弹幕json编码时不编码中文

* mod: 每五分钟保存一次弹幕文件,减少磁盘IO

* feat: 默认场景10秒保存一次弹幕,原始弹幕5分钟一次

* mod: 修改录制原始弹幕参数名称

* mod: 更新示例配置文件

* refactor(Danmaku): 提升代码可读性

---------

Co-authored-by: xxxxuanran <xxxxuanran@gmail.com>
2025-03-31 02:48:27 +00:00
XiaoMiku01andCopilot eb6b35c93f Fix 修复一些问题 (#1207)
* fix

* 修复虎牙拉流失败异常

* 添加边录边传下载器日志记录

* 修复边录边传投稿标题概率异常

* Update biliup/plugins/huya.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* 添加边录边传的说明链接

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-30 11:13:55 +00:00
XuanRan_Nyan 3070a4011b 相似备注检查跳过自身;格式化用户模板提交之数据 (#1157)
* 相似备注检查跳过自身;格式化用户模板提交之数据

* fix

* 更新配置文件模板
2025-02-07 12:59:42 +00:00
my_key 3029079100 Update layout.tsx (#1156)
修改内容:
将 <Image> 组件中的 src 属性从 "logo.png" 修改为 "/logo.png"。
修改原因:
为了避免在多级目录结构下,图片路径解析错误导致图片无法显示的问题。通过在路径前添加 /,确保图片始终从根目录开始查找,避免因相对路径导致的路径解析错误。
影响范围:
该修改仅影响图片的路径解析方式,不会对图片的显示效果或其他功能产生任何负面影响。
2025-02-07 12:01:02 +00:00
XuanRan_Nyan 9404dc4a5c feat: Add override configuration support for streamers (#1151)
* feat: Add override configuration support for streamers

* refactor: Simplify plugin imports and platform matching

* refactor: 支持插件配置覆写

* refactor: 更新 User 块覆写

* fix: type error
2025-02-06 12:07:40 +00:00
XuanRan_Nyan 2ad84afa98 feat: Add Kilakila streaming platform support (#1148)
* feat: Add Kilakila streaming platform support

Integrated Kilakila plugin into the dashboard streaming platforms section

* Improve Kilakila plugin URL support

Add support for additional Kilakila and Hongdoufm domain URLs, and implement URL path validation to prevent unsupported stream types

* 补充信息
2025-02-03 11:21:33 +00:00
XiaoMiku01andxxxxuanran 94b404c57e Dev 适配 biliup/biliup-rs#186 测试边录边上传功能 (#1140)
* fix

* 适配 biliup/biliup-rs#186  extra_fields

* dev 边录边上传功能初版

* 修复下载器错误

* 实现同步编辑投稿功能

* 上传模板标题格式化

* fix

* 默认分p大小2G

* 重写了对列

* 修改输出队列机制

* 多线程上传有bug

* 修复异常阻塞和多线程上传bug

* reset

* fix

* 修复线程池异常

* 添加额外字段支持;增加同步下载器选项;去除无用日志;修复B站FLV流小概率无法获取;去掉B站弹幕重复登录态验证。

* 删除补0测戳

* 调整 ffmpeg header 参数位置

* 添加同步保存到本地的配置项 和 运行分段后自定义命令

* 添加缺失的投稿参数

* 添加边录边传保存目录项

* 格式化

* 修正 webup_sync 上传线路选择

* 修复 webup_sync 的 submit_web

* 修正参数错误

* 删除多余代码

* 删除多余代码

---------

Co-authored-by: xxxxuanran <xxxxuanran@gmail.com>
2025-02-03 11:03:44 +00:00
Monine Melolaris 694d05fac0 Style(webui): 执行前端代码格式化 (#1141)
仅按照配置文件格式化,未进行任何逻辑更改。
2025-01-14 06:35:54 +00:00
某摆烂咸鱼andunknown-o ef24502d17 feat: B站弹幕录制优化 (#1120)
* feat: B站弹幕服务支持传入cookie

* feat: 哔哩哔哩录制弹幕时传入cookie

* feat: 新增针对于B站的上舰、SC、礼物记录

* feat: 支持开关B站完整弹幕录制

* fix: 条件判断错误

* fix: 当尝试使用cookie录制B站失败时自动fallback

* fix: 修正舰长无法录制的问题

* mod: 按照原逻辑写入弹幕

* mod: 修改B站详细弹幕录制开关名称

* fix: B站详细弹幕录制条件错误

* fix: 修正舰长、SC信息没有记录用户名

---------

Co-authored-by: unknown-o <yushen@mr-wu.top>
2025-01-03 12:03:37 +00:00
XuanRan_Nyan dfdd92ae60 fix: dtime (#1121)
* fix dtime

* change npm mirror

* 发布时间离当前时间必须≥4小时且≤15天

* 使用 artplayer 替换 西瓜播放器

* 自动切换播放器

* 控件修改为 ScrollList

* 移除 西瓜播放器
2024-12-31 16:45:21 +00:00
XuanRan_Nyan 4cb56371a6 feat: enhance dashboard and plugin (#1114)
* enhance dashboard and plugin

* update

* update

* fix fallback

* Support short URL of Douyin user page
2024-12-19 17:50:12 +00:00
Monine Melolaris 4273edc6c7 Feat(webui): 深色模式添加自动跟随系统,添加格式化配置文件。 (#1109)
* Style(webui): Add format config.

Add prettier config to confirm all developer have same code format style.

* Feat(WebUI): 深色模式行为优化

新增:
1、添加了「自动跟随系统主题」模式,并设置为默认行为,该模式将实时监控系统/浏览器主题,并同步变化;
2、添加了自动切换模式按钮。
修改:
1、修改按钮深色模式、浅色模式显示为对应当前模式;
2、修改默认主题为自动跟随系统。

* Update prettier config.

限定解析器的部分格式,避免影响其他语言的格式化功能。

* Disassemble some components.

1.move theme hooks to /lib folder;
2.disassemble ThemeButton component;
3.refactor ThemeButton related code.
2024-12-09 02:34:38 +00:00
see-more 61b052fa92 style: refactor mobile client upload-manager page and streamers page header style (#1064) 2024-09-21 07:46:04 +00:00
guthrie 01d03f3c49 web ui 功能更改;增加录制时间范围功能 (#1017)
* fix: 历史记录页面按更新日期排序错误

* 网页dark light mode记住

* add 录制时间范围功能

* fix 录制时间范围功能出现过滤删除问题

* fix 录制时间范围 兼容stream gears

* 改用pre_check检测时间范围;

移除对stream-gears下载的修改;

* 回滚对历史记录排序的更改 due to review by @Kataick
2024-09-05 22:41:47 +08:00