Skip to content

代理与反向代理

代理

proxy

AB 支持 HTTP、HTTPS 和 SOCKS5 代理,用于访问 RSS、搜索源、TMDB、Bangumi、LLM provider 等外部服务。

  • 启用:是否启用代理。
  • 类型httphttpssocks5
  • 地址 / 端口:代理服务地址与端口。
  • 用户名 / 密码:代理需要认证时填写。配置值支持使用环境变量引用。

修改代理设置后,需要点击底部 保存并重启

config.json 配置选项

配置节:proxy

参数说明类型WebUI 选项默认值
enable启用代理布尔值启用false
type代理类型字符串类型http
host代理地址字符串地址""
port代理端口整数端口0
username代理用户名字符串用户名""
password代理密码字符串密码""

反向代理

如果 Mikan Project 主域名无法访问,可以:

  • 使用备用域名 mikanime.tv 替换 RSS 订阅链接中的 mikanani.me
  • 使用 Cloudflare Workers 等服务搭建反向代理,并替换 RSS 中的域名。

Cloudflare Workers 示例

js
const TELEGRAPH_URL = 'https://mikanani.me';
const MY_DOMAIN = 'https://yourdomain.com';

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  const url = new URL(request.url);
  url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');

  const modifiedRequest = new Request(url.toString(), {
    headers: request.headers,
    method: request.method,
    body: request.body,
    redirect: 'manual',
  });

  const response = await fetch(modifiedRequest);
  const contentType = response.headers.get('Content-Type') || '';

  if (contentType.includes('application/xml')) {
    const text = await response.text();
    const replacedText = text.replace(/https?:\/\/mikanani\.me/g, MY_DOMAIN);
    const modifiedResponse = new Response(replacedText, response);
    modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
    return modifiedResponse;
  }

  const modifiedResponse = new Response(response.body, response);
  modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
  return modifiedResponse;
}

AutoBangumi 基于 MIT 许可证发布。(最新版本: v3.3.2)