系统设置

正在加载系统状态...

Cookies 管理

仅保存在本机 data/cookies/ 目录,用于用户主动提供的 Netscape 格式 cookies 文件。当前默认下载主链路为哼哼猫接口,cookies 作为补充资料保留,不再作为默认下载前提。

日志预览

    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/media-downloader-app/app/services/download_service.py", line 170, in _download_with_meowload
    raise RuntimeError(self._build_meowload_forbidden_message(payload)) from exc
RuntimeError: 该音频格式被源站拒绝,请换一个音频格式重试。
2026-09-02 16:31:29 [INFO] app.services.file_service - 已创建任务记录: id=230 url=https://youtu.be/YoBc3zII7lg
2026-09-02 16:31:30 [WARNING] app.services.download_service - 哼哼猫下载命中 403: url=https://youtu.be/YoBc3zII7lg title=How To Make Your Brain To Think in English|Improve Your English Speaking|English Podcast|Episode 1 format=audio:None:1
2026-09-02 16:31:30 [ERROR] app.services.download_service - 下载失败: id=230 error=该音频格式被源站拒绝,请换一个音频格式重试。
Traceback (most recent call last):
  File "/opt/media-downloader-app/app/services/download_service.py", line 165, in _download_with_meowload
    target = self._download_meowload_media(payload, download_dir, title, media)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/media-downloader-app/app/services/download_service.py", line 211, in _download_meowload_media
    return self._download_remote_file(source_url, download_dir, headers, title)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/media-downloader-app/app/services/download_service.py", line 316, in _download_remote_file
    with urlopen(request, timeout=settings.meowload_timeout) as response:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 215, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 521, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 630, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 553, in error
    result = self._call_chain(*args)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 745, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 521, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 630, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 559, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/lib/python3.12/urllib/request.py", line 639, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/media-downloader-app/app/services/download_service.py", line 49, in _download_worker
    result = await self._download(payload)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/media-downloader-app/app/services/download_service.py", line 87, in _download
    return await asyncio.to_thread(self._download_with_meowload, payload, download_dir)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/threads.py", line 25, in to_thread
    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/media-downloader-app/app/services/download_service.py", line 170, in _download_with_meowload
    raise RuntimeError(self._build_meowload_forbidden_message(payload)) from exc
RuntimeError: 该音频格式被源站拒绝,请换一个音频格式重试。
2026-09-02 16:52:37 [INFO] app.services.file_service - 已创建任务记录: id=231 url=upload://自带空调_冬天避寒神器__智能三轮车_ev_ebike Stay Warm _ Park Easy_ ___ _SmartTrike _ElectricVehicle - 001.mp4
2026-09-03 09:31:02 [INFO] app.services.file_service - 已创建任务记录: id=232 url=upload://AdaptiveChandelierV2.6.4.py
2026-09-03 13:51:55 [INFO] app.services.file_service - 已创建任务记录: id=233 url=upload://AdaptiveChandelierV2.6.6.py
2026-09-18 08:39:43 [INFO] app.services.file_service - 已创建任务记录: id=234 url=upload://潮汐盯盘_打包脚手架.zip
2026-09-18 08:56:11 [INFO] app.services.file_service - 已创建任务记录: id=235 url=upload://get-pip.py
2026-09-18 13:12:08 [INFO] app.services.file_service - 已创建任务记录: id=236 url=upload://连接修复v2.zip
2026-09-18 13:21:30 [INFO] app.services.file_service - 已创建任务记录: id=237 url=upload://TideWatch_Builder.zip