LINUX.ORG.RU
ФорумTalks

новостной p2p велосипед

 , , , ,


1

3

На волне инновационных запрещающих всё и вся законов пришла такая идея - новостная сеть на основе P2P. Посмотрев на Bitmessage и BTSync в голове начало вырисовываться следующее:

1. Система каналов как в Bitmessage, но с функционалом скорее для файлов - новость пакуется в архив содержащий текст/изображения/видео/звук и синхронизируются как в BTSync.
2. Текст новости имеет структуру подобную YAML/JSON или LaTeX - это куда более читабельно чем XML или HTML.
3. Дизайн выстраивает сам клиент - можно задать ШГ, цвет фона и текста, порядок показа картинок, верстку и прочее. И так легче реализовать адаптивность для щелемониторов, квадратов и лопат
4. Фишка BTSync - имея мастер-ключ можно самому пилить новости на канал, а имея открытый ключ - только читать.
5. Комменарии отдельным файлом, который можно и не качать. Сливать отходы мыслительной деятельности можно всем подряд, но удалить комментарий нельзя совсем.
6. Лимиты на объем файлов на канале.
7. В качестве основных форматов медиа предлагаются webm, ogg и png.
8. Принудительное шифрование всего трафика для препятствования DPI.

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

Так же относительно определился с именованием файлов:
[Дата и время в HEX][Трехбуквенный код категории(SCI/MED/HDW/WPN и подобные)][Номер новости на канале][Название канала(16 символов)]

Ищутся разработчики, ибо мой код то ещё говно и на реализацию такого сложного велосипеда я не способен.

☆☆

Последнее исправление: StReLoK (всего исправлений: 1)
Ответ на: комментарий от StReLoK

Там же текст передаётся, а отображает его уже клиент. Можешь туда пихать html и сделать своей клиент, который его парсит как тебе надо.

vurdalak ★★★★★
()
Ответ на: комментарий от StReLoK

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

vurdalak ★★★★★
()
Ответ на: комментарий от StReLoK

Зачем ссылка на MEGA, если есть тот же DHT?

x3al ★★★★★
()
Ответ на: комментарий от vurdalak

Надо будет поковырять. Может и выйдет что то.

StReLoK ☆☆
() автор топика

Текст новости имеет структуру подобную YAML/JSON или LaTeX - это куда более читабельно чем XML или HTML.

Я протестую. base64 MIME с встроенными картинками и т.п. и ссылками на них в HTML. Это реализовано в news клиентах, например.

Shadow ★★★★★
()
Ответ на: комментарий от buddhist

А что не так со ссылкой на хабрахабр? Или тебя раздражает сам факт ее наличия? Там статья об проекте от его автора.

Medar ★★★★★
()
Ответ на: комментарий от Medar

А ты посмотри на репозиторий. У всех коммитов комментарий «version 0.2 alfa». То ли там ничего не делается, то ли автор вообще не умеет работать с гитом.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Выше автор отметился, может и скажет чего.

Medar ★★★★★
()
Ответ на: комментарий от feofan

Смыслов много:

1) Нельзя закрыть ресурс, выпускающий новости.

2) Очень сложно модерировать новости.

3) Каждый может писать новости.

vurdalak ★★★★★
()
Ответ на: комментарий от feofan

Подписки есть в рсс

Рсс централизованная, сервера валятся на раз.

рейтинг можно на крутить

Смотря как реализовать.

vurdalak ★★★★★
()
Ответ на: комментарий от Medar

Извиняюсь за долгий отвeт.
Проeкт нeмного застопорился - идeй громадьё, а сил нe хватаeт.

Послeднee врeмя в основном дополнял докумeнтацию. Это должно помочь пытливым умам ухватить и развить идeю, eсли я нe вытяну проeкт.

Novator ★★★★★
()
Ответ на: комментарий от vurdalak

У всех коммитов комментарий «version 0.2 alfa». То ли там ничего не делается, то ли автор вообще не умеет работать с гитом.

