ابزار دانلود – aria2

6 01 2009

بعد از یه مدت طولانی بهتره یه مطلب بدرد بخور بنویسم.
اگه یه گنو/لینوکسی باشید، حتماً اسم wget رو شنیدین و احتمالاً با اون کار هم کردین. برنامه‌ی جالبی برای مدیریت دانلود به حساب میاد. ولی یه مشکل کوچیک داره. نمی‌تونه فایل‌ها رو قسمت قسمت کنه تا بتونه با سرعت بهتری اون‌ها رو بگیره. برای من که از اینترنت دانشگاه استفاده می‌کنم و سرعت نسبتاً خوبی دارم، خیلی آزار دهندست که از سمت سرور محدودیت سرعت داشته باشم. اما برنامه‌ای که می‌خوام معرفی کنم اسمش هست aria2 که برنامه‌ی خیلی جالبی برای دانلوده. این برنامه قابلیت‌های جالبی داره، یکیش همین قسمت قسمت کردن فایل‌ها برای دانلود، یکی دیگه که خیلی به درد من خورد، دانلود قسمت قسمت از لینک‌های مختلف. به قولی پشتیبانی از چند لینک دانلود برای یک فایل.

برای استفاده از این برنامه باید اول اون رو نصب کرد. برای اوبونتو و هم خانواده‌هاش:

sudo apt-get install aria2

خب بعد از نصب می‌تونید به صورت زیر از اون استفاده کنید:

aria2c [OPTIONS] [URL | TORRENT_FILE | METALINK_FILE]

شاید جالب باشه دیدن TORRENT_FILE و METALINK_FILE توی گزینه‌های این برنامه! در کل من یه کوچولو هم در موردش بگم. کافیه اول اسم برنامه یا همون aria2c رو بنویسیم و بعد لینک (ها) به فایل رو در ادامه‌ی اون بیاریم! بعد اینتر! همین و همین! به عنوان مثام من فایل mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso رو به صورت زیر دانلود کردم:

aria2c -s10 http://wftp.tu-chemnitz.de/pub/linux/mandrakelinux/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso http://ftp.ndlug.nd.edu/pub/Mandrake/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso http://mirrors.kernel.org/mandrake/Mandrakelinux/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso ftp://mirrors.kernel.org/mandrake/Mandrakelinux/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso http://ftp.riken.go.jp/Linux/mandrake/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso http://ftp.kddlabs.co.jp/Linux/distributions/Mandrake/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso ftp://ftp.nara.wide.ad.jp/pub/Linux/Mandrakelinux/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso http://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/iso/2009.0/mandriva-linux-one-2009-GNOME-int-cdrom-i586.iso

البته برای توضیح بیشتر هم بگم که اون s10 هم به این معنیه که فایل رو به ۱۰ قسمت تقسیم کن و همزمان اون قسمت‌ها رو دانلود کن.
تو راهنمای این برنامه نوشته که برای ادامه‌ی دانلود هم کافیه که برنامه رو با همون پارامتر‌ها دوباره اجرا کرد! برای توقف دانلود هم کافیه ctrl+C رو از کی‌برد فشرد!
رابط‌های گرافیکی (GUI) هایی هم برای این برنامه طراحی شده که البته من از اون‌ها استفاده نکردم. خودتون ببینید.

خب در اولین زمان ممکن و البته اگر این پست بازخورد خوبی داشت، راهنمای برنامه و اختیاراتش رو ترجمه می‌کنم و توی یک پست اون رو به طور کامل معرفی می‌کنم.

یک اسکرین شات هم بد نیست!:

screenshot-raminramin-laptop-desktop





دانلود ویدئو از یوتیوب در گنو/لینوکس

3 08 2008

این روز ها خیلی توی وبلاگستان می‌بینیم که شیوه‌های مختلف دانلود از یوتیوب رو شرح دادن و کلی روش برای اون معرفی کردن. ما اوبونتوای‌ها هم روش خودمون رو داریم! کاری بس ساده. اول از همه بسته‌ی youtube-dl رو با دستور زیر نصب می‌کنیم:

sudo apt-get install youtube-dl

بسته حدود 65KiB و با اینترنت‌های ۳ پُک در ثانیه (در واحد نرخ گذاری سرعت ارتباطات میون سرخ‌پوست های آمریکا) حدود ۱۰ ثانیه دانلودش طول می‌کشه. بعد با این برنامه ویدئو رو از یوتیوب دانلود می‌کنیم. اما چطور؟ خب یه Terminal باز می‌کنیم و توش می‌نویسیم:

youtube-dl Video_URL

