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

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в 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
    16.06.2019 19:34
    +6

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


    1. SlavikMIPT Автор
      16.06.2019 19:38
      +2

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


      1. Dmitri-D
        16.06.2019 19:47

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


        1. SlavikMIPT Автор
          16.06.2019 19:50
          +2

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


        1. sim2q
          17.06.2019 08:33
          +1

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


    1. Kirhgoff
      17.06.2019 07:41
      +1

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


      1. sim2q
        17.06.2019 08:35
        +1

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


        1. Kirhgoff
          17.06.2019 09:03

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


          1. Nikobraz
            17.06.2019 10:03

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


          1. sumanai
            17.06.2019 12:49

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

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


            1. Kirhgoff
              18.06.2019 00:56

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


              1. Nikobraz
                18.06.2019 10:25

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


      1. maydjin
        17.06.2019 10:51

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


        1. sumanai
          17.06.2019 12:50

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


          1. ksr123
            17.06.2019 16:35

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


            1. LM358
              17.06.2019 22:17
              +1

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


      1. akledirs
        20.06.2019 12:14
        +1

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


        1. Kirhgoff
          20.06.2019 15:10

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

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


        1. Kirhgoff
          20.06.2019 15:16

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


    1. ANIDEANI
      17.06.2019 15:14

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


      1. Pongo
        17.06.2019 15:38
        +3

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


    1. gaxys
      17.06.2019 16:38

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


  1. UncleAndy
    16.06.2019 19:50

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


    1. SlavikMIPT Автор
      16.06.2019 19:53
      -2

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


      1. Wesha
        17.06.2019 06:18
        +4

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

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


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


        1. gecube
          17.06.2019 09:29
          +1

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


          1. ukod
            17.06.2019 11:33

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


            1. pharrell
              17.06.2019 19:59

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


              1. akledirs
                20.06.2019 12:22

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


          1. KestL
            17.06.2019 11:39

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


            1. gecube
              17.06.2019 11:54

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

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


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

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


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

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


              1. KestL
                17.06.2019 12:17

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

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


                1. gecube
                  17.06.2019 12:53

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


                  1. nuclight
                    17.06.2019 12:58

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


                  1. KestL
                    17.06.2019 13:05

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


                    1. gecube
                      17.06.2019 14:32

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

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


                  1. daggert
                    17.06.2019 14:18
                    +1

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


              1. SlavikMIPT Автор
                17.06.2019 12:39

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


                1. gecube
                  17.06.2019 12:54
                  +1

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


          1. bodqhrohro
            18.06.2019 01:51

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


            1. gecube
              18.06.2019 08:29

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


              1. bodqhrohro
                18.06.2019 15:14

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

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


            1. vlivyur
              20.06.2019 15:14

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


          1. rkuvaldin
            18.06.2019 13:04

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

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


    1. MikalaiR
      17.06.2019 00:06
      +2

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


    1. prudnitskiy
      17.06.2019 16:03

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


  1. StriganovSergey
    16.06.2019 19:56
    +30

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


    1. SlavikMIPT Автор
      16.06.2019 20:00
      +4

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


      1. x67
        17.06.2019 00:35
        +12

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


        1. ZverArt
          17.06.2019 09:26
          -1

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


          1. rkuvaldin
            18.06.2019 13:06
            +1

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


            1. saboteur_kiev
              18.06.2019 16:50

              Из кармана Павла Дурова.


          1. tendium
            18.06.2019 19:59

            Это инсайд?


            1. saboteur_kiev
              18.06.2019 22:41

              vc.ru/flood/8598-durov-on-money
              www.finanz.ru/novosti/aktsii/durov-otkazalsya-prodavat-telegram-dazhe-za-$20-mlrd-1011067630
              www.bloomberg.com/news/articles/2017-12-12/cryptic-russian-crusader-says-his-5-billion-app-can-t-be-bought

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


              1. tendium
                19.06.2019 08:26
                -1

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


        1. ARad
          17.06.2019 10:57

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


          1. rkuvaldin
            18.06.2019 13:09

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


            1. saboteur_kiev
              18.06.2019 16:50

              А причем тут запуск?
              Инвестиции то УЖЕ получены.


              1. rkuvaldin
                18.06.2019 17:03

                1. От кого получены?
                2. Кем получены?


                1. saboteur_kiev
                  18.06.2019 22:35

                  www.forbes.ru/tehnologii/359395-sobrat-17-mlrd-kak-telegram-provel-vtoroy-etap-ico

                  Это же общеизвестная информация, неужели для вас это новость?


            1. ARad
              18.06.2019 19:18

              1. rkuvaldin
                18.06.2019 21:12

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


                1. ARad
                  18.06.2019 21:57

                  Исходные коды и документация на легкий клиент для тестовой сети Telegram Open Network.


                  1. rkuvaldin
                    18.06.2019 23:37

                    Какое отношение это имеет к Дурову компании Telegram Messenger LLP?


                    1. 23rd
                      19.06.2019 10:59

                      Никакого, ведь Telegram Messenger LLP ликвидирована.


        1. Tyusha
          17.06.2019 14:15

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

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


          1. math_coder
            17.06.2019 20:55
            +2

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

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


            1. ZetaTetra
              18.06.2019 00:15

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


        1. BigD
          17.06.2019 14:40

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


          1. zystem
            17.06.2019 15:13

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


            1. prudnitskiy
              17.06.2019 16:13

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


              1. freeart
                17.06.2019 17:27

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


          1. DGN
            17.06.2019 20:01

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



      1. SuAlUr
        17.06.2019 03:19
        +6

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


        1. TerraV
          17.06.2019 11:32
          -5

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


          1. Zolg
            17.06.2019 13:15
            +1

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


            1. TerraV
              17.06.2019 14:30

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


        1. dvrpd
          17.06.2019 12:40
          +1

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


      1. crocodile2u
        17.06.2019 10:33
        +1

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


        1. kvaps
          17.06.2019 10:41
          +5

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


          1. prudnitskiy
            17.06.2019 16:14

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


        1. Sjam
          17.06.2019 10:50
          +6

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


          1. Dvlbug
            17.06.2019 17:21

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


            1. Kastrulya0001
              19.06.2019 09:45

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


        1. Samoglas
          17.06.2019 17:38

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

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

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


        1. 3aBulon
          19.06.2019 20:19

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


      1. nuclight
        17.06.2019 12:57

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


      1. korchoon
        17.06.2019 15:17

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


        1. Cenzo
          18.06.2019 04:58

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


    1. gmother
      17.06.2019 16:11

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


    1. ksr123
      17.06.2019 16:38

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


  1. sterr
    16.06.2019 20:05
    +3

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


    1. SlavikMIPT Автор
      16.06.2019 20:12
      +4

      Можно еще в ICMP github.com/yarrick/pingfs


    1. tmin10
      16.06.2019 20:21

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


    1. AtachiShadow
      16.06.2019 20:37
      +1

      ФС в Пингах и ДНС-хас уже придумали, только допилить до нужных масштабов)))
      www.opennet.ru/opennews/art.shtml?num=47895


    1. gatoazul
      16.06.2019 20:41

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


    1. developerxyz
      16.06.2019 22:22
      +3

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


    1. alecv
      17.06.2019 13:29

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


    1. FloorZ
      17.06.2019 14:58

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

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


    1. ValdikSS
      17.06.2019 17:27
      +1

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

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


  1. Ryav
    16.06.2019 20:26
    +2

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


    1. and7ey
      16.06.2019 20:33

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


    1. SlavikMIPT Автор
      16.06.2019 20:37

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


    1. gbg
      17.06.2019 10:23

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


      1. Ryav
        17.06.2019 10:36

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


        1. Sjam
          17.06.2019 10:53

          Как вариант: EasySSHFS (Mount file systems via SSH) — f-droid.org/app/ru.nsu.bobrofon.easysshfs


          1. Ryav
            17.06.2019 12:25

            Ссылка битая, но нашёл в GPlay, спасибо.


            1. Sjam
              17.06.2019 13:14

              Да, вы правы, f-droid скосячил, верная ссылка android.izzysoft.de/repo/apk/ru.nsu.bobrofon.easysshfs


      1. Meklon
        18.06.2019 00:22

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


        1. gbg
          18.06.2019 00:38

          Можно попытаться выудить apk из телефона


        1. Gurturok
          18.06.2019 09:08
          +1

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


  1. sah4ez32
    16.06.2019 20:26
    +1

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


    1. nuclight
      17.06.2019 12:52

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


  1. achekalin
    16.06.2019 20:49

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



  1. obabichev
    16.06.2019 20:51
    +22

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


    1. SlavikMIPT Автор
      16.06.2019 20:52
      +1

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


      1. Iqorek
        16.06.2019 23:27
        -12

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

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


      1. mSnus
        17.06.2019 21:08
        +2

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


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


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


        1. SlavikMIPT Автор
          17.06.2019 21:18
          -2

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


          1. Newbilius
            17.06.2019 22:11
            +2

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


          1. guero53
            18.06.2019 16:21

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


            1. foxin
              19.06.2019 15:51

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


        1. lorc
          18.06.2019 20:40

          Трагедия общин как она есть.


  1. raid
    16.06.2019 20:59

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


    1. SlavikMIPT Автор
      16.06.2019 21:03

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


  1. Sabubu
    16.06.2019 21:03
    +44

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


    1. tendium
      16.06.2019 21:22
      +10

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

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

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


      1. corbon007
        17.06.2019 01:24

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


      1. achekalin
        17.06.2019 07:32
        +4

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


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


      1. RusMikle
        17.06.2019 12:13

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


        1. Ryav
          17.06.2019 12:29

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


          1. RusMikle
            17.06.2019 13:07

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


        1. Cenzo
          18.06.2019 21:54

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


      1. raamid
        18.06.2019 02:42

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



      1. rkuvaldin
        18.06.2019 13:42

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

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


    1. Nikobraz
      16.06.2019 22:26
      +8

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


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


  1. PastorGL
    17.06.2019 00:34
    +10

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

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

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


    1. SlavikMIPT Автор
      17.06.2019 00:36
      +1

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


      1. PastorGL
        17.06.2019 12:28
        +1

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

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

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


        1. DrunkBear
          17.06.2019 12:58

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


          1. Kalashmatik
            17.06.2019 13:28

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


            1. DrunkBear
              17.06.2019 13:49

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


            1. IvUs
              17.06.2019 21:53

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


      1. mihmig
        17.06.2019 12:30

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


        1. nuclight
          17.06.2019 12:47

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


        1. SlimShaggy
          17.06.2019 17:41

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


      1. ZetaTetra
        18.06.2019 00:32

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


  1. Ak-47
    17.06.2019 01:37
    -3

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


    1. SlavikMIPT Автор
      17.06.2019 01:44
      +4

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


      1. Ak-47
        17.06.2019 02:00
        -8

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


        1. SlavikMIPT Автор
          17.06.2019 02:06

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


    1. nuclight
      18.06.2019 16:28

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


      1. Ak-47
        18.06.2019 17:49

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

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

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


        1. nuclight
          18.06.2019 20:19

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

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


  1. vaslobas
    17.06.2019 03:38
    +4

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


    1. Ryav
      17.06.2019 09:07

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


  1. nanshakov
    17.06.2019 09:10
    -4

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


  1. achekalin
    17.06.2019 10:15
    +1

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

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


    1. sumanai
      17.06.2019 12:55

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

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


      1. achekalin
        17.06.2019 15:18

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


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

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

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


        1. ZetaTetra
          18.06.2019 00:37

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


          1. achekalin
            18.06.2019 01:18

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


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


      1. SlimShaggy
        17.06.2019 17:51

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


        1. rkuvaldin
          18.06.2019 14:35

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


          1. Samoglas
            18.06.2019 22:37

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

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


  1. YDR
    17.06.2019 10:30
    -1

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


  1. Sly_tom_cat
    17.06.2019 11:21
    -1

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

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

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


  1. nuclight
    17.06.2019 12:45
    -1

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

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


    1. SlavikMIPT Автор
      17.06.2019 12:59

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


    1. SlavikMIPT Автор
      17.06.2019 13:02

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


  1. Ununtrium
    17.06.2019 12:51
    +3

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

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


  1. vtc
    17.06.2019 13:34

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


  1. VioletGiraffe
    17.06.2019 14:04
    +2

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


    1. gecube
      17.06.2019 14:44

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

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


      1. VioletGiraffe
        17.06.2019 15:50

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


    1. numb
      17.06.2019 14:45

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


  1. impwx
    17.06.2019 14:06
    +2

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


    1. vtc
      17.06.2019 20:15
      +1

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

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

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


      1. impwx
        17.06.2019 22:47
        +2

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


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


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


        1. vtc
          18.06.2019 00:16

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

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


    1. nuclight
      18.06.2019 16:39
      +1

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

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

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


      1. impwx
        18.06.2019 17:01

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


        1. nuclight
          18.06.2019 20:15
          +1

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

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


          1. impwx
            18.06.2019 22:24

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

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


  1. limassolsk
    17.06.2019 15:26
    +1

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

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

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


    1. nuclight
      18.06.2019 16:43

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

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


      1. limassolsk
        18.06.2019 18:03

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


        1. nuclight
          18.06.2019 20:16

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


  1. eigrad
    17.06.2019 15:47
    +1

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


    1. SlavikMIPT Автор
      17.06.2019 15:52

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


  1. Gurturok
    17.06.2019 15:47
    +3

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

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


    1. vtc
      17.06.2019 20:23

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


  1. 25080205
    17.06.2019 18:03

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


  1. Samoglas
    17.06.2019 18:40
    -1

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


    1. Wesha
      17.06.2019 18:45

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

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


      1. Samoglas
        18.06.2019 08:03
        -1

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


  1. Schalker
    17.06.2019 19:52
    -1

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


  1. riky
    17.06.2019 21:25

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


  1. mrpsycho
    17.06.2019 23:24

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


  1. s256
    18.06.2019 01:17
    +1

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


  1. aspcartman
    18.06.2019 14:55

    Автор молодец: ) Я тут сделал что-то похожее, но без телеграмма. Я сам заинтересовался историей создания удобного удаленного хранилища. Однако от 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