Нe вижу смысла сочинять каждый раз названиe коммитов для альфа вeрсии, тeм болee, я eдинствeнный разработчик. Молодёжь то щас в основном аналитики, работать, созидать, синтeзировать, код писать eё нe заставишь. Для вас важнee пафос, вумный вид, форма, а нe суть.

Novator ★★★★★
()
Ответ на: комментарий от vurdalak

3) Каждый может писать новости.

Как бороться со спамом? Как бороться с троллингом? У меня, в моей системе, это сейчас самое узкое место. Я не могу оторваться от централизованной базы пользователей из-за этого.

KRoN73 ★★★★★
()
Ответ на: комментарий от vurdalak

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

А это возможно? Там же размер записи протоколом лимитирован, как мне кажется.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

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

StReLoK ☆☆
() автор топика
Ответ на: комментарий от StReLoK

В комментариях - никак.

А в самих новостях? Тут или у тебя полная свобода и p2p, но тогда полезет сплошной спам, или у тебя есть какие-то авторизованные новостийные эмитенты, но тогда зачем огород с p2p?

Кроме того, спам в комментариях бесит не намного меньше.

А с троллингом бороться просто бесполезно.

С ним бороться не просто полезно, но и нужно :)

Можно присваивать пользователям уникальные идентификаторы(подобные кошелькам BTC) и добавлять их в блеклист рассылающийся между узлами и, но поможет мало.

Вот я сейчас голову на этот счёт и ломаю в своей системе. Нужно что-то типа WebOfTrust из FreeNet, но более простое и не требующее специальных решений. Индивидуальный игнор, конечно, немного проблему смягчит, но не сильно. Захламлённые немодерируемые темы совершенно убивают вменяемое общение.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

А в самих новостях?

Чтобы получать спам - надо подписаться на канал со спам-рассылками, очевидно же. Писать новости на канал может только владелец мастер-ключа. А p2p тут скорее для обхода попыток блокировки - когда файл новости имеется у всех подписчиков и они передают его между собой пативен становится абсолютно бессмысленным.

С ним бороться не просто полезно, но и нужно :)

Зачем бороться с мельницами? На толстяков уже давно никто не ведется, а тонкие лишь пораждают веселье.

StReLoK ☆☆
() автор топика
Ответ на: комментарий от StReLoK

Чтобы получать спам - надо подписаться на канал со спам-рассылками

То есть один источник == один канал? Тогда нормально.

Зачем бороться с мельницами?

Затем, что это не мельница. А реальная проблема. С которой не сталкиваются только те, кто не замечает работы модераторов или обитает на малопопулярных ресурсах :)

Популярный ресурс + нормальное общение + отсутствие борьбы с троллингом: из этих пунктов можно выбрать только два :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Популярный ресурс + нормальное общение + отсутствие борьбы с троллингом: из этих пунктов можно выбрать только два :)

А борды? Если не ходить в /b/ все ведут себя вполне адекватно.

StReLoK ☆☆
() автор топика
Ответ на: комментарий от StReLoK

А борды?

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

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

А есть немодерируемые популярные борды с комфортным общением?

Смотря как измерять комфортность. Мне и в обезяннике вполне нормально.

Новости порождают больше агрессии, чем картинки :)

Ну тут ничего не поделаешь, человеки такие человеки.

StReLoK ☆☆
() автор топика
Ответ на: комментарий от Novator

Нe вижу смысла сочинять каждый раз названиe коммитов для альфа вeрсии

Зачем вообще использовать систему контроля версий, если вместо контроля версий бесполезные одинаковые комментарии? В коммитах же разобраться невозможно, значит считай что их нет.

vurdalak ★★★★★
()
Ответ на: комментарий от KRoN73

Как бороться со спамом? Как бороться с троллингом?

Репутация и подписки. Если я вижу, что от такого-то юзера сыпется спам, я понижаю ему личный рейтинг, что автоматически понижает рейтинг его подписчиков и тех через кого идёт его спам.

Плюс можно же банальный PoW заюзать, на каждое последующее сообщение при низкой общей репутации PoW делать выше. Те, кого чаще «лайкают», наоборот его понижают.

