myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> Клиент: LiveDC, Наверное, самый молодой из клиентов

Рейтинг 5 V
Теги
Нет тегов для показа
Erty Hackward
сообщение 10.9.2013, 8:36
Сообщение #1


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




Добрый день.

Я хотел бы представить вам мою разработку: p2p-клиент LiveDC.

Во время работы над проектом я хотел сделать что-то новое, а не еще один клон DC++. Я начал с нуля, взял самое необходимое и убрал все ненужное (на мой взгляд).

Я считал и продолжаю считать что существующие клиенты слишком сложные для не-гиков. Поэтому я свел обязательную настройку к минимуму.
В лучшем случае пользователю не потребуется вводить вообще ничего, в худшем клиент попросит ввести адрес хаба.

Клиент самостоятельно определяет режим соединения (актив/пассив). Для этого он обращается к серверу, передавая ему свой tcp порт. Сервер пытается подключиться на порт к нему и возвращает результат клиенту.

Псевдоним вида livedc(случайные буквы) генерируется автоматически.

Клиент может сам определить адреса хабов при первом запуске. Для этого он определяет город, откуда запущен клиент. Затем запрашивает список хабов с сервера для этого города. Кроме того, при наличии настроенных клиентов FlyLink или StrongDС адреса хабов могут быть взяты там.

По умолчанию, клиент выбирает самый свободный жесткий диск и загружает файл на него. Конечно же, в настройках можно указать куда именно загружать файлы. В планах добавить удаление старых загруженных файлов при недостатке свободного места.

Прикрепленный файл  livedc.png ( 25.34 килобайт ) Кол-во скачиваний: 2075
Прикрепленный файл  livedc_starting.png ( 54.36 килобайт ) Кол-во скачиваний: 2032


Интерфейс клиента предельно простой - значок в области уведомлений, при нажатии на который появляются 3 последних открытых файла. При нажатии на магнет-ссылку из браузера появляется диалог, сообщающий о текущем прогрессе открытия файла. Клиент начинает загрузку и как только загружен хотя бы один сегмент - предлагает пользователю открыть файл. По опыту, видео файл начинает проигрываться у меня где-то через 10-15 секунд после нажатия на магнет ссылку (при наличии источников).
Работает это следующим образом - клиент создает виртуальный диск, на котором создает "видимость" наличия файла в системе. На самом деле все запросы к этому файлу проходят через клиент, который знает загружен ли запрашиваемый участок файла или нет. Если участок не загружен - он отмечается высоким приоритетом и будет загружен в ближайшее время. Пока сегмент не загружен отправка данных приостанавливается, плеер или любое другое системное приложение "висит" ожидая данных. Что мне особенно нравится, помимо просмотра сериалов, эта функция позволяет установить большую игру из образа к тому моменту как будет завершена закачка ее образа. Причем, если для установки не нужно загружать весь образ, она выполнится еще до окончания его загрузки.

Независимо от того запрошен ли файл целиком или частично, клиент постарается скачать весь файл. Как только файл будет скачан он становится на раздачу.

В клиенте отсутствует чат и список пользователей. Поэтому при подключении к хабу он его не запрашивает, снижая нагрузку на хаб.

Разработал я его в первую очередь для себя - люблю простые и легкие вещи.
Клиент реализован на основе моей библиотеки: SharpDC
Для создания виртуального диска используется библиотека Dokan.
Программа бесплатная и чистая: нет рекламы, нет шпионских штучек.
Написано на C# в Visual Studio 2012.

При обнаружении бага
Клиент пишет лог работы в папку %temp%\livedc-дата.log
Если встретили некорректное поведение, прошу отправить лог мне на почту: hackward@gmail.com с описанием ошибки.

Сайт: http://april32.com/ru/products/livedc
Трекер: https://bitbucket.org/ErtyHackward/livedc
Скачать дистрибутив можно здесь: livedc.rar

PS. Вчера я закончил внедрение поддержки торрентов на базе MonoTorrent. Так что теперь клиент работает как с DC так и с торрентами.
Очень интересно ваше мнение о проекте в целом, буду благодарен за помощь в тестировании. С удовольствием отвечу на любые вопросы.
Go to the top of the page
+Quote Post
HackFresse
сообщение 10.9.2013, 10:24
Сообщение #2


Продвинутый участник
****

