انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: افزودن امکانات به axel  (دفعات بازدید: 2559 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین rezass

  • Full Member
  • *
  • ارسال: 153
  • مرگ بر نژاد پرستی
افزودن امکانات به axel
« : 11 آذر 1389، 06:59 ب‌ظ »
من الان برای دانلود مجبورم از ویندوز مجازی استفاده کنم  ](*,)
چون دانلود منیجر های لینوکس هیچ کدوم اون چیزی که من میخوام نیستن ولی میخوام یه سری امکاناتی که لازم دارم رو خودم به axel اضافه کنم

۱)یه فایل داشته باشم لینک ها توش ذخیره بشه و با یه دستور لینک اضافه و کم بشه کرد(اینش مشکلی نیست)
۲)برنامه باید مثلا خط اول فایل رو بخونه و دستوری رو اجرا کنه که اکسل اون فایل رو دانلود کنه ولی مشکل اینه که اگه مثلا اینترنت وسط کار قطع بشه اکسل خطا میره و میاد بیرون ولی من میخوام کاری کنم اکه اکسل خطا داد برنامم دوباره اون رو با همین لینک قبلی اجرا کنه تا بالاخره دانلود بشه بعدش بره سرا دانلود بعدی
۳)میخوام بتونم مثلا بگم ۲ تا فایل رو همزمان بگیره
۴)اگه بشه سرعت دانلود حجم فایل و زمان باقیمانده رو هم از خروجی اکسل بگیرم!

چون کلا با سی++ بیشتر کار کردم میخوام با این زبون بنویسم ولی مشکلم اینه که نمیدونم چطوری باید برای مرحله ۲ دستور رو اجرا کنم و خروجیش رو بررسی کنم مورد ۳ رو با fork میتونم بنویسم ولی مورد ۴ رو نمیدونم چیکارش کنم

اگه کسی میتونه کمکم کنه ممنون میشم

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ به: افزودن امکانات به axel
« پاسخ #1 : 11 آذر 1389، 07:24 ب‌ظ »
به نظرم اگر یک اسکریپت بنویسی بهتر است.

آفلاین rezass

  • Full Member
  • *
  • ارسال: 153
  • مرگ بر نژاد پرستی
پاسخ به: افزودن امکانات به axel
« پاسخ #2 : 12 آذر 1389، 05:00 ب‌ظ »
به نظرم اگر یک اسکریپت بنویسی بهتر است.

میشه یه راهنمایی بکنین از کجا شروع کنم؟

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ به: افزودن امکانات به axel
« پاسخ #3 : 12 آذر 1389، 06:04 ب‌ظ »
شما دو راه برای انجام این کار دارید:
* کد خود Axel را تغییر دهید:
من نگاهی به کد axel  انداختم. به نظر برنامه نسبتا کوچکی و بدون وابستگی است. با توجه به این موضوع تغییر آن نباید کار دشواری باشد و فکر می کنم بتوان ویژگی هایی که می خواهید را به آن اضافه کنید. اگر تصمیم به انجام این کار داشتید بهتر است از فایلی که اینترفیس خط فرمان برنامه را پیاده سازی می کند شروع کنید. به این ترتیب می توان اغلب با حداقل کار به نتیجه مورد نظر رسید زیرا توابع مورد استفاده در این فایل معمولا در بالاترین سطح انتزاع قرار دارند. در ضمن نیازی به استفاده از ++C نیز نیست و بهتر است از C  برای برنامه نویسی استفاده کنید.

* با استفاده از اسکریپت نویسی یک Wrapper برای Axel درست کنید:
با این کار شما خود برنامه را تغییر نمی دهید و فقط سعی می کنید با اسکریپت ها آن را مدیریت کنید . اگر تجربه زیادی در برنامه نویسی ندارید و یا می خواهید به سرعت به نتیجه برسید از این راه می توان استفاده کرد. شما می بایست با مدیریت ورودی های axel  و همچنین تفسیر خروجی آن ویژگی های مورد نظر را پیاده کنید.

