pt吧 关注:93,660贴子:6,695,985
  • 33回复贴,共1

qBittorrent 无效端口(invalid port)问题的临时解决办法

只看楼主收藏回复

4.* 版本的 qBittorrent 在连一些站的 tracker 时会报 invalid port(无效端口)错误。

这是因为 qBittorrent 使用的 1.1.* 版本的 libtorrent 目前有个 bug,会向 tracker 上报错误的端口号 0:
https://github.com/qbittorrent/qBittorrent/issues/8733

临时解决方法 1:
改用 3.* 版本的 qBittorren,3.* 版本的 qBittorren使用的是 1.0.* 版本的 libtorrent,没有这个 bug。

临时解决方法 2:
自行编译 4.* 版本的 qBittorrent 让它改用 1.0.* 版本的 libtorrent。

临时解决方法 3:
修改 libtorrent 源码,让它上报写死的固定端口号(例如默认端口号 8999),然后重新编译 libtorrent 和 qBittorrent,不过这样之后就不能在 qBittorrent 里再改端口号了。

--

解决方法 3 在 Ubuntu 16.04 下的步骤:

# 安装编译依赖
sudo apt-get -y install build-essential pkg-config automake libtool git
sudo apt-get -y install libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev libgeoip-dev
sudo apt-get -y install qtbase5-dev qttools5-dev-tools libqt5svg5-dev

# 下载源码(1.1.9 libtorrent 和 4.1.2 qBittorrent)
mkdir -v ~/qbittorrent_build
cd ~/qbittorrent_build
wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_9/libtorrent-rasterbar-1.1.9.tar.gz
tar xvf libtorrent-rasterbar-1.1.9.tar.gz
wget https://github.com/qbittorrent/qBittorrent/archive/release-4.1.2.tar.gz
tar xvf release-4.1.2.tar.gz

# 修改 libtorrent 源码使得上报的端口号写死为默认端口 8999
cd ~/qbittorrent_build/libtorrent-rasterbar-1.1.9/
sed -i "s/i2p ? 1 : tracker_req().listen_port/8999/" src/http_tracker_connection.cpp

# 编译安装 libtorrent
cd ~/qbittorrent_build/libtorrent-rasterbar-1.1.9/
./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c++11
make clean && make -j$(nproc)
sudo make install

# 编译安装 qBittorrent
cd ~/qbittorrent_build/qBittorrent-release-4.1.2
./configure --disable-gui
make clean && make -j$(nproc)
sudo make install

# 设置 LD_LIBRARY_PATH 环境变量
export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
if ! grep -q "LD_LIBRARY_PATH" ~/.bashrc; then
cat <<EOT >> ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
EOT
fi

# 创建 qBittorrent 自动启动服务
cat <<EOT > /lib/systemd/system/qbittorrent.service
[Unit]
Description=qBittorrent Daemon Service
After=network.target
[Service]
User=root
Group=root
Environment="LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}"
ExecStart=/usr/local/bin/qbittorrent-nox
ExecStop=/usr/bin/killall -w qbittorrent-nox
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOT
systemctl daemon-reload
systemctl enable qbittorrent
systemctl start qbittorrent


回复
1楼2018-09-02 08:23
    绑定


    回复
    来自手机贴吧2楼2018-09-02 08:28
      没用过4.x,绑定楼主技术帝


      回复
      来自Android客户端3楼2018-09-02 08:28
        绑定技术贴


        回复
        来自Android客户端4楼2018-09-02 08:36
          普通人,请升级4.1.2


          收起回复
          来自Android客户端5楼2018-09-02 09:27
            写死真不如用老版lt了


            收起回复
            来自iPhone客户端6楼2018-09-02 09:29
              绑定技术贴,楼主知不知道哪些站存在类似问题?


              回复(1)
              来自iPhone客户端7楼2018-09-02 10:00
                绑定技术贴


                回复
                8楼2018-09-02 10:08
                  炸楼警告 1楼内容太多了


                  月老
                  每对新人结婚成功的那一刻,送礼最多的吧友可以获得本次求婚的“月老”称号和成就,去领取
                  活动截止:2100-01-01
                  去徽章馆》
                  回复
                  来自Android客户端10楼2018-09-02 11:15
                    了解。


                    回复
                    来自Android客户端11楼2018-09-02 11:16
                      虽然报错,但不理会也能使用,目前没发现问题啊


                      回复(2)
                      来自iPhone客户端12楼2018-09-02 11:21
                        站比較少,5個外站均未報錯,4個中文站,mt和cmct沒有報錯,連接應該是正常的.另外兩個報錯的站連接上好像有點問題,但是影響好像不是特別大.其實當時UT爆出有漏洞的時候是考慮過轉deluge的,奈何有些中文站不支持,懶得折騰,先這樣將就用著吧.


                        回复
                        13楼2018-09-02 13:42
                          忘了說了,這可能不是個臨時的解決辦法,可能相當長一段時間都不會修復,畢竟N多人提了多年希望增加批量修改tracker的功能到現在都沒實現,這bug也好幾個月好幾個版本了,別對作者報太大希望.


                          回复(2)
                          14楼2018-09-02 13:44


                            回复
                            来自手机贴吧15楼2018-09-06 13:27
                              没必要指定 LD_LIBRARY_PATH ,编译完 lt 后 ldconfig 就可以了吧?


                              回复(3)
                              本楼含有高级字体16楼2018-09-06 13:35
                                技术贴,不明觉厉


                                回复
                                来自Android客户端17楼2018-09-06 13:36
                                  我的nas也装了qb,有两个网站也是显示无效端口,但是发现也能连上下载的人,上传的数据也记到网站了。


                                  回复
                                  来自iPhone客户端18楼2018-09-07 14:03
                                    invalid port 基本没有数据了


                                    回复
                                    19楼2018-10-20 11:26