категории | RSS

Разработчик реализовал файловую систему, которая хранит данные в событиях Google Calendar

Энтузиаст Лукас Великов опубликовал проект WhenFS, который реализует файловую систему на событиях Google Calendar. Файлы и папки разбиваются на кусочки данных, которые хранятся в описаниях событий. WhenFS не имеет практической ценности и был написан исключительно в образовательных целях.

Размер ящиков электронной почты не всегда был огромным. 1 апреля 2004 года Google запустила почтовый сервис Gmail, который поражал воображение объёмом бесплатного хранилища для каждого пользователя. Новостные издания того времени упоминали, что компания даёт в сотню с лишним раз больше места, чем на бесплатных тарифах конкурентов. При этом речь шла о всего 1000 мегабайтах на письма.

Через год этот объём удвоился до 2 ГБ. Размер ящиков не остановил рост: в октябре 2007 года он удвоился ещё раз до 4 ГБ, затем его увеличили до 7,5, а в 2012 — до 10 ГБ. Что наиболее важно, ещё 1 апреля 2005 года Google заявила, что место в ящике будет увеличиваться бесконечно.

На момент запуска Gmail облачных хранилищ не существовало. Стартап Dropbox будет сформирован лишь в 2007 году. На относительно большой объём хранилища немедленно обратили внимание энтузиасты, которые предложили хранить в них обычные файлы.

Так, Ричард Джонс уже в августе 2004 года опубликовал версию 0.1 утилиты GmailFS, которая общалась с серверами Google с помощью библиотеки libgmail. Его идею развил Бьярке Виксё [Bjarke Viksoe], который не позднее октября 2004 года представил программу GMail Drive. Проект — расширение оболочки Windows для создания виртуальной файловой системы, которая хранит файлы в аккаунте Gmail.Viksoe.dk

Программа Виксё добавляла в «Мой компьютер» новый диск, в котором возможно делать роавно то же, что и в обычном накопителе: создавать папки, копировать и удалять файлы. Сами файлы при этом хранились в папке «Входящие». Когда пользователь создавал новый файл, в ящике Gmail заводилось новое письмо с пометкой GMAILFS, к которому файл прикладывался в виде вложения. С помощью встроенной в Gmail функции поиска программа GMail Drive периодически проверяла содержимое ящика, чтобы обновить структуру директорий. При желании пользователь программы мог подключать сразу несколько компьютеров к одному аккануту Gmail, чем обеспечивал синхронизацию облачной флэшки между несколькими машинами.

GMail Drive накладывала много ограничений (длина имени файла до 65 символов, не больше 25 МБ на файл) и снабжалась предупреждениями, что это экспериментальный инструмент. Со временем программа потеряла функциональность и перестала работать. После изменений страницы логина в Gmail 2015 года утилита GMail Drive больше не функционирует и не поддерживается.

Дух необычных проектов не угас. Разработчик Лукас Великов уже отметился несколькими необычными проектами, созданными в рамках хакатонов. На этот раз энтузиаст выложил выложил в личном аккаунте GitHub репозиторий WhenFS. Эта программа предлагает преобразовать Google Calendar в полноценную файловую систему.

Как и GMail Drive, WhenFS работает через интерфейсы FUSE, которая затем направляет нужные вызовы библиотекам для общения с веб-сервисом.Схема работы WhenFS. Файл из описания проекта

В WhenFS хранение данных реализовано не самым простым образом. Каждый файл представляется в виде нескольких событий в календаре. К примеру, небольшая картинка разбивается на сотни описаний событий. Манипуляциями календаря сохраняются все данные файловой системы — файлы, директории, чтения, записи и всё остальное.Небольшое изображение, которое было закодировано. Файл из описания проектаПредставление того же файла, но в виде событий в Google Calendar. Файл из описания проекта

Скорость работы WhenFS серьёзно ограничивает полезность программы. Как признаёт сам Лукас, файл на 3 КиБ получается сохранить за 7 секунд, то есть по 400 байтов в секунду.Демонстрация скорости выгрузки. Файл из описания проекта

На этом запал не угас. В Google Calendar календари возможно расшарить по ссылке в режиме для чтения. Поэтому если в WhenFS указать идентификатор календаря и идентификатор события восстановления файловой системы, программа сумеет смонтировать чужую файловую систему.Демонстрация работы с чужим календарём. Файл из описания проекта

Необходимость в изощрённых методах синхронизации файлов через Интернет ушла в далёкое прошлое. Сегодня большинство облачных хранилищ предлагает 5 или больше гигабайтов хранилища с синхронизацией и без странных ограничений или опасности потерять файлы.

Великов пишет, что WhenFS он создал исключительно ради изучения Rust, знакомства с файловыми системами FUSE и забавы, а не какой-то практической нужды. Баги автор исправлять отказывается. В описании проекта нет даже руководства, как пользоваться инструментом. Вместо этого Лукас призывает не злоупотреблять бесплатными сервисами.

Исходные коды программы WhenFS опубликованы под лицензией MIT.

github.com/lvkv/whenfs



Источник новости: habr.com

DimonVideo
2024-08-19T08:50:03Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика