Главная | Настройки | NSFW
Тема:
Доски


[Ответить в тред] Ответить в тред

[Назад] [Обновить тред] [Вниз] [Каталог] [ Автообновление ] 51 / 1 / 18

Kopichan Anonymous No.92750
15727179416000.png (65 KB, 1200x1250)
Копичан - анонимная децентрализованная контентборда.
Здесь можно постить любой медиа(и не только) контент.
Сайт(и общая инфа о нем): https://kopichan.herokuapp.com

АХТУНГ: ЭТО АЛЬФА-ВЕРСИЯ САЙТА. ГАРАНТИЯ РАБОТЫ ТОЛЬКО С КАРТИНКАМИ.

Этот тред будет по техническим деталям проекта, TODO, девлогам, а так же вашим реквестам и багрепортам.

И так, а как это вообше работает?
На главной странице я уже указал две ключевые технологии: IPFS и OrbitDB.
IPFS - транспортный протокол, он организует p2p сеть. У данного протокола есть одна фича - PubSub, которая организовывает обмен динамичными данными. Конкретно на сайте используется JS имплементация онного протокола.
Именно эту технологию использует OrbitDB.
OrbitDB - децентрализованная СУБД, основанная на ipfs. С помощью орбитдэбэ организуется хранение метаданных - хешей и тегов.
Когда ты загружаешь какой-либо контент на сайт, ты загружаешь его в ipfs-сеть, копичан получает его хеш, а сам хеш добавляет в дб. Как только это произойдет, орбитдб отправляет по пабсабу новый entry пирам. Сайт динамически обновляет доску, при появлении новых записей в дб.

И так, вот весь стек:
Бровсер - JS - WebRTC+WebSocket - libp2p - IPFS - OrbitDB - KopichanCore.

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

TODO:
- Доделать директории(папочки специально созданные для манг и музыкальных альбомов).
- Нормально оформить аудио и видео.
- Самое важное - TagWiki, без него будет хаос(пиздец) в тегах.
- Темы, в том числе кастомные.
- Еще дохуя всего, в том числе языки помимо русского. Работы делать не переделать ебанный в рот.
Anonymous No.92751
>>92664
>Но проверку версий
А как решить проблему, что кто-то другой может выдать свой вишмастер за новую версию? Задерживать одну версию, и распространять новые версии как пару из архива обновления и хеш-кода к архиву следующего? Тогда у всех постоянно будет версия на одну старше самой новой, имеющейся у создателя и подделать фейк будет довольно сложно, если там кучу разных хешей прицепить. Верно? Какие потенциальные проблемы безопасности, кроме того, что злоумышленник может распространять новую версию с подменой хеша, чтобы уже следующая версия была за ним?

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

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

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

