۰۶-تير-۱۳۸۸, ۱۱:۰۴:۴۳
منم توی این چند وقت که یوتوب فلیتر بود ، یه راه جدید کشفیدم
باهاش میشه لینک "یوتیوب" رو به "گوگل ویدیو" تبدیل کرد . گوگل ویدیو هم که دیگه فلیتر نیست و میشه ازش دانلود کرد . ضمن اینکه در واقع روشی هم هست که باهاش میشه فایل flv رو از یوتوب دانلود کرد.
مرجله اول : ابتدا لینک مورد نظر را میبازیم
مرحله دوم :
لینک های یوتوب اصولا به این صورت هستند : youtube.com/watch?v=Vg6SmfmXzlw
به اون پارامتر v که به یوتوب فرستاده میشه ، id منحصر به فرد اون ویدئو میگن .
وقتی این صفحه لود می کنیم ، اگر همزمان فُلدر تمپ browser خودمون رو مانیتور کنیم ، متوجه میشیم که حین دانلود ویدیو ، یه فایل تقریبا به حجم ویدیو مورد نظر داره بار گذاری میشه .(توی فایرفاکس لیست فایل های cache اینجاست: about:cache و توی ie هم که همه میدونن ، internet temporary files هست)
مثلا یه فایل با این اسم :
با یه مقایسه ساده متوجه میشیم که video_id همون پارامتر v اولی بود. میمونه اون پارامتر t که فرستاده شده . اونم بدست آوردنش زیاد طول نمی کشه . اگر سورس html همون صفحه اول رو ببینیم (youtube.com/watch?v=Vg6SmfmXzlw رو میگم) ، به این عبارت برمی خوریم :
میبینیم که یه جا این پارامتر t که من اسمشو میزارم "کلید دسترسی" هم فرستاده میشه .
بنابر این از این به بعد برای دانلود ویدیو ها میشه این لینک رو :
با روشی که توضیح دادم ، به این لینک تبدیل کنیم :
و راحت ویدیو رو دانلود کنیم .
حالا اومدیمو یوتیوب فلیتر بود ، اونوقت تکلیف چیه ؟ کاری نداره که . کافیه این لینک ها رو با یه phpprxoy باز کنیم .
اگرم یه کم سمج باشیم ، میتونیم با یه http sniffer لینک آخر رو که می خوایم باز کنیم ، sniff کنیم ، متوجه می شیم که reffer میشه به video.google.com . به همین سادگی
برای اینکه از گیر phpprxoy هم خلاص شیم ، همه این اراجیفی که در بالا توضیح دادم رو به زبان شیرین php در قالب یک اسکریپت نوشتم . میتونیم روی هاستمون آپلود کنیم و فقط کافیه اون پارامتر v رو بهش بدیم تا لینک گوگل ویدیو اون رو به ما بر گردونه مثلا اینطوری :
البته همون طور که در مرحله دوم دیدم ، پارامتر های دیگه هم دخیل هستند ، مثل کیفیت فیلم ، یا صدا ....
هر کی علاقه منده میتونه این اسکریپت رو کامل کنه .
دانلود و استفاده برای عموم تحت لیسانس gpl3 آزاد است !
باهاش میشه لینک "یوتیوب" رو به "گوگل ویدیو" تبدیل کرد . گوگل ویدیو هم که دیگه فلیتر نیست و میشه ازش دانلود کرد . ضمن اینکه در واقع روشی هم هست که باهاش میشه فایل flv رو از یوتوب دانلود کرد.
مرجله اول : ابتدا لینک مورد نظر را میبازیم
مرحله دوم :
لینک های یوتوب اصولا به این صورت هستند : youtube.com/watch?v=Vg6SmfmXzlw
به اون پارامتر v که به یوتوب فرستاده میشه ، id منحصر به فرد اون ویدئو میگن .
وقتی این صفحه لود می کنیم ، اگر همزمان فُلدر تمپ browser خودمون رو مانیتور کنیم ، متوجه میشیم که حین دانلود ویدیو ، یه فایل تقریبا به حجم ویدیو مورد نظر داره بار گذاری میشه .(توی فایرفاکس لیست فایل های cache اینجاست: about:cache و توی ie هم که همه میدونن ، internet temporary files هست)
مثلا یه فایل با این اسم :
کد:
get_video?video_id=Vg6SmfmXzlw&t=vjVQa1PpcFMLyC7AWUEYvUTJgWtXh2UfcXar8NxFgEo=
با یه مقایسه ساده متوجه میشیم که video_id همون پارامتر v اولی بود. میمونه اون پارامتر t که فرستاده شده . اونم بدست آوردنش زیاد طول نمی کشه . اگر سورس html همون صفحه اول رو ببینیم (youtube.com/watch?v=Vg6SmfmXzlw رو میگم) ، به این عبارت برمی خوریم :
کد:
... , "ad_logging_flag": 1, "mpu": true, "t": "vjVQa1PpcFMLyC7AWUEYvUTJgWtXh2UfcXar8NxFgEo=", "ctb": "True", ...
میبینیم که یه جا این پارامتر t که من اسمشو میزارم "کلید دسترسی" هم فرستاده میشه .
بنابر این از این به بعد برای دانلود ویدیو ها میشه این لینک رو :
کد:
http://www.youtube.com/watch?v=Vg6SmfmXzlw
با روشی که توضیح دادم ، به این لینک تبدیل کنیم :
کد:
http://www.youtube.com/get_video?video_id=Vg6SmfmXzlw&t=vjVQa1PpcFMLyC7AWUEYvUTJgWtXh2UfcXar8NxFgEo=
و راحت ویدیو رو دانلود کنیم .
حالا اومدیمو یوتیوب فلیتر بود ، اونوقت تکلیف چیه ؟ کاری نداره که . کافیه این لینک ها رو با یه phpprxoy باز کنیم .
اگرم یه کم سمج باشیم ، میتونیم با یه http sniffer لینک آخر رو که می خوایم باز کنیم ، sniff کنیم ، متوجه می شیم که reffer میشه به video.google.com . به همین سادگی
برای اینکه از گیر phpprxoy هم خلاص شیم ، همه این اراجیفی که در بالا توضیح دادم رو به زبان شیرین php در قالب یک اسکریپت نوشتم . میتونیم روی هاستمون آپلود کنیم و فقط کافیه اون پارامتر v رو بهش بدیم تا لینک گوگل ویدیو اون رو به ما بر گردونه مثلا اینطوری :
کد:
http://www.mysite.ir/yt2gv.php?q=Vg6SmfmXzlw
البته همون طور که در مرحله دوم دیدم ، پارامتر های دیگه هم دخیل هستند ، مثل کیفیت فیلم ، یا صدا ....
هر کی علاقه منده میتونه این اسکریپت رو کامل کنه .
دانلود و استفاده برای عموم تحت لیسانس gpl3 آزاد است !