Mega.co.nz এর মতো ফাইল ডাউনলোড করুন


89

আজ আমি mega.co.nz পরীক্ষা করে দেখেছি এবং কিছু বৈশিষ্ট্য নিয়ে আমি উত্সাহিত। উদাহরণস্বরূপ ডাউনলোড পৃষ্ঠায় এটি ব্রাউজারে ফাইলগুলি ডাউনলোড করবে এবং এর পরে জাভাস্ক্রিপ্ট দিয়ে সেগুলি ডিক্রিপ্ট করবে।

উদাহরণস্বরূপ একটি পিএনজি ফাইল ডাউনলোড করতে এই লিঙ্কটি দেখুন:

https://mega.co.nz/#!7JRgFJzJ!efpJGWuPhYczLexY19ex82nuwfs4sR_DG4JXddeClH4

এই লিঙ্কটিতে এটি ব্রাউজারের ভিতরে ডাউনলোড শুরু করবে। আমি পরিদর্শন উপাদানটিতে নেটওয়ার্ক ট্যাবটি পরীক্ষা করেছিলাম এটি ফাইলের সমস্ত অংশগুলি শেষ করার পরে এটিএজএক্সের সাথে ফাইলের অংশগুলি ডাউনলোড করবে, সেগুলি কম্পিউটারে স্বয়ংক্রিয়ভাবে একটি ফাইলে তাদের সমস্ত সংরক্ষণ করবে!

আমি জানতে চাই তারা কি করে? আপনি ব্রাউজারের ভিতরে ফাইল ডাউনলোডের বিষয়ে কোনও সংস্থান ব্যাখ্যা বা লিঙ্ক করতে পারেন?

এছাড়াও এটি কেবল জাভাস্ক্রিপ্ট দিয়েই করতে পারে বা কোনও ফ্ল্যাশ প্লাগইন বা এর মতো কিছু ব্যবহার করা উচিত?


4
হ্যাঁ, এবং আপনি যদি কোনও বড় ফাইল ডাউনলোড করেন তবে ধ্রুবক পেজিংয়ের কারণে সিস্টেমটি ক্রলের দিকে ধীর হয়ে যায়
কিনোকিজুফ

উত্তর:


103

মেগা এটি করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করে: (২ Nov নভেম্বর ২০১৩)

  1. ফাইল সিস্টেম এপিআই (ক্রোম / ফায়ারফক্স এক্সটেনশন পলফিল)
  2. অ্যাডোব ফ্ল্যাশ এসডাব্লুএফ ফাইল রাইটার (পুরানো ব্রাউজারগুলি ফালব্যাক)
  3. ব্লববিল্ডার (আইই 10 / আইই 11)
  4. মেগা ফায়ারফক্স এক্সটেনশন (অবনমিত)
  5. অ্যারেবুফার / ব্লব (স্মৃতিতে) + এ [ডাউনলোড] (ব্রাউজারগুলির জন্য যা একটি [ডাউনলোড] সমর্থন করে)
  6. মিডিয়া সোর্স (পরীক্ষামূলক স্ট্রিমিং সমাধান)
  7. ইনডেক্সডডিবি স্টোরেজে ব্লব জমা আছে + এ [ডাউনলোড] (ফায়ারফক্স ২০+, মেমোরি ব্লব পদ্ধতির চেয়ে উন্নতি)

(উত্স: https://eu.static.mega.co.nz/js/download_6.js )


তবে আমি মনে করি এটি ফায়ারফক্সেও কাজ করে। আমি এখানে একটি নমুনা পেয়েছি jsfiddle.net/kGLnP/5 । এই নমুনাটি ক্রোম এবং ফায়ারফক্সে সঠিকভাবে কাজ করে। তবে তারা অন্যান্য ব্রাউজারগুলির মতো সাফারি বা অপেরার জন্য কী করে? আমি এই ব্রাউজারগুলির সাথেও
মেগা.কম.এনজেড

4
হ্যাঁ, নমুনা আপনি প্রদান করেছেন ( jsfiddle.net/kGLnP/5 ) ফায়ারফক্সের জন্য কাজ করা উচিত, কিন্তু শুধুমাত্র সর্বশেষ বেশী (সংস্করণ 20 বা পরে দেখুন developer.mozilla.org/en-US/docs/HTML/Element/a জন্য সমর্থন সম্পর্কে আরও তথ্য)। আমি সবেমাত্র মেগার জাভাস্ক্রিপ্ট কোড পড়েছি এবং আমার উত্তর আপডেট করেছি। (এটি অন্যান্য ব্রাউজারগুলি সম্পর্কে আপনার প্রশ্নের জবাব দেবে Bas মূলত, তারা জেএস-কেবলমাত্র সমাধানগুলি ব্যবহার করতে না পারলে তারা ফ্ল্যাশ ব্যবহার করবে))
রবার্তো