Группа: Пользователи
Сообщений: 155
Регистрация: 11.1.2009
Пользователь №: 1 772
Спасибо сказали: 29 раз




Да, дистрибутов дотнета лучше выкладывать рядом с инсталляшкой.

Есть ли поддержка торрентовых магнет-ссылок?

Поддерживается ли подключение к хабу из магнет-ссылок (dc)?

Шаринг общий между торрентом и dc (скачанное через торрент раздаётся через dc)?
Go to the top of the page
+Quote Post
Erty Hackward
сообщение 10.9.2013, 10:55
Сообщение #3


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




магнет ссылки поддерживаются как DC так и торрентов
ссылки на хабы - нет, никогда этим не пользовался, а надо?
общего шаринга на данный момент нет, хеширование само по себе еще не реализовано (нет верификации, добавления в шару), работаю над этим
Go to the top of the page
+Quote Post
HackFresse
сообщение 10.9.2013, 11:35
Сообщение #4


Продвинутый участник
****

Группа: Пользователи
Сообщений: 155
Регистрация: 11.1.2009
Пользователь №: 1 772
Спасибо сказали: 29 раз




если для совсем "для не-гиков", то нужны.
Юзер зашел на сайт с магнет-ссылками, кликнул по понравившейся, а на подключенных хабах такого файла не нашлось. "Пачиму не качаит?"

Настроек всё-таки слишком мало, должна быть возможность хотя бы список хабов отредактировать

Что имеется в виду под верификацией? Как я представляю - торрент-файл скачался полностью, контрольные суммы совпадают - на всю папку натравить готовый класс из флая/стронга/апекса/айскальта, результат просто замержить с готовой xml файл-листа.

У меня была идея по конвертации *.torrent в *.dcls на основе поиска нужных файлов, тут же сразу готовое решение с пересчетом контрольных сумм.

Еще есть грандиозная идея через DC отдавать торрентовые раздачи одним потоком, без разбивки на отдельные файлы. Т.е. есть торрент-файл с раздачей gta5, убираем из него все данные о трекерах, высчитываем контрольную сумму по tth, эту контрольную сумму шарим на сайте. другой клиент по клику на ссылке ищет tth, через хаб или dht два клиента находят друг друга, а потом обычная торрентовая передача p2p . Сложно, но вроде как реально
Go to the top of the page
+Quote Post
Erty Hackward
сообщение 10.9.2013, 12:09
Сообщение #5


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




редактирование списка хабов есть в планах, а вот ссылки на хабы без их представления как-то странно выглядеть будут.
верификация - проверка загруженных данных на соответствие TTH во время загрузки. В MonoTorrent верфикация есть. Просто чтобы расшарить в DC нужно реализовать TTH-хеширование в библиотеке (SharpDC). Я не говорил что это сложно, просто это требует времени, которое ограничено. Плюс нет явной пользы - пользователю от этого ни холодно ни жарко.
Хеширование уже фактически готово, я обязательно это сделаю, просто чуть позже. И, естественно, это будет односторонний шаринг torrent -> dc.
Go to the top of the page
+Quote Post
HackFresse
сообщение 10.9.2013, 12:24
Сообщение #6


Продвинутый участник
****

Группа: Пользователи
Сообщений: 155
Регистрация: 11.1.2009
Пользователь №: 1 772
Спасибо сказали: 29 раз




По поводу ссылки на хаб в магнетке - popup "подключиться к хабу , Да/Нет" и чекбокс в настройках "выводить попап при обнаружении хаба в магнет-ссылке"


Если время ограничено, то лучше взять что-то готовое и с минимальными изменениями уже начать использовать, чем писать что-то своё "сразу оптимально".

>>Плюс нет явной пользы - пользователю от этого ни холодно ни жарко.
Тут проблема в файлообмене "глобальном", т. е. качание без шаринга очень многим не нравится.
Если клиент не может шарить/раздавать файлы, то его будут банить и юзеры, и админы хабов.

А с фичей "всё, что скачано с торрентов, сразу раздаётся в дц" всё будет намного лучше
Go to the top of the page
+Quote Post
Antibiotic
сообщение 10.9.2013, 13:09
Сообщение #7


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 12.8.2009
Пользователь №: 4 151
Спасибо сказали: 0 раз




Всё отлично! круто, но всётаки поболтать в чате иногда хочеться... feel_good.gif


