V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
fox2081
V2EX  ›  NAS

qbittorrent 无法自动更新 ipv6 地址

  •  
  •   fox2081 · 36 天前 · 1002 次点击
    这是一个创建于 36 天前的主题,其中的信息可能已经有所发展或是发生改变。

    docker 部署,版本是 5.0.1-r0-ls363

    设置里面选了 网络:任意接口 和 "所有 ipv6 地址",每次家宽重新拨号之后不会重新汇报,只能重启容器

    容器日志: 不正确的 HTTP 请求方式,将关闭套接字。IP:::ffff:192.168.0.123 。方式:“PUT”

    192.168.0.123 是路由器的 ip ,没看懂这条日志,不知道是不是这个引起的

    6 条回复    2025-01-10 14:03:44 +08:00
    Paulownia
        1
    Paulownia  
       36 天前
    daemon.json 如何配置的,昨天参照 archlinux 的 wiki 的部分,里面有提到 docker 的 ipv6 的地址前缀至少保持 80 ,可以有效解决 NDP 邻居缓存失效的问题。正好昨晚的路由器自动重启拨号了,docker 的 v6 也没断。我路由器上的 ipv6 联机类型选的是 native
    fox2081
        2
    fox2081  
    OP
       36 天前
    @Paulownia #1 忘了说,容器网络是 host 模式,路由器上的 ipv6 就是 native
    Paulownia
        3
    Paulownia  
       34 天前
    @fox2081 我是 bridge 模式
    Koma
        4
    Koma  
       29 天前
    @fox2081 跟你一样的情况,倒是不用重启,设置里重新选一下监听 ip 倒是能恢复正常,但是也不是个办法啊。你找到解决方法了么?
    fox2081
        5
    fox2081  
    OP
       29 天前
    @Koma #4 一模一样,目前无解,甚至还有新问题,有时候 iyuu 请求的保种资源不会自动校验和汇报,强制也不行,只能重启
    fox2081
        6
    fox2081  
    OP
       4 天前
    @Koma #4 有解决方案了吗,我搜了下不用重启,切换配置里面的网络选项也可以,简单写了个 js 脚本放定时任务里面每天自动调用一次,你可以参考下

    ```javascript
    const url = "http://<qb 的 ip>:<qb 的端口>/";
    const username = "<qb 用户名>";
    const password = "<qb 密码>"
    const headers = {
    "accept": "application/json, text/plain, */*",
    "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en-GB;q=0.7,en;q=0.6,fr;q=0.5,de;q=0.4,ja;q=0.3,pl;q=0.2",
    "cache-control": "no-cache",
    "content-type": "application/x-www-form-urlencoded",
    "Referer": url,
    "Referrer-Policy": "strict-origin-when-cross-origin"
    }
    fetch(`${url}api/v2/auth/login`, {
    "headers": headers,
    "body": `username=${username}&password=${password}`,
    "method": "POST"
    }).then(async response => {
    const cookie = response.headers.get('set-cookie')
    await fetch(`${url}api/v2/app/setPreferences`, {
    "headers": {
    "cookie": cookie,
    ...headers
    },
    "body": `json=${encodeURI(JSON.stringify({ current_interface_address: '' })) }`,
    "method": "POST"
    }).then(response => {
    if (response.ok) {
    console.log('成功设置为所有 ip');
    }
    });
    await new Promise(resolve => setTimeout(resolve, 3000));
    await fetch(`${url}api/v2/app/setPreferences`, {
    "headers": {
    "cookie": cookie,
    ...headers
    },
    "body": `json=${encodeURI(JSON.stringify({ current_interface_address: '::' })) }`,
    "method": "POST"
    }).then(response => {
    if (response.ok) {
    console.log('成功设置为 ipv6');
    }
    });
    }).catch(error => {
    console.log('运行失败:', error);
    process.exit(1);
    });

    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:51 · PVG 17:51 · LAX 01:51 · JFK 04:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.