Нужен ли такой DC клиент?

Представь, ты находишь интересный релиз на сайте o-go.ru, нажимаешь по магнет-ссылке и сразу же смотришь его, как будто это файл с твоего компьютера. Классно, не правда ли?

Можно смотреть сериал сразу же, в любимом плеере, без ожидания загрузки.
Можно сразу же начать установку игры из образа. Причем будут скачаны только нужные для установки части образа.
Можно открыть большой архив через WinRAR и вытащить нужные файлы из него, опять же, не загружая все остальное.
Можно перетащить файл в Skype, vkontakte и пр.

Вообще не нужно ничего загружать, все просто работает.

Чтобы это осуществить, нужен DC клиент. Под капотом будет использоваться библиотека http://dokan-dev.net/en/
Она позволяет создавать виртуальные диски, которые выглядят как настоящие. Но обращения к файлам и папкам контролируются программой. Это позволяет создавать иллюзию присутствия файла в системе, когда его по факту нет.

Находишь файл в сети, добавляешь его в к себе в «облако». Файл сразу же появляется на виртуальном диске и с ним можно работать как с любым другим файлом, который есть на компьютере. При обращении какого-либо приложения к этому файлу, DC-клиент загрузит нужные блоки файла и передаст программе.

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

Такому клиенту вообще не нужен интерфейс, достаточно иконки в трее с возможностью «выключить» и поставить ограничение на использование канала.
Чтобы не создавать «паразитов», загружаемый файл будет сохраняться на жестком диске для последующей раздачи. Но, даже если нет свободного места, файл будет работать все равно.

Я мог бы сделать такой клиент, ну, скажем, за неделю. Но нужно ли?

  • https://www.google.com/accounts/o8/id?id=AItOawkCOYbwRl4f-yL3OKI5JheuLfDE7yyMjKc ont.rif

    А изменения такого файла в «dc++ облаке» будут copy-on-write? Иначе придется обзывать это виртуальным cd-rom, чтобы мозг у обывателя не вскипел.

    • Vladislav Pozdnyakov

      файлы будут доступны только на чтение, можно переименовывать, переносить в папки, удалять, но не изменять сами файлы

    • Vladislav Pozdnyakov

      На самом деле пользователю вообще не обязательно знать о существовании нового диска. Он просто будет пользоваться веб-каталогом и запускать все из него.

      • https://www.google.com/accounts/o8/id?id=AItOawkCOYbwRl4f-yL3OKI5JheuLfDE7yyMjKc ont.rif

        Да, web-морда, скажем, на http://localhost:31337, которую отдает служба-dc_клиент, это здорово и может решить ситуацию. Но тут я бы лучше посоветовался с хорошим психологом. Что больше бесит людей: подождать полной закачки или когда лагает (даже чуток и всего один раз) во время просмотра любимого фильма? Я бы лучше подождал, чем получал лаги в музыки/фильмах.

      • https://www.google.com/accounts/o8/id?id=AItOawkCOYbwRl4f-yL3OKI5JheuLfDE7yyMjKc ont.rif

        Вот небольшие лаги в кабельном-тв очень раздражают.

        • Vladislav Pozdnyakov

          Надо посмотреть как это будет работать. Попробую сделать хотя бы для себя. Надоедает качать сериал из ого, а в интернете все плохого качества 🙂

        • Vladislav Pozdnyakov

          По http мало кто может работать, только плееры. Обычные программы, типа daemon tools не будут так работать.

          • https://www.google.com/accounts/o8/id?id=AItOawkCOYbwRl4f-yL3OKI5JheuLfDE7yyMjKc ont.rif

            Ну имел в виду, что http будет выполнять функцию GUI к виртуальному read-only диску. Daemon tools же должен в винде подхватывать ссылки вида x:/game-from-ogo/file.iso? Хм… а так это может быть просто дополнением к существующему клиенту (вместо «скачать» будет «положить в облако на x:\»)

  • http://aspect.myopenid.com Constantine

    А как у библиотеки с random access

    • Vladislav Pozdnyakov

      Насколько я понимаю, все запросы перенаправляются в код. Как он их обработает уже дело кеш-механизма. Это и есть самая тяжелая часть — сделать так, чтобы работало с минимальным лагом.