А так прикольно!!!!! молодец!















А как данные расшарить?
Go to the top of the page
+Quote Post
Erty Hackward
сообщение 10.9.2013, 13:14
Сообщение #8


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




Цитата(Antibiotic @ 10.9.2013, 17:09) *
А как данные расшарить?

пока - никак. Можно только качать. Скачанное расшаривается само.


Спасибо сказали:
Go to the top of the page
+Quote Post
Damaks
сообщение 10.9.2013, 14:21
Сообщение #9


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




За последние годы самая многообещающая разработка. Знаю ещё из статьи на хабре. Удачи в развитии.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 10.9.2013, 14:44
Сообщение #10


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Советую расположить файл программы на этом же ресурсе, и обновлять его по ходу изменений..
Тут так принято, а не давать ссылки на чужие ресурсы.
Go to the top of the page
+Quote Post
HackFresse
сообщение 10.9.2013, 14:53
Сообщение #11


Продвинутый участник
****

Группа: Пользователи
Сообщений: 155
Регистрация: 11.1.2009
Пользователь №: 1 772
Спасибо сказали: 29 раз




Самое главное, чтобы с ней не произошло то же, что и с остальными дц-клиентами..
Go to the top of the page
+Quote Post
Antibiotic
сообщение 16.9.2013, 14:11
Сообщение #12


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 12.8.2009
Пользователь №: 4 151
Спасибо сказали: 0 раз




Ошибку выдает и незапускается tire.gif
Go to the top of the page
+Quote Post
Erty Hackward
сообщение 16.9.2013, 16:10
Сообщение #13


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




Обновил до 1.1.9, ошибка скорее всего исправлена. Если нет, отправьте мне лог программы на почту.
Go to the top of the page
+Quote Post
Antibiotic
сообщение 16.9.2013, 19:11
Сообщение #14


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 12.8.2009
Пользователь №: 4 151
Спасибо сказали: 0 раз




Ураа..работает!!

big_smile1.gif
Go to the top of the page
+Quote Post
HackFresse
сообщение 23.9.2013, 15:03
Сообщение #15


Продвинутый участник
****

Группа: Пользователи
Сообщений: 155
Регистрация: 11.1.2009
Пользователь №: 1 772
Спасибо сказали: 29 раз




Клиент не для локальных мини-хабов (с текущим фукционалом). После "продвижения" результаты следующие:

1) Около 20 % сидят с нулевой шарой и ждут, что скачать

2) Локальный каталог фильмов наполняется на основе файл-листов, которых стало меньше. с "обычными" клиентами новинки в папке шарились автоматом, теперь "чего бы скачать" стало еще меньше.

3) Много новинок (и просто файлов) качалось не через поиск, а через "юзер -> скачать файл-лист -> скачать файл/папку". Неудобно и тем, кто на новом клиенте, и тем, кто на старом. Поиск не особо удобен, если не знаешь, что искать

4) Некоторые выставили бан по шаре, в итоге новый клиент "почему не качает"



Т.е. шаринг произвольных файлов и папок необходим


Спасибо сказали:
Go to the top of the page
+Quote Post
Antibiotic
сообщение 23.9.2013, 21:32
Сообщение #16


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 12.8.2009
Пользователь №: 4 151
Спасибо сказали: 0 раз




Да-аа, шаринг нужен
Go to the top of the page
+Quote Post
Angel_D
сообщение 19.3.2014, 16:09
Сообщение #17


Продвинутый участник
****

Группа: Пользователи
Сообщений: 128
Регистрация: 12.10.2008
Пользователь №: 781
Спасибо сказали: 2 раза