3. Как система справится с вайпом бессмысленными файлами с бессмысленными тегами? Может быть можно реализовать какую-то концепцию локального рейтинга доверия к узлам. В случае появления файла его минусуют (снижают рейтинг узла-источника файла), а при получении нового файла идёт опрос соседних узлов для оценки "рейтинга". Если узлы с локально хорошим рейтингов говорят что всё нормально - файл добавляется, а тем узлам, которые говорили об обратным незначительно снижается рейтинг. Возможно можно добиться того, чтобы образовывались кластеры попарно доверяющих друг-другу узлов. Тогда могут существовать одновременно два облака несогласных в вопросе выставления тегов (например), которые всё ещё могут обмениваться картинками, но в которых метка рейтинга сильно различна.
Анонимность это вроде как не сильно нарушает, потому что при подключении нового компьютера к кластеру у него запрашивается его личный рейтинг доверия к соседним узлам. Если он похож на рейтинг узлов в этом кластере, то внутри этого кластера он сразу получает хороший рейтинг, как адекватный узел с адекватными оценками. В противном случае он в этом кластере получает негативную оценку и его рейтинги игнорируются, а файлы запрашиваются в последнюю очередь, если они не найдены в кластере компьютеров с компланарным рейтингом. Да, кластеров не существует и они умозрительны - есть лишь матрица смежности, которая выстраивается по скалярному произведению рейтингов общих узлов.
Anonymous No.92752
IPFS предполагает хранение контента на компьютерах пользователей с ipfs клинтами. Javascript библиотека ведь реализует только получение контанта? Тогда у кого все же сохраняются данные?
Anonymous No.92760
Я ни чего не понял, но звучит очень круто. Это будет полноценной бордой? Сейчас там только картиночки? А мне можно загрузить туда картиночку? Судя по дате загрузки у некоторых картиночек Копичану уже месяц? А почему оно грузит процессор? И у вас там, кстати, на главной ссылка с копимизма ведёт на главную Википедии, а не на саму статью. А ещё при масштабировании окна содержимое масштабируется тоже и становится немножко мелким.
Anonymous No.92762
И как такому ламеру, как мне во всём этом разобраться?
Anonymous No.92764
Да, про найденные мелкие баги писать (вроде того, что если нажимать в поиске энтер - до он добавляет новые картинки, а старые оставляют из-за чего картинки дублируются; тем, что доска не открывается в новой вкладке по клику колёсиком, хотя на подавляющем количестве сайтов колёсико открывает в новой вкладке)?
Или пока и так есть чем более полезным заняться / проблем с их поиском нет?
Anonymous # OP No.92767
>>92751
> А как решить проблему, что кто-то другой может выдать свой вишмастер за новую версию?
Гитхаб. Оффициальный релиз. Доверяем гитхабу и лично вверяем Билу Гейтсу.
> Задерживать одну версию, и распространять новые версии как пару из архива обновления и хеш-кода к архиву следующего?
Не понял, перефразируй.
> Какие потенциальные проблемы безопасности, кроме того, что злоумышленник может распространять новую версию с подменой хеша
О какой подмене хеша ты говоришь? О подмене хешей и контента? Об этом не переживай, я создал непробиваемый механизм.
Принцип простой: у каждого человека есть публичная дб и личная. Если какая-то запись есть личной, но нет в публичной, то эта запись вставляется в пуюличную. Таким образом нельзя удалить какую-то запись, если ее раздают больше одного человека.

> 1.
Не штрудировал доки ipfs от и до, но не думаю, что пиры где-то архивируются.
> 2.
Вот это я не знаю. Но перегрузок не будет, учитывая, что p2p вообще из своей сути устойчив. Торрент же у тебя никогда не падал? IPFS вообще придумывался, чтобы снизить нагрузку на серверы.
> 3.
> Как система справится с вайпом бессмысленными файлами с бессмысленными тегами?
На уровне ipfs нет понятия бессмысленного файла. Если ты говоришь о копичане, то будет блеклист тегов, фавориты, и рейтинги. Но это относится только контенту. Для копичана ноды несуществуют. Анонимность™.

>>92752
> IPFS предполагает хранение контента на компьютерах пользователей с ipfs клинтами
Нет. Js-ipfs есть клиент сам по себе, который запускается в браузере.
> Тогда у кого все же сохраняются данные?
У пользователей в IndexDB(еще одна встроенная в браузеры фича), которую использует и ipfs и orbitdb.
Anonymous No.92768
>>92767
>Нет. Js-ipfs есть клиент сам по себе, который запускается в браузере.
Но вот я закрыл вкладку и все, я файл больше не раздаю?
Anonymous # OP No.92771
>>92760
> Копичану уже месяц
Тесты-хуесты, разработка.
> А почему оно грузит процессор?
Есть такое. У меня вообще с прелоадом РАМ слетало. Отключил прелоадинг, работает. О оптизации позабочусь. Скорее конекшены поубавить надо, чтобы ipfs не жирел от листенеров.
> Википедии, а не на саму статью.
Надо будет исправить.
> А ещё при масштабировании окна содержимое масштабируется тоже и становится немножко мелким.
Нужно для будущего поддерживания смартфонами. Исправлю масштабирование адаптивным дизайном.
Anonymous # OP No.92773
>>92768
> Но вот я закрыл вкладку и все, я файл больше не раздаю?
Ну в общем, да. Можно web-worker подключить, тогда фонить будет. Но не думаю, что это хорошо.
Anonymous No.92774
>>92773
Думаешь воркер сможет поддерживать постоянное соединение с сетью и использовать библиотеки, такие как ipfs? По моему его возможности достаточно сильно ограничены.
Anonymous No.92775
>>92767
>Не понял, перефразируй.
Приходит апдейт. Там лежит файл отвечающий за всю систему с хешем 631, и подпись - следующий релиз будет иметь хеш 481. То есть следующая версия уже должна существовать и иметь определённый хеш - в таком случае злоумышленники очень вряд ли смогут выкатить свою версию с вирусом как официальную. Но происходит задержка версий.

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

