Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в 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)
UncleAndy
16.06.2019 19:50А мне вот что интересно… Если системы публикации контента на основе блокчейна (типа golos.io). У них проблема в том, что сохранять текстовый (html) контент на них нет никаких проблем, а вот бинарники (картинки, видео и т.д.) — проблема есть. В текст обычно вставляются обычные линки на какие-нибудь ресурсы, которые с течением времени становятся неактуальными и в тексте получаются пропуски. Возможно-ли Телеграмм использовать в качестве долговременного хранилища таких файлов?
SlavikMIPT Автор
16.06.2019 19:53-2ну личные файлы телеграм обещает хранить вечно, пока что не было проблем с этим — ботами уже около петабайта загружено различных видео/аудио и закэшировано в базу — все на месте, удаляются только файлы на которые нет ссылок сборщиком мусора. Думал даже перекачать из вк в телеграм всю музыку(порядка 5 петабайт), но не нашел мотивации это делать просто так, технически — по расчетам это можно сделать примерно за месяц при канале в 17Гбит/с
Wesha
17.06.2019 06:18+4пока что не было проблем с этим
Ключевое слово.
Как говорится, "в интернете есть всё. Вот только не всегда."
gecube
17.06.2019 09:29+1Поддержу, что пока.
Есть нюансы.
Первый — если хранить данные в истории с кем-либо, то он может эту историю править задним числом (т.е. удалять файлы)
Второй — я лично в телеграмме истории более полугода не видел. И гарантий того, что она там будет — то же.
Третий — есть способы выковырять чужую учетную запись (ну, например, долго не платил за телефон, симка ушла другому человеку и он активировал телеграм по новой на этот же номер) — получит ли злоумышленник доступ к данным или просто сможет их удалить? Получается, до публикации данных — их нужно еще и шифровать.ukod
17.06.2019 11:33Шифровать нужно в любом случае, а насчет симок — всегда включайте двухфакторную, там пароль свой добавляется, плюс еще защита от sms-шлюзов
pharrell
17.06.2019 19:59Простите, а чего такого могут сделать SMS-шлюзы, что от них двухфакторной защищаться надо?
akledirs
20.06.2019 12:22Очевидно же, если для доступа достаточно телефона и «забытого пароля», то SMS-шлюз тот самый «человек посередине», который может получить доступ к любому аккаунту, зная кому идет код и какой он. Вопрос лишь в добросовестности шлюза. И это не считая того, что GSM в принципе уязвимая система, а эксплуатация уязвимости не так уж дорого стоит.
KestL
17.06.2019 11:391) это если речь про личные сообщения, но можно, например, создать приватный чат и удалить этого человека из чата
2) какой именно истории? в моем «Избранном» первое сообщение от 6 августа 2016 года
3) нужно включить двухэтапную аутентификацию, тогда только обладания симкой будет недостаточно, нужно будет знать еще и парольgecube
17.06.2019 11:54это если речь про личные сообщения, но можно, например, создать приватный чат и удалить этого человека из чата
я говорю про обычные чаты.
2) какой именно истории? в моем «Избранном» первое сообщение от 6 августа 2016 года
очень рад за Вас. И как — удобно по ней искать, если хэштеги не расставлять?
3) нужно включить двухэтапную аутентификацию, тогда только обладания симкой будет недостаточно, нужно будет знать еще и пароль
и да, и нет. Я же говорю — при обладании симкой в ЛЮБОМ случае можно будет стереть учетную запись со всеми файлами. И нужно на такой сценарий расчитывать.
KestL
17.06.2019 12:17я говорю про обычные чаты.
ну ок. Но было бы странно хранить личные файлы в обычном чате
очень рад за Вас. И как — удобно по ней искать, если хэштеги не расставлять?
не очень понял, при чем здесь удобство поиска? Вы написали, что не видели истории больше полугода, я написал, что у меня есть сообщения почти 3-летней давности. Как поиск с этим связан вообще?gecube
17.06.2019 12:53Я правда очень рад, что у Вас история за 3 года. Но давайте вопрос повернем в плоскость — а ею вообще удобно пользоваться? Я достаточно активный пользователь телеграм и у меня подгрузка истории даже месячной давности вызывает фризы. Что-то найти еще ранее — просто нереально. А история ради истории не особо и нужна.
nuclight
17.06.2019 12:58Там есть такая кнопка — «календарь», похожа на автомобильную аккумуляторную батарею. Попробуйте, с ней на нужную дату грузится быстро :)
KestL
17.06.2019 13:05Я достаточно много сообщений туда сохраняю из разных каналов, потому простой прокруткой разве что совсем недавнее ищу. А так — поиском пользуюсь, в том числе иногда по хэштегам.
Сейчас специально промотал на пару месяцев назад — фризов не наблюдаю, это в Telegram Desktop под убунтой. Думаю, фризы — это чисто проблема клиента, не пробовали поискать альтернативный под вашу платформу?gecube
17.06.2019 14:32Думаю, фризы — это чисто проблема клиента, не пробовали поискать альтернативный под вашу платформу?
Это на любом — что на мобиле (андроид), что на ноутбуке (opensuse). Возможно, что это как-то связано с тем, что он пытается синхронизировать кусочки и медиа, которых у него (у клиента) сейчас нет в кэше. Для себя я сделал вывод — что на глубину месяц — еще норм, для важных вещей — надо ставить хеш-теги (у него как будто индекс по ним).
daggert
17.06.2019 14:18+1Регулярно ищу через поиск в истории чата сообщения давние как походы Аттилы, находится мгновенно.
SlavikMIPT Автор
17.06.2019 12:39при обладании симкой защищенной PIN кодом — не получится, я об этом у себя в канале не так давно писал — зря люди беспечно относятся к этому вопросу
gecube
17.06.2019 12:54+1PIN-код не спасет, если оператор забрал номер назад (за отсутствие пополнения баланса — имеют право) и потом выдал его новому человеку.
bodqhrohro
18.06.2019 01:51я лично в телеграмме истории более полугода не видел
В супергруппах миллион последних сообщений хранится.gecube
18.06.2019 08:29Спасибо за уточнение. А вот интересно — миллион — это много или мало? И какой период времени это покрывает.
bodqhrohro
18.06.2019 15:14И какой период времени это покрывает
Очевидно — от активности зависит. Временем мерять бессмысленно.
В одной флудилке, где это ограничение проверено на практике, старые сообщения через примерно 2.5 года пропадать начали.
rkuvaldin
18.06.2019 13:04Второй — я лично в телеграмме истории более полугода не видел. И гарантий того, что она там будет — то же.
У меня рабочие чаты в телеграме, вплоть до 2016 года точно ищется, раньше — не смотрел.
StriganovSergey
16.06.2019 19:56+30Отличная работа.
Но дуаю, что Павел не одобрит. Прикроет эту лавочку и будет прав.
Но это не повод останавливаться. Можно расширять поддерживаемые сетевые сервисы и протоколы. да даже, можно сделать хранение файлов в почте POP3/SMTP/IMAP, например.
Даже когда-то слышал о подобном, но где и когда уже не вспомню.SlavikMIPT Автор
16.06.2019 20:00+4а почему не одобрит? ведь это по сути другой интерфейс(более удобный) для использования заявленной фичи. Думаю когда эта фича заявлялась и выкладывались исходники клиентов — в том числе рассматривался и такой вариант — они ведь не дураки. Я считаю что для них стоимость привлеченных пользователей выше чем место на диске. ВК тот же вообще не удалял никогда данные просто с точки зрения оптимизации — переиспользовать место сложнее чем докинуть винчестеров, а на удаленные файлы просто поставить флаг
x67
17.06.2019 00:35+12Потому что безлимитное облачное хранилище стоит дорого. А это по сути удобный интерфейс к нему, а значит такое хранилище будет доступно многим и будет генерить большие убытки. Вероятно, кто то и до вас делал нечто подобное, но никому не рассказывал) Скорее всего, если тг захотят двигаться в этом направлении, ограничат размер бесплатного хранилища и сделают свой тг клауд, в котором это вот все будет храниться — заодно способ монетизации тг (интересно, он сейчас как то монетизирован?). Дальше в этой гонке вооружений пользователи начнут хранить файлы в текстовых сообщениях, но и тут тг что нибудь придумает и прикроет лавочку)
ZverArt
17.06.2019 09:26-1Телеграм, на данный момент, никак не монетизирован.
rkuvaldin
18.06.2019 13:06+1Это означает, что всё железо, используемое мессенджером, оплачивается из чьего-то кармана. И пока там хранят десятки фоточек — сумма одна, а когда будут хранить десятки терабайт разбитых по сообщениям — счет будет совсем другим.
tendium
18.06.2019 19:59Это инсайд?
saboteur_kiev
18.06.2019 22:41vc.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
Слова Дурова. Он не планировал монетизировать сам телеграм, и оплачивает его со своего кармана. Но монетизировать что-либо вокруг телеграма — это он уже сделал своей криптовалютой.tendium
19.06.2019 08:26-1Ну, то, что Дуров говорит, что телеграм не монетизируется, еще не значит, что телеграм не монетизируется. Как минимум у телеграмма огромное количество данных. А данные сейчас дорогого стоят. И как используются эти данные, мы не знаем.
ARad
17.06.2019 10:57телеграм монетизирован будущим запуском своей криптовалюты.
rkuvaldin
18.06.2019 13:09Ни одного официального заявления о запуске криптовалюты от Дурова или ДЕЙСТВУЮЩЕЙ команды Telegram, насколько я знаю, не было. Все началось с сообщения уже уволенного сотрудника, на которые потом в интернетах накрутили какие-то мутные инсайды и откровенно высосанные из пальца новости.
saboteur_kiev
18.06.2019 16:50А причем тут запуск?
Инвестиции то УЖЕ получены.rkuvaldin
18.06.2019 17:031. От кого получены?
2. Кем получены?saboteur_kiev
18.06.2019 22:35www.forbes.ru/tehnologii/359395-sobrat-17-mlrd-kak-telegram-provel-vtoroy-etap-ico
Это же общеизвестная информация, неужели для вас это новость?
ARad
18.06.2019 19:18rkuvaldin
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 — это штука, в которую заявки могут оставлять практически кто угодно.
Наличие этой заявки не означает, что она была оставлена Павлом Дуровым.
Равно как и наличие этой заявки не означает, что она привела хоть к какому-то движению средств.ARad
18.06.2019 21:57Исходные коды и документация на легкий клиент для тестовой сети Telegram Open Network.
Tyusha
17.06.2019 14:15В любом случае, Телеграм вам ничего не должен, и может прикрыть эту лавочку в любой момент. Полагаться на такое «хранилище» никак нельзя, значит вам надо хранить (и синхронизировать) файлы где-то ещё.
Да, прикольно вы всё сделали, но я выбираю Dropbox. Не бесплатно — $100 в год — но зато я чувствую себя спокойно.math_coder
17.06.2019 20:55+2но зато я чувствую себя спокойно
Но ведь Dropbox вам тоже ничего не должен. Почему вы чувствуете себя спокойно?
BigD
17.06.2019 14:40Согласен. Был раньше такой сервис облачного хранения, не могу вспомнить названия, с интересной и честной идеологией. Ты получаешь «в облаке» (а на самом деле — на компьютерах других пользователей) столько же места, сколько выделил на своём для хранения файлов чужих пользователей. Выделил у себя терабайт, столько же получил в облаке, причем вся информация многократно дублировалась. Жалко, что он закрылся — я с удовольствием пользовался.
zystem
17.06.2019 15:13это был http://symform.com/
prudnitskiy
17.06.2019 16:13по похожей архитектуре работает криптовалюта Lisk
freeart
17.06.2019 17:27lisk не является хранилищем файлов, во всяком случае не был таковым, когда я его писал. dapp устанавливались из github, а хранилище — обычный чейн, но на sql базе
DGN
17.06.2019 20:01Это работает пока все хранят там скачанные с торрентов сериалы. Как только начнут шифровать — халява тут же и прикроется, ибо не откуда взяться многократному дублированию. Эффективно может работать разве что P2P схема «выложи терабайт, получи 50 гигов».
SuAlUr
17.06.2019 03:19+6Добавьте, пожалуйста, поддержку шифрования ФС и будет замечательно.
TerraV
17.06.2019 11:32-5В смысле вы согласны пользоваться шифрованием которое реализовано на коленке чуваком которы в этом ни разу не специалист? Я даже не знаю чего здесь больше — отваги или чего еще.
Zolg
17.06.2019 13:15+1шифрованием которое реализовано на коленке чуваком которы в этом ни разу не специалист
Уточните это вы про openssl, gnutls, или про libgcrypt?
TerraV
17.06.2019 14:30Их конечно же не надо уметь готовить. Прям вот читаешь мануал, вставляешь сниппет и получаешь DARPA-certified military grade encryption.
dvrpd
17.06.2019 12:40+1Шифрование можно сделать в виде какого-нибудь encFS поверх примонтированной папки.
crocodile2u
17.06.2019 10:33+1Имеет право на жизнь. Пользоваться кто-то будет, но чтобы прям заабузили целый телеграм — как-то не верится. Mail.RU в свое время выдавал по 1TB в облаке всем желающим пожизненно. Я думаю, если бы все, кто тогда воспользовался этим предложением, быстренько забили весь свой терабайт, мэйл оказался бы в затруднительном положении — но на деле ведь не так много людей хотят все подряд хранить в облаке и имеют гигантские архивы данных
Sjam
17.06.2019 10:50+6Поэтому mail.ru прикрыла почти сразу лавочку и жестко зарегламентировала работу с этим терабайтом…
Dvlbug
17.06.2019 17:21А можно поподробнее? Получил этот терабайт, но ничего не закачивал на него.
Kastrulya0001
19.06.2019 09:45Думаю, он про ограничение 2Гб на файл. Больше я не сталкивался ни с чем за все время.
Samoglas
17.06.2019 17:38Я думаю, если бы все, кто тогда воспользовался этим предложением, быстренько забили весь свой терабайт, мэйл оказался бы в затруднительном положении
Думаю, именно это им и нужно было — нагрузочное тестирование силами гиков с Хабра.
Mail.RU в свое время выдавал по 1TB в облаке всем желающим пожизненно.
Никогда ничего не бывает пожизненно и безлимитно.
Из семи 1Тб хранилищ четыре уже заморожены за неактивность (вы долго не заходили, ну мы же вам писали письма).
Спасибо им и за эти три, годное хранилище.
Облачный клиент (Disk-O) у них, может, даже и самый лучший из всех, какие мне попадались. Но нет никаких сомнений, что отберут и остальные. Это же MRG, вспоминается история с их WebDAV, который обещали-обещали, да так снова и не включили на бесплатных аккаунтах. С текущим клиентом по WebDAV я не скучаю, глюков не замечено.
И скорость они порезали, раньше было быстрее. Интересно, на платных аккаунтах скорость становится больше?
3aBulon
19.06.2019 20:19китайский гигант 360 давал 36 терабайт на старте плюс каждый день добавлял. и где они сейчас?
nuclight
17.06.2019 12:57Достаточно вспомнить, как они ввели новые правила ToS своего API в 2017 — на странице прям указали ограничения, что нельзя использовать фичи (типа режима невидимости), которые появились в альтернативных клиентах. На самом деле, судя по состоянию документации на API на официальном сайте, которая остановилась на версии layer 23 (примерно 2014 год) — опенсорс у них только для пиара, и в основном использовался в начале, чтобы взлететь. А сейчас сказать спасибо, что они хотя бы пока продолжают исходники на GitHub выкладывать — и то, это происходит с заметной задержкой (для мобильных версий).
korchoon
17.06.2019 15:17Примерно потому же, почему Dropbox закрыл проект в ссылке ниже — использование ресурсов не по назначению может принести им ощутимые убытки:
habr.com/ru/post/118146Cenzo
18.06.2019 04:58Каким образом дедупликация у себя файла по хэшу может использовать ресурсы Dropbox? Они как раз при это совсем ничего не теряют. Dropbox похоже обиделся на вскрытие проприетарного протокола, который по хэшам кусков файла сначала проверял есть ли этот файл уже в их хранилище, и естественно, так как файл уже был, копировал ссылку на этот же файл тому пользователю который имитировал заливку через хэши блоков.
ksr123
17.06.2019 16:38Хранение в почте было на одном музыкальном форуме… Там человек программу разработал для этого. Если кто вспомнит адрес — буду рад.
sterr
16.06.2019 20:05+3А давайте объявим тренд года — написать ФС под совсем уж нестандартные сервисы. Ну вот как предложили типа в почте, а еще можно назло всем врагам хранить в DNS записях. Или например в JPEG файлах на каком-нибудь фотохостинге. Еще можно хранить файлы в каких нибудь форумах. Да здравствует облако везде где можно!
tmin10
16.06.2019 20:21В твитах можно картинками с цветными пикселами. Начинал одно время такое писать, но дальше структуры файловой системы (взятой из FAT, как основа) дело не пошло.
AtachiShadow
16.06.2019 20:37+1ФС в Пингах и ДНС-хас уже придумали, только допилить до нужных масштабов)))
www.opennet.ru/opennews/art.shtml?num=47895
alecv
17.06.2019 13:29Вы будете смеяться, но в одной большой компании идет непрерывная война с юзерами, хранящими десятки гиг «полезных данный» в папках корпоративного Outlook.
FloorZ
17.06.2019 14:58А теперь представьте будущее. У нас есть сотня облачных хосингов картинок, месседжеров, инстаграммов, соцсетей.
И есть облачная программа, которая в сотни разных сервисов, под разным видом шифрует блоки файлов, данных или что-то еще. А возможно все эти программы обьеденяют свои каналы в единый пул и получаем еще один псевдо-интернет, прячущийся в виде трафика популярных сервисов?)
Вдруг скайнет уже таким образом прячется в интернете и мы не в курсе просто?)
ValdikSS
17.06.2019 17:27+1Файлобмен через email раньше, годах в 2000-2006, был очень популярен. Из сравнительно свежих программ есть Ygoow, позволяющая массово регистрировать почтовые ящики, загружать в них части файлов и генерировать ссылку, содержащую логин/пароль от ящиков и всю информацию, необходимую для скачивания.
Можно ещё резервные копии в Usenet хранить. Покупаешь доступ за $10 в месяц, загружаешь файлы, через 3 года покупаешь ещё раз, скачиваешь.
Ryav
16.06.2019 20:26+2В Saved Messages бардак, я так понимаю? :)
Раз уж мы тут заговорили про такие штуки, никто не знает, как можно смонтировать сетевой диск (будь то sftp или gdrive, или тот же tgcloud) в Android?and7ey
16.06.2019 20:33А если удалять сообщение из Saved Messages, то файл тоже удаляется? Или по file_id он продолжает быть доступным вечно?
gbg
17.06.2019 10:23ES Проводник такое может
Ryav
17.06.2019 10:36Мне нужно замонтировать сетевой диск, чтобы все приложения видели, а не только проводник с соединением sftp.
Sjam
17.06.2019 10:53Как вариант: EasySSHFS (Mount file systems via SSH) — f-droid.org/app/ru.nsu.bobrofon.easysshfs
Ryav
17.06.2019 12:25Ссылка битая, но нашёл в GPlay, спасибо.
Sjam
17.06.2019 13:14Да, вы правы, f-droid скосячил, верная ссылка android.izzysoft.de/repo/apk/ru.nsu.bobrofon.easysshfs
Meklon
18.06.2019 00:22Они удалились из маркета( Блин, как теперь жить-то. На телефонах всех много лет Pro версия стоит, но теперь нереально накатить на новый уже. Где искать дистрибутив?
Gurturok
18.06.2019 09:08+1>Они удалились из маркета
Какой кошмар. Маркет — помойка. Причем модерируемая… но всеравно помойка. Парадокс. Ищи на 4pda.
sah4ez32
16.06.2019 20:26+1Мощно! Идея не приходила в голову, но в свое время очень сильно удивился про ограничение для клиента в 1.5 гб на файл. Писал клиента telegram для backup'ов, который синхронизировал файлы из определенной директории в заданный чат.
Надеюсь что ваш проект получит дальнейшее развитие!
PS
Для помощи оформили бы issues для людей "не в теме" как помочь проекту.nuclight
17.06.2019 12:52Ограничение там проистекает из довольно смешных цифр. Upload файла производится частями (parts), число которых ограничено в 3000. При этом размер части должен быть кратен 1 Кб и делителем 512 Кб, кои и являются максимальным размером. Пока идет загрузка, основной метод (что это будет — документ, картинка, имя, пр.) не вызывается, и части живут «как повезёт» во временном состоянии, от нескольких минут до нескольких часов (т.е. загрузка может и обломаться). Вероятно, произвольная цифра 3000 выбрана из соображений временной жизни в этом промежуточном хранилище.
obabichev
16.06.2019 20:51+22«Отче! отпусти им, не ведают, что творят...»©
Я понимаю, что это выглядит классной идеей, но вы никогда не задумывались, почему всякие гуглодрайвы и дропобоксы стоят денег?
Если эта штука станет хоть сколько-то популярной, то либо ее прикроют, либо введут лимиты на объем хранимых данных, либо заставят оплачивать хранилища… Жалко труды будет…SlavikMIPT Автор
16.06.2019 20:52+1иногда просто интересно посмотреть что получится, пользуюсь принципом «Разрешено все, что не запрещено законом», в конце концов — Павла никто за язык не тянул, сомневаться в его компетенции не приходится, раз предоставил такую возможность — значит риски просчитаны, если не просчитаны — я не против благодарности за найденную дыру(хотя я искренне уверен что это это предусмотренная фича)
Iqorek
16.06.2019 23:27-12«Разрешено все, что не запрещено законом»
Для таких как вы, потом приходится сочинять драконовские законы и запрещать все, кроме того что разрешено.
Я к тому, что злоупотреблять не стоит, бесплатных обедов не существует. Их все равно кто то оплачивает, если не вы, то кто то другой.
Тем не менее, спасибо за полезную информацию, например о FUSE.
mSnus
17.06.2019 21:08+2Напоминает ситуацию, когда человек начинает бесплатно раздавать хлеб тем, кому это надо, а потом обнаруживает, что это используют для бесплатной доставки хлеба в офисы напротив. Не, ну а что, бесплатно же раздаёт? Вот мы бесплатно и едим, всем офисом.
Сделали вам хороший сервис обмена сообщениями, с возможностью хранить какие-то свои файлы и заметки, передавать их легко между своими устройствами. Бесплатно!
Нет, надо туда присосаться и сделать так, чтоб Дуров ещё поломал голову, как с этим бороться. Вообще не центре то, что вам досталось бесплатно, да? Очень частая проблема..
SlavikMIPT Автор
17.06.2019 21:18-2Да — не ценю, вы всерьез думаете что делается в современном мире что то бесплатно? Павел чтоли волшебник в голубом вертолете? Это проект в который он инвестирует и рассчитывает эти инвестиции отбить и приумножить. Я не перестаю удивляться наивности и ограниченности некоторых людей.
В очередной раз приведу пример с PayPal — на старте там за регистрацию и приведенного друга давали деньги на счет — и тому кто привел и приведенному, точно не помню, но вроде порядка 20-40 баксов что то. Первое время — да, это было в минус, но когда набралась критическая масса пользователей — рост капитализации перекрыл эти все инвестиции и PayPal был продан за сотни нефти(на часть из которых Маск теперь кстати делает «бесплатный интернет» и «бесплатные зарядные станции»). Гугл тоже кстати БЕСПЛАТНО поиск вам предоставляет и кучу сервисов.
Сейчас Telegram инвестирует в пользовательскую базу — им нужно предложить что то НАМНОГО лучше чем у других чтобы эту базу набрать и отбиться за счет капитализации — так что для них практически все выгодно что увеличивает пользовательскую базу — это западная модель стартапа — зарабатывать не на прибыли, а на росте капитализации, российскому менталитету это тяжело понятьguero53
18.06.2019 16:21Так и вижу как гугл делает платный поиск.
Бесплатный он чтобы информацию собирать и продавать нам по другим каналам.
Согласен с mSnus. Вроде уже 2019 год на дворе, все стоит не так дорого, но обязательно нужно обмануть систему и получить что-то нахалявуfoxin
19.06.2019 15:51вы немного уже опоздали — за поиск де-факто гугл получает деньги: вам показывается реклама, иногда она релевантна и вы на неё кликаете, покупаете товар/услугу, в стоимость которой заложена реклама в гугле. опосредованно, но вы платите за поиск.
raid
16.06.2019 20:59Интересно. А метаданные тоже отгружаются в Saved Messages или, чтобы воспользоваться файловой системой на другом компьютере, придётся перетаскивать их на флешке?
SlavikMIPT Автор
16.06.2019 21:03пока что это все на VDS хранится, чтобы воспользоваться файловой системой с любого устройства — нужно либо открыть браузер, либо через stfp клиент подключиться, это прототип всего лишь
Sabubu
16.06.2019 21:03+44Это плохая и вредная идея, так как Телеграм это не бесплатный файлообменник. Пока этим пользуется 1-2 человека, никто конечно не обратит внимания, но если использование станет массовым, то Телеграм просто заблокирует доступ и вы будете по одному файлу на медленной скорости выкачивать свои бекапы. Заодно и для обычных пользователей передача файлов может стать медленнее.
tendium
16.06.2019 21:22+10Помню, был такой сервис — Amazon Cloud Drive (его наследник сейчас называется Amazon Drive). Там был тоже безлимитный объем. Типа. Было апи. Сначала без объявления войны перестали выдавать доступ к публичному АПИ. Потом прикрыли доступ к АПИ из существующих популярных программ. Затем сломали и уже выданные апи-ключи, которые использовались для других программ (например, самописных). А потом урезали место и подняли цены. А люди туда успели петабайты стримов записать. Скачать было уже нереально.
У меня там был архив фоток, который через веб-интерфейс было нереально выкачать (а софт у них был жутко кривой). У меня был плагин для фара, который позволял пользоваться облачным диском амазона, как ФТП. Но из-за заблокированного ключа он перестал работать. Пришлось дебагать веб-морду и брать временный токен оттуда. Только так я смог всё выкачать.
Плагин я с тех пор переписал под другой хостинг (где мне якобы пожизненно 2ТБ дали), но произошедшее с ACD ясно дало понять, что даже за деньги безлимитного пространства не бывает. Увы. Так что интересно даже, если проект взлетит, то как долго Телеграм это будет терпеть.corbon007
17.06.2019 01:24Поэтому никогда не использовал вк, телегу или другие сети/мессенджеры для хранения данных. Максимум для мусора, который не жалко потерять. Фотки, а тем более бекапы на крайняк — облачное хранилище, а так все на домашнем NAS храню.
achekalin
17.06.2019 07:32+4Вот именно это и подобное для меня лучший аргумент не платить за бекап в облако. Пока BackBlaze только держится (неизвестно, конечно, сколько протянут, но они очень молодцы, только про API так никогда не слышал, только их клиент), а облака меняют условия, по мелочи, но достаточно, чтобы понимать, что не уследишь — и лишишься однажды нажитого непосильным трудом.
Свои диск — это всегда свой диск смайлик, а облако — просто способ что-то кому-то продать, желательно без гарантий.
RusMikle
17.06.2019 12:13да, я тоже помучался пока всё назад вытянул. Теперь просто докупаю диски в свой synology. Получается и проще и дешевле, но не безопаснее с точки зрения пожара итп.
Ryav
17.06.2019 12:29Вот для дополнительного (но не основного) бэкапа облака очень даже хорошо подходят.
RusMikle
17.06.2019 13:07ну так я туда с synology и бэкапил. И не дёшево вроде было, все равно убили. Будем ждать прорыва в средствах хранения информации. Раньше была надежда на технологии голографии, но что то не срослось походу.
Cenzo
18.06.2019 21:54Ищете товарища, которому тоже нужны распределённые бэкапы. Друг на друга раздаёте шифрованные версии бэкапов (encfs на лету) через syncthing. Если ваш диск сопрут, забираете копии у товарища. Работает в фоне и прозрачно, жаль только нет встроенного шифрования на лету в самом syncthing чтобы бэкапить например сразу с Андроида.
raamid
18.06.2019 02:42Сидел, размышлял купить что-ли винт еще один для архивов и всякого разного или поискать варианты с облачным хранилищем. Спасибо за историю. Помогли определиться с выбором.
rkuvaldin
18.06.2019 13:42А люди туда успели петабайты стримов записать. Скачать было уже нереально.
Насколько я помню, из-за этих двух петабайтов порнухи — безлимитный Драйв в результате и отключили.
Nikobraz
16.06.2019 22:26+8Ведь всем известно, что лучший файлообменник это Skype.
А если серьезно, то поживём и увидим. Никто не запрещает использовать правило "3-2-1".
PastorGL
17.06.2019 00:34+10OneDrive — или на момент публичного запуска, SkyDrive — тоже был неограниченным по объёму, и это была одна из его основных рекламных фишек.
Но как только маленький процент пользователей начал заливать в облако HD-рипы на сотни терабайт, Майкрософт быстро прикрыл лавочку. Даже для одной из крупнейших корпораций жадность пользователей оказалось не по карману. В итоге имеем всего 5 гигов на аккаунт бесплатно.
Бэкэнд тележки вроде как в основном на AWS хостится, значит, оперативный сторидж у них S3. При больших объёмах он стоит весьма недёшево, а денег у Telegram LLC явно меньше, чем у Майкрософта. Лавочку прикроют, как только злоупотребление станет массовым.SlavikMIPT Автор
17.06.2019 00:36+1как вариант — резать скорость на серверной стороне, ограничивать количество потоков загрузки и т.д. — способов ограничить расход диска достаточно и без «прикрытия лавочки», но даже с порезанной скоростью — наличие дополнительного уровня абстракции над загруженными данными — это тупо удобно, когда можно систематизировать файлы не только в рамках чатов и каналов, а так как удобно пользователю — при этом наоборот — данных загружаться будет меньше за счет переиспользования блоков. Если в текущей системе мне нужно отредактировать текстовый документ загруженный — я его скачиваю, редактирую и загружаю заново, при этом 90% данных дублируют уже загруженные, при использовании же VFS — загружены заново будут только изменившиеся блоки.
То есть для обычных пользователей это в целом — благо, если этим кто то решит воспользоваться чтобы хостить порно — ну с ними как то пусть борются, это ведь философия Telegram — что «даже если этим будут пользоваться небольшое количество людей для плохих дел — это не значит что нужно это все запретить и т.д. и т.п.»PastorGL
17.06.2019 12:28+1Вы сейчас рассуждаете как честный пользователь, и со своей стороны правы.
Но с другой стороны вся картина видится несколько иначе (я знаю не понаслышке, потому как давно варюсь в энтерпрайзе). Кроме 95% честных юзеров есть 4% не очень честных, и 1% явно злонамеренных, которые могут испортить жизнь всех остальных жестоким абьюзом дыр в TOS. Пошаренный ресурс ведь конечный, и обслуживать misbehaving minority в ущерб честным юзерам никто не будет.
Средством ремедиации вероятнее всего будет введение лимита по сториджу на аккаунт и/или срока хранения загруженных файлов.DrunkBear
17.06.2019 12:58*задумчиво* самый простой способ
заблокприостановить телеграмм сейчас — поднять много быстрых каналов и лить в облако файлы из /dev/urandom.
Облака всё-таки не резиновые.Kalashmatik
17.06.2019 13:28Вы только роскомпозору не рассказывайте, тссс…
DrunkBear
17.06.2019 13:49В таких структурах обоснование служебной необходимости, согласование проекта, начало тендера на каналы и симки, выделение новой должности в штате ( опять-таки с согласованием) и начало использования займёт года полтора, к тому времени, эту багофичу уже закроют.
IvUs
17.06.2019 21:53Сын предложил шикарный способ реализации закона Яровой в свете открывшихся возможностей — провайдерам не закупать хранилища, а зеркалить трафик в телегу. :-)
mihmig
17.06.2019 12:30Если Вы отредактируете текстовый документ — изменятся все блоки, и перезаливать их придётся все. Ну, если конечно Вы удалите ровно столько символов в середине файла, сколько и добавите, то да сработает. Но в большинстве случаев — нет.
nuclight
17.06.2019 12:47Вовсе не факт, если это классический вордовский .doc например — там нечто вроде блоков.
ZetaTetra
18.06.2019 00:32Я предполагаю, что в качестве рубильника, телеграмм может перестать хранить файлы в облаке и начать их таскать с клиентов. Т.е. если клиента с таким файлом нет, то и файл потерян…
Да, многим будет неудобно, но зато место в облаке уцелеет.
Ak-47
17.06.2019 01:37-3open source — это не про черную эксплуатацию чужих решений… на мой личный взгляд — так нельзя… Хотя бы чисто этически…
SlavikMIPT Автор
17.06.2019 01:44+4Чисто этически — если что то технически можно сделать — это рано или поздно кто то сделает.
В техническом решении как таковом нет никакой этики — этика может быть в использовании этого решения — можно использовать решение для повышения удобства и эффективности, а можно чтобы хостить порно(и при этом разумеется ни с кем кодом не делиться).
Ровно та же логика применима и к вопросу использования Telegram террористами.
Оружие не убивает людей — люди убивают людей.Ak-47
17.06.2019 02:00-8то что можно сделать технически — никак не связано с этикой… А с этикой связано уважение к чужому труду… здесь оно отсутствует с изначальной идеи…
nuclight
18.06.2019 16:28Сервер Telegram не open source (и не будет), так что моральный аргумент в этом случае неприменим.
Ak-47
18.06.2019 17:49Была ночь, возможно я некорректно написал, что имел в виду.
Попробую пояснить.
Есть бесплатный мессенджер, у которого есть бесплатная возможность хранить пересылаемые файлы неограниченно (как по времени, так и по размеру). Для предоставления этой возможности они арендуют сервера, платят деньги… Это прекрасная и удобная фича, но к чему могут привести подобные решения (это мое личное мнение, вполне возможно кто-то считает иначе, не пытаюсь претендовать на истину) — так это то, что эту возможность ограничат, то есть и решение окажется по сути бесполезным, и другим пользователям, которые и не думали использовать его таким образом придется думать, куда пересохранять файлы… А все это (опять же как кажется, опять же исключительно мнение не претендующее на истину) ради того, чтобы съэкономить пару тысяч рублей в месяц, точнее даже не съэкономить в хорошем смысле, а чтобы за тебя заплатил кто-то другой…
Именно это я назвал эксплуатацией чужих решений, именно это я назвал этичностью…
Но опять же вероятно автор статьи и не вкладывал подобный смысл в свое решение, а изыскания исключительно в целях интереса.nuclight
18.06.2019 20:19Предлагаю про моральную сторону в этой ветке habr.com/ru/company/vds/blog/456290/?reply_to=20295868#comment_20296740
Что касается «куда пересохранять файлы» — так никто пользователям ничего не должен, и прецедентов, когда подобные сервисы вдруг закрывались, в этом веке уже имеется пачка.
nanshakov
17.06.2019 09:10-4Лучше бы вы просто оформили это как уязвимость с PoC. Телеграмм — хороший продукт, а вы сейчас сливая это в паблик подпортите ему жизнь. Кто то де додумается петрбайты отправлять. Нужно облако — купи сам себе диск.
achekalin
17.06.2019 10:15+1Предвижу вскоре вопли от тех, кто призван защищать: «в этом террористическом Телеграмме еще и запрещенные файлы хранятся!»
И доказать же не сложно: в зале суда загрузить в собственный Save Messages (а лучше в публичную группу) какой-нибудь Майн-камф (или просто фото плаката с цитатой из Конституции), и доказать, что файл можно скачивать много раз — и все, уже повод в очередной раз ополчиться!sumanai
17.06.2019 12:55какой-нибудь Майн-камф
Кстати, пытался найти, и не смог.achekalin
17.06.2019 15:18Кстати, пытался найти, и не смог.
А вы не из судейских, часом, будете? А если нет, то с какой целью вы разыскивалипоросенка Фунтикаподобную литературу, т.е. делали то, что люди, которым скрывать нечего, делать не станут? Надо еще логи вашей переписки посмотреть, может, вы еще и темой суицида интересовались? Вдруг там, в логе, прямо есть фраза «пойду убьюсь!» — и не надо рассказывать, что это вы после изучения последнего коммита от коллеги по работе написали в печали!
Замолчали? Как это «не получите логов»? Вот-вот, затем ключи и нужны, чтобы те, кому надо, могли приглядеть за теми, кто может пострадать по незнанию, за несознательными, которые, как дети, по несознанке себе могут нанести непоправимый вред!
P.S. А что у нас экспертами чуть не домохозяйки работают, так это правильно, они люди простые, лучше поймут, что книга или запись в переписке опасны — и без затей признают ее таковой, а не начнут рассуждать, что это, мол, была ирония, а не реальная попытка убить себя (да-да, этого права без санкции или приказа у гражданина нет)!ZetaTetra
18.06.2019 00:37Майн Кампф только ленивый ещё не прочитал.
А всех вынюхивателей "врагов народа" — к психиатру на диагностику.achekalin
18.06.2019 01:18Вот и написано же: значит, вы ведёте себя не так, как нормальный законопослушный гражданин будет себя вести!
Почитайте лучше что-нибудь мирное, душеспасительное. Напр., диссертацию господина Жарова.
SlimShaggy
17.06.2019 17:51Хм, гугл на первой же странице выдает ссылку на PDF. Или вы бумажный вариант искали?
YDR
17.06.2019 10:30-1найдется какой-нибудь злодей и начнет /dev/random закачивать. Неограниченного хранилища не бывает. Относитесь к технологиям ответственно, безответственных дурачков и так достаточно.
Начните с согласования с самим Павлом, пусть он и решит.
Sly_tom_cat
17.06.2019 11:21-1А мне вот странно желание залить свои данные куда-то хз куда куда никто не просил, не предлагал, пусть даже не запрещал (пока) да еще и в незашифрованном виде.
Ну есть же SyncThing — места столько, сколько у тебя есть, копий столько сколько тебе нужно.
Нет, само решение интересно и вполне оригинально. Из соображений сделать супер-пупер-вундер-вафлю — это действительно стоит ;). Но вот пользоваться этим для хранения своих реальных данных — как-то странно…
nuclight
17.06.2019 12:45-1Гм… ткнулся в указанные в посте чат и канал — они, похоже, не по этому проекту, а нечто непонятное или вовсе рекламное?
По самому проекту — мы тут свой клиент на Perl с нуля делаем, как раз к реализации файлов подобрались, в связи с чем вопрос: а почему 10 Мб? в Телетоне нет поддержки BigFilePart? С другой стороны, для файловой системы это очень большой блок, нужно если не 4 Кб, то хотя бы как в ZFS с дедупликацией параметры подбирают.SlavikMIPT Автор
17.06.2019 12:59мой личный канал и чат, если оперативная связь или новости мелкие интересны- они будут там, можно отдельный создать чат как наберется достаточно народу заинтересованного — пока что спасибо хоть за issues на гитхабе
SlavikMIPT Автор
17.06.2019 13:02потому что загрузчики на питоне — частый вызов скриптов тормозит загрузку с одной стороны, с другой — хочется все таки переиспользование блоков протестировать, в идеале — переписать загрузчики на си/go и сделать размер блока динамическим — в зависимости от типа файла
Ununtrium
17.06.2019 12:51+3Как PoC — интересно.
С этической точки зрения сомнительно. Не надо притворяться что вы не знаете, что хранение информации стоит денег.
Я-то думал любители халявы перевелись в 90-е. Выходит, нет.
vtc
17.06.2019 13:34Похоже это положит телеграм гораздо быстрее чем Роскомнадзор. Вы случаем там не работаете? ;)
VioletGiraffe
17.06.2019 14:04+2За идею и описанию плюс, за убийство хорошего сервиса для всех из-за жадности лично вас — жирный минус. Я, нпример, если нужно какой-то большой файл перекинуть через ТГ, потом удаляю его, когда больше не нужен.
gecube
17.06.2019 14:44Я, нпример, если нужно какой-то большой файл перекинуть через ТГ, потом удаляю его, когда больше не нужен.
Вы правда верите, что он оттуда удаляется? Он почти наверняка становится недоступным ТОЛЬКО ВАМ, а где-то в бекапах телеграма остается. Другой вопрос, кто к ним имеет доступ :-)
VioletGiraffe
17.06.2019 15:50Моё дело — пометить, что файл не нужен, чтобы сервер мог его удалить и освободить занимаемое им место. А если Павел хочет смотреть мои фотки или другой хлам — пусть смотрит, мне не жалко, мой комментарий никак не касался вопросов приватности и защищённости :) Мой пойнт в том, что нынешняя безлимитная передача файлов в ТГ очень удобна и иногда сильно выручает, но я боюсь, что лавочку скоро прикроют, потому как это явно очень дорогой сервис.
numb
17.06.2019 14:45Прочитав Ваш комментарий, открыл ТГ и поудалял ненужные большие файлы. Пусть не сильно но немного разгрузит сервера ТГ )))
impwx
17.06.2019 14:06+2Нецелевое использование ресурсов чужого сервиса в промышленных масштабах, прикрытое неправильно понятой идеологией — это очень некрасиво. Распространять приложение, которое позволит это легко делать любому желающему — еще хуже. А разместить это в блоге компании, которая живет за счет продажи хостинга — это просто вишенка на торте.
vtc
17.06.2019 20:15+1Ну вот как раз хостингу, который будет хостить телегаму дополнительные резервы места — им
как раз это может быть и выгодно…
Нецелевое использование ресурсов чужого сервиса в промышленных масштабах
Сам Дуров говорил — что не запрещено -то разрешено. Так что как раз даже с точки зрения Дурова — все правильно, пока это не будет прямо запрещено правилами использования телеграмма.impwx
17.06.2019 22:47+2И еще раз: вы и автор поста неправильно толкуете фразу "что не запрещено — то разрешено". Она касается только тех случаев, когда ваши действия не причиняют неудобства окружающим. Действия же автора статьи попадают в диапазон между мошенничеством и хамством, в зависимости от того, как посмотреть.
Если говорим о мошенничестве — под классическую формулировку "получение выгоды за счет злоупотребления доверием" они подходят идеально. Отсутствие правила или закона, запрещающего конкретно вот этот вид деятельности, от ответственности не освобождает.
Ну а хамство… За хамство вас действительно не должны посадить в тюрьму, но это не значит, что у вас есть такое право. Если вы будете так поступать, то определенным образом поменяете мнение окружающих о себе, а если так начнут поступать все — то жить в целом станет очень грустно.
vtc
18.06.2019 00:16И еще раз: вы и автор поста неправильно толкуете фразу «что не запрещено — то разрешено»
Он ее толкует с точки зрения закона и разьясение того же Дурова. А после того как он (дуров) положил на тот же роскомнадзор (с тем что решение идиотское — понятно, ну или сделанно, для рекламы, чтобы особо умные именно там собрались и за ними было удобно следить ;) ) — так вполне и совесть чиста… раз он может — то чего с ним так же нельзя? К тому же выкручивась он своей деятельностью подвел под удар кучу никакого отношения к нему не имевших сайтов и служб… Он наверняка знал, что так и будет. Так что о каком хамстве и мошейнечестве мы теперь говорим?
Тем более что купировать это дело он может в два счета — тупо поставив лимит на хранение. Например в 15 гиг как в гогле… Для обычного мессенджера — это за глаза…
Даже более — могу сказать что он и не пострадает особо, т.к. большинство туда сгрузит всякие видео, фото, книги, програмы — т.е. кучу одинаковых файлов, которые прекрасно вычислит дедупликатор и никакого катострафического роста замнимаего места на серверах эта вся деятельность и не вызовет.
nuclight
18.06.2019 16:39+1А с чего вы взяли, что:
- нецелевое (если предоставляют файлы аж до полутора гигабайт...)
- неправильно понятой?
Здесь с этической точки зрения вообще-то можно вытащить на белый свет то, что Дуров сам не следует принципам open source, пускает пыль в глаза и вообще плюет на многие просьбы пользователей? А может быть, тогда подобный ответ — это справедливо?..impwx
18.06.2019 17:01Ух ты, значит справедливо наказывать владельца сервиса в частности за то, что он при развитии проекта исполняет не все просьбы пользователей и выкладывает не все наработки в опенсорс? Это называется "суд Линча" и у цивилизованных людей очень не приветствуется.
nuclight
18.06.2019 20:15+1Не совсем так, справедливо наказывать владельца сервиса за лицемерие в его публичной позиции, показухе, расходящейся с реальными делами. В частности, Telegram подается как опенсорсный, но по факту скорее препятствует опенсорс-разработке. И наконец, «суд Линча» подразумевает взятие прав наказания в области юридической, реальных законов — здесь же противостояние сугубо в моральной плоскости. Всё честно.
И да, слова «прикрытое неправильно понятой идеологией» всё же не были раскрыты — во избежание недоразумений, озвучьте, какова эта идеология, как её неправильно поняли, и как надо было понимать.impwx
18.06.2019 22:24О неправильно понятой идеологии я писал во втором предложении предыдущего коммента.
справедливо наказывать владельца сервиса за лицемерие
Ясно-понятно. Вы считаете, что если некое лицо поступает плохо, то это дает вам право поступать эквивалентно по отношению к нему. Причем не просто выразить свое неодобрение, что еще можно было бы считать "противостоянием в сугубо моральной плоскости", а совершить конкретное злонамеренное действие — наказать! Сорян, в цивилизованном обществе это не работает.
limassolsk
17.06.2019 15:26+1Статья как минимум спорная. С одной стороны — интересная идея, но с другой — ничем неприкрытое недобросовестное использование сервиса (за что в некоторых странах при наличии ещё пары отягчающих моментов уже и посадить могут).
Выше уже писали про «моральную сторону», но у всех мораль — разная.
Автор, например, считает что нормально эксплуатировать бесплатный всеми любимый сервис для хранения петабайт данных, но при этом порно — это что-то плохое и c ним нужно бороться, в мире где порносайты — во всех топах посещаемости, даже в арабских странах.
Цитаты автора:ботами уже около петабайта загружено различных видео/аудио и закэшировано в базу — все на месте
Думал даже перекачать из вк в телеграм всю музыку(порядка 5 петабайт)
если этим кто то решит воспользоваться чтобы хостить порно — ну с ними как то пусть борются
Чисто этически — если что то технически можно сделать — это рано или поздно кто то сделает.
nuclight
18.06.2019 16:43habr.com/ru/company/vds/blog/456290/#comment_20295760
И добавлю к этому, что неоднократно наблюдал, как мне выпадали баннеры потом, по темам, которые я обсуждал ТОЛЬКО в телеге. К добросовестности самого сервиса есть и ряд других вопросов.limassolsk
18.06.2019 18:03Про моральную сторону я уже писал. У всех мораль — своя и часто весьма странная. А по поводу «грабить грабителей — это хорошо», не думаю что в суде это будет аргументом.
nuclight
18.06.2019 20:16Для суда — ничего не нарушено. Про моральную сторону предлагаю в этой ветке habr.com/ru/company/vds/blog/456290/?reply_to=20295868#comment_20296740
eigrad
17.06.2019 15:47+1- Товарищи работодатели, спасите телеграм^W^W переманите его к себе кто-нибудь, а то в текущем месте автор не знает чем заняться.
- Девушки — обратите внимание, свободный перспективный мальчик.
SlavikMIPT Автор
17.06.2019 15:521. Да, к слову — как раз готов к переманиванию
2. Это тоже не помешает
Gurturok
17.06.2019 15:47+3Помню лет 10 назад был такой проект gmailfs, который позволял использовать ящик gmail в качестве облачного хранилища, примерно по той-же логике. Только там ограничение на 7gb было. Но когда это дело стало популярным в google прошарили и прикрыли какое-то api, и халява кончилась.
Вот вы сейчас делаете тоже самое, найдутся умники которые решат проверить: «А сколько терабайт уместится в телегу?», Пашок конечно таких забанит, а для остальные введет ограничения и доп. проверки (например капчу) на загрузку файлов.vtc
17.06.2019 20:23Так а зачем оно уже? Есть офицальный гогле диск, который прекрасно шарит файлы в пределах 15 гиг, разрешенных гуглом — бесплатно или больше — уже на платной основе…
25080205
17.06.2019 18:03РосКомНадзор не справился — давайте завалим вражеский телеграм усилиями хабросообщенства!!! :-)
Samoglas
17.06.2019 18:40-1Что хуже с точки зрения этики — разводить братьев Дуровых на оплату облака, заливая гигабайты в Телегу или купить за $1 «безлимитный» «пожизненный» доступ на чей-то корпоративный Google Team Drive, который тоже может жить неопределенно долго?
Wesha
17.06.2019 18:45который тоже может жить неопределенно долго?
… а может и недолго. А может и не жить.
Samoglas
18.06.2019 08:03-1Вопрос был не праздный.
8 месяцев живет. $1 Окупился полностью :))
Легально купить это физлицу нельзя, скорость поднимается вплоть до лимита моего соединения, объем неограничен. Блин, лучшее облачное хранилище, как ни крути.
То, что Гугл — «корпорация зла», не помогает унять душевные муки. Ведь кроме выпиливания поддержки mht и отключения перехода назад по Backspace в Chrome, Гугл мне ничего плохого пока не сделал.
Вот так пользуюсь и мучаюсь.
Пойду опять чего-нибудь на GTD залью…
Schalker
17.06.2019 19:52-1Глупо и вредно. Свои данные надо хранить самому. Как свидетельство о рождении. Nextcloud Вам в помощь. А если руки чешутся, достаточно проектов Global Scale Out.
mrpsycho
17.06.2019 23:24было бы огненно еще такое иметь для чатов) чтобы файлы шарить удобно среди группы лиц.
s256
18.06.2019 01:17+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 и в неизвестном состоянии.
Перформанс
doti
Ого!
А можно раздачу файлов (торрент) сделать в телеграмме? ну где то в боте хранить хеши конечно: фильмы, музыка.
А затем скачивать с телеграмма именно с телеграмма.
А для фильмов онлайн просмотр с телеги, без скачивания :)
SlavikMIPT Автор
можно, в этом и суть — сделать интерфейс поддерживаемый всеми линуксами, а дальше — примонтировав эту файловую систему использовать как угодно) по доработкам — нужно увеличить скорость — по хорошему переписать все на go какой нибудь и заменить sqlite на что то вроде redis, добавить в базу данных помимо хеша message_id и chat_id сообщения с файлом для мгновенного доступа, реализовать разрешение коллизий, доработать буферизацию и т.д.
изначально был порыв переписать Telegram Desktop добавив в него собственно менеджер файлов, чтобы можно было drag'n'dropом в чаты скидывать например файлы, которые УЖЕ загружены, просто их сложно найти и систематизировать. Но в итоге — за год удалось потратить на прототип в сумме дней 6, так что решил выложить что есть — надеюсь что подхватит комьюнити и что то из этого годное таки выйдет
Dmitri-D
а почему sqlite, а не, скажем, lmdb или lelveldb? Там же достаточно key-value.
redis я не уверен что уместен — это вроде как не persistent.
SlavikMIPT Автор
потому что нашел уже написанный проект FS на основе sqlite где нужно было только методы загрузки поменять, с нуля писать файловую систему к сожалению не располагаю временем свободным
sim2q
да он стабильно хорошо себя уже долгое время чувствует на PC и под Win в частности, почему нет?
Kirhgoff
У меня в туду именно такая задача и лежит — распределенная файловая система на основе уже существующих торрентов. Типа все описано в обычном YAML файле — сначала используемые торренты, а потом какие файлы из них по каким путям лежат. Сломался на том, что сходу не нашел удачной торрент библиотеки, которая умеет частичную закачку делать. Хотел так свою подборку музыки хранить.
sim2q
Там ещё файлы будут перехлёстываться к сожалению началом/хвостами с соседями если в блок не попали ровно (практически всегда)
Kirhgoff
Да. Но поскольку нормальные трекеры типа utorrent умеют файлы скачивать из большого торрента, задача решаемая. Просто левой ногой за выходные не запилить. Все еще надеюсь сделать очередной подход, в этот раз с Rust и FFI libtorrent.
Nikobraz
qbittorrent умеет и опенсурсный
sumanai
Просто создаёт файлы рядом с расширением .dat со всеми этими кусками. В лучшем случае. В худшем другие клиенты создают разреженный файл и пишут эти части туда.
Недоработка протокола, увы.
Kirhgoff
Ну вообще когда скачиваю одну серию из сериала, рядом никакого мусора не появляется и файл нормального размера
Nikobraz
а скрытые файлы/папки смотрели? хотя может они и в TEMP лежат
maydjin
Syncthing т.е. изобретаете? Или BtSync?
sumanai
Тут думаю фича в том, что можно использовать существующих сидов.
Будет классно ещё, если можно будет указать несколько источников для одного файла. Отказоустойчивость на случай разбегания сидов.
ksr123
А где брать сидов?
LM358
На трекерах. Это как в плейлисте изменить ссылки с локальных файлов, на файлы из торрентов. Такая смесь плеера и торрент-клиента.
akledirs
Если нет принципиальной необходимости в torrent то IPFS вариант наверное проще будет. Уже даже был проектик тут по теме музыки на IPFS — Pathefone
Но это лучше с кем-то кооперироваться на совместное хранение, а то сплошной паразитизм получается с соответствующей проблемой — уйдут сиды и ваша коллекция «посыпется»
Kirhgoff
Идея-то давно лежит в туду, еще со времен зари торрентов. Про паразитизм не согласен — это же тогда и обычные торренты — паразитизм, тут разница только в том, как это у меня на диске выглядит, я же все те же альбомы храню, почти все файлы. Но проблема ухода сидов есть, я как-то про это не сообразил.
Интересно про IPFS, обязательно подробнее почитаю.
Kirhgoff
Очень круто про IFPS, спасибо за наводку. Нашел даже имплементацию на Rust
ANIDEANI
Хранила сериалы в телеграме, порядка 40 гб — мне удалили аккаунт без возможности восстановления.
Pongo
Можно подробнее причину удаления? Хранили только для себя или у вас был открытый канал с сериалами?
gaxys
Отличная идея, хранения файлов, и просмотра видеоконтента!