[#]
Безумных идей
spline(station13, 1) — All
2015-08-26 10:48:47
Сабж целый ворох мельтешат в моей голове в последние дни. И вот надумал я воспользоваться тем, что у нас для всяких извращений существует схема /x.
Почему бы не сделать некий аналог фидошных фреков (забор бинарных файлов с ноды) прямо в клиенте. Иметь список с кратким описаниеми и возможность просматривать его прямо в клиенте, а потом тыкнуть в нужное и немедленно скачать.
Как смотрите? Я просто в данный момент занят своей реализацией ноды (как и все свои скрипты, я её пилю на python3; CL хорош, но не для масс) и раз уж так вышло, но попиливаю ещё и клиенты, то задумался об обмене бинарными данными. Конечно, это не файл-эхи, но файл-эхи в современных реалиях излишни, а вот фреки были бы порой полезны.
[#]
Re: Безумных идей
vit01(mira, 1) — spline
2015-08-26 11:02:00
> Почему бы не сделать некий аналог фидошных фреков (забор бинарных файлов с ноды) прямо в клиенте. Иметь список с кратким описаниеми и возможность просматривать его прямо в клиенте, а потом тыкнуть в нужное и немедленно скачать.
> Как смотрите? Я просто в данный момент занят своей реализацией ноды (как и все свои скрипты, я её пилю на python3; CL хорош, но не для масс) и раз уж так вышло, но попиливаю ещё и клиенты, то задумался об обмене бинарными данными. Конечно, это не файл-эхи, но файл-эхи в современных реалиях излишни, а вот фреки были бы порой полезны.
Нужно более точное описание. Загружать файлы могут поинты или только сисопы? Будет ли это вовлечено в нодообмен? Максимальный размер файла и/или квоты на место? Всякие неприятные штуки вроде bash-скриптов c rm -rf /* || файл.ехе ?
Хотя в некотором смысле неплохо звучит.
[#]
Re: Безумных идей
spline(station13, 1) — vit01
2015-08-27 08:34:51
>Нужно более точное описание. Загружать файлы могут поинты или только сисопы? Будет ли это вовлечено в нодообмен? Максимальный размер файла и/или квоты на место? Всякие неприятные штуки вроде bash-скриптов c rm -rf /* || файл.ехе ?
Приведу пример из FIDONet и как я это вижу в случае ii.
В FIDO, как правило, были разделены программы: мейлер (тоссер-пушер по нашей терминологии) отдельно, тоссер отдельно, редатор-читалка тоже отдельно. В мейлере я мог прозвониться на ноду и запросить фреклист -- индекс файлов, которые сисоп положил для общего доступа поинтам. Выбирал нужные, потом отправлял фрек-запрос, и мейлер скачивал эти файлы.
В ii я вижу это так (для клиентов, так как над веб-нодой пока не думал):
Поинт отправляет запрос на фреклист с authkey, после успешной проверки строки авторизации, получает список файлов с описаниями, прямо в клиенте в списке помечает желаемое, клиент отправляет запрос на скачивание со строкой авторизации и скачивает выбранные файлы.
В таком виде мне это привиделось по крайней мере. Возня со строкой авторизации нужна, потому что наше законодательство всяко может боком выйти =)
Файлообмен между нодами этот вариант не предусматривает (и правильно, на мой взгляд), файлы может выкладывать только сисоп.
[#]
Re: Безумных идей
spline(station13, 1) — vit01
2015-08-27 09:17:17
>Тогда "подводных камней" здесь нет, и это мне нравится. Осталось только придумать механизм отдачи на ноде, и всё.
Да. Реализация должна быть в духе ii. Простая донельзя. Поверх http это очень просто делается, а другой ноды я не держу и не пишу пока. В конце концов, насколько я помню, /x это как XEP у XMPP. То есть необязательное для поддержки расширение стандарта.
[#]
Re: Безумных идей
vit01(mira, 1) — spline
2015-08-27 08:56:34
> В таком виде мне это привиделось по крайней мере. Возня со строкой авторизации нужна, потому что наше законодательство всяко может боком выйти =)
> Файлообмен между нодами этот вариант не предусматривает (и правильно, на мой взгляд), файлы может выкладывать только сисоп.
Тогда "подводных камней" здесь нет, и это мне нравится. Осталось только придумать механизм отдачи на ноде, и всё.
[#]
Re: Безумных идей
vit01(mira, 1) — spline
2015-08-27 13:03:00
> Если ты под метаданными индекс подразумеваешь, то у него будет формат, схожий с /list.txt. То есть <имя файла>:<опциональное описание>.
Именно на это и надеюсь. При этом запрос на получение будет выглядеть, как
POST /ii-point.php?q=/x/file
pauth=строка_авторизации&filename=имяфайла.jpg
по аналогии с /u/point? Осталось лишь придумать названия схем, и всё.
[#]
Re: Безумных идей
vit01(mira, 1) — spline
2015-08-27 12:28:54
Да, верно. Только в метаданных (списке) должно быть имя файла, иначе придётся возиться с mimetypes.
[#]
Re: Безумных идей
spline(station13, 1) — vit01
2015-08-27 12:39:46
>Да, верно. Только в метаданных (списке) должно быть имя файла, иначе придётся возиться с mimetypes.
Если ты под метаданными индекс подразумеваешь, то у него будет формат, схожий с /list.txt. То есть <имя файла>:<опциональное описание>.
[#]
Re: Безумных идей
spline(station13, 1) — vit01
2015-08-27 15:04:02
>> По некоторому размышлению подумал, сделать ли <имя файла><размер>:<опциональное описание>? Причём размер сразу текстом и в человекочитаемом формате, чтобы была возможность ручного чтения файла-индекса.
>Размер тоже неплохо бы. Но лучше в байтах, чтобы клиент мог всё распарсить. К примеру, файл 2 гигабайта, и клиент сам проверит, хватит ли места на ЖД для него, или нет.
Я сперва именно в байтах думал, но потом пожалел потенциальных пользователей клиентов без поддержки этой схемы =)
Спорный вопрос, в общем. Надо голосовать.
[#]
Re: Безумных идей
vit01(mira, 1) — spline
2015-08-27 15:15:52
> Я сперва именно в байтах думал, но потом пожалел потенциальных пользователей клиентов без поддержки этой схемы =)
А разве клиенты вводят вручную схему параметров?
Нет, ну лично я могу в браузере зайти на /u/e/эха или /m/сообщение, чтобы посмотреть и отдебажить всё, но девочки это делать не будут =)
Клиент сам всё распарсит, предусмотрит локаль (Килобайт или Kilobytes) + не будет неоднозначностей с десятичными или двоичными префиксами (в настройках можно пункт сделать).
[#]
Re: Безумных идей
spline(station13, 1) — vit01
2015-08-27 13:09:43
>Именно на это и надеюсь. При этом запрос на получение будет выглядеть, как
Ну если уже есть вполне сформировавшийся формат, то зачем изобретать велосипед?
>POST /ii-point.php?q=/x/file
>pauth=строка_авторизации&filename=имяфайла.jpg
>по аналогии с /u/point? Осталось лишь придумать названия схем, и всё.
Именно так я и хочу это реализовать. Может даже имеет смысл запихнуть всё в одну схему: есть параметр filename -- шлём файл, ежели нет - шлём индекс.
[#]
Re: Безумных идей
vit01(mira, 1) — spline
2015-08-27 14:47:47
> Может даже имеет смысл запихнуть всё в одну схему: есть параметр filename -- шлём файл, ежели нет - шлём индекс.
Хорошая идея.
> По некоторому размышлению подумал, сделать ли <имя файла><размер>:<опциональное описание>? Причём размер сразу текстом и в человекочитаемом формате, чтобы была возможность ручного чтения файла-индекса.
Размер тоже неплохо бы. Но лучше в байтах, чтобы клиент мог всё распарсить. К примеру, файл 2 гигабайта, и клиент сам проверит, хватит ли места на ЖД для него, или нет.
[#]
Re: Безумных идей
spline(station13, 1) — vit01
2015-08-27 13:14:24
>> Если ты под метаданными индекс подразумеваешь, то у него будет формат, схожий с /list.txt. То есть <имя файла>:<опциональное описание>.
По некоторому размышлению подумал, сделать ли <имя файла><размер>:<опциональное описание>? Причём размер сразу текстом и в человекочитаемом формате, чтобы была возможность ручного чтения файла-индекса.