pt吧 关注:138,536贴子:7,884,093
  • 31回复贴,共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
      绑定技术贴


      回复
      来自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
                              我的nas也装了qb,有两个网站也是显示无效端口,但是发现也能连上下载的人,上传的数据也记到网站了。


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


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