من شخصا فکر می کنم اگر قصد دارید تا کاری موثر انجام دهید با توجه به اینکه برنامه نیز زیاد پیچیده به نظر نمی رسد ، تغییر و بهبود خود Axel  گزینه مناسب تری باشد.

موفق باشید

آفلاین tHr

  • Full Member
  • *
  • ارسال: 142
  • جنسیت : پسر
پاسخ به: افزودن امکانات به axel
« پاسخ #4 : 12 آذر 1389، 07:08 ب‌ظ »
من پیشنهای میکنم اگه با زبان جاوا آشنایی دارین واسه aria2c یه gui خوب بنویسیم مثل IDM که مشکل همه لینوکس کارا با این دانلود منیجر حل شه اگه کسی مایل بود این کارو انجام بده همین جا اعلام کنه تا بتونیم با همکاری هم یه دانلود منیجر خوب واسه لینوکس بنویسیم.
به امید یاری شما دوستان عزیز

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ به: افزودن امکانات به axel
« پاسخ #5 : 12 آذر 1389، 08:49 ب‌ظ »
یک پیشنهاد دارم که شاید جالب باشد:

با توجه به تجربه شخصی گاهی axel گاهی aria2c و گاهی wget بهترین کارایی را  دارند.

اگر بتوان یک GUI یا script نوشت که ابتدا کارایی هریک از این برنامه ها را تست کند و بعد شروع به دانلود با بهترین نرم افزار کند خیلی مشکل گشا خواهد بود.



آفلاین rezass

  • Full Member
  • *
  • ارسال: 153
  • مرگ بر نژاد پرستی
پاسخ به: افزودن امکانات به axel
« پاسخ #6 : 12 آذر 1389، 09:13 ب‌ظ »
من پیشنهای میکنم اگه با زبان جاوا آشنایی دارین واسه aria2c یه gui خوب بنویسیم مثل IDM که مشکل همه لینوکس کارا با این دانلود منیجر حل شه اگه کسی مایل بود این کارو انجام بده همین جا اعلام کنه تا بتونیم با همکاری هم یه دانلود منیجر خوب واسه لینوکس بنویسیم.
به امید یاری شما دوستان عزیز

