আমি চেষ্টা axel
উপরে Gufran এর সুপারিশ কিন্তু এটা অতিশয় আমাকে হতাশ। আমার লক্ষ্য ছিল এর সিএলআই প্রতিস্থাপনের সন্ধান করা DownThemAll
কারণ এটি সিপিইউ এবং হার্ড ডিস্কটিকে হোগ করে এবং এমনকি 8-কোর ম্যাক প্রোতে পুরো সিস্টেমকে ধীর করে দেয়। আমিও একটি মাল্টি প্রতিস্থাপন চেয়েছিলেন wget
এবং curl
না একটি স্ক্রিপ্ট যে এই একাধিক দৃষ্টান্ত রান কিছু kludge। সুতরাং আমি আরও অনুসন্ধান করেছি এবং আমি এখনই যা মনে করি তা হ'ল চূড়ান্ত সর্বাধিক আধুনিক মাল্টিথ্রেডেড সিএলআই ডাউনলোডার রয়েছে - এরিয়া 2 । আমার যে বড় সমস্যাটি ছিল axel
তা হ'ল এসএসএল-এর মাধ্যমে ফাইলগুলি ডাউনলোড করা 'জাল'। আমি এটি দিয়ে এটি ধরা tcdump
। এটি https
লিঙ্কগুলি সাধারণ হিসাবে ডাউনলোড করা হয়েছিলhttp
। এটি সত্যিই আমাকে খুব হতাশ করেছে এবং আমি যদি পরীক্ষা না করে থাকি তবে আমার কাছে সুরক্ষার ভ্রান্ত ধারণা তৈরি হত। আমি সন্দেহ করি যে সুরক্ষায় এই গুরুতর লঙ্ঘন সম্পর্কে অনেকেই জানেন। ফিরে আসা aria2
, এটি অন্য যে কোনও ডাউনলোডারের চেয়ে বেশি উন্নত। এটি এইচটিটিপি (এস), এফটিপি, বিটটোরেন্ট এবং মেটালিংক প্রোটোকলকে সমর্থন করে, মাল্টিপ্লাটফর্ম এবং ডাউনলোড গেরিলা। এটি সিটিইউ বা হার্ড ডিস্কে ডিটিএর বিপরীতে কোনও লোড ছাড়াই আমার আইএসপির ব্যান্ডউইদথকে সর্বাধিক বাড়িয়ে তোলে। ম্যান পেজটি বিশাল। আমি এর অনেকগুলি বিকল্পের কয়েকটির বেশি কখনও ব্যবহার করব না। এবং ওহ, বিটিডাব্লু, আমি এর এসএসএল পারফরম্যান্সটি পরীক্ষা করেছি tcdump
এবং এটি শক্ত, জাল নয়। আমি একটি স্ক্রিপ্ট লিখেছিলাম যা ডিটিএ এর আচরণের অনুকরণ করে, যদি এটির সুবিধে না হয়।
সর্বাধিক ব্যান্ডউইথ পেতে আমি যে কমান্ডটি ব্যবহার করি তা হ'ল
aria2c --file-allocation=none -c -x 10 -s 10 -d "mydir" URL
-c
ডাউনলোড ধারাবাহিকতা পারবেন যদি এটা বিঘ্নিত পায়, -x 10
এবং -s 10
সার্ভার 10 সংযোগ পর্যন্ত অনুমতি, এবং -d "mydir"
নির্দেশিকাতে আউটপুট ফাইল mydir
।
aria2files.sh
:
#!/bin/bash
filename="$1" # get filename from command line argument
while read -r line
do
if [ "$line" ] # skip blank lines
then
if [[ "$line" =~ (https?|ftp)\:\/\/ ]] # line contains a URL, download file
then
echo "URL: '$line'"
aria2c --file-allocation=none -c -x 10 -s 10 -d "$currdir" "$line"
else # line contains a directory name, create directory if not already present
echo "Directory: '$line'"
currdir="$line"
if [ ! -d "$currdir" ]
then
mkdir -p "$currdir" # '-p' enables creation of nested directories in one command
fi
fi
fi
done < "$filename"
এটি বিন্যাসের একটি পাঠ্য ফাইল পড়ে:
files.txt
:
dierctory 1
url1
url2
…
directory 2/subdirectory/sub-subdirectory/…
url3
url4
…
…
…
স্ক্রিপ্টটি কমান্ড লাইন থেকে ফাইলের নামটি পড়বে:
aria2files.sh files.txt
এটি তাদের ডিরেক্টরি এবং ডাউনলোডগুলি তৈরি করে। এটি দ্বিতীয় উদাহরণ হিসাবে প্রদর্শিত নেস্টেড ডিরেক্টরি তৈরি করতে পারে।
আরও তথ্যের জন্য আমার পোস্ট বাশ স্ক্রিপ্টটি কোনও পাঠ্য ফাইলে তালিকাভুক্ত নির্দিষ্ট ডিরেক্টরিগুলিতে ইউআরএল থেকে ফাইলগুলি ডাউনলোড করতে দেখুন ।