Telegram. Безлимитный сетевой диск. Бесплатный +136



Привет, Хабр.

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа.

TgCloud:


  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС

Подробности реализации и ссылка на репозиторий под катом.



Идея


Идея создать VFS на базе Telegram появилась во время работы над AudioTubeBot и VideoTubeBot — после того как был найден способ обойти ограничение в 50мб на загрузку файлов для ботов — я изучил исходники Telegram — открыл много интересного. Например скорость загрузки ограничивается большей частью на самом клиенте, а не сервером.

В результате — увеличил скорость загрузки в облако Telegram до ~240мбит/с на сессию (стабильно работает больше года), что в 15 раз превышает скорость официального клиента.

Логичным шагом было использовать неограниченное файловое хранилище с высокой скоростью загрузки в качестве сетевого диска — наверняка многие так и делают, но проблема в том, что клиентами telegram достаточно неудобно пользоваться для поиска и систематизации файлов. Кроме того — существует лимит в 1.5ГБ на размер одного файла.

FUSE


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

В процессе изучения вопроса выяснилось что патчить ядро совсем не обязательно т.к. в Linux существует специальный модуль ядра FUSE, который позволяет разработчикам создавать новые типы файловых систем, доступные для монтирования пользователями без привилегий. Для модуля есть обертки почти под все популярные языки.



Telethon


Для доступа к Telegram я использую библиотеку Telethon версии 0.19.1 с модифицированной мной многопоточной загрузкой файлов(TelegramClientX).

VFS


Чтобы не писать с нуля файловую систему — за основу взята dedupfs на python, использующая fuse и sqlite для хранения метаданных, которая разбивает файлы на блоки, считает sha1 хэш и переиспользует одинаковые блоки — нужно всего лишь заменить методы загрузки данных в хранилище на свои.

TgCloud


Объединив это все — получился рабочий прототип tgcloud, пока что без космических скоростей, но все же рабочий, надеюсь привлечь сообщество к разработке. Загружаемые файлы разбиваются на блоки по 10МБ, рассчитывается sha1 и загружаются в SavedMessages, хеш сохраняется в локальной базе данных и при чтении блока по нему находится файл. Блоки склеиваются в нужном порядке и выдается поток байт — будто вы читаете их с диска.

Для запуска кода


  • Необходимо получить api_hash и api_id на my.telegram.org и вставить эти данные вместе с номером телефона вашего аккаунта в tg_access.py
  • Создать сессию запустив из папки с проектом

    python3.6 download_service.py

    и введя код подтверждения
  • Установить

    sudo yum install python-fuse
  • Создать папку для монтирования

    mkdir storage
  • Запустить VFS:
    с отладкой

    python dedupfs/dedupfs.py -df --block-size 10240000 storage/

    в фоне

    python dedupfs/dedupfs.py --block-size 10240000 storage/
  • Можно, например указать эту папку как источник для filebrowser

Благодарю за внимание.

P.S. Про этическую сторону (из комментариев)


как вариант — резать скорость на серверной стороне, ограничивать количество потоков загрузки и т.д. — способов ограничить расход диска достаточно и без «прикрытия лавочки», но даже с порезанной скоростью — наличие дополнительного уровня абстракции над загруженными данными — это тупо удобно, когда можно систематизировать файлы не только в рамках чатов и каналов, а так как удобно пользователю — при этом наоборот — данных загружаться будет меньше за счет переиспользования блоков. Если в текущей системе мне нужно отредактировать текстовый документ загруженный — я его скачиваю, редактирую и загружаю заново, при этом 90% данных дублируют уже загруженные, при использовании же VFS — загружены заново будут только изменившиеся блоки.
То есть для обычных пользователей это в целом — благо, если этим кто то решит воспользоваться чтобы хостить порно — ну с ними как то пусть борются, это ведь философия Telegram — что «даже если этим будут пользоваться небольшое количество людей для плохих дел — это не значит что нужно это все запретить и т.д. и т.п.»

Мой канал в Telegram
Чат для вопросов
Исходники на GitHub



На DEDIC.SH доступны новейшие двухпроцессорные конфигурации выделенных серверов с процессорами Intel Scalable 2019 года:
  • 2x Xeon Silver 4214 — суммарно 24 ядра
  • 2x Xeon Gold 5218 — суммарно 32 ядра
  • 2x Xeon Gold 6240 — конфигурация с 36 ядрами.

Стоимость сервера с двумя Xeon Silver 4214 — от 15210 руб/мес
Так же мы готовы собрать для Вас любую конфигурациюнапишите нам!