متاسفانه من جاوا بلد نیستم :(

شما دو راه برای انجام این کار دارید:
* کد خود Axel را تغییر دهید:
من نگاهی به کد axel  انداختم. به نظر برنامه نسبتا کوچکی و بدون وابستگی است. با توجه به این موضوع تغییر آن نباید کار دشواری باشد و فکر می کنم بتوان ویژگی هایی که می خواهید را به آن اضافه کنید. اگر تصمیم به انجام این کار داشتید بهتر است از فایلی که اینترفیس خط فرمان برنامه را پیاده سازی می کند شروع کنید. به این ترتیب می توان اغلب با حداقل کار به نتیجه مورد نظر رسید زیرا توابع مورد استفاده در این فایل معمولا در بالاترین سطح انتزاع قرار دارند. در ضمن نیازی به استفاده از ++C نیز نیست و بهتر است از C  برای برنامه نویسی استفاده کنید.

* با استفاده از اسکریپت نویسی یک Wrapper برای Axel درست کنید:
با این کار شما خود برنامه را تغییر نمی دهید و فقط سعی می کنید با اسکریپت ها آن را مدیریت کنید . اگر تجربه زیادی در برنامه نویسی ندارید و یا می خواهید به سرعت به نتیجه برسید از این راه می توان استفاده کرد. شما می بایست با مدیریت ورودی های axel  و همچنین تفسیر خروجی آن ویژگی های مورد نظر را پیاده کنید.

من شخصا فکر می کنم اگر قصد دارید تا کاری موثر انجام دهید با توجه به اینکه برنامه نیز زیاد پیچیده به نظر نمی رسد ، تغییر و بهبود خود Axel  گزینه مناسب تری باشد.

موفق باشید

در مورد کد اکسل یه نگاهی بهش کردم و فکر کنم بشه کد خودش رو تغییر داد.
چون از اسکریپت نویسی چیزی سر در نمیارم فکر کنم همون کد خودش رو تغییر بدم بهتره.
باید برم کدش رو دوباره دقیق بخونم

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ به: افزودن امکانات به axel
« پاسخ #7 : 12 آذر 1389، 10:58 ب‌ظ »
من پیشنهای میکنم اگه با زبان جاوا آشنایی دارین واسه aria2c یه gui خوب بنویسیم مثل IDM که مشکل همه لینوکس کارا با این دانلود منیجر حل شه اگه کسی مایل بود این کارو انجام بده همین جا اعلام کنه تا بتونیم با همکاری هم یه دانلود منیجر خوب واسه لینوکس بنویسیم.
به امید یاری شما دوستان عزیز
ایده خوبی می باشد اما برنامه aria2 با ++C  نوشته شده است و نوشتن GUI با جاوا دردسرهای زیادی ممکن است ایجاد کند. شاید Qt گزینه مناسب تری باشد.

آفلاین fzerorubigd

  • Hero Member
  • *
  • ارسال: 758
  • جنسیت : پسر
  • گوگل دوست خوبیه، فقط باید ازش بپرسی
    • یادداشتهای بیت نیمسوز
پاسخ به: افزودن امکانات به axel
« پاسخ #8 : 13 آذر 1389، 06:16 ب‌ظ »
این برنامه یکی دو تا GUI داره و یه رابط قوی هم به صورت XMLRpc داره که میتونه برای کنترلش استفاده بشه.
به هر حال ایده بدی نیست.
من یه کنترلر نصفه نیمه با PHP براش ایجاد کردم. (رابط وب) برای اینکه توی سرورم بتونم باهاش دانلود کنم. ولی زیاد جالب نشد وقت کافی هم برای تکمیلش ندارم.

آفلاین tHr

  • Full Member
  • *
  • ارسال: 142
  • جنسیت : پسر
پاسخ به: افزودن امکانات به axel
« پاسخ #9 : 13 آذر 1389، 11:34 ب‌ظ »
نقل‌قول
ایده خوبی می باشد اما برنامه aria2 با ++C  نوشته شده است و نوشتن GUI با جاوا دردسرهای زیادی ممکن است ایجاد کند. شاید Qt گزینه مناسب تری باشد.
بوسیله ی XML RPC میشه با بیشتر زبان ها واسش رابط کاربری ایجاد کرد.
حالا از دوستانی که جاوا کار هستن اگه مایل بودن با هم روش کار میکنیم
این هم نمونه کدی که از xml rpc بوسیله ی پایتون استفاده شده .
Python 2.5.4 (r254:67916, Nov 19 2009, 22:14:20)
[GCC 4.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addUri(['http://chromeos.hexxeh.net/ChromeOS-Zero.torrent'],{'dir':'/mydownloads'})
'3'
>>> from pprint import pprint
>>> pprint(s.aria2.tellActive())
[{'bitfield': '00000300002000020000002002000000000004400004000048000002002108000420101100000000
40000000400000000000000014040000000000000800040000800400000000040000000002080000000402010800444
00040000000008000a040000002840240200008000000000001000000001000000800020080042400',
  'completedLength': '16859136',
  'connections': '49',
  'dir': '/mydownloads',
  'downloadSpeed': '554196',
  'files': [{'index': '1',
             'length': '267328301',
             'path': '/mydownloads/ChromeOS-Zero.tar.gz',
             'selected': 'true',
             'uris': []}],
  'gid': '4',
  'infoHash': '0dcbd7b411b70da1f8a6025c70f6bbb890d36546',
  'numPieces': '1020',
  'numSeeders': '17',
  'pieceLength': '262144',
  'status': 'active',
  'totalLength': '267328301',
  'uploadLength': '0',
  'uploadSpeed': '0'}]

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ به: افزودن امکانات به axel
« پاسخ #10 : 13 آذر 1389، 11:40 ب‌ظ »
اگر XML RPC پشتیبانی می کند که دیگر زبان مشکلی نخواهد بود. فقط باید بررسی شود قبلا کسی رابط گرافیکی مناسبی برای آن ننوشته باشد.

آفلاین tHr

  • Full Member
  • *
  • ارسال: 142
  • جنسیت : پسر
پاسخ به: افزودن امکانات به axel
« پاسخ #11 : 13 آذر 1389، 11:41 ب‌ظ »
نقل‌قول
یک پیشنهاد دارم که شاید جالب باشد:

با توجه به تجربه شخصی گاهی axel گاهی aria2c و گاهی wget بهترین کارایی را  دارند.

اگر بتوان یک GUI یا script نوشت که ابتدا کارایی هریک از این برنامه ها را تست کند و بعد شروع به دانلود با بهترین نرم افزار کند خیلی مشکل گشا خواهد بود.

در مورد wget باید اینو بگم که نمیتونه به صورت موازی دانلود انجام بده یعنی از چند کانکشن برای دانلود فایل استفاده کنه!
ولی از بین aria2c و axel دوستانی که امتحانشون کردن هر کدوم که بخوبی جواب میده و با سرعت بالا دانلود هارو انجام میده یکیشو انتخاب کنیم و بصورت تیمی روش کار کنیم تا یک رابط کاربری خوب مثل IDM واسشون ایجاد کنیم

آفلاین tHr

  • Full Member
  • *
  • ارسال: 142
  • جنسیت : پسر
پاسخ به: افزودن امکانات به axel
« پاسخ #12 : 13 آذر 1389، 11:43 ب‌ظ »
اگر XML RPC پشتیبانی می کند که دیگر زبان مشکلی نخواهد بود. فقط باید بررسی شود قبلا کسی رابط گرافیکی مناسبی برای آن ننوشته باشد.
تو سایتش قرار دادن چند تا رابط کاربری رو ولی هیچکدوم به درد نمیخورن در واقع مثل رابط کاربری IDM نیستن کلا ای IDM یه چیزه دیگس که هنوز منو وابسته ویندوز میکنه!

آفلاین rezass

  • Full Member
  • *
  • ارسال: 153
  • مرگ بر نژاد پرستی
پاسخ به: افزودن امکانات به axel
« پاسخ #13 : 26 آذر 1389، 07:48 ب‌ظ »
نقل‌قول
یک پیشنهاد دارم که شاید جالب باشد:

با توجه به تجربه شخصی گاهی axel گاهی aria2c و گاهی wget بهترین کارایی را  دارند.

اگر بتوان یک GUI یا script نوشت که ابتدا کارایی هریک از این برنامه ها را تست کند و بعد شروع به دانلود با بهترین نرم افزار کند خیلی مشکل گشا خواهد بود.

در مورد wget باید اینو بگم که نمیتونه به صورت موازی دانلود انجام بده یعنی از چند کانکشن برای دانلود فایل استفاده کنه!
ولی از بین aria2c و axel دوستانی که امتحانشون کردن هر کدوم که بخوبی جواب میده و با سرعت بالا دانلود هارو انجام میده یکیشو انتخاب کنیم و بصورت تیمی روش کار کنیم تا یک رابط کاربری خوب مثل IDM واسشون ایجاد کنیم

من خودم با aria2 کار نکردم ولی اکسل به نظرم همه امکاناتی که لازم هست رو داره ولی این نکته باید حل بشه که دقیقا چطور از کد های اکسل استفاده بشه یعنی اکسل الان که فایل رو میگیره و درصد هارو توی ترمینال چاپ میکنه و اگه خطا داد هم میپره بیرون ولی برنامه ای که قراره نوشته بشه باید درصد ها از یه پراسس دیگه که کار دانلود رو انجام میده بگیره و به پراسس اصلی بده که اون توی صفحه اصلی برنامه نشون بده و برنامه بتونه دستور توقف و این ها هم به پراسس های دانلود بده.
اگه کسی کمکی تو این زمینه بکنه میشه حداقل یه سری کارهای اولیه رو انجام داد.