Имхо в последних версиях флайлинка отлично придумана система "синхронизации списка хабов".
(там можно почитать ===> http://flylinkdc.com/forum/viewtopic.php?f=27&t=537 )
По хорошему - её вообще можно было бы унифицировать, если бы клиент по умолчанию сначала долбился в какой-нить
Код
http://dc.local/ISP_favorites.xml"]http://dc.local/ISP_favorites.xml
, а уж если там ничего не находит - "план Б". В любой маломальской сети по DCHP рассказать кто такой dc.local и захостить один файлик - не велика проблема, не говоря уже о провайдерах...
Вы ж скорее всего по IP определяете город, так? А если чел в локальной сети без инета? Или в том городе 10 провайдеров со своими хабами и юзверю неясно куда ему надо? В общем как-то так... Вот такое пот предложение.
Go to the top of the page
+Quote Post
Erty Hackward
сообщение 19.3.2014, 16:23
Сообщение #18


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




Имеете ввиду поле в настройках откуда подгружать список хабов?
Это скорее для сборки под какого-то провайдера. Если будут предложения я готов рассмотреть и подключить все что нужно.

Если человек в локальной сети - клиент предложит ввести адрес хаба (если не сможет его найти в настройках flylink или strongdc)
Если в городе десятки хабов - будет пробовать подключиться ко всем. Вероятно, сможет подключиться только к своему.
Go to the top of the page
+Quote Post
Angel_D
сообщение 20.3.2014, 12:57
Сообщение #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 не справился ни с чем, но опять таки - новички разбираться не будут. Конкретно эти "фантазии" и сам рассматривал бы в последнюю очередь. big_smile.gif


Спасибо сказали:
Go to the top of the page
+Quote Post
Erty Hackward
сообщение 20.3.2014, 13:43
Сообщение #20


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 12.11.2009
Из: Кемерово
Пользователь №: 5 014
Спасибо сказали: 11 раз




Спасибо за развернутый ответ. Я понимаю, согласен. Я про другое. Нет смысла делать что-то в вакууме. Нужна база пользователей, которые нуждались бы в решении какой-то проблемы. На данный момент я такого не наблюдаю. Для меня клиент достиг "равновесия". Имеющегося функционала мне достаточно для личного использования, спроса на дальнейшее развитие не наблюдаю.

Проброс портов можно настроить и сейчас, хабы можно вручную в настройках прописать.
Go to the top of the page
+Quote Post

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsЧат клиент для DC++ (только чат)
5 мамин_парень 7 915 15.10.2017, 15:22 Посл. сообщение: CyberGhost404
No new Topic has attachmentsDDD++ – лёгкий и быстрый DC++ клиент
Преднастроенный клиент с готовыми списками хабов
114 Damaks 124 397 19.5.2016, 10:06 Посл. сообщение: dimetro
No New Posts DC-клиент с картинкой вместо фона
2 Анима 5 884 29.3.2015, 20:54 Посл. сообщение: MIKHAIL
No New Posts Клиент для Mydc
Android
5 Артём 8 404 8.3.2015, 12:24 Посл. сообщение: Saymon21
No New Posts Проблемы с общением хаб--клиент
6 keyviewer 10 502 23.9.2014, 21:30 Посл. сообщение: Saymon21
No new votes Опрос: Topic has attachmentsМобильный Dc Клиент
JAVA
26 Wariner 36 332 23.11.2013, 16:00 Посл. сообщение: Артём
No New Posts DC-Клиент для iPhone
Существует ли он?
2 X-Sky 9 205 13.10.2013, 17:54 Посл. сообщение: X-Sky
No New Posts От: Клиент: LiveDC
От темы с ID: 5484
0 Артём 4 219 10.9.2013, 10:03 Посл. сообщение: Артём
No New Posts ВАЖНО: Topic has attachmentsКлиент: Apexdc++
8 Setuper 18 275 13.11.2012, 0:54 Посл. сообщение: Alexey
No New Posts Пишу свой клиент
13 Charlz_Klug 15 528 30.9.2012, 10:14 Посл. сообщение: Saymon21
No New Posts От: DDD++ - первый мультипиринговый dc-клиент
От темы с ID: 4706
2 Damaks 6 265 25.6.2011, 11:53 Посл. сообщение: Damaks
No new Клиент FGlink DC++
Обновление
18 TiGRpp 27 365 30.4.2011, 9:16 Посл. сообщение: OCTAGRAM
No new ВАЖНО: Клиент: Flylinkdc++
23 Setuper 38 475 24.9.2010, 16:20 Посл. сообщение: roflDDDD
No New Posts От: Клиент: Strongdc++
От темы с ID: 419
0 TommyKaira 5 183 11.7.2010, 23:04 Посл. сообщение: TommyKaira
No New Posts ВАЖНО: Клиент: Strongdc++
4 Setuper 14 504 1.6.2010, 22:25 Посл. сообщение: Санёк

 



RSS Сейчас: 23.11.2024, 1:30