البته Video_URL آدرس اون ویدئو که می‌خوایم دانلود کنیمه. اما خب بد نیست که یکم هم در مورد سوییچ‌های برنامه بگم. با سوییچ o می‌تونیم آدرس و نام فایل خروجی رو تعیین کنیم. البته اول o و بعد آدرس فایل خروجی. بذارین با یه مثال جلو بریم. می‌خوایم ویدئویی که تو این پست معرفی شده رو دانلود کنیم. آدرس ویدئو اینه. http://www.youtube.com/watch?v=2VqV2z7dq3M .خب. اول همین سوییچ o رو تست کنیم. من می‌خوام ویدئو رو دانلود کنم و بریز تو فایل myVideo.flv خب دستور این شکلی می‌شه:

youtube-dl -o myVideo.flv http://www.youtube.com/watch?v=2VqV2z7dq3M

شاید دوست داشته باشیم که با دانلود منیجر دیگه ای مثل wget یا arya2c یا gwget یا kget یا هر چیز دیگه دانلود کنیم ویدئو رو. خب نیاز به لینک مستقیم ویدئو داریم که می‌تونیم از سوییچ g برنامه استفاده کنیم. به این صورت (برای همون ویدئو)

youtube-dl -g http://www.youtube.com/watch?v=2VqV2z7dq3M

خب یکی دیگه از سوییچ های بدرد بخور برنامه، سوییچ t هستش که با اون می‌تونیم اسم فایل خروجی رو با اسمی که تو یوتیوب هستش رو یکسان کنیم:

youtube-dl -t http://www.youtube.com/watch?v=2VqV2z7dq3M

سوییچ s هم باعث می‌شه که چیزی دانلود نشه و فقط فرایند شبیه سازی بشه:

youtube-dl -s http://www.youtube.com/watch?v=2VqV2z7dq3M

خب سوییچ 2 هم که با سوییچ g به کار گرفته می‌شه، باعث نمایش عنوان ویدئو تو خروجی می‌شه (که برای برنامه‌ی مدیریت دانلود به کار میاد):

youtube-dl -g2 http://www.youtube.com/watch?v=2VqV2z7dq3M

البته سوییچ‌های دیگه‌ای هم وجود داره که کاربردشون کمتر از این هاست مثلا سوییچ u و p که برای وارد کردن مشخصات اکانت یوتیوبتو به کار می‌ره یا سوییچ q برا اجرای ساکت (!) برنامه برای این که با تمام سوییچ ها آشنا شین، دستور زیر رو بنویسین:

man youtube-dl

خب امیدوارم این برنامه هم به دردتون بخوره. اما در همین راستا، بد نیست که اینجا و اینجا رو هم ببینید.

پ‌ن: برای باز کردن Terminal کافیه که ALT+F2 رو از روی صفحه‌کلید بزنید و تو صفحه‌ی باز شده بنویسین gnome-terminal





Gnu/wget ابزاری برای Download

27 01 2008

توی Windows زندگی می‌کردم. گاهی تمام وقتم رو می‌ذاشتم تا یه نرم‌افزار مدیریت دریافت خوب گیر بیارم. در نهایت همه سر و ته یه کرباس بودن! DAP خوب بود ولی این اواخر شاید محبوبیت بیش از حد، از راه به درش کرد. با IDM آشنا شدم، بدک نبود، حتی خود اوبونتو رو هم با اون دانلود کردم!

از وقتی به زندگی در Gnu/Linux روی آوردم، دنبال این بودم که یه چیز مثل همون نرم‌افزار ها گیر بیارم. البته نرم‌افزاری مثل Multiget هم گیر آوردم که تقریبا تمام امکاناتی رو که بقیه داشتن رو داشت. وقتی تو مقالات سایت Technotux به مقاله‌ی جالبی رسیدم.

باور نمی‌کردم که خط‌فرمان لینوکس جایی برای دریافت File باشه! اونم از نوع خیلی قوی! بله! نرم‌افزار Gnu/Wget یکی از قوی ترین نرم افزار های Download از اینترنته، کاملا ایمن! غیر ممکنه یک File رو بد دریافت کنه! قابلیت دریافت یک Website رو داره و هزار جور امکان قوی دیگه! پست قبلی که در مورد بزک کردن خط فرمان بود، یک عکس رو به همراه داشت که من توی اون عکس داشتم با wget نسخه Ramon از Parsix رو دریافت می‌کردم، این به ذهنم رسید که یک نیم‌چه آموزشی در مورد این Gnu/Wget داشته باشم.

اگه بخوایم بدون هیچ قرتی بازی! یک File رو دریافت کنیم، توی خط فرمان تایپ می‌کنیم wget و بعد آدرس File رو اضافه می‌کنیم. به عنوان مثال من می‌خوام این عکس رو با wget دریافت کنم. توی خط فرمان تایپ می‌کنم:

