P3TERX / aria2.conf

Aria2 配置文件 | OneDrive & Google Drvive 离线下载 | 百度网盘转存
https://p3terx.com/archives/aria2_perfect_config.html
MIT License
3.28k stars 734 forks source link

绑定了ip后无法上传 #41

Open JarmoHu opened 4 years ago

JarmoHu commented 4 years ago

我的aria2是用的隧道代理下载,其中用的设置如下

multiple-interface=192.168.100.2,2001:470:1f14:594::2
bt-lpd-interface=192.168.100.2

然后绑完之后就无法自动上传upload.sh

JarmoHu commented 4 years ago

已经找到BUG原因,在core文件中的READ_ARIA2_CONF()函数中有这么一行 RPC_ADDRESS="localhost:${RPC_PORT}/jsonrpc" 里面直接用的localhost,这里我把它改成了aria2.conf里面绑定的ip就好了

P3TERX commented 4 years ago

我没这样用过,所以没考虑到这个情况。等有空了研究下有没有更优雅的解决方案。

JarmoHu commented 4 years ago

我没这样用过,所以没考虑到这个情况。等有空了研究下有没有更优雅的解决方案。

是的,我觉得这对于多IP的主机来说有必要的,aria2的设置里面有绑定IP设置,所以需要读取aria2.conf里的设置

JarmoHu commented 4 years ago

经检查,发现在"tracker.sh"的102行里面也有这个问题。

ADD_TRACKERS_LOCAL_RPC() {
    if [ ! -f ${ARIA2_CONF} ]; then
        echo -e "$(DATE_TIME) ${ERROR} '${ARIA2_CONF}' does not exist."
        exit 1
    else
        RPC_PORT=$(grep ^rpc-listen-port ${ARIA2_CONF} | cut -d= -f2-)
        RPC_SECRET=$(grep ^rpc-secret ${ARIA2_CONF} | cut -d= -f2-)
        [[ ${RPC_PORT} ]] || {
            echo -e "$(DATE_TIME) ${ERROR} Aria2 configuration file incomplete."
            exit 1
        }
        RPC_ADDRESS="localhost:${RPC_PORT}/jsonrpc"
        echo -e "$(DATE_TIME) ${INFO} Adding BT trackers to Aria2 ..." && echo
        ADD_TRACKERS_RPC_STATUS
    fi
}

但是修改本地文件无法使之生效,因为“aria2.sh”都是调用的在线脚本运行的

bash <(wget -qO- git.io/tracker.sh) ${aria2_conf}

所以我建议通过“script.conf"对变量进行管理