aria2是一款輕量級的,支持多協議,跨平台的命令行下載工具,是筆者目前在使用的下載工具,結合uget使用基本上能媲美window下的迅雷工具。在筆者使用過程中,遇到了aria2連接部分網站時出現handshake failure問題,通過網上搜集資料以及分析aria2執行日志后,發現aria2默認使用gnutls作為TLS,SSL以及DTLS協議的庫,而筆者機器的gnutls版本比較低,不支持新的握手算法。現有兩種解決方案:
1. 將機器的gnutls庫升級至較新版本。
2. 下載aria2源碼重新編譯安裝,使用open-ssl庫而不使用gnults庫
本文采用第二種解決方案。aria2源碼安裝過程如下:
獲取源碼
從 https://github.com/aria2/aria2/releases 中下載aria2的源碼包
編譯安裝
解壓到某一目錄並切換到該目錄下執行以下命令
./configure --without-gnutls --with-openssl make && make install
若編譯時提示缺少openssl庫,則根據對應的平台執行以下命令安裝openssl庫
1. RedHat Fedora 平台
yum -y install openssl-devel
2. Debian ,ubunu 平台
apt-get install libssl-dev