|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
Добрый день.
Я хотел бы представить вам мою разработку: p2p-клиент LiveDC. Во время работы над проектом я хотел сделать что-то новое, а не еще один клон DC++. Я начал с нуля, взял самое необходимое и убрал все ненужное (на мой взгляд). Я считал и продолжаю считать что существующие клиенты слишком сложные для не-гиков. Поэтому я свел обязательную настройку к минимуму. В лучшем случае пользователю не потребуется вводить вообще ничего, в худшем клиент попросит ввести адрес хаба. Клиент самостоятельно определяет режим соединения (актив/пассив). Для этого он обращается к серверу, передавая ему свой tcp порт. Сервер пытается подключиться на порт к нему и возвращает результат клиенту. Псевдоним вида livedc(случайные буквы) генерируется автоматически. Клиент может сам определить адреса хабов при первом запуске. Для этого он определяет город, откуда запущен клиент. Затем запрашивает список хабов с сервера для этого города. Кроме того, при наличии настроенных клиентов FlyLink или StrongDС адреса хабов могут быть взяты там. По умолчанию, клиент выбирает самый свободный жесткий диск и загружает файл на него. Конечно же, в настройках можно указать куда именно загружать файлы. В планах добавить удаление старых загруженных файлов при недостатке свободного места. ![]() ![]() Интерфейс клиента предельно простой - значок в области уведомлений, при нажатии на который появляются 3 последних открытых файла. При нажатии на магнет-ссылку из браузера появляется диалог, сообщающий о текущем прогрессе открытия файла. Клиент начинает загрузку и как только загружен хотя бы один сегмент - предлагает пользователю открыть файл. По опыту, видео файл начинает проигрываться у меня где-то через 10-15 секунд после нажатия на магнет ссылку (при наличии источников). Работает это следующим образом - клиент создает виртуальный диск, на котором создает "видимость" наличия файла в системе. На самом деле все запросы к этому файлу проходят через клиент, который знает загружен ли запрашиваемый участок файла или нет. Если участок не загружен - он отмечается высоким приоритетом и будет загружен в ближайшее время. Пока сегмент не загружен отправка данных приостанавливается, плеер или любое другое системное приложение "висит" ожидая данных. Что мне особенно нравится, помимо просмотра сериалов, эта функция позволяет установить большую игру из образа к тому моменту как будет завершена закачка ее образа. Причем, если для установки не нужно загружать весь образ, она выполнится еще до окончания его загрузки. Независимо от того запрошен ли файл целиком или частично, клиент постарается скачать весь файл. Как только файл будет скачан он становится на раздачу. В клиенте отсутствует чат и список пользователей. Поэтому при подключении к хабу он его не запрашивает, снижая нагрузку на хаб. Разработал я его в первую очередь для себя - люблю простые и легкие вещи. Клиент реализован на основе моей библиотеки: Для создания виртуального диска используется библиотека Dokan. Программа бесплатная и чистая: нет рекламы, нет шпионских штучек. Написано на C# в Visual Studio 2012. При обнаружении бага Клиент пишет лог работы в папку %temp%\livedc-дата.log Если встретили некорректное поведение, прошу отправить лог мне на почту: hackward@gmail.com с описанием ошибки. Сайт: Трекер: Скачать дистрибутив можно здесь: PS. Вчера я закончил внедрение поддержки торрентов на базе MonoTorrent. Так что теперь клиент работает как с DC так и с торрентами. Очень интересно ваше мнение о проекте в целом, буду благодарен за помощь в тестировании. С удовольствием отвечу на любые вопросы. Спасибо сказали: |
|
|
![]()
Сообщение
#2
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 155 Регистрация: 11.1.2009 Пользователь №: 1 772 Спасибо сказали: 29 раз ![]() |
Да, дистрибутов дотнета лучше выкладывать рядом с инсталляшкой.
Есть ли поддержка торрентовых магнет-ссылок? Поддерживается ли подключение к хабу из магнет-ссылок (dc)? Шаринг общий между торрентом и dc (скачанное через торрент раздаётся через dc)? |
|
|
![]()
Сообщение
#3
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
магнет ссылки поддерживаются как DC так и торрентов
ссылки на хабы - нет, никогда этим не пользовался, а надо? общего шаринга на данный момент нет, хеширование само по себе еще не реализовано (нет верификации, добавления в шару), работаю над этим |
|
|
![]()
Сообщение
#4
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 155 Регистрация: 11.1.2009 Пользователь №: 1 772 Спасибо сказали: 29 раз ![]() |
если для совсем "для не-гиков", то нужны.
Юзер зашел на сайт с магнет-ссылками, кликнул по понравившейся, а на подключенных хабах такого файла не нашлось. "Пачиму не качаит?" Настроек всё-таки слишком мало, должна быть возможность хотя бы список хабов отредактировать Что имеется в виду под верификацией? Как я представляю - торрент-файл скачался полностью, контрольные суммы совпадают - на всю папку натравить готовый класс из флая/стронга/апекса/айскальта, результат просто замержить с готовой xml файл-листа. У меня была идея по конвертации *.torrent в *.dcls на основе поиска нужных файлов, тут же сразу готовое решение с пересчетом контрольных сумм. Еще есть грандиозная идея через DC отдавать торрентовые раздачи одним потоком, без разбивки на отдельные файлы. Т.е. есть торрент-файл с раздачей gta5, убираем из него все данные о трекерах, высчитываем контрольную сумму по tth, эту контрольную сумму шарим на сайте. другой клиент по клику на ссылке ищет tth, через хаб или dht два клиента находят друг друга, а потом обычная торрентовая передача p2p . Сложно, но вроде как реально |
|
|
![]()
Сообщение
#5
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
редактирование списка хабов есть в планах, а вот ссылки на хабы без их представления как-то странно выглядеть будут.
верификация - проверка загруженных данных на соответствие TTH во время загрузки. В MonoTorrent верфикация есть. Просто чтобы расшарить в DC нужно реализовать TTH-хеширование в библиотеке (SharpDC). Я не говорил что это сложно, просто это требует времени, которое ограничено. Плюс нет явной пользы - пользователю от этого ни холодно ни жарко. Хеширование уже фактически готово, я обязательно это сделаю, просто чуть позже. И, естественно, это будет односторонний шаринг torrent -> dc. |
|
|
![]()
Сообщение
#6
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 155 Регистрация: 11.1.2009 Пользователь №: 1 772 Спасибо сказали: 29 раз ![]() |
По поводу ссылки на хаб в магнетке - popup "подключиться к хабу , Да/Нет" и чекбокс в настройках "выводить попап при обнаружении хаба в магнет-ссылке"
Если время ограничено, то лучше взять что-то готовое и с минимальными изменениями уже начать использовать, чем писать что-то своё "сразу оптимально". >>Плюс нет явной пользы - пользователю от этого ни холодно ни жарко. Тут проблема в файлообмене "глобальном", т. е. качание без шаринга очень многим не нравится. Если клиент не может шарить/раздавать файлы, то его будут банить и юзеры, и админы хабов. А с фичей "всё, что скачано с торрентов, сразу раздаётся в дц" всё будет намного лучше |
|
|
![]()
Сообщение
#7
|
|
![]() Абсолютный новичок Группа: Пользователи Сообщений: 5 Регистрация: 12.8.2009 Пользователь №: 4 151 Спасибо сказали: 0 раз ![]() |
Всё отлично! круто, но всётаки поболтать в чате иногда хочеться...
![]() А так прикольно!!!!! молодец! А как данные расшарить? |
|
|
![]()
Сообщение
#8
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
А как данные расшарить? пока - никак. Можно только качать. Скачанное расшаривается само. |
|
|
![]()
Сообщение
#9
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 260 Регистрация: 1.6.2010 Пользователь №: 6 968 Спасибо сказали: 83 раза ![]() |
За последние годы самая многообещающая разработка. Знаю ещё из
|
|
|
![]()
Сообщение
#10
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Советую расположить файл программы на этом же ресурсе, и обновлять его по ходу изменений..
Тут так принято, а не давать ссылки на чужие ресурсы. |
|
|
![]()
Сообщение
#11
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 155 Регистрация: 11.1.2009 Пользователь №: 1 772 Спасибо сказали: 29 раз ![]() |
Самое главное, чтобы с ней не произошло то же, что и с остальными дц-клиентами..
|
|
|
![]()
Сообщение
#12
|
|
![]() Абсолютный новичок Группа: Пользователи Сообщений: 5 Регистрация: 12.8.2009 Пользователь №: 4 151 Спасибо сказали: 0 раз ![]() |
Ошибку выдает и незапускается
![]() |
|
|
![]()
Сообщение
#13
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
Обновил до 1.1.9, ошибка скорее всего исправлена. Если нет, отправьте мне лог программы на почту.
|
|
|
![]()
Сообщение
#14
|
|
![]() Абсолютный новичок Группа: Пользователи Сообщений: 5 Регистрация: 12.8.2009 Пользователь №: 4 151 Спасибо сказали: 0 раз ![]() |
Ураа..работает!!
![]() |
|
|
![]()
Сообщение
#15
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 155 Регистрация: 11.1.2009 Пользователь №: 1 772 Спасибо сказали: 29 раз ![]() |
Клиент не для локальных мини-хабов (с текущим фукционалом). После "продвижения" результаты следующие:
1) Около 20 % сидят с нулевой шарой и ждут, что скачать 2) Локальный каталог фильмов наполняется на основе файл-листов, которых стало меньше. с "обычными" клиентами новинки в папке шарились автоматом, теперь "чего бы скачать" стало еще меньше. 3) Много новинок (и просто файлов) качалось не через поиск, а через "юзер -> скачать файл-лист -> скачать файл/папку". Неудобно и тем, кто на новом клиенте, и тем, кто на старом. Поиск не особо удобен, если не знаешь, что искать 4) Некоторые выставили бан по шаре, в итоге новый клиент "почему не качает" Т.е. шаринг произвольных файлов и папок необходим |
|
|
![]()
Сообщение
#16
|
|
![]() Абсолютный новичок Группа: Пользователи Сообщений: 5 Регистрация: 12.8.2009 Пользователь №: 4 151 Спасибо сказали: 0 раз ![]() |
Да-аа, шаринг нужен
|
|
|
![]()
Сообщение
#17
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 128 Регистрация: 12.10.2008 Пользователь №: 781 Спасибо сказали: 2 раза ![]() |
Имхо в последних версиях флайлинка отлично придумана система "синхронизации списка хабов".
(там можно почитать ===> По хорошему - её вообще можно было бы унифицировать, если бы клиент по умолчанию сначала долбился в какой-нить Код http://dc.local/ISP_favorites.xml"]http://dc.local/ISP_favorites.xml , а уж если там ничего не находит - "план Б". В любой маломальской сети по DCHP рассказать кто такой dc.local и захостить один файлик - не велика проблема, не говоря уже о провайдерах...Вы ж скорее всего по IP определяете город, так? А если чел в локальной сети без инета? Или в том городе 10 провайдеров со своими хабами и юзверю неясно куда ему надо? В общем как-то так... Вот такое пот предложение. |
|
|
![]()
Сообщение
#18
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
Имеете ввиду поле в настройках откуда подгружать список хабов?
Это скорее для сборки под какого-то провайдера. Если будут предложения я готов рассмотреть и подключить все что нужно. Если человек в локальной сети - клиент предложит ввести адрес хаба (если не сможет его найти в настройках flylink или strongdc) Если в городе десятки хабов - будет пробовать подключиться ко всем. Вероятно, сможет подключиться только к своему. |
|
|
![]()
Сообщение
#19
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 128 Регистрация: 12.10.2008 Пользователь №: 781 Спасибо сказали: 2 раза ![]() |
Цитата Имеете ввиду поле в настройках откуда подгружать список хабов? Это скорее для сборки под какого-то провайдера. не совсем так. попробую привести другой пример. для торрентов относительно не так придумали такую штуку. клиент по умолчанию пытается загрузить файл http: // peerpolicy.local/announce.xml , в котором расписаны IP-диапазоны провайдера, и они для торрент-клиента на пользователе становятся наиболее приоритетными источниками скачивания. а это очень хорошо для провайдера, так как экономит канал, и для клиента, так как положительно сказывается на скорости кача. если клиент не находит этот файл - черт с ним - работает, как работал. как вы можете догадаться, каждый знающий про это и уважающий себя провайдер (или просто жадный) сделал это, ибо труд не велик. и это универсальный адрес, а не какой-то один у одного провайдера, другой у другого. Собственно я предлагаю совместить одну хорошую идею (универсального адреса IP-подсетей провайдера) с другой не менее хорошей идеей (файлом списка хабов провайдера в флайлинке). А теперь, после моих разъяснений, я попробую повторить алгоритм, как я его вижу... При запуске вам DC-клиент пытается прочитать файл... Код http://dc.local/ISP_favorites.xml ...и если она его не находит - просто дальше работает по алгоритму добавления хабов, по которому она работает сейчас. Провайдеры/админы сами не очень любят разъясняться с юзверями на тему адресов хабов, да и просто не любят, и, как правило, такие идеи обычно подхватывают "на ура". Думаю резонно, чтобы у файла был формат такой-же, как и для FlylinkDC, дабы а) не плодить форматы, б) если Павел Пименов тоже поддержит идею с такими вот дефолтными настройками (по этому поводу я и сам с ним могу списаться), то учитывая популярность флайлинка, провайдеры оперативнее поддержат такую идею "общего адреса файла настроек". Цитата Если в городе десятки хабов - будет пробовать подключиться ко всем. Вероятно, сможет подключиться только к своему. разумно. но тут есть серьёзный недостаток. по крайней мере для грустных белорусских интернет-реалей. так как инет у нас всё ещё дорогой, то даже если забыть про тарифы с помегобайтной тарификацией (а у нас ещё и такая тема актуальна), очень серьёзный кусок интернет-тарифов провайдеров, это "псевдоанлимы". к примеру: на тебе 100 гиг на месяц, и пока ты их не выкачал - у тебя 25 мегабит/с, но на байт больше - скорость обрезаем до 128 килобит/с. внутри свой сети - 100 мегабит хоть сутки на пролёт выкачивай. таким образом, учитывая то, что клиент в первую очередь рассчитан на пользователя, который точно разбираться ни в этом, ни в адресах хабов не особо горит желанием, его перспективы "встрять на трафик" чрезвычайно велики, так как хз откуда он будет выкачивать - с инета или с локалки. Согласитесь, вопрос актуальный, учитывая позиционирование данного DC-клиента, и моё предложение вполне себе решение, позволяющее избежать таких казусов. Пожалуйста, только не примите мои слова как очередную критику очередного го##ожуя, которому никогда ничего не нравится, а особенно - что-то делать самому - просто конкретно вашим клиентом был приятно удивлён - действительно мечта "ломогрыза". Да, если ты не подключился к хабу - хз почему ты к нему не подключился, да, нужна шара, и да - вполне не помешала бы кнопка более глубоких настроек, в которую ламер и не полез бы (учитывая то, что у него и по дэфолту все работает), а человек, которых бы захотел настроить себе проброс портов (так как сидит ра WiFi-роутером) или ограничения скорости - настроил бы это. НО при всем при этом - отличная концепция, в которой как-никак решена основная проблема пользователя-новичка - стартовая настройка. Так же из того, с чем успел поэкспериментировать и что можно пробовать - можно пробовать интегрировать VLC Player, если не в сам клиент, то хотя бы его установку на комп и последующая ассоциация его с медиафайлами. Когда доходит дело до MKV, MP4, тот же модный PotPlayer не проглотил ни то, ни то, с BD диском тоже были вопросы с воспроизведением на лету, VLC "глотал" всё и перематывал без проблем... Возможно это решается настройками медиаплеера, а возможно я попробовал на единственном плеере, который у меня кроме AVI не справился ни с чем, но опять таки - новички разбираться не будут. Конкретно эти "фантазии" и сам рассматривал бы в последнюю очередь. ![]() |
|
|
![]()
Сообщение
#20
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 13 Регистрация: 12.11.2009 Из: Кемерово Пользователь №: 5 014 Спасибо сказали: 11 раз ![]() |
Спасибо за развернутый ответ. Я понимаю, согласен. Я про другое. Нет смысла делать что-то в вакууме. Нужна база пользователей, которые нуждались бы в решении какой-то проблемы. На данный момент я такого не наблюдаю. Для меня клиент достиг "равновесия". Имеющегося функционала мне достаточно для личного использования, спроса на дальнейшее развитие не наблюдаю.
Проброс портов можно настроить и сейчас, хабы можно вручную в настройках прописать. |
|
|
![]() ![]() |
Похожие темы
![]() |
Сейчас: 8.9.2024, 2:33 |