vurdalak ★★★★★
()
Ответ на: комментарий от KRoN73

А это возможно? Там же размер записи протоколом лимитирован, как мне кажется.

Что мешает этот лимит убрать в коде?

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Репутация и подписки.

Репутация в распределённой системе задача весьма нетривиальная. Я, вот, пока решить её не могу :)

Подписки будут работать только для новостей и только по каналам. Для форумов или комментариев работать не будут.

Если я вижу, что от такого-то юзера сыпется спам, я понижаю ему личный рейтинг

Что требует наличия распределённой рейтинговой системы.

что автоматически понижает рейтинг его подписчиков

Так это тогда средство понижения рейтинга невинных пользователей :D Достаточно начать понижать рейтинг тех, на кого они подписаны.

KRoN73 ★★★★★
()
Ответ на: комментарий от vurdalak

Что мешает этот лимит убрать в коде?

Технология. Даже с такими ограничениями в BTC-based системах объёмы локальных репозиториев гигабайтные. Если увеличивать размеры блоков, то и локальные хранилища, и трафик начнут расти.

Там же лимит не в виде некой константы. Там весь протокол базируется на фиксированных и небольших размерах блоков.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Репутация в распределённой системе задача весьма нетривиальная.

А я и не говорил, что это легко. Но и не невозможно.

Подписки будут работать только для новостей и только по каналам.

А мы разве не про «новостной p2p велосипед»?

Достаточно начать понижать рейтинг тех, на кого они подписаны.

Во-первых, рейтинг может быть чисто локальным. Т.е. фильтрация на уровне клиентов, а не всей сети. Во-вторых, понижать нужно только рейтинг, тех, кто подписан на них. Т.е. подписан на бота — значит бот, человек бы так не сделал. А понижать рейтинг за то, что НА ТЕБЯ кто-то подписался, — это уже плохой вариант, потому как фича скорее вредная.

vurdalak ★★★★★
()
Ответ на: комментарий от darkenshvein

Запретить можно, а технически реализовать запрет — весьма проблематично.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

А мы разве не про «новостной p2p велосипед»?

А, пардон. В контексте новостей уже обсудили, вроде, так что я переключился на упомянутую выше проблему распределённых форумов :)

Во-первых, рейтинг может быть чисто локальным.

Будет сильно захломлять систему в целом. Она же распределённая и «неудаляемая».

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

Вот именно. Юзер Y подписан на канал X (не бота) и я снижаю рейтинг каналу X специально, чтобы понизить рейтинг юзеру Y :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Юзер Y подписан на канал X (не бота) и я снижаю рейтинг каналу X специально, чтобы понизить рейтинг юзеру Y :)

Ну и что? Ну не будет лично тебе его постов приходить. Как это отразится на юзере Y?

Будет сильно захломлять систему в целом. Она же распределённая и «неудаляемая».

Я рассматриваю частично модель твистера, т.е. «посты распределяются только между подписчиками», и спам-бот вообще никак не будет на неё влиять кроме мусорных заголовков в DHT.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Ну и что? Ну не будет лично тебе его постов приходить.

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

Я рассматриваю частично модель твистера, т.е. «посты распределяются только между подписчиками»

Я не настолько хорошо представляю протокол Bitcoin'а, но, разве, такой подход не понизит сильно эффективность системы в целом?

KRoN73 ★★★★★
()
Ответ на: комментарий от vurdalak

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

Кто сказал, что коммиты становятся «бeсполeзными» бeз названия?

Причины использования git в цeлом и github в частности разныe, но уж точно нe в том, чтобы кормить аналитиков.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 1)
Ответ на: комментарий от Novator

Кто сказал, что коммиты становятся «бeсполeзными» бeз названия?

А как по ним искать без названия? По одному просматривать диффы каждого?

vurdalak ★★★★★
()
Ответ на: комментарий от KRoN73

Я не настолько хорошо представляю протокол Bitcoin'а, но, разве, такой подход не понизит сильно эффективность системы в целом?

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

vurdalak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.