বাহ আমি গতকাল এই সাইটটি দেখেছি এবং একই প্রশ্ন করতে যাচ্ছি। আমি যখন একটি গেম মড ডাউনলোড করার চেষ্টা করেছি তখন আমি অবাক হয়ে গিয়েছিলাম ডাউনলোডের সাথে সাথে ব্রাউজারের ভিতরে আমার পুরো গতির হার দেখায় !!! আমি এফএফ 20.0.1 ব্যবহার করছিলাম।
ওয়েল

রবার্তোর উত্তর কি এখনও আপ টু ডেট? আমি ফায়ারফক্স এবং অক্ষম ফ্ল্যাশে mega.co.nz থেকে একটি বড় ফাইল ডাউনলোড করার চেষ্টা করেছি এবং এটি এখনও কার্যকর। একটি বড় ফাইল ডাউনলোড করার চেষ্টা করার সময় ফায়ারফক্স 50MB এর বেশি সঞ্চয় করার অনুমোদনের জন্য জিজ্ঞাসা করছে যা আমাকে মনে করে যে তারা ইনডেক্সডডিবি ব্যবহার করে।
shacharz

4
না, এটি এখন অবধি আধুনিক নয়, বর্তমান ডাউনলোড লিপিটি এখানে রয়েছে: eu.static.mega.co.nz/download_46.js । আমি একটি তাত্ক্ষণিকভাবে নজর রেখেছি এবং এটি ক্যাচিংয়ের মাধ্যমে পারফরম্যান্সের উন্নতি সহ কিছুটা নতুন সংযোজন সহ কমপক্ষে একই কৌশলগুলি (ইনডেক্সডডিবি ব্যবহার করে, যেমন আপনি অনুমান করেছেন)। কোডটি পড়ার সময় পেলে আমি আমার উত্তর আপডেট করব।
রবার্তো

4

ব্লব এবং ইউআরএল এপিআই ব্যবহার করে মাল্টার্ট্ট ইন ব্রাউজার ডাউনলোডারের একটি প্রাথমিক প্রয়োগ এখানে আনা হয়েছে । এটি 4 সমবর্তী অনুরোধগুলিতে একটি ফাইল ডাউনলোড করে এবং অগ্রগতিও দেখায়। দয়া করে মনে রাখবেন যে rangeশিরোনামটি সেট করে মনে হচ্ছে সাধারণত এক্সএইচআর অনুরোধগুলি সম্পর্কে ভাল ধারণা নাও থাকতে পারে, এই বিষয়টি দেখুন

ডাউনলোড করার সময়:

ডাউনলোড করার সময়

ডাউনলোডের পরে:

ডাউনলোডের পরে

আর একটি আকর্ষণীয় বিষয় মেগা থেকে বিরতি / পুনরায় কাজ কার্যকারিতা বাস্তবায়ন করবে implementing বর্তমান ব্রাউজারগুলির এক্সএইচআর এপিআই সেই ক্ষমতাটি সরবরাহ করে না তাই আপনার একমাত্র সুযোগ হ'ল একাধিক ছোট আকারের অংশগুলি আপনার ছোট অংশগুলির ডাউনলোড করা অংশটি ডাউনলোড করা এবং ছেড়ে দেওয়া, এটি যেভাবে মনে হয় মেগাতেও করা হয়। তবে fetchস্ট্রিমিং বৈশিষ্ট্যটি সে উদ্দেশ্যে ব্যবহার করা যেতে পারে, আমি এখনও এটি যথেষ্ট ভালভাবে আবিষ্কার করতে পারি নি তবে এটি এখানে নথিবদ্ধ ।

বিটিডব্লিউ, এই দুর্দান্ত প্রকল্পগুলি দেখুন:


2

মেগা সিএমডি

অফিসিয়াল কমান্ড লাইন ইন্টারফেস মেগ্যাকএমডি রয়েছে । আপনি এটি https://github.com/meganz/MEGAcmd এ গিথুব থেকে উত্স থেকেও তৈরি করতে পারেন