У пользователей хранятся только хеши/названия, или ещё и все файлы дублируются тоже? Мой браузер упадёт очень быстро во втором случае.
Anonymous No.92776
>>92774
На официальном сайте прямо кнопочка есть "Enable WebWorker", который сайтом используется как гейт.
Anonymous No.92778
>>92776
Круто, но, если честно, несколько сомнительно. Большинство не знает, что браузер может выполнять что-то в фоне при закрытой вкладке. Без ведома пользователя включать такое не очень правильно, я думаю.
Anonymous No.92806
>>92775
>Приходит апдейт. Там лежит файл отвечающий за всю систему с хешем 631, и подпись - следующий релиз будет иметь хеш 481. То есть следующая версия уже должна существовать и иметь определённый хеш - в таком случае злоумышленники очень вряд ли смогут выкатить свою версию с вирусом как официальную. Но происходит задержка версий.
Над системой обновлений я еще подумаю. Запуск собственного клиента копичана это скорее фича. Отвалился оффициальный домен - просто запусти клиент локально.
> потому что полная копия базы - теоретическое ограничение на количество компьютеров, когда компьютер среднего пользователя не сможет обрабатывать список новых файлов всего мира.
Полную базу копичан использует только для хешей. Возможно скоро в orbitdb добавят пейждинг(исходя из issue на гите). Для обрисовки контента пейджинг будет независимо. Не добавят - прикручу сам.
> А как оно с накрутками будет справляться с учётом анонимности?
Это недочет, который я заметил еще когда только подумал о рейтингах.
Для хранения рейтингов будет использоваться отдельное дб - kopichan-rating . Там будет верификация по сигнатуре, но сама сигнатура не будет привязана к kopichan-db(в которой хранятся основная хеш-таблица) и будет работать только для этого поста. Нельзя сказать по этим сигнатурам, кто что постил. Анонимность(tm).
Однако от запуска в режиме инкогнито это не спасет. Радует только то, что накрутка на копичане не имеет особого смысла. Вот зачем? Хотя сосачеру смысл не нужен, чтобы рейдить
Anonymous No.92807
>>92778
>Без ведома пользователя включать такое не очень правильно, я думаю.
Об этом я и говорю. Если и добавлю, то, очевидно, опционально.
Anonymous No.92813
>>92806
А как будет реализована защита от вайпа? Если придет мудак и заспамит все картинками с анусами?
Anonymous No.92820
>>92813
Велосипеды придумывать не будем - куклоскрипт придумал проверять картинки по хешу для автохайда. То же самое будет в блеклисте.
А вообще анонимность штука сложная. Если говорим о клирнете - доверяй местному Абу, если о p2p то доверять вообще никому нельзя(что IPFS и делает, почитай спецификацию протокола).
Anonymous No.92832
>>92820
Ограничение по хешам особо упороты срунам вовсе не помеха.
Про ipfs читал и даже экспериментировал с ним маленько. Основная проблема, с которой столкнулся, это то, что загруженный только что контент становится доступен в сети не сразу, а только спустя какое-то время. Для реалтайм применений плохо годится.
Anonymous No.92849
>>92832
>Ограничение по хешам особо упороты срунам вовсе не помеха.
Не сомневаюсь(проблема всех борд во все времена). Можно лишь как можно сильнее усложнить им жизнь.
А вообще, если посмотреть на бору-комьюнити, то оно весьма адекватно.
> а только спустя какое-то время
Я проверял с товарищами - работает мгновенно. Грузит картинки не мгновенно, но сам блок поста как штык.
Anonymous No.92853
>>92849
>Я проверял с товарищами - работает мгновенно. Грузит картинки не мгновенно, но сам блок поста как штык.
Может что изменилось с тех пор, а может это я дурак. Но у меня загруженная в сеть картинка становилась доступной с другого клиента только минут через 10 после загрузки.
Anonymous No.92941
Там сейчас можно делать хоть что-нибудь?
Anonymous No.92942
>>92941
Можно картинки загружать.
Anonymous No.92958
>>92750 (OP)
Какой нее адрес в ENS?
Anonymous No.92969
>>92958
>ENS
А зачем мне чифириум?
Anonymous No.92998
Так как работает модерация? Что мешает мне всё засрать гомониграми?
Anonymous No.93006
>>92998
>Что мешает мне всё засрать гомониграми?
Ну ты же не дебил.
Anonymous No.93030
>>92969
по централизованный днс зашкварно ходить
Anonymous No.93037
Анонче, запили макрос с кавайным аноном и кэпшонами "КОПИРУЙ/РАСПРОСТРАНЯЙ". С меня как всегда.
Anonymous # OP No.93081
>>92998
> Так как работает модерация?
Ее нет. Свобода информации. Если что-то не нравится добавляешь в блеклист.
Anonymous # OP No.93084
>>93030
Однако да. Подумаю лоб этом варианте. DNS это конечно пиздец. Heroku и Github Pages единственное спасение.
Anonymous # OP No.93086
>>93037
> кэпшонами
А что это? Тебе в рисовач.
Anonymous No.93088
>>93081
>Ее нет
Оно обречено.
Anonymous # OP No.93093
>>93088
Санкаку же живет. Там хоть условная модерация и регистрация есть - но почему-то там никто не серит.
Anonymous No.93097
>>93093
>Санкаку
Что?
Так или иначе, если речь идёт о ру-борде, там БУДУТ серить
Anonymous # OP No.93104
>>93097
Бору. Контингент бору(а копичан это бору в своей сути) отличается от имиджборд. К тому же, если и будет вайп, то контент можно будет скрывать с помощью индуктивной машины(если картинка похожа на 80% из картинкок блеклиста - скрыть, иначе показать).
Anonymous No.93164
>>93086
Caption же.
Anonymous No.93199
Как думаете, заебись будет к копичану во это https://semantic-ui.com подключить?
Anonymous No.93255
>>93199
Это типа бутстрапа что ли? Вроде норм выглядит, но мне больше нравится, когда сам делаешь интерфейс, пусть без всяких этих красивостей и анимаций, зато с душой. А то на этих фреймворках каждый второй сейчас делает и все интерфейсы поэтому выглядят одинаково.
Anonymous # OP No.94142
>>93255
Мне ни сколько ради css, сколько ради функционала. CSS и отредактиповать можно будет, это не проблема.