Если большие мощности выделенного сервера не требуются — VDS от 150 руб/мес — то, что вам нужно!

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (204):

  1. doti
    /#20287100 / +6

    Ого!
    А можно раздачу файлов (торрент) сделать в телеграмме? ну где то в боте хранить хеши конечно: фильмы, музыка.
    А затем скачивать с телеграмма именно с телеграмма.
    А для фильмов онлайн просмотр с телеги, без скачивания :)

    • SlavikMIPT
      /#20287116 / +2

      можно, в этом и суть — сделать интерфейс поддерживаемый всеми линуксами, а дальше — примонтировав эту файловую систему использовать как угодно) по доработкам — нужно увеличить скорость — по хорошему переписать все на go какой нибудь и заменить sqlite на что то вроде redis, добавить в базу данных помимо хеша message_id и chat_id сообщения с файлом для мгновенного доступа, реализовать разрешение коллизий, доработать буферизацию и т.д.
      изначально был порыв переписать Telegram Desktop добавив в него собственно менеджер файлов, чтобы можно было drag'n'dropом в чаты скидывать например файлы, которые УЖЕ загружены, просто их сложно найти и систематизировать. Но в итоге — за год удалось потратить на прототип в сумме дней 6, так что решил выложить что есть — надеюсь что подхватит комьюнити и что то из этого годное таки выйдет

      • Dmitri-D
        /#20287160

        а почему sqlite, а не, скажем, lmdb или lelveldb? Там же достаточно key-value.
        redis я не уверен что уместен — это вроде как не persistent.

        • SlavikMIPT
          /#20287170 / +2

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

        • sim2q
          /#20288394 / +1

          изначально был порыв переписать Telegram Desktop добавив в него собственно менеджер файлов
          Огонь!
          а почему sqlite
          да он стабильно хорошо себя уже долгое время чувствует на PC и под Win в частности, почему нет?

    • Kirhgoff
      /#20288322 / +1

      У меня в туду именно такая задача и лежит — распределенная файловая система на основе уже существующих торрентов. Типа все описано в обычном YAML файле — сначала используемые торренты, а потом какие файлы из них по каким путям лежат. Сломался на том, что сходу не нашел удачной торрент библиотеки, которая умеет частичную закачку делать. Хотел так свою подборку музыки хранить.

      • sim2q
        /#20288400 / +1

        Там ещё файлы будут перехлёстываться к сожалению началом/хвостами с соседями если в блок не попали ровно (практически всегда)

        • Kirhgoff
          /#20288480

          Да. Но поскольку нормальные трекеры типа utorrent умеют файлы скачивать из большого торрента, задача решаемая. Просто левой ногой за выходные не запилить. Все еще надеюсь сделать очередной подход, в этот раз с Rust и FFI libtorrent.

          • Nikobraz
            /#20288744

            qbittorrent умеет и опенсурсный

          • sumanai
            /#20289570

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

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

            • Kirhgoff
              /#20292532

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

              • Nikobraz
                /#20293434

                а скрытые файлы/папки смотрели? хотя может они и в TEMP лежат

      • maydjin
        /#20288998

        Syncthing т.е. изобретаете? Или BtSync?

        • sumanai
          /#20289572

          Тут думаю фича в том, что можно использовать существующих сидов.
          Будет классно ещё, если можно будет указать несколько источников для одного файла. Отказоустойчивость на случай разбегания сидов.

          • ksr123
            /#20290778

            А где брать сидов?

            • LM358
              /#20292116 / +1

              На трекерах. Это как в плейлисте изменить ссылки с локальных файлов, на файлы из торрентов. Такая смесь плеера и торрент-клиента.

      • akledirs
        /#20303912 / +1

        Если нет принципиальной необходимости в torrent то IPFS вариант наверное проще будет. Уже даже был проектик тут по теме музыки на IPFS — Pathefone
        Но это лучше с кем-то кооперироваться на совместное хранение, а то сплошной паразитизм получается с соответствующей проблемой — уйдут сиды и ваша коллекция «посыпется»

        • Kirhgoff
          /#20304886

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

          Интересно про IPFS, обязательно подробнее почитаю.

        • Kirhgoff
          /#20304922

          Очень круто про IFPS, спасибо за наводку. Нашел даже имплементацию на Rust

    • ANIDEANI
      /#20290428

      Хранила сериалы в телеграме, порядка 40 гб — мне удалили аккаунт без возможности восстановления.

      • Pongo
        /#20290516 / +3

        Можно подробнее причину удаления? Хранили только для себя или у вас был открытый канал с сериалами?

    • gaxys
      /#20290800

      Отличная идея, хранения файлов, и просмотра видеоконтента!

  2. UncleAndy
    /#20287168

    А мне вот что интересно… Если системы публикации контента на основе блокчейна (типа golos.io). У них проблема в том, что сохранять текстовый (html) контент на них нет никаких проблем, а вот бинарники (картинки, видео и т.д.) — проблема есть. В текст обычно вставляются обычные линки на какие-нибудь ресурсы, которые с течением времени становятся неактуальными и в тексте получаются пропуски. Возможно-ли Телеграмм использовать в качестве долговременного хранилища таких файлов?

    • SlavikMIPT
      /#20287180 / -2

      ну личные файлы телеграм обещает хранить вечно, пока что не было проблем с этим — ботами уже около петабайта загружено различных видео/аудио и закэшировано в базу — все на месте, удаляются только файлы на которые нет ссылок сборщиком мусора. Думал даже перекачать из вк в телеграм всю музыку(порядка 5 петабайт), но не нашел мотивации это делать просто так, технически — по расчетам это можно сделать примерно за месяц при канале в 17Гбит/с

      • Wesha
        /#20288244 / +4

        пока что не было проблем с этим

        Ключевое слово.


        Как говорится, "в интернете есть всё. Вот только не всегда."

        • gecube
          /#20288580 / +1

          Поддержу, что пока.
          Есть нюансы.
          Первый — если хранить данные в истории с кем-либо, то он может эту историю править задним числом (т.е. удалять файлы)
          Второй — я лично в телеграмме истории более полугода не видел. И гарантий того, что она там будет — то же.
          Третий — есть способы выковырять чужую учетную запись (ну, например, долго не платил за телефон, симка ушла другому человеку и он активировал телеграм по новой на этот же номер) — получит ли злоумышленник доступ к данным или просто сможет их удалить? Получается, до публикации данных — их нужно еще и шифровать.

          • ukod
            /#20289192

            Шифровать нужно в любом случае, а насчет симок — всегда включайте двухфакторную, там пароль свой добавляется, плюс еще защита от sms-шлюзов

            • pharrell
              /#20291638

              Простите, а чего такого могут сделать SMS-шлюзы, что от них двухфакторной защищаться надо?

              • akledirs
                /#20303978

                Очевидно же, если для доступа достаточно телефона и «забытого пароля», то SMS-шлюз тот самый «человек посередине», который может получить доступ к любому аккаунту, зная кому идет код и какой он. Вопрос лишь в добросовестности шлюза. И это не считая того, что GSM в принципе уязвимая система, а эксплуатация уязвимости не так уж дорого стоит.

          • KestL
            /#20289232

            1) это если речь про личные сообщения, но можно, например, создать приватный чат и удалить этого человека из чата
            2) какой именно истории? в моем «Избранном» первое сообщение от 6 августа 2016 года
            3) нужно включить двухэтапную аутентификацию, тогда только обладания симкой будет недостаточно, нужно будет знать еще и пароль

            • gecube
              /#20289292

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

              я говорю про обычные чаты.


              2) какой именно истории? в моем «Избранном» первое сообщение от 6 августа 2016 года

              очень рад за Вас. И как — удобно по ней искать, если хэштеги не расставлять?


              3) нужно включить двухэтапную аутентификацию, тогда только обладания симкой будет недостаточно, нужно будет знать еще и пароль

              и да, и нет. Я же говорю — при обладании симкой в ЛЮБОМ случае можно будет стереть учетную запись со всеми файлами. И нужно на такой сценарий расчитывать.

              • KestL
                /#20289406

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

                очень рад за Вас. И как — удобно по ней искать, если хэштеги не расставлять?
                не очень понял, при чем здесь удобство поиска? Вы написали, что не видели истории больше полугода, я написал, что у меня есть сообщения почти 3-летней давности. Как поиск с этим связан вообще?

                • gecube
                  /#20289596

                  Я правда очень рад, что у Вас история за 3 года. Но давайте вопрос повернем в плоскость — а ею вообще удобно пользоваться? Я достаточно активный пользователь телеграм и у меня подгрузка истории даже месячной давности вызывает фризы. Что-то найти еще ранее — просто нереально. А история ради истории не особо и нужна.

                  • nuclight
                    /#20289636

                    Там есть такая кнопка — «календарь», похожа на автомобильную аккумуляторную батарею. Попробуйте, с ней на нужную дату грузится быстро :)

                  • KestL
                    /#20289686

                    Я достаточно много сообщений туда сохраняю из разных каналов, потому простой прокруткой разве что совсем недавнее ищу. А так — поиском пользуюсь, в том числе иногда по хэштегам.
                    Сейчас специально промотал на пару месяцев назад — фризов не наблюдаю, это в Telegram Desktop под убунтой. Думаю, фризы — это чисто проблема клиента, не пробовали поискать альтернативный под вашу платформу?

                    • gecube
                      /#20290182

                      Думаю, фризы — это чисто проблема клиента, не пробовали поискать альтернативный под вашу платформу?

                      Это на любом — что на мобиле (андроид), что на ноутбуке (opensuse). Возможно, что это как-то связано с тем, что он пытается синхронизировать кусочки и медиа, которых у него (у клиента) сейчас нет в кэше. Для себя я сделал вывод — что на глубину месяц — еще норм, для важных вещей — надо ставить хеш-теги (у него как будто индекс по ним).

                  • daggert
                    /#20290104 / +1

                    Регулярно ищу через поиск в истории чата сообщения давние как походы Аттилы, находится мгновенно.

              • SlavikMIPT
                /#20289504

                при обладании симкой защищенной PIN кодом — не получится, я об этом у себя в канале не так давно писал — зря люди беспечно относятся к этому вопросу

                • gecube
                  /#20289602 / +1

                  PIN-код не спасет, если оператор забрал номер назад (за отсутствие пополнения баланса — имеют право) и потом выдал его новому человеку.

          • bodqhrohro
            /#20292624

            я лично в телеграмме истории более полугода не видел
            В супергруппах миллион последних сообщений хранится.

            • gecube
              /#20292962

              Спасибо за уточнение. А вот интересно — миллион — это много или мало? И какой период времени это покрывает.

              • bodqhrohro
                /#20295428

                И какой период времени это покрывает
                Очевидно — от активности зависит. Временем мерять бессмысленно.

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

            • vlivyur
              /#20304908

              Вроде недавно сняли это ограничение.

          • rkuvaldin
            /#20294594

            Второй — я лично в телеграмме истории более полугода не видел. И гарантий того, что она там будет — то же.

            У меня рабочие чаты в телеграме, вплоть до 2016 года точно ищется, раньше — не смотрел.

    • MikalaiR
      /#20287876 / +2

      Для такого логичнее использовать что-то типа IPFS.

    • prudnitskiy
      /#20290626

      IPFS уже вполне существует. Работает, правда, так себе.

  3. StriganovSergey
    /#20287188 / +30

    Отличная работа.
    Но дуаю, что Павел не одобрит. Прикроет эту лавочку и будет прав.
    Но это не повод останавливаться. Можно расширять поддерживаемые сетевые сервисы и протоколы. да даже, можно сделать хранение файлов в почте POP3/SMTP/IMAP, например.
    Даже когда-то слышал о подобном, но где и когда уже не вспомню.

    • SlavikMIPT
      /#20287200 / +4

      а почему не одобрит? ведь это по сути другой интерфейс(более удобный) для использования заявленной фичи. Думаю когда эта фича заявлялась и выкладывались исходники клиентов — в том числе рассматривался и такой вариант — они ведь не дураки. Я считаю что для них стоимость привлеченных пользователей выше чем место на диске. ВК тот же вообще не удалял никогда данные просто с точки зрения оптимизации — переиспользовать место сложнее чем докинуть винчестеров, а на удаленные файлы просто поставить флаг

      • x67
        /#20287932 / +12

        Потому что безлимитное облачное хранилище стоит дорого. А это по сути удобный интерфейс к нему, а значит такое хранилище будет доступно многим и будет генерить большие убытки. Вероятно, кто то и до вас делал нечто подобное, но никому не рассказывал) Скорее всего, если тг захотят двигаться в этом направлении, ограничат размер бесплатного хранилища и сделают свой тг клауд, в котором это вот все будет храниться — заодно способ монетизации тг (интересно, он сейчас как то монетизирован?). Дальше в этой гонке вооружений пользователи начнут хранить файлы в текстовых сообщениях, но и тут тг что нибудь придумает и прикроет лавочку)

        • ZverArt
          /#20288566 / -1

          Телеграм, на данный момент, никак не монетизирован.

          • rkuvaldin
            /#20294608 / +1

            Это означает, что всё железо, используемое мессенджером, оплачивается из чьего-то кармана. И пока там хранят десятки фоточек — сумма одна, а когда будут хранить десятки терабайт разбитых по сообщениям — счет будет совсем другим.

        • ARad
          /#20289024

          телеграм монетизирован будущим запуском своей криптовалюты.

          • rkuvaldin
            /#20294626

            Ни одного официального заявления о запуске криптовалюты от Дурова или ДЕЙСТВУЮЩЕЙ команды Telegram, насколько я знаю, не было. Все началось с сообщения уже уволенного сотрудника, на которые потом в интернетах накрутили какие-то мутные инсайды и откровенно высосанные из пальца новости.

              • rkuvaldin
                /#20296936

                Дело в том, что там на сайте SEC прямо в шапке написано:
                ====
                The Securities and Exchange Commission has not necessarily reviewed the information in this filing and has not determined if it is accurate and complete.
                The reader should not assume that the information is accurate and complete.
                ====

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

        • Tyusha
          /#20290080

          В любом случае, Телеграм вам ничего не должен, и может прикрыть эту лавочку в любой момент. Полагаться на такое «хранилище» никак нельзя, значит вам надо хранить (и синхронизировать) файлы где-то ещё.

          Да, прикольно вы всё сделали, но я выбираю Dropbox. Не бесплатно — $100 в год — но зато я чувствую себя спокойно.

          • math_coder
            /#20291836 / +2

            но зато я чувствую себя спокойно

            Но ведь Dropbox вам тоже ничего не должен. Почему вы чувствуете себя спокойно?

            • ZetaTetra
              /#20292438

              Есть оферта, большинству этого достаточно.

        • BigD
          /#20290220

          Согласен. Был раньше такой сервис облачного хранения, не могу вспомнить названия, с интересной и честной идеологией. Ты получаешь «в облаке» (а на самом деле — на компьютерах других пользователей) столько же места, сколько выделил на своём для хранения файлов чужих пользователей. Выделил у себя терабайт, столько же получил в облаке, причем вся информация многократно дублировалась. Жалко, что он закрылся — я с удовольствием пользовался.

          • zystem
            /#20290424

            это был http://symform.com/

            • prudnitskiy
              /#20290676

              по похожей архитектуре работает криптовалюта Lisk

              • freeart
                /#20291032

                lisk не является хранилищем файлов, во всяком случае не был таковым, когда я его писал. dapp устанавливались из github, а хранилище — обычный чейн, но на sql базе

          • DGN
            /#20291642

            Это работает пока все хранят там скачанные с торрентов сериалы. Как только начнут шифровать — халява тут же и прикроется, ибо не откуда взяться многократному дублированию. Эффективно может работать разве что P2P схема «выложи терабайт, получи 50 гигов».

      • SuAlUr
        /#20288120 / +6

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

        • TerraV
          /#20289184 / -5

          В смысле вы согласны пользоваться шифрованием которое реализовано на коленке чуваком которы в этом ни разу не специалист? Я даже не знаю чего здесь больше — отваги или чего еще.

          • Zolg
            /#20289766 / +1

            шифрованием которое реализовано на коленке чуваком которы в этом ни разу не специалист
            Уточните это вы про openssl, gnutls, или про libgcrypt?

            • TerraV
              /#20290166

              Их конечно же не надо уметь готовить. Прям вот читаешь мануал, вставляешь сниппет и получаешь DARPA-certified military grade encryption.

        • dvrpd
          /#20289506 / +1

          Шифрование можно сделать в виде какого-нибудь encFS поверх примонтированной папки.

      • crocodile2u
        /#20288878 / +1

        Имеет право на жизнь. Пользоваться кто-то будет, но чтобы прям заабузили целый телеграм — как-то не верится. Mail.RU в свое время выдавал по 1TB в облаке всем желающим пожизненно. Я думаю, если бы все, кто тогда воспользовался этим предложением, быстренько забили весь свой терабайт, мэйл оказался бы в затруднительном положении — но на деле ведь не так много людей хотят все подряд хранить в облаке и имеют гигантские архивы данных

        • kvaps
          /#20288932 / +5

          Flickr тоже терабайт давал и что с ним стало?

          • prudnitskiy
            /#20290684

            К ним пришли эффективные менеджеры.

        • Sjam
          /#20288990 / +6

          Поэтому mail.ru прикрыла почти сразу лавочку и жестко зарегламентировала работу с этим терабайтом…

          • Dvlbug
            /#20291002

            А можно поподробнее? Получил этот терабайт, но ничего не закачивал на него.

            • Kastrulya0001
              /#20298112

              Думаю, он про ограничение 2Гб на файл. Больше я не сталкивался ни с чем за все время.

        • Samoglas
          /#20291070

          Я думаю, если бы все, кто тогда воспользовался этим предложением, быстренько забили весь свой терабайт, мэйл оказался бы в затруднительном положении

          Думаю, именно это им и нужно было — нагрузочное тестирование силами гиков с Хабра.
          Mail.RU в свое время выдавал по 1TB в облаке всем желающим пожизненно.

          Никогда ничего не бывает пожизненно и безлимитно.
          Из семи 1Тб хранилищ четыре уже заморожены за неактивность (вы долго не заходили, ну мы же вам писали письма).
          Спасибо им и за эти три, годное хранилище.
          Облачный клиент (Disk-O) у них, может, даже и самый лучший из всех, какие мне попадались. Но нет никаких сомнений, что отберут и остальные. Это же MRG, вспоминается история с их WebDAV, который обещали-обещали, да так снова и не включили на бесплатных аккаунтах. С текущим клиентом по WebDAV я не скучаю, глюков не замечено.
          И скорость они порезали, раньше было быстрее. Интересно, на платных аккаунтах скорость становится больше?

        • 3aBulon
          /#20301662

          китайский гигант 360 давал 36 терабайт на старте плюс каждый день добавлял. и где они сейчас?

      • nuclight
        /#20289622

        Достаточно вспомнить, как они ввели новые правила ToS своего API в 2017 — на странице прям указали ограничения, что нельзя использовать фичи (типа режима невидимости), которые появились в альтернативных клиентах. На самом деле, судя по состоянию документации на API на официальном сайте, которая остановилась на версии layer 23 (примерно 2014 год) — опенсорс у них только для пиара, и в основном использовался в начале, чтобы взлететь. А сейчас сказать спасибо, что они хотя бы пока продолжают исходники на GitHub выкладывать — и то, это происходит с заметной задержкой (для мобильных версий).

      • korchoon
        /#20290438

        Примерно потому же, почему Dropbox закрыл проект в ссылке ниже — использование ресурсов не по назначению может принести им ощутимые убытки:
        habr.com/ru/post/118146

        • Cenzo
          /#20292742

          Каким образом дедупликация у себя файла по хэшу может использовать ресурсы Dropbox? Они как раз при это совсем ничего не теряют. Dropbox похоже обиделся на вскрытие проприетарного протокола, который по хэшам кусков файла сначала проверял есть ли этот файл уже в их хранилище, и естественно, так как файл уже был, копировал ссылку на этот же файл тому пользователю который имитировал заливку через хэши блоков.

    • gmother
      /#20290666

      Помню, под gmail делали сетевой диск, но гугль это как-то победил.

    • ksr123
      /#20290798

      Хранение в почте было на одном музыкальном форуме… Там человек программу разработал для этого. Если кто вспомнит адрес — буду рад.

  4. sterr
    /#20287216 / +3

    А давайте объявим тренд года — написать ФС под совсем уж нестандартные сервисы. Ну вот как предложили типа в почте, а еще можно назло всем врагам хранить в DNS записях. Или например в JPEG файлах на каком-нибудь фотохостинге. Еще можно хранить файлы в каких нибудь форумах. Да здравствует облако везде где можно!

    • tmin10
      /#20287272

      В твитах можно картинками с цветными пикселами. Начинал одно время такое писать, но дальше структуры файловой системы (взятой из FAT, как основа) дело не пошло.

    • gatoazul
      /#20287352

      Не просто в JPG, а еще и в виде стеганографии

    • developerxyz
      /#20287624 / +3

      Есть еще pifs, где данные «сохраняют» в числе пи.

    • alecv
      /#20289852

      Вы будете смеяться, но в одной большой компании идет непрерывная война с юзерами, хранящими десятки гиг «полезных данный» в папках корпоративного Outlook.

    • FloorZ
      /#20290326

      А теперь представьте будущее. У нас есть сотня облачных хосингов картинок, месседжеров, инстаграммов, соцсетей.
      И есть облачная программа, которая в сотни разных сервисов, под разным видом шифрует блоки файлов, данных или что-то еще. А возможно все эти программы обьеденяют свои каналы в единый пул и получаем еще один псевдо-интернет, прячущийся в виде трафика популярных сервисов?)

      Вдруг скайнет уже таким образом прячется в интернете и мы не в курсе просто?)

    • ValdikSS
      /#20291030 / +1

      Файлобмен через email раньше, годах в 2000-2006, был очень популярен. Из сравнительно свежих программ есть Ygoow, позволяющая массово регистрировать почтовые ящики, загружать в них части файлов и генерировать ссылку, содержащую логин/пароль от ящиков и всю информацию, необходимую для скачивания.

      Можно ещё резервные копии в Usenet хранить. Покупаешь доступ за $10 в месяц, загружаешь файлы, через 3 года покупаешь ещё раз, скачиваешь.

  5. Ryav
    /#20287284 / +2

    В Saved Messages бардак, я так понимаю? :)
    Раз уж мы тут заговорили про такие штуки, никто не знает, как можно смонтировать сетевой диск (будь то sftp или gdrive, или тот же tgcloud) в Android?

    • and7ey
      /#20287318

      А если удалять сообщение из Saved Messages, то файл тоже удаляется? Или по file_id он продолжает быть доступным вечно?

    • SlavikMIPT
      /#20287332

      можно использовать приватный канал отдельный

    • gbg
      /#20288822

      ES Проводник такое может

      • Meklon
        /#20292454

        Они удалились из маркета( Блин, как теперь жить-то. На телефонах всех много лет Pro версия стоит, но теперь нереально накатить на новый уже. Где искать дистрибутив?

        • Gurturok
          /#20293072 / +1

          >Они удалились из маркета
          Какой кошмар. Маркет — помойка. Причем модерируемая… но всеравно помойка. Парадокс. Ищи на 4pda.

  6. sah4ez32
    /#20287292 / +1

    Мощно! Идея не приходила в голову, но в свое время очень сильно удивился про ограничение для клиента в 1.5 гб на файл. Писал клиента telegram для backup'ов, который синхронизировал файлы из определенной директории в заданный чат.
    Надеюсь что ваш проект получит дальнейшее развитие!
    PS
    Для помощи оформили бы issues для людей "не в теме" как помочь проекту.

    • nuclight
      /#20289588

      Ограничение там проистекает из довольно смешных цифр. Upload файла производится частями (parts), число которых ограничено в 3000. При этом размер части должен быть кратен 1 Кб и делителем 512 Кб, кои и являются максимальным размером. Пока идет загрузка, основной метод (что это будет — документ, картинка, имя, пр.) не вызывается, и части живут «как повезёт» во временном состоянии, от нескольких минут до нескольких часов (т.е. загрузка может и обломаться). Вероятно, произвольная цифра 3000 выбрана из соображений временной жизни в этом промежуточном хранилище.

  7. achekalin
    /#20287374

    Полшага до безопасной ОС, которая *в нигде* хранит данные. ТелеОС!

  8. obabichev
    /#20287382 / +22

    «Отче! отпусти им, не ведают, что творят...»©
    Я понимаю, что это выглядит классной идеей, но вы никогда не задумывались, почему всякие гуглодрайвы и дропобоксы стоят денег?
    Если эта штука станет хоть сколько-то популярной, то либо ее прикроют, либо введут лимиты на объем хранимых данных, либо заставят оплачивать хранилища… Жалко труды будет…

    • SlavikMIPT
      /#20287386 / +1

      иногда просто интересно посмотреть что получится, пользуюсь принципом «Разрешено все, что не запрещено законом», в конце концов — Павла никто за язык не тянул, сомневаться в его компетенции не приходится, раз предоставил такую возможность — значит риски просчитаны, если не просчитаны — я не против благодарности за найденную дыру(хотя я искренне уверен что это это предусмотренная фича)

      • Iqorek
        /#20287776 / -12

        «Разрешено все, что не запрещено законом»

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

      • mSnus
        /#20291876 / +2

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


        Сделали вам хороший сервис обмена сообщениями, с возможностью хранить какие-то свои файлы и заметки, передавать их легко между своими устройствами. Бесплатно!


        Нет, надо туда присосаться и сделать так, чтоб Дуров ещё поломал голову, как с этим бороться. Вообще не центре то, что вам досталось бесплатно, да? Очень частая проблема..

        • SlavikMIPT
          /#20291908 / -2

          Да — не ценю, вы всерьез думаете что делается в современном мире что то бесплатно? Павел чтоли волшебник в голубом вертолете? Это проект в который он инвестирует и рассчитывает эти инвестиции отбить и приумножить. Я не перестаю удивляться наивности и ограниченности некоторых людей.
          В очередной раз приведу пример с PayPal — на старте там за регистрацию и приведенного друга давали деньги на счет — и тому кто привел и приведенному, точно не помню, но вроде порядка 20-40 баксов что то. Первое время — да, это было в минус, но когда набралась критическая масса пользователей — рост капитализации перекрыл эти все инвестиции и PayPal был продан за сотни нефти(на часть из которых Маск теперь кстати делает «бесплатный интернет» и «бесплатные зарядные станции»). Гугл тоже кстати БЕСПЛАТНО поиск вам предоставляет и кучу сервисов.
          Сейчас Telegram инвестирует в пользовательскую базу — им нужно предложить что то НАМНОГО лучше чем у других чтобы эту базу набрать и отбиться за счет капитализации — так что для них практически все выгодно что увеличивает пользовательскую базу — это западная модель стартапа — зарабатывать не на прибыли, а на росте капитализации, российскому менталитету это тяжело понять

          • Newbilius
            /#20292088 / +2

            Маск делает платный интернет, бесплатным его окрестили журналисты.

          • guero53
            /#20295696

            Так и вижу как гугл делает платный поиск.
            Бесплатный он чтобы информацию собирать и продавать нам по другим каналам.
            Согласен с mSnus. Вроде уже 2019 год на дворе, все стоит не так дорого, но обязательно нужно обмануть систему и получить что-то нахаляву

            • foxin
              /#20300376

              вы немного уже опоздали — за поиск де-факто гугл получает деньги: вам показывается реклама, иногда она релевантна и вы на неё кликаете, покупаете товар/услугу, в стоимость которой заложена реклама в гугле. опосредованно, но вы платите за поиск.

  9. raid
    /#20287404

    Интересно. А метаданные тоже отгружаются в Saved Messages или, чтобы воспользоваться файловой системой на другом компьютере, придётся перетаскивать их на флешке?

    • SlavikMIPT
      /#20287422

      пока что это все на VDS хранится, чтобы воспользоваться файловой системой с любого устройства — нужно либо открыть браузер, либо через stfp клиент подключиться, это прототип всего лишь

  10. Sabubu
    /#20287424 / +44

    Это плохая и вредная идея, так как Телеграм это не бесплатный файлообменник. Пока этим пользуется 1-2 человека, никто конечно не обратит внимания, но если использование станет массовым, то Телеграм просто заблокирует доступ и вы будете по одному файлу на медленной скорости выкачивать свои бекапы. Заодно и для обычных пользователей передача файлов может стать медленнее.

    • tendium
      /#20287472 / +10

      Помню, был такой сервис — Amazon Cloud Drive (его наследник сейчас называется Amazon Drive). Там был тоже безлимитный объем. Типа. Было апи. Сначала без объявления войны перестали выдавать доступ к публичному АПИ. Потом прикрыли доступ к АПИ из существующих популярных программ. Затем сломали и уже выданные апи-ключи, которые использовались для других программ (например, самописных). А потом урезали место и подняли цены. А люди туда успели петабайты стримов записать. Скачать было уже нереально.

      У меня там был архив фоток, который через веб-интерфейс было нереально выкачать (а софт у них был жутко кривой). У меня был плагин для фара, который позволял пользоваться облачным диском амазона, как ФТП. Но из-за заблокированного ключа он перестал работать. Пришлось дебагать веб-морду и брать временный токен оттуда. Только так я смог всё выкачать.

      Плагин я с тех пор переписал под другой хостинг (где мне якобы пожизненно 2ТБ дали), но произошедшее с ACD ясно дало понять, что даже за деньги безлимитного пространства не бывает. Увы. Так что интересно даже, если проект взлетит, то как долго Телеграм это будет терпеть.

      • corbon007
        /#20288010

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

      • achekalin
        /#20288302 / +4

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


        Свои диск — это всегда свой диск смайлик, а облако — просто способ что-то кому-то продать, желательно без гарантий.

      • RusMikle
        /#20289388

        да, я тоже помучался пока всё назад вытянул. Теперь просто докупаю диски в свой synology. Получается и проще и дешевле, но не безопаснее с точки зрения пожара итп.

        • Ryav
          /#20289460

          Вот для дополнительного (но не основного) бэкапа облака очень даже хорошо подходят.

          • RusMikle
            /#20289712

            ну так я туда с synology и бэкапил. И не дёшево вроде было, все равно убили. Будем ждать прорыва в средствах хранения информации. Раньше была надежда на технологии голографии, но что то не срослось походу.

        • Cenzo
          /#20297086

          Ищете товарища, которому тоже нужны распределённые бэкапы. Друг на друга раздаёте шифрованные версии бэкапов (encfs на лету) через syncthing. Если ваш диск сопрут, забираете копии у товарища. Работает в фоне и прозрачно, жаль только нет встроенного шифрования на лету в самом syncthing чтобы бэкапить например сразу с Андроида.

      • raamid
        /#20292666

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

      • rkuvaldin
        /#20294796

        А люди туда успели петабайты стримов записать. Скачать было уже нереально.

        Насколько я помню, из-за этих двух петабайтов порнухи — безлимитный Драйв в результате и отключили.

    • Nikobraz
      /#20287630 / +8

      Ведь всем известно, что лучший файлообменник это Skype.


      А если серьезно, то поживём и увидим. Никто не запрещает использовать правило "3-2-1".

  11. PastorGL
    /#20287930 / +10

    OneDrive — или на момент публичного запуска, SkyDrive — тоже был неограниченным по объёму, и это была одна из его основных рекламных фишек.

    Но как только маленький процент пользователей начал заливать в облако HD-рипы на сотни терабайт, Майкрософт быстро прикрыл лавочку. Даже для одной из крупнейших корпораций жадность пользователей оказалось не по карману. В итоге имеем всего 5 гигов на аккаунт бесплатно.

    Бэкэнд тележки вроде как в основном на AWS хостится, значит, оперативный сторидж у них S3. При больших объёмах он стоит весьма недёшево, а денег у Telegram LLC явно меньше, чем у Майкрософта. Лавочку прикроют, как только злоупотребление станет массовым.

    • SlavikMIPT
      /#20287936 / +1

      как вариант — резать скорость на серверной стороне, ограничивать количество потоков загрузки и т.д. — способов ограничить расход диска достаточно и без «прикрытия лавочки», но даже с порезанной скоростью — наличие дополнительного уровня абстракции над загруженными данными — это тупо удобно, когда можно систематизировать файлы не только в рамках чатов и каналов, а так как удобно пользователю — при этом наоборот — данных загружаться будет меньше за счет переиспользования блоков. Если в текущей системе мне нужно отредактировать текстовый документ загруженный — я его скачиваю, редактирую и загружаю заново, при этом 90% данных дублируют уже загруженные, при использовании же VFS — загружены заново будут только изменившиеся блоки.
      То есть для обычных пользователей это в целом — благо, если этим кто то решит воспользоваться чтобы хостить порно — ну с ними как то пусть борются, это ведь философия Telegram — что «даже если этим будут пользоваться небольшое количество людей для плохих дел — это не значит что нужно это все запретить и т.д. и т.п.»

      • PastorGL
        /#20289456 / +1

        Вы сейчас рассуждаете как честный пользователь, и со своей стороны правы.

        Но с другой стороны вся картина видится несколько иначе (я знаю не понаслышке, потому как давно варюсь в энтерпрайзе). Кроме 95% честных юзеров есть 4% не очень честных, и 1% явно злонамеренных, которые могут испортить жизнь всех остальных жестоким абьюзом дыр в TOS. Пошаренный ресурс ведь конечный, и обслуживать misbehaving minority в ущерб честным юзерам никто не будет.

        Средством ремедиации вероятнее всего будет введение лимита по сториджу на аккаунт и/или срока хранения загруженных файлов.

        • DrunkBear
          /#20289626

          *задумчиво* самый простой способ заблокприостановить телеграмм сейчас — поднять много быстрых каналов и лить в облако файлы из /dev/urandom.
          Облака всё-таки не резиновые.

          • Kalashmatik
            /#20289846

            Вы только роскомпозору не рассказывайте, тссс…

            • DrunkBear
              /#20289962

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

            • IvUs
              /#20292034

              Сын предложил шикарный способ реализации закона Яровой в свете открывшихся возможностей — провайдерам не закупать хранилища, а зеркалить трафик в телегу. :-)

      • mihmig
        /#20289472

        Если Вы отредактируете текстовый документ — изменятся все блоки, и перезаливать их придётся все. Ну, если конечно Вы удалите ровно столько символов в середине файла, сколько и добавите, то да сработает. Но в большинстве случаев — нет.

        • nuclight
          /#20289558

          Вовсе не факт, если это классический вордовский .doc например — там нечто вроде блоков.

        • SlimShaggy
          /#20291088

          Почему все? Блоки до места редактирования точно не изменятся.

      • ZetaTetra
        /#20292472

        Я предполагаю, что в качестве рубильника, телеграмм может перестать хранить файлы в облаке и начать их таскать с клиентов. Т.е. если клиента с таким файлом нет, то и файл потерян…
        Да, многим будет неудобно, но зато место в облаке уцелеет.

  12. Ak-47
    /#20288024 / -3

    open source — это не про черную эксплуатацию чужих решений… на мой личный взгляд — так нельзя… Хотя бы чисто этически…

    • SlavikMIPT
      /#20288040 / +4

      Чисто этически — если что то технически можно сделать — это рано или поздно кто то сделает.
      В техническом решении как таковом нет никакой этики — этика может быть в использовании этого решения — можно использовать решение для повышения удобства и эффективности, а можно чтобы хостить порно(и при этом разумеется ни с кем кодом не делиться).
      Ровно та же логика применима и к вопросу использования Telegram террористами.
      Оружие не убивает людей — люди убивают людей.

      • Ak-47
        /#20288052 / -8

        то что можно сделать технически — никак не связано с этикой… А с этикой связано уважение к чужому труду… здесь оно отсутствует с изначальной идеи…

        • SlavikMIPT
          /#20288054

          Милонов, перелогиньтесь, полно Вам…

    • nuclight
      /#20295710

      Сервер Telegram не open source (и не будет), так что моральный аргумент в этом случае неприменим.

      • Ak-47
        /#20296146

        Была ночь, возможно я некорректно написал, что имел в виду.
        Попробую пояснить.
        Есть бесплатный мессенджер, у которого есть бесплатная возможность хранить пересылаемые файлы неограниченно (как по времени, так и по размеру). Для предоставления этой возможности они арендуют сервера, платят деньги… Это прекрасная и удобная фича, но к чему могут привести подобные решения (это мое личное мнение, вполне возможно кто-то считает иначе, не пытаюсь претендовать на истину) — так это то, что эту возможность ограничат, то есть и решение окажется по сути бесполезным, и другим пользователям, которые и не думали использовать его таким образом придется думать, куда пересохранять файлы… А все это (опять же как кажется, опять же исключительно мнение не претендующее на истину) ради того, чтобы съэкономить пару тысяч рублей в месяц, точнее даже не съэкономить в хорошем смысле, а чтобы за тебя заплатил кто-то другой…

        Именно это я назвал эксплуатацией чужих решений, именно это я назвал этичностью…

        Но опять же вероятно автор статьи и не вкладывал подобный смысл в свое решение, а изыскания исключительно в целях интереса.

        • nuclight
          /#20296750

          Предлагаю про моральную сторону в этой ветке habr.com/ru/company/vds/blog/456290/?reply_to=20295868#comment_20296740

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

  13. vaslobas
    /#20288142 / +4

    Всё же без шифрования страшно загружать бекап в телеграм.

    • Ryav
      /#20288500

      Связать с duplicati, и будет конфетка.

  14. nanshakov
    /#20288512 / -4

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

  15. achekalin
    /#20288792 / +1

    Предвижу вскоре вопли от тех, кто призван защищать: «в этом террористическом Телеграмме еще и запрещенные файлы хранятся!»

    И доказать же не сложно: в зале суда загрузить в собственный Save Messages (а лучше в публичную группу) какой-нибудь Майн-камф (или просто фото плаката с цитатой из Конституции), и доказать, что файл можно скачивать много раз — и все, уже повод в очередной раз ополчиться!

    • sumanai
      /#20289610

      какой-нибудь Майн-камф

      Кстати, пытался найти, и не смог.

      • achekalin
        /#20290442

        Кстати, пытался найти, и не смог.


        А вы не из судейских, часом, будете? А если нет, то с какой целью вы разыскивали поросенка Фунтика подобную литературу, т.е. делали то, что люди, которым скрывать нечего, делать не станут? Надо еще логи вашей переписки посмотреть, может, вы еще и темой суицида интересовались? Вдруг там, в логе, прямо есть фраза «пойду убьюсь!» — и не надо рассказывать, что это вы после изучения последнего коммита от коллеги по работе написали в печали!

        Замолчали? Как это «не получите логов»? Вот-вот, затем ключи и нужны, чтобы те, кому надо, могли приглядеть за теми, кто может пострадать по незнанию, за несознательными, которые, как дети, по несознанке себе могут нанести непоправимый вред!

        P.S. А что у нас экспертами чуть не домохозяйки работают, так это правильно, они люди простые, лучше поймут, что книга или запись в переписке опасны — и без затей признают ее таковой, а не начнут рассуждать, что это, мол, была ирония, а не реальная попытка убить себя (да-да, этого права без санкции или приказа у гражданина нет)!

        • ZetaTetra
          /#20292486

          Майн Кампф только ленивый ещё не прочитал.
          А всех вынюхивателей "врагов народа" — к психиатру на диагностику.

          • achekalin
            /#20292576

            Вот и написано же: значит, вы ведёте себя не так, как нормальный законопослушный гражданин будет себя вести!


            Почитайте лучше что-нибудь мирное, душеспасительное. Напр., диссертацию господина Жарова.

      • SlimShaggy
        /#20291128

        Хм, гугл на первой же странице выдает ссылку на PDF. Или вы бумажный вариант искали?

        • rkuvaldin
          /#20295194

          … а завтра РКН заблокирует Гугл…

          • Samoglas
            /#20297210

            … а завтра РКН заблокирует Гугл…

            Но мы прочитаем об этом сегодня. В заблокированном РКН Телеграме.

  16. YDR
    /#20288864 / -1

    найдется какой-нибудь злодей и начнет /dev/random закачивать. Неограниченного хранилища не бывает. Относитесь к технологиям ответственно, безответственных дурачков и так достаточно.
    Начните с согласования с самим Павлом, пусть он и решит.

  17. Sly_tom_cat
    /#20289124 / -1

    А мне вот странно желание залить свои данные куда-то хз куда куда никто не просил, не предлагал, пусть даже не запрещал (пока) да еще и в незашифрованном виде.

    Ну есть же SyncThing — места столько, сколько у тебя есть, копий столько сколько тебе нужно.

    Нет, само решение интересно и вполне оригинально. Из соображений сделать супер-пупер-вундер-вафлю — это действительно стоит ;). Но вот пользоваться этим для хранения своих реальных данных — как-то странно…

  18. nuclight
    /#20289550 / -1

    Гм… ткнулся в указанные в посте чат и канал — они, похоже, не по этому проекту, а нечто непонятное или вовсе рекламное?

    По самому проекту — мы тут свой клиент на Perl с нуля делаем, как раз к реализации файлов подобрались, в связи с чем вопрос: а почему 10 Мб? в Телетоне нет поддержки BigFilePart? С другой стороны, для файловой системы это очень большой блок, нужно если не 4 Кб, то хотя бы как в ZFS с дедупликацией параметры подбирают.

    • SlavikMIPT
      /#20289648

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

    • SlavikMIPT
      /#20289674

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

  19. Ununtrium
    /#20289578 / +3

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

    Я-то думал любители халявы перевелись в 90-е. Выходит, нет.

  20. vtc
    /#20289882

    Похоже это положит телеграм гораздо быстрее чем Роскомнадзор. Вы случаем там не работаете? ;)

  21. VioletGiraffe
    /#20290022 / +2

    За идею и описанию плюс, за убийство хорошего сервиса для всех из-за жадности лично вас — жирный минус. Я, нпример, если нужно какой-то большой файл перекинуть через ТГ, потом удаляю его, когда больше не нужен.

    • gecube
      /#20290252

      Я, нпример, если нужно какой-то большой файл перекинуть через ТГ, потом удаляю его, когда больше не нужен.

      Вы правда верите, что он оттуда удаляется? Он почти наверняка становится недоступным ТОЛЬКО ВАМ, а где-то в бекапах телеграма остается. Другой вопрос, кто к ним имеет доступ :-)

      • VioletGiraffe
        /#20290570

        Моё дело — пометить, что файл не нужен, чтобы сервер мог его удалить и освободить занимаемое им место. А если Павел хочет смотреть мои фотки или другой хлам — пусть смотрит, мне не жалко, мой комментарий никак не касался вопросов приватности и защищённости :) Мой пойнт в том, что нынешняя безлимитная передача файлов в ТГ очень удобна и иногда сильно выручает, но я боюсь, что лавочку скоро прикроют, потому как это явно очень дорогой сервис.

    • numb
      /#20290256

      Прочитав Ваш комментарий, открыл ТГ и поудалял ненужные большие файлы. Пусть не сильно но немного разгрузит сервера ТГ )))

  22. impwx
    /#20290030 / +2

    Нецелевое использование ресурсов чужого сервиса в промышленных масштабах, прикрытое неправильно понятой идеологией — это очень некрасиво. Распространять приложение, которое позволит это легко делать любому желающему — еще хуже. А разместить это в блоге компании, которая живет за счет продажи хостинга — это просто вишенка на торте.

    • vtc
      /#20291702 / +1

      Ну вот как раз хостингу, который будет хостить телегаму дополнительные резервы места — им
      как раз это может быть и выгодно…

      Нецелевое использование ресурсов чужого сервиса в промышленных масштабах

      Сам Дуров говорил — что не запрещено -то разрешено. Так что как раз даже с точки зрения Дурова — все правильно, пока это не будет прямо запрещено правилами использования телеграмма.

      • impwx
        /#20292210 / +2

        И еще раз: вы и автор поста неправильно толкуете фразу "что не запрещено — то разрешено". Она касается только тех случаев, когда ваши действия не причиняют неудобства окружающим. Действия же автора статьи попадают в диапазон между мошенничеством и хамством, в зависимости от того, как посмотреть.


        Если говорим о мошенничестве — под классическую формулировку "получение выгоды за счет злоупотребления доверием" они подходят идеально. Отсутствие правила или закона, запрещающего конкретно вот этот вид деятельности, от ответственности не освобождает.


        Ну а хамство… За хамство вас действительно не должны посадить в тюрьму, но это не значит, что у вас есть такое право. Если вы будете так поступать, то определенным образом поменяете мнение окружающих о себе, а если так начнут поступать все — то жить в целом станет очень грустно.

        • vtc
          /#20292442

          И еще раз: вы и автор поста неправильно толкуете фразу «что не запрещено — то разрешено»

          Он ее толкует с точки зрения закона и разьясение того же Дурова. А после того как он (дуров) положил на тот же роскомнадзор (с тем что решение идиотское — понятно, ну или сделанно, для рекламы, чтобы особо умные именно там собрались и за ними было удобно следить ;) ) — так вполне и совесть чиста… раз он может — то чего с ним так же нельзя? К тому же выкручивась он своей деятельностью подвел под удар кучу никакого отношения к нему не имевших сайтов и служб… Он наверняка знал, что так и будет. Так что о каком хамстве и мошейнечестве мы теперь говорим?
          Тем более что купировать это дело он может в два счета — тупо поставив лимит на хранение. Например в 15 гиг как в гогле… Для обычного мессенджера — это за глаза…
          Даже более — могу сказать что он и не пострадает особо, т.к. большинство туда сгрузит всякие видео, фото, книги, програмы — т.е. кучу одинаковых файлов, которые прекрасно вычислит дедупликатор и никакого катострафического роста замнимаего места на серверах эта вся деятельность и не вызовет.

    • nuclight
      /#20295760 / +1

      А с чего вы взяли, что:

      1. нецелевое (если предоставляют файлы аж до полутора гигабайт...)
      2. неправильно понятой?

      Здесь с этической точки зрения вообще-то можно вытащить на белый свет то, что Дуров сам не следует принципам open source, пускает пыль в глаза и вообще плюет на многие просьбы пользователей? А может быть, тогда подобный ответ — это справедливо?..

      • impwx
        /#20295868

        Ух ты, значит справедливо наказывать владельца сервиса в частности за то, что он при развитии проекта исполняет не все просьбы пользователей и выкладывает не все наработки в опенсорс? Это называется "суд Линча" и у цивилизованных людей очень не приветствуется.

        • nuclight
          /#20296740 / +1

          Не совсем так, справедливо наказывать владельца сервиса за лицемерие в его публичной позиции, показухе, расходящейся с реальными делами. В частности, Telegram подается как опенсорсный, но по факту скорее препятствует опенсорс-разработке. И наконец, «суд Линча» подразумевает взятие прав наказания в области юридической, реальных законов — здесь же противостояние сугубо в моральной плоскости. Всё честно.

          И да, слова «прикрытое неправильно понятой идеологией» всё же не были раскрыты — во избежание недоразумений, озвучьте, какова эта идеология, как её неправильно поняли, и как надо было понимать.

          • impwx
            /#20297176

            О неправильно понятой идеологии я писал во втором предложении предыдущего коммента.

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

  23. limassolsk
    /#20290468 / +1

    Статья как минимум спорная. С одной стороны — интересная идея, но с другой — ничем неприкрытое недобросовестное использование сервиса (за что в некоторых странах при наличии ещё пары отягчающих моментов уже и посадить могут).

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

    Цитаты автора:
    ботами уже около петабайта загружено различных видео/аудио и закэшировано в базу — все на месте
    Думал даже перекачать из вк в телеграм всю музыку(порядка 5 петабайт)
    если этим кто то решит воспользоваться чтобы хостить порно — ну с ними как то пусть борются
    Чисто этически — если что то технически можно сделать — это рано или поздно кто то сделает.

    • nuclight
      /#20295788

      habr.com/ru/company/vds/blog/456290/#comment_20295760

      И добавлю к этому, что неоднократно наблюдал, как мне выпадали баннеры потом, по темам, которые я обсуждал ТОЛЬКО в телеге. К добросовестности самого сервиса есть и ряд других вопросов.

      • limassolsk
        /#20296244

        Про моральную сторону я уже писал. У всех мораль — своя и часто весьма странная. А по поводу «грабить грабителей — это хорошо», не думаю что в суде это будет аргументом.

  24. eigrad
    /#20290554 / +1

    1. Товарищи работодатели, спасите телеграм^W^W переманите его к себе кто-нибудь, а то в текущем месте автор не знает чем заняться.
    2. Девушки — обратите внимание, свободный перспективный мальчик.

    • SlavikMIPT
      /#20290578

      1. Да, к слову — как раз готов к переманиванию
      2. Это тоже не помешает

  25. Gurturok
    /#20290556 / +3

    Помню лет 10 назад был такой проект gmailfs, который позволял использовать ящик gmail в качестве облачного хранилища, примерно по той-же логике. Только там ограничение на 7gb было. Но когда это дело стало популярным в google прошарили и прикрыли какое-то api, и халява кончилась.

    Вот вы сейчас делаете тоже самое, найдутся умники которые решат проверить: «А сколько терабайт уместится в телегу?», Пашок конечно таких забанит, а для остальные введет ограничения и доп. проверки (например капчу) на загрузку файлов.

    • vtc
      /#20291730

      Так а зачем оно уже? Есть офицальный гогле диск, который прекрасно шарит файлы в пределах 15 гиг, разрешенных гуглом — бесплатно или больше — уже на платной основе…

  26. 25080205
    /#20291178

    РосКомНадзор не справился — давайте завалим вражеский телеграм усилиями хабросообщенства!!! :-)

  27. Samoglas
    /#20291344 / -1

    Что хуже с точки зрения этики — разводить братьев Дуровых на оплату облака, заливая гигабайты в Телегу или купить за $1 «безлимитный» «пожизненный» доступ на чей-то корпоративный Google Team Drive, который тоже может жить неопределенно долго?

    • Wesha
      /#20291366

      который тоже может жить неопределенно долго?

      … а может и недолго. А может и не жить.

      • Samoglas
        /#20292918 / -1

        Вопрос был не праздный.
        8 месяцев живет. $1 Окупился полностью :))
        Легально купить это физлицу нельзя, скорость поднимается вплоть до лимита моего соединения, объем неограничен. Блин, лучшее облачное хранилище, как ни крути.
        То, что Гугл — «корпорация зла», не помогает унять душевные муки. Ведь кроме выпиливания поддержки mht и отключения перехода назад по Backspace в Chrome, Гугл мне ничего плохого пока не сделал.
        Вот так пользуюсь и мучаюсь.
        Пойду опять чего-нибудь на GTD залью…

  28. Schalker
    /#20291606 / -1

    Глупо и вредно. Свои данные надо хранить самому. Как свидетельство о рождении. Nextcloud Вам в помощь. А если руки чешутся, достаточно проектов Global Scale Out.

  29. riky
    /#20291926

    ох чувствую в штабе ТГ сейчас начнутся белые ночи.

  30. mrpsycho
    /#20292296

    было бы огненно еще такое иметь для чатов) чтобы файлы шарить удобно среди группы лиц.

  31. s256
    /#20292572 / +1

    Идея хорошая, сам о подобном задумывался, респект автору что воплотил в жизнь. Но как уже подметили выше врядли долгоживущая — интересно сколько просуществует.
    Однако распределенные файловые хранилища должны быть! И существовать они могут на основе криптовалют и прочих ваших блокчейнов. Бесплатное (или условно бесплатное) хранилище не возможно ввиду самой сути человеческой природы — кто-нибудь всегда захочет получить нахаляву и побольше. Но вот добавив денежный эквивалент мы можем сделать пусть платное, но распределенное и цензуроустойчивое хранилище информации — интернет в интерненте. И я очень надеюсь что такой интернет рано или поздно появится.

  32. aspcartman
    /#20295336

    Автор молодец: ) Я тут сделал что-то похожее, но без телеграмма. Я сам заинтересовался историей создания удобного удаленного хранилища. Однако от FUSE пришлось частично отказаться по следующим (субъективным) причинам:

    1. Я не вижу ни одного проекта на FUSE, который я мог бы назвать стабильным и шустрым, к сожалению. NTFS-3G яркий тому пример, ведь в его разработку вложено великое множество человекочасов совсем не глупых людей. И, тем не менее, показатели производительности этого решения сильно отстают от других, проприетарных, имплементаций (не основанных на FUSE).

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

    Возможно я не прав и если это так — буду рад примерам FS.

    Можно использовать FUSE для того, чтобы предоставить ОС образ, который она может смонтировать и отформатировать в обычную ФС, имлементация и кеши которой живут в ядре. Такой способ позволяет избежать необходимости имплементировать какое бы то ни было подобие файловой системы и дает возможность сосредоточиться на жонглировании блоками + из коробки fsck и поддержка extended attributes.

    Чтобы блоки, которых нужно ждать, не тормозили IO соседей, ОС через fuse отдается не .dmg а .sparsebundle. В моем случае бекендом служит яндекс диск. Сейчас диск в тестовом режиме на 180гб забит исходниками всякого рода, видео и игрушками. Кеш на локальном диске пытается удержаться в заданных пределах (20гб) и в памяти (2гб), LRU. +Readahead в 2 блока. 1блок — 8мб (надо меньше, 1мб делать). Локально данные сжимаются snappy и сохраняются в badger, удаленные блоки сжимаются зипом (8).

    Подход позволил играть в игрушки со steam без какого либо дискомфорта, кроме продолжительных загрузочных экранов, и смотреть видео с возможностью перемотки без ожидания дозагрузки. И впереди еще много работы. И самое главное — избавиться от FUSE полностью.

    Почему у нас нет Block device in User SpacE? Ближайшее — nbd, linux-only и в неизвестном состоянии.

    Перформанс
    image