اذا كُنت حديث الانتقال من نظام Windows الى Linux فأنت غالباً تبحث عن بديل لبرنامج IDM وهناك بديل فعال وقوي له وهي اداة Aria2 وهي اداة غنيه عن التعريف مع مزايا لاتتوفر في IDM والاهم انها مجانيه.
بعض من مزاياها بأختصار
- تتدعم تعدد الـ Threads
- تدعم التنزيل من عدة بروتوكولات منها HTTP/S , FTP ,SFTP,BitTorrent
- تدعم تنزيل عدة ملفات من عدة مصادر وبروتوكولات في أنً واحد
- يمكن التعامل مع Aria2 من الطرفيه او عن طريق المتصفح او عن طريق الواجهة الرسوميه
- تعمل على عدة أنظمة تشغيل Linux ,Windows,macOS,Android الخ
وسأقوم بتغطية التعامل مع Aria2 عبر الطرفيه
اولاً تثبيت Aria2 في توزيعة فيدورا
sudo dnf install aria2
والتعامل مع Aria2 سيكون عبر الأمر
aria2c
لتنزيل ملف سيكون الأمر كالتالي
aria2c http://speedtest.xs4all.net/files/10mb.bin
لتنزيل عدة ملفات
aria2c http://speedtest.xs4all.net/files/10mb.bin http://speedtest.xs4all.net/files/25MB.bin
لتنزيل ملف من عدة مصادر
aria2c http://speedtest.xs4all.net/files/10mb.bin https://mirror.nforce.com/pub/speedtests/10mb.bin
ستقوم Aria2 بتنزيل الملف 10mb.bin
من الخادمين في أنً واحد وسيتم توزيع الحمل عليهما
عند تنزيل ملف سيتم حفظه في نفس مجلد العمل بشكل افتراضي ولتحديد مجلد حفظ الملفات قم بتمرير الخيار dir
aria2c --dir=/tmp/ http://speedtest.xs4all.net/files/10mb.bin
لحفظ الملف بأسم مختلف قم بتمرير الخيار out
aria2c --dir=/tmp/ --out=test.bin http://speedtest.xs4all.net/files/10mb.bin
لتنزيل عدة ملفات في أنً واحد , قم بوضعهم جميعاً في ملف نصي. كل رابط في سطر كالاتي
- إذا اردت تنزيل ملف من عدة مصادر ضع روابط الملف في نفس السطر وافصل بينهم بفراغ كما في السطر الاول
- اذا اردت تمرير خيارات مختلفه لكل ملف قم بوضع كل خيار في سطر جديد يلي الرابط مثل السطر ال
2
و 3
سيتم حفظ الملف في مجلد /tmp/
وفي الاسطر 4
,5
,6
سيتم حفظ الملف بأسم test.bin
في مجلد /tmp/downloads/
لتحديد عدد الملفات المراد تنزيلهم كل مره, قم بتمرير الخيار max-concurrent-downloads
aria2c --max-concurrent-downloads=2 http://speedtest.xs4all.net/files/10mb.bin http://speedtest.xs4all.net/files/25MB.bin https://speed.hetzner.de/100MB.bin
ستقوم Aria2 بتنزيل عدد 2
ملفات في آنً واحد
دائماً مايحدث إنقطاع في الإتصال اثناء التنزيل , ولمواصلة تنزيل الملف قم بتمرير الخيار continue
aria2c --continue http://speedtest.xs4all.net/files/10mb.bin
في حالة إنقطع الاتصال اعد تنفيذ الامر وسيتم مواصلة التنزيل
لتحديد عدد الثواني قبل ان تعلن Aria2 فشل الإتصال قم بتمرير الخيار connect-timeout
aria2c --connect-timeout=120 http://speedtest.xs4all.net/files/10mb.bin
ستعلن Aria2 فشل الإتصال بالخادم بعد 120
ثانيه
لتحديد عدد الثواني قبل ان تعلن Aria2 فشل تنزيل الملف قم بتمرير الخيار timeout
aria2c --connect-timeout=10 --timeout=90 http://speedtest.xs4all.net/files/10mb.bin
ستعلن Aria2 فشل الإتصال بالخادم بعد مرور 10
ثواني , وفي حالة نجح الإتصال ستعلن Aria2 فشل تنزيل الملف بعد مرور 90
ثانيه
لتحديد عدد الإتصالات لكل ملف يتم تنزيله قم بتمرير الخيار max-connection-per-server
aria2c --max-concurrent-downloads=2 --max-connection-per-server=8 http://speedtest.xs4all.net/files/10mb.bin http://speedtest.xs4all.net/files/25MB.bin
ستقوم Aria2 بأنشاء 8
إتصالات لكل ملف , وهنا ستقوم بإنشاء 16
إتصال لعدد 2
ملفات يجري تنزيلهم في آنً واحد
عند تنزيل ملف تقوم Aria2 بتقسيم الملف الى عدة اجزاء وحجم كل جزاء بشكل افتراضي 20MB
وذلك يؤثر على عدد الاتصالات , فإذا كان حجم الملف المراد تنزيله 10MB
وقد وضعت عدد الاتصالات 8
فسيتم انشاء اتصال واحد لان حجم الملف اصغر من اقل جزاء للتقسيم.
ولتحديد اقل جزاء للتقسيم قم بتمرير الخيار min-split-size
aria2c --max-concurrent-downloads=2 --max-connection-per-server=8 --min-split-size=1M http://speedtest.xs4all.net/files/10mb.bin http://speedtest.xs4all.net/files/25MB.bin
يمكنك استخدام K
للاشارة الى Kilobyte
او M
للاشارة الى Megabyte
لتحديد عدد مرات إعادة الإتصال بعد فشله قم بتمرير الخيار max-tries
aria2c --max-tries=10 http://speedtest.xs4all.net/files/10mb.bin
ستقوم Aria2 بإعادة المحاولة 10
مرات , وفي حالة الفشل ستقوم بتنزيل الملف التالي او الخروج
لتحديد وقت الإنتظار قبل كل محاوله قم بتمرير الخيار retry-wait
aria2c --max-tries=10 --retry-wait=3 http://speedtest.xs4all.net/files/10mb.bin
ستقوم Aria2 بإعادة المحاوله 10
مرات , والإنتظار 3
ثواني كل مره
في حالة اردت التحقق من صحة الملف بعد التنزيل قم بتمرير الخيار checksum
يحتوي على نوع الهاش بالإضافه للهاش كالاتي
aria2c --checksum=sha-256=bd5c9ee34b7698eb0852a320da4fbdf616222a493d99f6054aa96afa96207bfb http://mirror.0x.sg/fedora/linux/releases/28/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-28-1.1.iso
في حالة نجح التحقق ستكون حالة الخروج = 0
,وفي حالة فشل التحقق ستكون حالة الخروج = 32
يمكن التحقق من حالة الخروج عبر طباعة المتغير $?
تحتوي Aria2 على عدة احداث يتم تنفيذهم في اوقات معينه ومنهم
on-download-pause
يتم تنفيذه عند إيقاف التنزيل من قبل المستخدم
on-download-complete
يتم تنفيذه عند إنتهاء التنزيل
on-download-start
يتم تنفيذه عند بداء التنزيل
on-download-error
يتم تنفيذه عند حدوث خطاء
on-download-stop
يتم تنفيذه عند توقف التنزيل بشكل عرضي
فإذا اردت إيقاف تشغيل الحاسوب بعد إنتهاء التنزيل سيكون الأمر كالأتي
aria2c --on-download-complete=shutdown http://speedtest.xs4all.net/files/10mb.bin
ولتنفيذ عدة اوامر او تمرير عدة خيارات للامر المنفذ في الحدث , قم بحفظ الأمر في ملف bash
واستدعي الملف بنفس الطريقه
ولتفادي اعادة كتابة الخيارات في كل مره تقوم بتنزيل ملف قم بحفظ الخيارات في ملف aria2.conf
(بدون --
في البدايه)
واحفظ الملف في المسار
$HOME/.aria2/