Алсо, сейчас работаю над TagWiki
Anonymous No.94163
>>92750 (OP)
Когда релиз?
Anonymous # OP No.94177
>>94163
В вот хуй его знает. Точной даты нет.

На ipfs заебись имиджборду делать, ибо картинки не так важны, а текст заебись грузит. Однако когда тут так дохуя всего(в т.ч видео) грузит все это не так уж и быстро как в клирнете. Вообще всегда p2p скоростью не славились.
Девлог - 1 Anonymous No.95205
Последние два дня херней всякой занимался. Однако сегодня улучшил интерфейс и скоро в продакт.
Anonymous No.95211
>>92750 (OP)
Нам и тут хорошо.
Anonymous No.95217
>>95211
Так одно другому не мешает. Интересна сама технология, сам принцип.
Anonymous No.95296
Копи-тян, Копи-тян — улыбнитесь,
Ведь улыбка — это флаг корабля…
Anonymous No.95321
>>95205
Алсо, пока на гит не залил. Скоро залью.
Anonymous No.95566
Превозмогая, я потихоньку делаю копичан. Окошко для тегов готово. Но пока заливать не буду, ибо еще есть не реализованные моменты.
Anonymous No.95570
НАКОНЕЦ-ТО. Я обновил гит, перед заходом на сайт почитите кеш браузера.
Адресс все тот же: https://kopichan.herokuapp.com
Anonymous No.95589
>>95570
Не работает.
Дристяля еббаная Anonymous No.95652
Ты это штош чёрт дырявый за децентрализацию топиш, так выходит м?
Федерализация, да?
Ты, блядь, точан допили, сука, ну, скока повторять-то можна, алё?!
И это, логотип пророботой детально, докладнище, так сказать.
Держи вкурсе событии окда !??

[Назад] [Обновить тред] [Вверх] [Каталог] [ Автообновление ]
51 / 1 / 18

[Ответить в тред] Ответить в тред

Ответ в тред No.92750
15000
Файлы. Макс объем: 20 MB, макс кол-во файлов: 4

Ответ в тред No.92750X
15000
Файлы. Макс объем: 20 MB, макс кол-во файлов: 4
Кликни/Брось файл/ctrl-v
НастройкиX
X
Избранное
Топ тредов