AutoBangumi TMDB 被墙?不用代理,一行 sed 搞定
570 字
3 分钟
AutoBangumi TMDB 被墙?不用代理,一行 sed 搞定
AutoBangumi TMDB 被墙?不用代理,一行 sed 搞定
问题
AutoBangumi(AB)用 TMDB 获取番剧元数据。默认请求的是 api.themoviedb.org,但这个域名在国内很多网络环境下丢包严重甚至完全不通,导致元数据查询持续超时。
AB 虽然支持 HTTP 代理(proxy.enable),但不是所有人都能搭代理。有没有更简单的办法?
答案
api.themoviedb.org 的短域名 api.tmdb.org 在很多国内网络下是通的。只需把容器里的硬编码 URL 换掉就行。
方法
第一步:找到要改的文件
AB 容器里硬编码 TMDB URL 的文件:
| 文件 | 硬编码 URL |
|---|---|
/app/module/parser/analyser/tmdb_parser.py | https://api.themoviedb.org |
/app/module/parser/analyser/tmdb_parser.py | https://image.tmdb.org/t/p/w780 |
/app/module/bgmi_calendar.py | https://api.bgm.tv/calendar |
一般只需要改第一个。image.tmdb.org 和 api.bgm.tv 通常能通。
第二步:进容器改
docker exec -it AutoBangumi bash
# 替换 TMDB API 域名sed -i 's|https://api.themoviedb.org|https://api.tmdb.org|g' /app/module/parser/analyser/tmdb_parser.py
# 退出容器后重启exitdocker restart AutoBangumi改完立刻生效,AB 会用 api.tmdb.org 请求 TMDB。
第三步:持久化(关键)
容器重建(更新镜像、docker-compose down && up)后改动会丢失。两种方式持久化:
方式一:crontab 脚本(推荐)
写一个脚本,NAS 启动时自动 patch:
#!/bin/bashsleep 10 # 等容器启动
FILE=/app/module/parser/analyser/tmdb_parser.pyCONTAINER=AutoBangumi
if docker exec $CONTAINER grep -q 'api.themoviedb.org' "$FILE" 2>/dev/null; then docker exec $CONTAINER sed -i 's|https://api.themoviedb.org|https://api.tmdb.org|g' "$FILE" docker restart $CONTAINER echo "$(date): TMDB patched" >> /vol1/1000/Mikan/autobangumi/patch.logfi加到 crontab:
crontab -e# 加入:@reboot /vol1/1000/Mikan/autobangumi/patch_tmdb.sh脚本有判断逻辑:只有 URL 还没被改过才执行 patch,避免重复重启。
方式二:Dockerfile 继承(更规范)
FROM ghcr.io/estrellaxd/auto_bangumi:latestRUN sed -i 's|https://api.themoviedb.org|https://api.tmdb.org|g' \ /app/module/parser/analyser/tmdb_parser.py然后用这个自定义镜像代替官方镜像。缺点是每次 AB 更新要重新 build。
验证
改完后查看 AB 日志,TMDB 请求应该不再超时:
docker logs AutoBangumi --tail 50 | grep -i tmdb如果看到正常的元数据返回而不是 timeout,就成功了。
总结
| 方案 | 优点 | 缺点 |
|---|---|---|
sed + crontab | 简单,一行命令 | 容器重建要等脚本触发 |
| Dockerfile 继承 | 更新时自动生效 | 每次 AB 更新要重新 build |
| HTTP 代理 | AB 原生支持 | 需要搭代理服务器 |
对于不想折腾代理的用户,sed 替换是最快的方案。
我已向 AB 开发者提交了 Feature Request #1042,建议在配置中增加自定义 API Base URL 的选项。如果被采纳,以后就不需要手动 patch 了。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
AutoBangumi TMDB 被墙?不用代理,一行 sed 搞定
https://foxlesbiao.github.io/blog/posts/autobangumi-tmdb-wall-fix/相关文章智能推荐
1
ShellCrash sing-box 规则集不生效?模板规则被丢弃的修复记录
NASShellCrash sing-box 内核规则模板的分流规则完全不生效——规则集下载了但没被引用。完整诊断过程 + 持久化修复方案。
2
OPPO 健康云 MCP:从登录到本地 AI 分析的完整实现
hermes把 OPPO 健康云数据接入 MCP:实验性账号登录、随机设备 ID、本地 SQLite 缓存、67 个健康指标的只读同步与趋势分析。
3
小黑盒 MCP:从抓包到 Native 签名的完整逆向
hermes用 Unidbg 复现小黑盒 Android App 的 hkey/_rnd 签名,从抓包分析到 Unidbg JNI 环境搭建的完整过程。
4
SQLite FTS5 跨架构迁移踩坑记:从 x86 到 ARM64
NASSQLite FTS5 跨架构迁移踩坑记:从 x86 到 ARM64
5
OPPO 健康云同步逆向:从抓包到白盒签名的死局(已破)
hermes2026-09-18
随机文章随机推荐