megacmd মেগা এসডিকে ঘিরে একটি মোড়ক এবং আপনি নিজের থেকে এটি সংকলন করার সিদ্ধান্ত নিলে মেগা এসডিকে নীচে তালিকাবদ্ধ হিসাবে আপনার একই নির্ভরতা (উবুন্টুতে) প্রয়োজন হবে।

ব্যবহারের বিশদগুলির জন্য এমইজিএএমসিএমডি ব্যবহারকারী নির্দেশিকা দেখুন

মেগা এসডিকে

গিগাব পৃষ্ঠায় পদক্ষেপ অনুসরণ করে সংকলন করা যায় এমন মেগা এসডিকে । megacliএটিতে ইউটিলিটি রয়েছে যা সিঙ্কিং এবং ডাউনলোডিং / আপলোডের জন্য একটি ইন্টারেক্টিভ শেল।

## compilation steps for ubuntu
git clone --depth 1 https://github.com/meganz/sdk megasdk
cd megasdk
sudo apt install libcurl4-openssl-dev  libc-ares-dev libssl-dev libcrypto++-dev  zlib1g-dev libsqlite3-dev  libfreeimage-dev libswscale-dev
autogen.sh
./configure
make -j 8  ## pass the number of CPUs you have to speed up compilation
sudo make install

মেগাপিপি পাইথন মডিউল (অবনমিত)

যারা এই প্রশ্নটি পাঠ্য মোডে একটি লিঙ্ক ডাউনলোড করার জন্য একটি আসল রেসিপি খুঁজছেন তাদের কাছে একটি সাধারণ পাইথন স্ক্রিপ্ট যা মেগা.পি মডিউলটি ব্যবহার করে (এটি দিয়ে ইনস্টল করুন sudo pip install mega.py):

import sys
import getpass
#install the module with: 'sudo pip install mega.py'
from mega import Mega

email = '_your_megamail_@domain.com'
password = getpass.getpass(prompt='Mega password for {}:'.format(email))

mega = Mega({'verbose': True})
m = mega.login(email, password)
m.download_url(sys.argv[1])

স্ক্রিপ্টটি পাইথন ২.7 এর সাথে কাজ করে এবং মেগা.এনজেড লিঙ্কের URL নেয়।

স্ক্রিপ্টে পাসওয়ার্ড সংরক্ষণ করা এড়াতে কনসোল-এ সুরক্ষিতভাবে পাসওয়ার্ড প্রবেশের জন্য getpass ব্যবহার করা হয় - আপনি যদি পাসওয়ার্ডটিকে হার্ডকোডিং করতে স্বাচ্ছন্দ্য বোধ করেন তবে # 7 লাইনে সেট করুন।

megatools

বেশিরভাগ লিনাক্স / পোস্টিক্স বাক্সে আপনি স্ট্যান্ডার্ড সংগ্রহস্থলগুলি থেকে মেগাটুলগুলি ইনস্টল করতে পারেন

উবুন্টু / ডেবিয়ানে:

apt install megatools

ম্যাকোজে:

brew install megatools

একবার ইনস্টল করার পরে আপনি বেশ কয়েকটি কমান্ড লাইন ইউটিলিটি পাবেন যা এর মধ্যে megadlভাগ করা ফাইল এবং আপনার নিজের ফাইল উভয়ই ডাউনলোড করতে পারে। দেখুন megadl -hবিস্তারিত জানার জন্য।


0

২০২০ সাল নাগাদ, আপনি ব্রাউজারের অন্তর্নির্মিত ডাউনলোড ম্যানেজারের সাথে আপনার কাস্টম কোডটি নির্বিঘ্নে সংহত করার জন্য পরিষেবা কর্মীদের ব্যবহার করতে পারেন: https://developers.google.com/web/updates/2016/06/sw-readablestreams

আমি আরও অনুমান করি যে কোনও ফাইল দেখার পরিবর্তে ডাউনলোড করার জন্য আপনার নীচের শিরোনামগুলি থাকতে পারে:

 headers: {
   'Content-Type': 'application/octet-stream',
   'Content-Disposition': 'attachment; filename="your_filename.bin"',
 }

ব্যক্তিগতভাবে আমি ফায়ারফক্সে গুগল ক্রোম উভয় ক্ষেত্রে নির্বিঘ্নে কাজ করার জন্য এই পদ্ধতির সন্ধান পেয়েছি এবং আমি ইতিমধ্যে এটি উত্পাদনে ব্যবহার করছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.