wget http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

می‌بینید چقدر آسونه؟! با این دستور آدرس فایل به برنامه wget به عنوان یک پارامت (توی آموزش جاوا در این مورد صحبت می‌کنم) ارسال می‌شه و wget هم اون File رو در پوشه‌ی جاری دریافت می‌کنه. وقتی خط فرمان رو باز می‌کنید پوشه‌ی جاری همون پوشه‌ی خانگیتونه. حالا اگه این فایل رو قبلا نصفه نیمه دریافت کردیم و می‌خوایم ادامه‌ی کار رو داشته باشیم، یا این که شک داریم که قبلا دریافت کردیم یا نه و نمی‌خوایم دوباره دریافت کنیم، یه پارامتر c به دستور اضافه می‌کنیم، به مثال دقت کنید:

wget -c http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

یادمه زمانی که با Dialup به اینترنت وصل می‌شدم، سرعتم خیلی کم بود (نه بابا!) گاهی حالا به هر دلیل برای مدت کوتاهی سرعت Download من صفر می‌شد و اگه از برنامه‌ی مدیریت دریافت استفاده نمی‌کردم، دریافتم قط می‌شد و باید از اول شرو می‌کردم! البته اون زمان روباه آتشین همچین معروف نبود ها! این wget در حالت معمولی در صورت قط شدن دریافت به صورت پیش فرض 20 بار سعی در دریافت می‌کنه و اگر نا موفق بود، می‌قطعه (قطع می‌شه!) اگه می‌خواین این 20 بار رو بیشتر کنید، از سوییچ t برای تغییر تعداد دفعات سعی مجدد (چی‌ی‌ی‌ی شد!) استفاده کنید، تو مثال زیر من 77 بار سعی می‌کنم اون عکس رو بگیرم:

wget -t 77 http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

گاهی دوست دارین مراحل دریافت رو توی یک پرونده متنی داشته باشین، از سوییچ o برای این کار استفاده کنید و بعد آدرس پرونه رو بنویسید. من تو مثال زیر مراحل دریافت رو تو پرونده‌ی downloadlog.txt ذخیره می‌کنم:

wget -o downloadlog.txt http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

اما چیزی که من خیلی باش حال می‌کنم! قراره کلی پرونده رو دریافت کنید! قراره شام هم برین خونه‌ی خاله! هر پرونده هم شونصد ساعت دریافتش طول می‌کشه! چیکار می‌کنید؟! یکی از دوستان قبلا یه راه عالی به من یاد داد: «می‌شینیم گریه می‌کنیم تا پرونده ها دریافت بشه.» البته خب راه خوبیه و در 95 درصد مواقع جواب می‌ده! من در مورد اون 5 درصد باقی مونده این رو می‌گم، از سوییچ i استفاده می‌کنیم به این صورت که یه پرونده متنی می‌سازیم که توش اشاراتی هم به آدرس عکس ها شده! یه نمونه از این پرونده که حاوی عکس‌های پس‌زمینه برای Parsix هستش رو من این زیر می‌نویسم، البته که محتویاتش منظورمه! اسم پرونده رو هم می‌ذاریم ParsixPictures.txt:


Axe aval:

http://lh5.google.com/ramin.gomari/R5ycqffLrZI/AAAAAAAAAfE/pcVOszSP5HI/parsix-12-copy.jpg?imgdl=1

in ham axe dovom:

http://lh6.google.com/ramin.gomari/R5yUhvfLrSI/AAAAAAAAAeM/1nItOUgF5Zc/7.jpg?imgdl=1

in parsix ajab hoolooeye ha:

http://lh3.google.com/ramin.gomari/R5yUh_fLrUI/AAAAAAAAAec/WBWvRnIsBEA/parsix-4-copy.jpg?imgdl=1

Base hamin 3 ta!

می‌بینید که توی اون پرونده من فقط اشاراتی به آدرس عکس ها کردم! این لیست من 3 تا عکس توشه! خب حالا این پرونده رو به wget می‌سپارم تا دریافت این سه تا عکس رو خود به خود شرو کنه و من می‌رم خونه‌ی خاله! اول دستور wget بعد هم سوییچ i و بعد هم آدرس سند متنی:


wget -i ParsixPictures.txt

از خونه خاله که برگشتم، عکس ها دریافت شدن! گاهی بابام می‌خواد از اینترنت استفاده کنه! بابام اینا توی اداره ای که کار مکنن اینترنت خیلی کیلوبیت در ثانیه دارن و این 128Kbps من در مقابلش لنگ می‌ندازه! اما خوب باز هم کار بابااِ رو راه می‌ندازه! از اونجا که اینترنت بدون کامپیوتر همچین خوب میسر نیست! بابااِ میاد میشینه پای کامپیوتر و اونوقت من باید برم سوت بزنم یا سماق بمکم! اخیرا فهمیدم که روش های نا جوانمردانه ای هم هست! یه لیست از پرونده‌هایی که قراره دریافت کنم رو می‌ذارم زمانی که بابااِ قراره اینترنت گردی کنه! برای این که نفهمه من این خباثت رو انجام دادم! مراحل دریافت رو در خفا انجام می‌دم! کافیه سوییچ b رو به wget اضافه کنم! البته بهتره که سوییچ o رو هم خودمون بهش بدیم که اگه ندیم خودش اضافضش می‌کنه! این جوری وقتی بابااِ می‌شینه اینترنت گردی کنه به سرعتی نیم bit در ثانیه می‌رسه که حالش گرفته می‌شه (نکته: در اینطور مواقع باید خودتون رو به خواب بزنید!) مثال زیر، همون مثال بالاست ولی در خفا:


wget -bi ParsixPictures.txt -o dlLog.txt

این قرتی بازی های wget تمومی ندارن که! می‌تونید یک سایت رو هم دریافت کنید! سوییچ r این کار رو انجام می‌ده و به همون شکل سایت رو دریافت می‌کنه.


wget -r http://www.gnu.org

البته ژرفای دریافت هم می‌شه تغییر کنه! سوییچ l این کار رو می‌کنه، تازه اگه ژرفا رو 0 بذاریم، تا ته! دریافتش می‌کنه! تو مثال زیر، من ژرفا رو 2 می‌ذارم:


wget -rl 2 http://www.gnu.org

خب خوب می‌شد اگه می‌تونستیم نسخه ای رو که دریافت کردیم، روی کامپیوتر خودمون طوری ببینیم که تو اینترنت می‌بینیم، یعنی وقتی که روی یه پیوند کلیک کنیم، پرونده‌ی دریافت شده نمایش داده بشه. کار که نشد نداره! سوییچ convert-links برای این کاره! البته می‌دونم که می‌دونید چون این سوییچ یک کلمه (جمله!) ست باید قبلش دوتا خط تیره گذاشت. این جوری:


wget --convert-links -rl 2 http://www.gnu.org

و در نهایت برای ادامه‌ی دریافت یک Website نصفه نیمه! از سوییچ nc استفاده کنید، این جوری:


wget -nc --convert-links -rl 2 http://www.gnu.org

البته در این لحظه من کم‌میارم و ادامه‌ی مبحث رو می‌دم دست خودتون (می‌خوام برم خونه‌ی خاله!):


wget --help
man wget


حالا هی بگین Windows! بریم سروقت پ‌ن ها:

پ‌ن: برای جابجا شدن در پوشه‌هااز دستور cd استفاده کنید، البته تو Dos هم همین دستور بود! مثلا برای این که مثال های من رو اجرا کنید بهتره اول برین تو میزکار وبعد دستور ها رو اجرا کنید. این رو بنویسید:


cd ~/Desktop

پ‌ن: البته می‌دونید که وقتی می‌گم مثلا دستور wget بعدش آدرس منظورم اینه که اول wget بعد یه فاصله و بعد آدرس!

پ‌ن: می‌دونید می‌شه سوییچ ها رو با هم ترکیب کرد؟! مثلا دو تا سوییچ b و c رو می‌تونیم بنویسم bc.

پ‌ن: از وقتی که با Gnu/Linux آشنا شدم، نه از خونه بیرون رفتم و نه حموم و در کل از کنار کامپیوتر جُم نخوردم! تازه صورتم رو هم اصلاح نکردم! به اندازه‌ی ریچارد استالمن ریش دارم! این عکس رو ببینید.

پ‌ن: در ادامه‌ی پ‌ن قبل: از اونجا که بیرون هم نرفتم! CD خام‌هام (= CD خام هایم) ته کشیده! در نتیجه Ramon رو دریافت کردم ها! ولی نتونستم تستش کنم!

پ‌ن: این ریچارد استالمن رو که می‌شناسین؟! اگه نمی‌شناسین اینجا رو ببینید.

پ‌ن: به همه توصیه می‌کنم که به Gnu/Linux مهاجرت کنن. به خدا خوبه ها! یک بار هم که شده تجربش کنید.

پ‌ن: من دارم سعی می‌کنم که یه مقاله ساده در مورد Gnu/Linux بنویسم تا توی یک وبلاگ بزنمش و Gnu/Linux رو به کلیا معرفی کنم، اما اونقدر گستردست که نمی‌دونم از کجا شرو کنم. اساتید راهنماییم کنید لطفا.








دنبال‌کردن

هر نوشتهٔ تازه‌ای را در نامه‌دان خود دریافت نمایید.